{
  "schema_version": 1,
  "source_locale": "en",
  "target_locale": "ru",
  "enforcement": "complete",
  "domains": {
    "ai-control-protocol": {
      "entries": {
        "/command_fields/@id=ai-control-protocol.command.append/rationale": {
          "source_sha256": "fd01cb45a50df9ba5a700b7ac58c4eb0980a1e1ffe2567e05032eaa9467a6421",
          "translation": "Семантика очереди остаётся рекомендательной, пока её не определит обработчик действий проекта."
        },
        "/command_fields/@id=ai-control-protocol.command.append/requirement": {
          "source_sha256": "e243a0cbe5f1a3ea59c841ab1bbee0d1211464dbc6a5585d31d58fe30a5c202e",
          "translation": "Необязательный запрос проектной семантики append вместо replace."
        },
        "/command_fields/@id=ai-control-protocol.command.aux-id/rationale": {
          "source_sha256": "08a5074214c83f4ea31aafa1dd8a0a3c8cc5cf523438d2c0ba893016f4c2ab01",
          "translation": "Общее вспомогательное поле; интерпретация остаётся за проектом."
        },
        "/command_fields/@id=ai-control-protocol.command.aux-id/requirement": {
          "source_sha256": "e829af64dc924517abb1d540767f5faebddc70ba3aaec447793c8a1851322b9f",
          "translation": "Необязательный вспомогательный идентификатор."
        },
        "/command_fields/@id=ai-control-protocol.command.int-arg/rationale": {
          "source_sha256": "17717590d487f4e4326b64895cc6e4789bd21fb66c33fd221beab4227213a33f",
          "translation": "Generic slot позволяет не менять транспорт ради узких scalar arguments."
        },
        "/command_fields/@id=ai-control-protocol.command.int-arg/requirement": {
          "source_sha256": "95b03b6925cb1de35da2d9125bcda32897fac75da4b6e4cd9919f3bf62d1199e",
          "translation": "Необязательный целочисленный payload с проектным смыслом."
        },
        "/command_fields/@id=ai-control-protocol.command.item-id/rationale": {
          "source_sha256": "08a5074214c83f4ea31aafa1dd8a0a3c8cc5cf523438d2c0ba893016f4c2ab01",
          "translation": "Общее вспомогательное поле; интерпретация остаётся за проектом."
        },
        "/command_fields/@id=ai-control-protocol.command.item-id/requirement": {
          "source_sha256": "6f466604330aa164ffc981924918cfbad4e5691de972b7e7c12c7921ba9d24c2",
          "translation": "Необязательный идентификатор предмета."
        },
        "/command_fields/@id=ai-control-protocol.command.screen-x/rationale": {
          "source_sha256": "3b3e750857092ddc23b8b81362e3b4f4cca512f0e9ed7afa543164a9bbde8d36",
          "translation": "Начало координат pixels и семантика UI остаются за проектом."
        },
        "/command_fields/@id=ai-control-protocol.command.screen-x/requirement": {
          "source_sha256": "41edd7b4e03d1d8127d1443565ae87bf75848ce150477ed1074af95d82609885",
          "translation": "Необязательная экранная координата X."
        },
        "/command_fields/@id=ai-control-protocol.command.screen-y/rationale": {
          "source_sha256": "3b3e750857092ddc23b8b81362e3b4f4cca512f0e9ed7afa543164a9bbde8d36",
          "translation": "Начало координат pixels и семантика UI остаются за проектом."
        },
        "/command_fields/@id=ai-control-protocol.command.screen-y/requirement": {
          "source_sha256": "5267c851403b7639476ff28d289ebe271f301c864daab458017103cd7cc88906",
          "translation": "Необязательная экранная координата Y."
        },
        "/command_fields/@id=ai-control-protocol.command.string-arg/rationale": {
          "source_sha256": "cc89e625818c60b1e227c3587b96d18b053975f1985674c89f96fb92de52ed9b",
          "translation": "Generic slot позволяет не менять транспорт ради узких text arguments."
        },
        "/command_fields/@id=ai-control-protocol.command.string-arg/requirement": {
          "source_sha256": "95bd9d730a56d431a7ddba067aba74753ff2c4220ad894444961b89e4d1304ad",
          "translation": "Необязательный строковый payload с проектным смыслом."
        },
        "/command_fields/@id=ai-control-protocol.command.target-id/rationale": {
          "source_sha256": "08a5074214c83f4ea31aafa1dd8a0a3c8cc5cf523438d2c0ba893016f4c2ab01",
          "translation": "Общее вспомогательное поле; интерпретация остаётся за проектом."
        },
        "/command_fields/@id=ai-control-protocol.command.target-id/requirement": {
          "source_sha256": "c3027ca5043fc912e99906128f52359a576d4783071ed95fc9e43d1eaba0dbd1",
          "translation": "Необязательный идентификатор основной цели."
        },
        "/command_fields/@id=ai-control-protocol.command.type/rationale": {
          "source_sha256": "8781cd980f67eb8c994f144ebaca824d80a7cb53d9dcec58593622c45ebe2a94",
          "translation": "Транспорт маршрутизирует команды, не владея их именами."
        },
        "/command_fields/@id=ai-control-protocol.command.type/requirement": {
          "source_sha256": "75e2b6b30a86ef9a3ae39788cae9aab865d2caece300b8af3d440b44b624710a",
          "translation": "Обязательный непустой discriminator проектной команды."
        },
        "/command_fields/@id=ai-control-protocol.command.x/rationale": {
          "source_sha256": "52edc70cc16c3408a805b155d1213bb0b943456fa2aa1453432dcf5776fc64e7",
          "translation": "Система координат и единицы измерения остаются за проектом."
        },
        "/command_fields/@id=ai-control-protocol.command.x/requirement": {
          "source_sha256": "71c9fdf4d14bd36612e6eb5c28a7da95dc83fb965f0b7df166ba3b30895374b6",
          "translation": "Необязательная проектная координата X мира или сетки."
        },
        "/command_fields/@id=ai-control-protocol.command.y/rationale": {
          "source_sha256": "52edc70cc16c3408a805b155d1213bb0b943456fa2aa1453432dcf5776fc64e7",
          "translation": "Система координат и единицы измерения остаются за проектом."
        },
        "/command_fields/@id=ai-control-protocol.command.y/requirement": {
          "source_sha256": "ae86991c4a637642fc9e2dd23aee981ed14ab3644a486853532f2ce516c53adb",
          "translation": "Необязательная проектная координата Y мира или сетки."
        },
        "/description": {
          "source_sha256": "a0d55021c2ae9df82f15897c49490141e7437f1e3c509aea44531ea1adb6724c",
          "translation": "Нейтральная к проекту граница транспорта, envelope, жизненного цикла команд и безопасности для включаемых AI control bridges."
        },
        "/error_codes/@id=ai-control-protocol.error.invalid-params/name": {
          "source_sha256": "7a57cdae960dbe660269d9d3fa3c03c4ef58f73c314a75626d3561377cd4fce2",
          "translation": "Некорректные параметры"
        },
        "/error_codes/@id=ai-control-protocol.error.invalid-params/rationale": {
          "source_sha256": "be083ee0635fb9cec69dcc2be36b2db1bf2c1688abdc6e03976b74480433f0d0",
          "translation": "Некорректные вызовы не должны попадать в очередь проектных команд."
        },
        "/error_codes/@id=ai-control-protocol.error.invalid-params/requirement": {
          "source_sha256": "c32444ba82c3c3ca76f11379334f2a850ab35a193ece5fd58886e617dc2425b0",
          "translation": "Отклоняет отсутствующий тип команды или структурно неверные параметры метода."
        },
        "/error_codes/@id=ai-control-protocol.error.invalid-request/name": {
          "source_sha256": "330509caa0f2887db626f7c8e31732090558da1931406299ed6632b20c8ab66b",
          "translation": "Некорректный запрос"
        },
        "/error_codes/@id=ai-control-protocol.error.invalid-request/rationale": {
          "source_sha256": "05df7242aebba4f5edd0c9477a273ab793148736099cf19197df7e3d964c4f53",
          "translation": "Ошибки envelope отличаются от валидации проектных команд."
        },
        "/error_codes/@id=ai-control-protocol.error.invalid-request/requirement": {
          "source_sha256": "a7426fdca407cd13d66e8b4dd21887b907169d4cc3d2789bf3e278d4bc5a25f7",
          "translation": "Отклоняет не-объект, неверный конверт, отсутствующий method или слишком большой запрос."
        },
        "/error_codes/@id=ai-control-protocol.error.method-not-found/name": {
          "source_sha256": "a362d1ab7712da5f028ea69102bf8846c191ec6292c58675967675e9790ea10a",
          "translation": "Метод не найден"
        },
        "/error_codes/@id=ai-control-protocol.error.method-not-found/rationale": {
          "source_sha256": "1abde5154b21b081d38792375e7f3b870a0daced1e1c69e24769bde60c2397c1",
          "translation": "Имена проектных действий находятся внутри act и не являются transport methods."
        },
        "/error_codes/@id=ai-control-protocol.error.method-not-found/requirement": {
          "source_sha256": "403f9742ff68e57ea01bd69f33a8a634f105183e3ab8e3fd53798e8975e262b8",
          "translation": "Отклоняет неизвестный метод протокола."
        },
        "/error_codes/@id=ai-control-protocol.error.parse/name": {
          "source_sha256": "65837ce7a4bea5d7d8b9a250bed9b2f4eee46eb268afaae135be5a835b7b6e38",
          "translation": "Ошибка разбора"
        },
        "/error_codes/@id=ai-control-protocol.error.parse/rationale": {
          "source_sha256": "a38ed7dc96b85d857ffe6dceb41817d6f4864b4bed830858ccdfdffdad0c8560",
          "translation": "Запрос нельзя безопасно интерпретировать."
        },
        "/error_codes/@id=ai-control-protocol.error.parse/requirement": {
          "source_sha256": "b158d8848790f702c688c84e3dca3dc63df9ebcae8d7bed30f78f43021809e06",
          "translation": "Отклоняет неверный UTF-8 JSON."
        },
        "/error_codes/@id=ai-control-protocol.error.queue-full/name": {
          "source_sha256": "8a3717650e2563545ff52a9af1b2b28444b0b7b0b9ebf6c9cb314434d29ff2ce",
          "translation": "Очередь команд заполнена"
        },
        "/error_codes/@id=ai-control-protocol.error.queue-full/rationale": {
          "source_sha256": "14cd974e8d2a68e97b3d4e74c33b241f91929c01448eb732b4fc102a48085951",
          "translation": "Back-pressure выражается явно и не может незаметно отбрасывать команды."
        },
        "/error_codes/@id=ai-control-protocol.error.queue-full/requirement": {
          "source_sha256": "ba3a767c261f67ba6eb70af9b03ebf901613b3ddf176a32292d3f089b5881c8c",
          "translation": "Отклоняет act, когда в ограниченной проектной очереди команд нет места."
        },
        "/error_codes/@id=ai-control-protocol.error.unauthorized/name": {
          "source_sha256": "d089c8a9fc28e4e50223eb38c9409e362521be9380a37341304fbac7a4cd9e5f",
          "translation": "Нет авторизации"
        },
        "/error_codes/@id=ai-control-protocol.error.unauthorized/rationale": {
          "source_sha256": "09d0c4049330cf1778b251073178b0ce1deaac07194b7c071d33c3da3ce58802",
          "translation": "Соединение никогда не должно наследовать авторизацию от другого socket."
        },
        "/error_codes/@id=ai-control-protocol.error.unauthorized/requirement": {
          "source_sha256": "31caf0b2b0043db0aee075c6d61db44299c561bc701d2de5e0ed945537b8f836",
          "translation": "Если token настроен, отклоняет все методы, кроме auth, пока соединение не авторизовано."
        },
        "/integration_rules/@id=ai-control-protocol.integration.bounded-state/name": {
          "source_sha256": "617e02e2b433eb6895a15c19064cc1b1981f12f090ee4156d4f5746656c00f64",
          "translation": "Ограниченные очереди и история"
        },
        "/integration_rules/@id=ai-control-protocol.integration.bounded-state/rationale": {
          "source_sha256": "db35273924056437e4c62fa679ee282067aaf3dff1f4f43b3f2b49f586c14d30",
          "translation": "Остановившийся клиентский цикл не должен вызывать неограниченный рост памяти или молчаливую потерю команд."
        },
        "/integration_rules/@id=ai-control-protocol.integration.bounded-state/requirement": {
          "source_sha256": "e3a68f975ce723f98c1fa3fb645b7e7c8564e4357d3de42eb99039da55d3adcf",
          "translation": "Очередь команд и сохранённая история событий имеют положительные настраиваемые пределы, видимые через status; заполненная очередь отклоняет команды, не перезаписывая их."
        },
        "/integration_rules/@id=ai-control-protocol.integration.command-completion/name": {
          "source_sha256": "e8999b5daf1e361c753be2bcff9aace8db750fa7df7b599836d23eb642cd4547",
          "translation": "Событие завершения"
        },
        "/integration_rules/@id=ai-control-protocol.integration.command-completion/rationale": {
          "source_sha256": "affa6e7b6ae4872a4fe6c0a637f1101358acc7dd81dd3d6eab41bf4a07a0630d",
          "translation": "Принятие доказывает только вставку в очередь; агентам нужен связанный терминальный результат."
        },
        "/integration_rules/@id=ai-control-protocol.integration.command-completion/requirement": {
          "source_sha256": "5e3a8ed95c7813f3b9e4e96f9500c44b051a09eadf98c1d69232494bc6b04273",
          "translation": "Каждая принятая команда в итоге создаёт command_completed с commandSeq, success и message, включая неподдерживаемые или неудачные проектные действия."
        },
        "/integration_rules/@id=ai-control-protocol.integration.loop-ownership/name": {
          "source_sha256": "91fbef61ec28b9d2a99db118229285b40fc7932a438d220fcd55e2199346f025",
          "translation": "Извлечение команд в игровом цикле"
        },
        "/integration_rules/@id=ai-control-protocol.integration.loop-ownership/rationale": {
          "source_sha256": "e2efaa31d42ede1408b567933d21939de18ea2abca41d6a8827b325182724fcd",
          "translation": "Игровые объекты и состояние script runtime не являются socket-thread-safe."
        },
        "/integration_rules/@id=ai-control-protocol.integration.loop-ownership/requirement": {
          "source_sha256": "db9084fdc8a504ab3125b16181131265e7dd6acaaf59ca44a94785c1793c5f4e",
          "translation": "Сетевой поток только проверяет запросы act и ставит их в очередь; клиентский цикл проекта-владельца извлекает команды и изменяет состояние клиента."
        },
        "/integration_rules/@id=ai-control-protocol.integration.mcp-boundary/name": {
          "source_sha256": "f95250ddc9657143e206a0c451a355851e8e6d5bb671451c537e613d29d35100",
          "translation": "Граница MCP-адаптера"
        },
        "/integration_rules/@id=ai-control-protocol.integration.mcp-boundary/rationale": {
          "source_sha256": "622116c9a6cc9c681d4c55f5cd5f250940f8d251ce387f85be5c392443d14790",
          "translation": "Совместимость транспорта не должна ложно стандартизировать QA-поверхность одной игры."
        },
        "/integration_rules/@id=ai-control-protocol.integration.mcp-boundary/requirement": {
          "source_sha256": "906d3c861842f68de197308529049939ee2b9ad84dd0bf8d1e434b72f707b736",
          "translation": "MCP-адаптер может отображать проектные наблюдения/действия в семантические инструменты, но пространство имён tools, запуск, память, prompts и игровые политики принадлежат проекту."
        },
        "/integration_rules/@id=ai-control-protocol.integration.native-extension/name": {
          "source_sha256": "0f90a8dee989cbf4e4efd6ce18102678c35b74e52ce68d62524f701ab067b0ff",
          "translation": "Listener принадлежит проекту"
        },
        "/integration_rules/@id=ai-control-protocol.integration.native-extension/rationale": {
          "source_sha256": "b132fde3497dacaed3fee3ba0850878f8ac3e2d907f9df9c1dbae9a6324088c1",
          "translation": "Текущий протокол переиспользуем, но политика listener и shipping-риски остаются ответственностью проекта."
        },
        "/integration_rules/@id=ai-control-protocol.integration.native-extension/requirement": {
          "source_sha256": "aeecf72f5fa9f57228952a715bdb7c4f31cec112ba955509c7a42202a9e01648",
          "translation": "Реализуйте listener как опциональное native-расширение встраиваемого проекта, пока в runtime Engine не появится проверенный владелец."
        },
        "/integration_rules/@id=ai-control-protocol.integration.observation-schema/name": {
          "source_sha256": "824ae231f4fd42aa619887d746f6344baad3e8fd71addde4e692c2437277ec86",
          "translation": "Версионирование проектных наблюдений"
        },
        "/integration_rules/@id=ai-control-protocol.integration.observation-schema/rationale": {
          "source_sha256": "0013b04ecb650274e8806cd7a44be37016e4c5176bc197eecdd39236ad49b8a0",
          "translation": "Last Frontier и TLA обоснованно предоставляют разные игровые модели."
        },
        "/integration_rules/@id=ai-control-protocol.integration.observation-schema/requirement": {
          "source_sha256": "4b9d396c98cb47b0dbafc430ee3f9927c876f8afc24ac859559c98fc558faf1f",
          "translation": "Объект наблюдения содержит принадлежащую проекту версию схемы и достаточные для адаптера метаданные готовности/действий; протокол Engine не определяет игровые поля."
        },
        "/methods/@id=ai-control-protocol.method.act/rationale": {
          "source_sha256": "745dfc9891a26b8ca5e2182c8818a8146a1e1157d83c77b74e820259a5dc58b9",
          "translation": "Изменением игрового состояния владеет project client loop, а не socket thread."
        },
        "/methods/@id=ai-control-protocol.method.act/requirement": {
          "source_sha256": "e3ace9ab24cea760e765b82743866852ae87bf872a1c24ed419836064575a73e",
          "translation": "Ставит в очередь одну проектную команду и возвращает её sequence; принятие не означает завершение или игровой успех."
        },
        "/methods/@id=ai-control-protocol.method.auth/rationale": {
          "source_sha256": "27a9a20d03c0168c7257da637253245c316b1b960c37eb5724c50ded4564d1ae",
          "translation": "Состояние авторизации локально для соединения и никогда не выводится из предыдущего соединения."
        },
        "/methods/@id=ai-control-protocol.method.auth/requirement": {
          "source_sha256": "bbaaaccff763e0e9ab9b7839f740095342abb6e783c058601ba3d5a0d62f3306",
          "translation": "Аутентифицирует текущее соединение настроенным общим token; неудачная попытка оставляет его неавторизованным, а следующая попытка может завершиться успешно."
        },
        "/methods/@id=ai-control-protocol.method.events/rationale": {
          "source_sha256": "dcb4a2e4285dbd84df8f1b7c828a1ea6a880b358e239e7fb48fed37bb9696bce",
          "translation": "Cursor обеспечивает возобновляемый polling, не заставляя observations хранить временные результаты."
        },
        "/methods/@id=ai-control-protocol.method.events/requirement": {
          "source_sha256": "37b087fdc2b4ecb85a1e27d5c0531d4341768466c48cf9209c0dfbbb4b54e516",
          "translation": "Возвращает сохранённые события с seq больше afterSeq по возрастанию; ограничивает limit диапазоном 1..500."
        },
        "/methods/@id=ai-control-protocol.method.observe/rationale": {
          "source_sha256": "6f2d2b35e7092a5919d4b5f9178ee4728a4a11086f5b4528502f6d1c46829725",
          "translation": "Envelope может быть стабильным, пока каждая игра владеет своей схемой состояния."
        },
        "/methods/@id=ai-control-protocol.method.observe/requirement": {
          "source_sha256": "4d329928aa397241ede54d4e76567c757b43eb98b6efbc07e28dfb7e0c384507",
          "translation": "Возвращает последний полный проектный снимок наблюдения и монотонно возрастающий sequence его замены."
        },
        "/methods/@id=ai-control-protocol.method.ping/rationale": {
          "source_sha256": "77ff5bfbd4aec845c2276168cfdd5651827f3d237431451d3f8d0455d38f45b6",
          "translation": "Исправность транспорта должна отличаться от готовности проекта."
        },
        "/methods/@id=ai-control-protocol.method.ping/requirement": {
          "source_sha256": "0cd756e1d2732f9784d8e5f7621b834387e9d4bff609fb7b6471ddd860edb8c2",
          "translation": "Сообщает о доступности bridge после авторизации."
        },
        "/methods/@id=ai-control-protocol.method.status/rationale": {
          "source_sha256": "daa0ac434e46ff87ca76ecd49b3f0487dec0bbffe50f98889d9d7f553b07d586",
          "translation": "Операторам нужна ограниченная информация о состоянии без разбора игрового observation."
        },
        "/methods/@id=ai-control-protocol.method.status/requirement": {
          "source_sha256": "46d566e988808236a84583715dc25b5a5bf1d4cbb84c1f3782199a999e458255",
          "translation": "Возвращает состояние транспорта, заполнение и пределы очереди/событий, sequence последнего наблюдения и последнюю ошибку bridge."
        },
        "/scope/excluded": {
          "source_sha256": "0e3f12e09774b447895bf3eaf18ae5ffbad3cf1e0385ca5968c47309664d4841",
          "translation": [
            "listener, скомпилированный в основной runtime FOnline",
            "проектные поля наблюдений, имена игровых действий, семантика сущностей и критерии готовности",
            "имена MCP-инструментов, рецепты оркестрации, игровые политики и prompts моделей",
            "обход server authority, команды администратора, TLS, discovery и публикация в интернете"
          ]
        },
        "/scope/included": {
          "source_sha256": "8c898e18805be0eec05e0a92e715eaeb6c3cec2f71a8dab818dbe65f759c73aa",
          "translation": [
            "UTF-8 JSON с одним сообщением на строку поверх потока байтов TCP",
            "конверты request, result и error по форме JSON-RPC",
            "методы авторизации, liveness, status, наблюдения, событий и действий",
            "ограниченные transport, очередь команд и история событий",
            "жизненный цикл принятой команды и её асинхронного завершения",
            "граница угроз с loopback по умолчанию и эталонная проверка"
          ]
        },
        "/scope/support_note": {
          "source_sha256": "1b143d7753446420fd89b304dccb0ebc5bb658be7ee396be0dbac4a3e1fd3a3e",
          "translation": "Конверт версионируется, но остаётся экспериментальным; встраиваемые проекты должны закреплять ревизию Engine и владеть своими схемами наблюдений и действий."
        },
        "/security_rules/@id=ai-control-protocol.security.disabled-default/name": {
          "source_sha256": "beed7b79dbbafc1e51fca1460de7aa2533d5f1efd97b521c0485dabc79e8a699",
          "translation": "По умолчанию выключен"
        },
        "/security_rules/@id=ai-control-protocol.security.disabled-default/rationale": {
          "source_sha256": "8ddc5beec632eee74066cea322e903cccbfd2393c7e8b415cc2d9b5d820dcd07",
          "translation": "Listener управления — чувствительная с точки зрения безопасности функция разработки."
        },
        "/security_rules/@id=ai-control-protocol.security.disabled-default/requirement": {
          "source_sha256": "a01831d5ea79cc786f8f6087a548183ef1dc65dac9f6eb9bff369fa773eb815e",
          "translation": "Встраиваемый проект обязан требовать явную настройку для запуска listener."
        },
        "/security_rules/@id=ai-control-protocol.security.loopback-default/name": {
          "source_sha256": "559dc421550d314135b3305d2f60e67ee2a6d41ae5fa5eeda41b605bab17cfec",
          "translation": "Сначала loopback"
        },
        "/security_rules/@id=ai-control-protocol.security.loopback-default/rationale": {
          "source_sha256": "39d229f84e5836f201b451d9c7448316b6369b46f8a314113a9f11acccb7987e",
          "translation": "В протоколе нет шифрования транспорта или идентификации peer, кроме общего token."
        },
        "/security_rules/@id=ai-control-protocol.security.loopback-default/requirement": {
          "source_sha256": "3bbe1640875717dad9d2caaf740a2e5024913f146379fac3a45e391173d8cd2b",
          "translation": "Listeners и клиенты по умолчанию используют 127.0.0.1 и отказываются работать за пределами loopback без явного разрешения оператора."
        },
        "/security_rules/@id=ai-control-protocol.security.plaintext/name": {
          "source_sha256": "759cc8e9b5a56d97bc4c61962b8e9eb85cf5547ce328420a8cd20976bc92f81a",
          "translation": "Нет TLS"
        },
        "/security_rules/@id=ai-control-protocol.security.plaintext/rationale": {
          "source_sha256": "e0cc39e6df5db390d7c1958b8d11fd2663de46b95de72dc245154d3b79023a63",
          "translation": "Аутентификация token не обеспечивает конфиденциальность или защиту от повторов."
        },
        "/security_rules/@id=ai-control-protocol.security.plaintext/requirement": {
          "source_sha256": "829d45cd8aa529d3cdb556818b5fb5f66f0dc642c196dc3042c0b276c5889840",
          "translation": "Считайте общий token и все payload открытым текстом в TCP; если non-loopback-транспорт неизбежен, используйте аутентифицированный зашифрованный туннель."
        },
        "/security_rules/@id=ai-control-protocol.security.remote-token/name": {
          "source_sha256": "eda775475a57f93aa36e5374fcdd206547f04485563eb5ea29a6b38dc256f763",
          "translation": "Для удалённой работы нужен token"
        },
        "/security_rules/@id=ai-control-protocol.security.remote-token/rationale": {
          "source_sha256": "5a61a35e2de12943af622eec29845917df9ab4a62b81e7de46a4d0f4eafc6f40",
          "translation": "Удалённый listener с пустым token является неаутентифицированным каналом управления процессом."
        },
        "/security_rules/@id=ai-control-protocol.security.remote-token/requirement": {
          "source_sha256": "3e32da21412a352793939b11e6cc18e9394b4bd90315d2188645319215bd3cf3",
          "translation": "Пример или проектный listener, доступный за пределами loopback, требует непустой token в дополнение к явному разрешению удалённой работы."
        },
        "/security_rules/@id=ai-control-protocol.security.secret-input/name": {
          "source_sha256": "5b8eefeee583b30e07c148c2cd7d45a49ed35f9ccf0a6337cacac184ff5340f5",
          "translation": "Token из окружения"
        },
        "/security_rules/@id=ai-control-protocol.security.secret-input/rationale": {
          "source_sha256": "0ff62aa3b391387416924722dc023d2ceadcef56026f0a22befc4e9da1124f38",
          "translation": "Командные строки, списки процессов, история shell и отчёты часто раскрывают секреты."
        },
        "/security_rules/@id=ai-control-protocol.security.secret-input/requirement": {
          "source_sha256": "b84e062a90df503c350a7e581df3c1fdf205c817db0308c6f1ccf4c16f0fa4a4",
          "translation": "Эталонные инструменты читают tokens из именованной переменной окружения и не принимают или не выводят сырой token в аргументах."
        },
        "/security_rules/@id=ai-control-protocol.security.server-authority/name": {
          "source_sha256": "1f6bf3d57672f5a670cbd580e71eaa85e4b501edfba42dbd13f4a7e98403cc62",
          "translation": "Сохранение server authority"
        },
        "/security_rules/@id=ai-control-protocol.security.server-authority/rationale": {
          "source_sha256": "175329b26d680a06ce1977f4be142e43b1f2c25f9eef11f95e6e54d6a4f9c406",
          "translation": "AI QA должен проходить ту же границу валидации, что и игрок."
        },
        "/security_rules/@id=ai-control-protocol.security.server-authority/requirement": {
          "source_sha256": "94546a639ea77991cdd2af1cf3ad2d5e79508d108386c2433436e0803a6a7e68",
          "translation": "Проектные действия используют обычный клиентский ввод или аутентифицированные gameplay RPC; bridge по умолчанию не даёт server authority или возможностей администратора."
        },
        "/security_rules/@id=ai-control-protocol.security.shipping-build/name": {
          "source_sha256": "34c702ae92b14cc1654c04366872228402d86c9e209c10d24b90ce491b57239f",
          "translation": "Исключение из shipping-сборки"
        },
        "/security_rules/@id=ai-control-protocol.security.shipping-build/rationale": {
          "source_sha256": "9569811d193f381549a638854b2c8a18691c5b285701b05195981b02f9665b49",
          "translation": "Удаление socket и пути команд сокращает поверхность атак и эвристик антивируса."
        },
        "/security_rules/@id=ai-control-protocol.security.shipping-build/requirement": {
          "source_sha256": "c4c0a7e64217d19cad9f65a0291860caacd73395d33ed41c3ad67c4aaae5dbfc",
          "translation": "Проекты должны исключать listener и путь удалённых команд из production-клиентов на этапе компиляции, а не только выключать runtime-настройкой."
        },
        "/validation_rules/@id=ai-control-protocol.validation.finite-timeout/name": {
          "source_sha256": "a3077be97043e969565ceba5ff277345428b7579c7d4e3dd936af9d6a9cf582e",
          "translation": "Конечный таймаут клиента"
        },
        "/validation_rules/@id=ai-control-protocol.validation.finite-timeout/rationale": {
          "source_sha256": "b2773bf6e8f3f9dfb32767a1ef41235e04b3db05a2ecc0386a7f751df1a2392f",
          "translation": "NaN и бесконечность не задают ограниченный срок подключения или ожидания ответа."
        },
        "/validation_rules/@id=ai-control-protocol.validation.finite-timeout/requirement": {
          "source_sha256": "b02d063f5fab45aff4227d528d9e79f0408fd81d4729f76191a5ff677fcd06c4",
          "translation": "Конструктор эталонного клиента требует конечный положительный числовой таймаут, представимый как Python float, и отклоняет неверные значения с ValueError до подключения."
        },
        "/validation_rules/@id=ai-control-protocol.validation.gameplay-authority/name": {
          "source_sha256": "ce52d1913f1e5de0a81214a678b26f70c09567c4ad5f5cc5e76928166fa28e12",
          "translation": "Обычный игровой путь"
        },
        "/validation_rules/@id=ai-control-protocol.validation.gameplay-authority/rationale": {
          "source_sha256": "5cad66f9e78ac91de38448ec8311d591ba25970534766e1464f6cd4061bd0a3b",
          "translation": "Успешный smoke-тест протокола не доказывает игровую авторизацию или anti-cheat-границы."
        },
        "/validation_rules/@id=ai-control-protocol.validation.gameplay-authority/requirement": {
          "source_sha256": "3c00e2bda8dd2870f594b75aa978ad35365aa3de3ccac294b27069ac5b6176e6",
          "translation": "Проектные тесты показывают, что типичные действия проходят обычную серверную валидацию, а отклонённые игровые действия завершаются ошибкой."
        },
        "/validation_rules/@id=ai-control-protocol.validation.malformed-peer/name": {
          "source_sha256": "94309a03e2a7fcbe6c6302b7419ef0ca6f8b07cf4d977b8f5ece67a94e0891e0",
          "translation": "Неверные ответы peer"
        },
        "/validation_rules/@id=ai-control-protocol.validation.malformed-peer/rationale": {
          "source_sha256": "345cc8c95952acafe486fd0efcd6ce6f1ceb169953c5c13b6ce1fb416b9bcf71",
          "translation": "Автоматизация должна завершаться закрыто, а не принимать неоднозначные данные."
        },
        "/validation_rules/@id=ai-control-protocol.validation.malformed-peer/requirement": {
          "source_sha256": "3dc825e3b0adbf9911b03aa6a6efcae88783c2d93504402a60cd1a57288c842f",
          "translation": "Клиентские тесты отклоняют неверный JSON, неподдерживаемые конверты, несовпадающие id, одновременные result/error и слишком длинные строки."
        },
        "/validation_rules/@id=ai-control-protocol.validation.project-native/name": {
          "source_sha256": "ba89b2092820512c8d2cda262fa6e182dc57fe0bc0ef93c05d40053ebb404b09",
          "translation": "Native-интеграция проекта"
        },
        "/validation_rules/@id=ai-control-protocol.validation.project-native/rationale": {
          "source_sha256": "d2ce0a0a604edbf42222f32f0ef5aa8acabb53fbef55427738de67c49e591dee",
          "translation": "Пример Python доказывает протокол, а не native runtime FOnline."
        },
        "/validation_rules/@id=ai-control-protocol.validation.project-native/requirement": {
          "source_sha256": "9ac0456b7b7fd6618b0eeaef0715cbc132af0f263ce16da57b3db81d0e90145f",
          "translation": "Настоящий проект отдельно собирает native bridge, запускает настоящий клиент, проверяет извлечение очереди в клиентском цикле и корректные shutdown/reconnect."
        },
        "/validation_rules/@id=ai-control-protocol.validation.protocol-smoke/name": {
          "source_sha256": "a3d77802ac21fd0eab6536075384293bce1c0b2f9e47d344836380ad8072951f",
          "translation": "Smoke-тест протокола"
        },
        "/validation_rules/@id=ai-control-protocol.validation.protocol-smoke/rationale": {
          "source_sha256": "e75b014a34ce6cec0a7f2c3fce9378f0846058fe5a00e5b5579fc95ffd79d3ce",
          "translation": "Одна отрисованная схема не доказывает состояние соединения и асинхронный жизненный цикл."
        },
        "/validation_rules/@id=ai-control-protocol.validation.protocol-smoke/requirement": {
          "source_sha256": "3bfd7c867449a575dd9ca5e1dffb2c371e10d646291924a213c311d0f0ff6197",
          "translation": "Запустите эталонный клиент с примером сервера и докажите auth, liveness, status, наблюдение, неверный ввод, принятие действия, завершение, обновление состояния и поведение event cursor."
        },
        "/validation_rules/@id=ai-control-protocol.validation.security/name": {
          "source_sha256": "54b619f768522782ec364b3deb187ae16cd5f63537426d0d6002051012036ec2",
          "translation": "Тесты границы безопасности"
        },
        "/validation_rules/@id=ai-control-protocol.validation.security/rationale": {
          "source_sha256": "9406bd1974da574c5f7f80e66e2bfb1425163a780d7c712cd489b004d0f4740f",
          "translation": "Требования безопасности должны оставаться исполняемыми при развитии helper."
        },
        "/validation_rules/@id=ai-control-protocol.validation.security/requirement": {
          "source_sha256": "2310b90df72246f907f73bc6b4685cd67a89bb0e2dcc024a268d0df4348f6cdf",
          "translation": "Тесты доказывают отказ для non-loopback, отдельную для соединения авторизацию, отклонение неверного token и отсутствие token в аргументах командной строки."
        },
        "/validation_rules/@id=ai-control-protocol.validation.shipping-artifact/name": {
          "source_sha256": "cd1f8a3aa8bd6c1202556f4d9a054085de50c2cba39a6b73b02ba86ee4bf70ce",
          "translation": "Инспекция shipping-артефакта"
        },
        "/validation_rules/@id=ai-control-protocol.validation.shipping-artifact/rationale": {
          "source_sha256": "75b2601ab3138ed03e8d3e57b87010717725407cdd84f00f8d773997bd73b474",
          "translation": "Выключение по умолчанию слабее отсутствия в поставляемом бинарном файле."
        },
        "/validation_rules/@id=ai-control-protocol.validation.shipping-artifact/requirement": {
          "source_sha256": "f7760b78c63218feae41d921f9976fa773076eb40e44784f746e4777163ad850",
          "translation": "Release-проверка подтверждает, что production-клиенты не могут открыть listener AiControl и не содержат проектную реализацию удалённых команд."
        },
        "/wire_rules/@id=ai-control-protocol.wire.line-limit/name": {
          "source_sha256": "eb050aa0d8a63ca44771453d9f315a27a49ee861b1ec87a741682ebed6c4586c",
          "translation": "Ограниченный размер строки"
        },
        "/wire_rules/@id=ai-control-protocol.wire.line-limit/rationale": {
          "source_sha256": "eb0f6f50e7cba969be2d958fddd0a0b43a2309849efe0fe5c9d52dfae3a6be7e",
          "translation": "Даже локальному каналу автоматизации нужны детерминированные пределы памяти."
        },
        "/wire_rules/@id=ai-control-protocol.wire.line-limit/requirement": {
          "source_sha256": "aa932ff3cb6e218952ff4d46e52c089f49c606ef8e0129d2559364acecafc326",
          "translation": "JSON payload запроса или ответа не превышает 1 МиБ до LF; слишком большой ввод отклоняется, а соединение может быть закрыто."
        },
        "/wire_rules/@id=ai-control-protocol.wire.ndjson/name": {
          "source_sha256": "10445f36fe62694f8c7914963aeb4de0ca2766a649ff1d4d7fa2ead8b573b9ec",
          "translation": "Один объект JSON в строке"
        },
        "/wire_rules/@id=ai-control-protocol.wire.ndjson/rationale": {
          "source_sha256": "105d71913a97e1a1b1a9e5dc904e620f9a78d56cce514ec4f2e2c03b90b4a39e",
          "translation": "Строчный framing допускает потоковую обработку, удобен для инспекции и используется обоими проверенными проектными bridges."
        },
        "/wire_rules/@id=ai-control-protocol.wire.ndjson/requirement": {
          "source_sha256": "69401bcfc0233c03bd928964886ebae5b6e190aeb47d4870c9b0172adf6e4d59",
          "translation": "Каждый запрос и ответ является одним объектом JSON, завершённым LF; peers обрабатывают строки в порядке соединения."
        },
        "/wire_rules/@id=ai-control-protocol.wire.request-envelope/name": {
          "source_sha256": "e8977fce752983e0339fe88cfbdb941241fefb2dbe13d5dfb03aa5d41601cc8f",
          "translation": "Конверт запроса"
        },
        "/wire_rules/@id=ai-control-protocol.wire.request-envelope/rationale": {
          "source_sha256": "8b0aca1f85ea4e05792128c3c6d62e3e8f1feb3afa8115c40e53c14e5f8f1baf",
          "translation": "Небольшой конверт по форме JSON-RPC даёт корреляцию, не заявляя полную спецификацию JSON-RPC."
        },
        "/wire_rules/@id=ai-control-protocol.wire.request-envelope/requirement": {
          "source_sha256": "a9592522760ede6040b13ed1c4b3021e28130b08f9260f5a62c7e26b93605532",
          "translation": "Объект запроса содержит jsonrpc=2.0, выбранный вызывающей стороной id, непустую строку method и объект params."
        },
        "/wire_rules/@id=ai-control-protocol.wire.response-envelope/name": {
          "source_sha256": "322e2a2be6a84e7981517231c6aa540cd1cea051b882142254fba0b8d5b5bb1d",
          "translation": "Конверт ответа"
        },
        "/wire_rules/@id=ai-control-protocol.wire.response-envelope/rationale": {
          "source_sha256": "8d0e2d4fa281a1c2522bd8f5e55a234e110b625cbaaf957f912489417af3fa7f",
          "translation": "Строгая корреляция не позволяет одному шагу автоматизации получить результат другого шага."
        },
        "/wire_rules/@id=ai-control-protocol.wire.response-envelope/requirement": {
          "source_sha256": "ebe39e8136e973db6322e2bfa337922df9cdcf150d8b8f6c6dceee466c618911",
          "translation": "Ответ повторяет jsonrpc=2.0 и id запроса, затем содержит ровно одно из result или error; error содержит целочисленный code и строковый message."
        },
        "/wire_rules/@id=ai-control-protocol.wire.sequential-connection/name": {
          "source_sha256": "7598c90446f694586ea19203cd02cfa30b2beee7e58717b5a94cd461460f716d",
          "translation": "Последовательная обработка запросов"
        },
        "/wire_rules/@id=ai-control-protocol.wire.sequential-connection/rationale": {
          "source_sha256": "49d0ddbcc45a4816f56f3c2e0cd9fa31053e056c178530560803231dd278948e",
          "translation": "Контракт остаётся реализуемым одним проектным listener и не создаёт скрытых гонок порядка."
        },
        "/wire_rules/@id=ai-control-protocol.wire.sequential-connection/requirement": {
          "source_sha256": "539e5166fc259e1005c9944ca263891f61a4042fc58d7185f330c495746394b9",
          "translation": "Клиент отправляет запрос и получает соответствующий ответ до повторного использования соединения; клиенты не должны требовать multiplexing или нескольких одновременных запросов."
        },
        "/wire_rules/@id=ai-control-protocol.wire.tcp-stream/name": {
          "source_sha256": "c71d3d8f1ada6fb9b71273e1e2eee861fea3c13347147aefb1f99c98d8490bc6",
          "translation": "Поток байтов TCP"
        },
        "/wire_rules/@id=ai-control-protocol.wire.tcp-stream/rationale": {
          "source_sha256": "62218e4a4392f0009b97f211d94360923c2e46d8eca26a0d547a06aa76704773",
          "translation": "Общие проектные реализации являются локальными каналами инструментов, а не протоколом интернет-сервиса."
        },
        "/wire_rules/@id=ai-control-protocol.wire.tcp-stream/requirement": {
          "source_sha256": "13e1baab21a4b3e28b8336e71721d0beb6b9da1cefad5cae000413230af4e8c0",
          "translation": "Bridge принимает явно настроенный TCP endpoint; клиенты не должны предполагать наличие discovery, TLS, HTTP или WebSocket framing."
        },
        "/wire_rules/@id=ai-control-protocol.wire.utf8/name": {
          "source_sha256": "d0d4e1dd383da71638d28070b3c40b3318810093f20472c8d5139650581083cc",
          "translation": "Кодировка UTF-8"
        },
        "/wire_rules/@id=ai-control-protocol.wire.utf8/rationale": {
          "source_sha256": "aff0ee222473b242a34c3203c2551ebdd6bea45a20f62b535499d4f463f0ed28",
          "translation": "Проектные наблюдения и payload действий могут содержать локализованный текст."
        },
        "/wire_rules/@id=ai-control-protocol.wire.utf8/requirement": {
          "source_sha256": "0175d09e10554f1431a3b5bcaf323e2be655b0ea138b2d61b0d8b76c0b61bbb4",
          "translation": "Строки JSON кодируются и декодируются как строгий UTF-8; неверные данные получают parse error или приводят к закрытию соединения."
        }
      }
    },
    "helper-cli": {
      "entries": {
        "/description": {
          "source_sha256": "86c297656059f060d79a58f8a6860d2bf962c22555aa1ab5c41f9713227ba097",
          "translation": "Каноническая граница владения и публикации командных строк исполняемых helper scripts FOnline."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.act/arguments/@id=helper-cli.ai-control-client.command.act.argument.append/description": {
          "source_sha256": "3c87f95f31d1c4dd0a8bb83bf82087efe33ed7e8e6ac9ca42518476632a12285",
          "translation": "Запросить проектную семантику добавления в очередь."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.act/arguments/@id=helper-cli.ai-control-client.command.act.argument.aux_id/description": {
          "source_sha256": "1e8237dd7aead641543b6b75893b476f4f1740ed4e1f80991b307adf7bc731dd",
          "translation": "Необязательный идентификатор вспомогательной сущности."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.act/arguments/@id=helper-cli.ai-control-client.command.act.argument.int_arg/description": {
          "source_sha256": "7c8f2a72a9b9a30a7ecd51a61ad10e3c7e8474ac0ffe51ef8e04efd08e217378",
          "translation": "Необязательный целочисленный payload."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.act/arguments/@id=helper-cli.ai-control-client.command.act.argument.item_id/description": {
          "source_sha256": "be720b16d40d29e2400d1f30a11b516415f05e02a06c65e52e3cc8f934bc3231",
          "translation": "Необязательный идентификатор сущности предмета."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.act/arguments/@id=helper-cli.ai-control-client.command.act.argument.screen_x/description": {
          "source_sha256": "cfcdd9e9d76e984a5f18012c039dc0e4ebd1212e1ac891f2699268875b5325b0",
          "translation": "Необязательная экранная координата X."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.act/arguments/@id=helper-cli.ai-control-client.command.act.argument.screen_y/description": {
          "source_sha256": "0799d31cfb18469a1a7b8480b266bc4f32c16c48de6c2f96eda26110d2bc739e",
          "translation": "Необязательная экранная координата Y."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.act/arguments/@id=helper-cli.ai-control-client.command.act.argument.string_arg/description": {
          "source_sha256": "f5becc641fd66d82ce8bc7845ed0c1c6f47245fc1679198e0e6d5347aa708ef3",
          "translation": "Необязательный строковый payload."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.act/arguments/@id=helper-cli.ai-control-client.command.act.argument.target_id/description": {
          "source_sha256": "f307318b8d4c9eecfb1e3f8baeb42f049717f1504cbc0fc741f29cb9f6dabb21",
          "translation": "Необязательный идентификатор целевой сущности."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.act/arguments/@id=helper-cli.ai-control-client.command.act.argument.type/description": {
          "source_sha256": "f90a32fa96d43366e607a91facec4d4f3b175bea804f2454c37a4fb169e2c71a",
          "translation": "Определённый проектом тип команды."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.act/arguments/@id=helper-cli.ai-control-client.command.act.argument.x/description": {
          "source_sha256": "f995d572a5982ec24512c56fd4f9acbefd298274ad257fee60877efe1699e3a3",
          "translation": "Необязательная мировая координата X проекта."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.act/arguments/@id=helper-cli.ai-control-client.command.act.argument.y/description": {
          "source_sha256": "15bcbaef80d662d357eff8e93415b2e08410267e79bc5762b24f1fbd95896ad9",
          "translation": "Необязательная мировая координата Y проекта."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.act/summary": {
          "source_sha256": "1ed4f22db667a119f1006b09b815e08133b74191e11a0a974f9892264af6fdb6",
          "translation": "Поставить в очередь одну определённую проектом команду."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.events/arguments/@id=helper-cli.ai-control-client.command.events.argument.after_seq/description": {
          "source_sha256": "35310e3c4fe79c1b2c22581892dd9b7c911cf3a0c4d51bcc387d14ccad1dd23a",
          "translation": "Исключающий cursor событий."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.events/arguments/@id=helper-cli.ai-control-client.command.events.argument.limit/description": {
          "source_sha256": "3cd79e44c929491c0dced34729204f695e3bda2433b20ea75b357ba8028eba53",
          "translation": "Максимальное количество возвращаемых событий."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.events/summary": {
          "source_sha256": "7ce48257ca7e9bbb8d7c3ff566ece112196dc0c5404ee06bbd50d2283a35f63f",
          "translation": "Прочитать события после sequence-cursor."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.observe/summary": {
          "source_sha256": "4523dc8486f85150e8adf3b136b88a9808ac808b5b1352782a1eef3e3ad94581",
          "translation": "Прочитать последнее наблюдение проекта."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.ping/summary": {
          "source_sha256": "5b9bb51d9f6deece6596fb805775f11fc7ba81dff2f5cddb4fdd938415fca2ad",
          "translation": "Проверить доступность моста."
        },
        "/helpers/@id=helper-cli.ai-control-client/commands/@id=helper-cli.ai-control-client.command.status/summary": {
          "source_sha256": "7698896eec46bbaf64ab19624178913d257498d92eb5e198f54149aba9cdcde3",
          "translation": "Прочитать состояние моста и ограничения очереди."
        },
        "/helpers/@id=helper-cli.ai-control-client/description": {
          "source_sha256": "70d41fc854d9e2c67ef16dab6c548de58c9483cb023161148eaf4797b7238166",
          "translation": "Вызывает совместимый с Engine проектный мост AiControl через версионированный NDJSON/TCP envelope, не раскрывая shared tokens в командной строке."
        },
        "/helpers/@id=helper-cli.ai-control-client/global_arguments/@id=helper-cli.ai-control-client.argument.allow_remote/description": {
          "source_sha256": "d41ce04dbe73e13396945ae5e7e60a5164e0af0b0634f833838960c867320ce6",
          "translation": "Разрешить endpoint вне loopback; транспорт остаётся незашифрованным."
        },
        "/helpers/@id=helper-cli.ai-control-client/global_arguments/@id=helper-cli.ai-control-client.argument.host/description": {
          "source_sha256": "a0ec88737b49428e936a7359a0a54d321d793accbc4c1d7b4e9acd51ee368d13",
          "translation": "Host моста."
        },
        "/helpers/@id=helper-cli.ai-control-client/global_arguments/@id=helper-cli.ai-control-client.argument.port/description": {
          "source_sha256": "3e926786ff592e90beba1c7e70df4fc5e27050cdc01bcc1780f72f91397d6afe",
          "translation": "Порт моста."
        },
        "/helpers/@id=helper-cli.ai-control-client/global_arguments/@id=helper-cli.ai-control-client.argument.timeout/description": {
          "source_sha256": "9380d77a0e3742471369315a58a641e5589ed9dc6679d44a0c328f163b1935a6",
          "translation": "Timeout сокета в секундах."
        },
        "/helpers/@id=helper-cli.ai-control-client/global_arguments/@id=helper-cli.ai-control-client.argument.token_env/description": {
          "source_sha256": "9385bec220b74f54308dc68cb7b658977906b3cd08811a088d0883404233c995",
          "translation": "Переменная окружения с общим токеном."
        },
        "/helpers/@id=helper-cli.ai-control-client/invocation_owner": {
          "source_sha256": "263fe0a3e68fc04367d8f396da22d155ab304f070e0d13adc1aefac5cb5fd72c",
          "translation": "ИИ-адаптеры проекта, smoke-тесты протокола и непосредственная диагностика разработчиком"
        },
        "/helpers/@id=helper-cli.ai-control-client/name": {
          "source_sha256": "1fce5be80b11fa71633553785ff984f41e5258d21c1f3ebbc06e469e2b65c4be",
          "translation": "Клиент протокола AiControl"
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.connect/arguments/@id=helper-cli.android-device.command.connect.argument.device/description": {
          "source_sha256": "9f42ce387e09e93930a254405d53481bd9a716ec813c0372cfc549fa459f1469",
          "translation": "IP-адрес устройства с необязательным портом; при отсутствии используются автоматический поиск и интерактивный выбор."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.connect/summary": {
          "source_sha256": "b77691ca447ada2dd861cefba7a586969d7c44a773827340df088f52bf23e7d6",
          "translation": "Подключиться к Android-устройству по Wi-Fi и кешировать endpoint."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.discover/summary": {
          "source_sha256": "499143e7762ecd8cd51949e1e08c87499ce4f03f78d5bf4e52f0963e7360a71f",
          "translation": "Перечислить Android-устройства Wi-Fi, найденные через adb mdns."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.install/arguments/@id=helper-cli.android-device.command.install.argument.apk/description": {
          "source_sha256": "4e0c70a1df3c13268544bf989561fc93f6b6e7ac367f27f65bc162aeeb140077",
          "translation": "Путь к APK."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.install/arguments/@id=helper-cli.android-device.command.install.argument.device/description": {
          "source_sha256": "ec2ce15fd1b5d61a9706c24828acda8fe338662a9a1fc15499e4a22ee29dae92",
          "translation": "IP-адрес устройства с необязательным портом; при отсутствии используется кешированный endpoint или поиск."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.install/summary": {
          "source_sha256": "b4465301b75ac6fbd748ef57f283f77a9b49d991ed41ac450bdbb42c30ed794d",
          "translation": "Установить APK на выбранное Android-устройство Wi-Fi."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.launch-game/arguments/@id=helper-cli.android-device.command.launch-game.argument.activity/description": {
          "source_sha256": "6a93b52c7508429949fac78dd394013824c3967f07ff778b377cefb24a1a08c7",
          "translation": "Полностью квалифицированный компонент activity, например com.example.game/.FOnlineActivity."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.launch-game/arguments/@id=helper-cli.android-device.command.launch-game.argument.device/description": {
          "source_sha256": "ec2ce15fd1b5d61a9706c24828acda8fe338662a9a1fc15499e4a22ee29dae92",
          "translation": "IP-адрес устройства с необязательным портом; при отсутствии используется кешированный endpoint или поиск."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.launch-game/arguments/@id=helper-cli.android-device.command.launch-game.argument.server_host/description": {
          "source_sha256": "49e37cf5c7a85efcc6cef5a3591f8d1ec5cb3df5875125a1f35a6e57de91e108",
          "translation": "IP-адрес или имя host для ClientNetwork.ServerHost; при отсутствии определяется по маршруту к выбранному устройству."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.launch-game/summary": {
          "source_sha256": "7febcfa0f713ab5488987a1ff25649326347bee30bf05426bc02508834bd6d7a",
          "translation": "Запустить Android activity игры и передать переопределение хоста сервера RemoteSceneLaunch."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.launch/arguments/@id=helper-cli.android-device.command.launch.argument.activity/description": {
          "source_sha256": "6a93b52c7508429949fac78dd394013824c3967f07ff778b377cefb24a1a08c7",
          "translation": "Полностью квалифицированный компонент activity, например com.example.game/.FOnlineActivity."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.launch/arguments/@id=helper-cli.android-device.command.launch.argument.device/description": {
          "source_sha256": "ec2ce15fd1b5d61a9706c24828acda8fe338662a9a1fc15499e4a22ee29dae92",
          "translation": "IP-адрес устройства с необязательным портом; при отсутствии используется кешированный endpoint или поиск."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.launch/summary": {
          "source_sha256": "d6481bb863bcc4639487c515eeb49811b9fcf4875dcaaf15022c9275ee420feb",
          "translation": "Запустить Android activity на выбранном устройстве."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.logcat/arguments/@id=helper-cli.android-device.command.logcat.argument.device/description": {
          "source_sha256": "ec2ce15fd1b5d61a9706c24828acda8fe338662a9a1fc15499e4a22ee29dae92",
          "translation": "IP-адрес устройства с необязательным портом; при отсутствии используется кешированный endpoint или поиск."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.logcat/summary": {
          "source_sha256": "c34fe579ff8815550ee5b771f227e6be73e4f2075d7a884dc0d4b382d4009c3e",
          "translation": "Передавать поток logcat с выбранного устройства."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.stop/arguments/@id=helper-cli.android-device.command.stop.argument.device/description": {
          "source_sha256": "ec2ce15fd1b5d61a9706c24828acda8fe338662a9a1fc15499e4a22ee29dae92",
          "translation": "IP-адрес устройства с необязательным портом; при отсутствии используется кешированный endpoint или поиск."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.stop/arguments/@id=helper-cli.android-device.command.stop.argument.package_name/description": {
          "source_sha256": "b2435d15ef23feed93deb1f778db35b57a28affcfbc1f87a3ca70ca9958aff12",
          "translation": "Имя Android-пакета."
        },
        "/helpers/@id=helper-cli.android-device/commands/@id=helper-cli.android-device.command.stop/summary": {
          "source_sha256": "ad32379501863dbe232d703f4dc1f68b7846f23abd261b55c4dde6aa9e2940b5",
          "translation": "Принудительно остановить Android-пакет на выбранном устройстве."
        },
        "/helpers/@id=helper-cli.android-device/description": {
          "source_sha256": "4d696bc7f6d6f917de4f4eaca255f4eb92bcedb7e554d023f54746b08ba6499d",
          "translation": "Находит, подключает, устанавливает, запускает, останавливает и проверяет Android Wi-Fi-устройства через adb."
        },
        "/helpers/@id=helper-cli.android-device/global_arguments/@id=helper-cli.android-device.argument.workspace_root/description": {
          "source_sha256": "6dbb759a454d1f95f4ab8ddfecc6b3301087c0e6198c669bbdb4ab1a3c590d6f",
          "translation": "Путь к рабочему каталогу, содержащему android-sdk и android-debug."
        },
        "/helpers/@id=helper-cli.android-device/invocation_owner": {
          "source_sha256": "cfc597db1e5e206ec839a6e0b116e1ce7c91b900401512f8479878a23411dbd7",
          "translation": "Android-задачи подключающего проекта и непосредственное использование разработчиком"
        },
        "/helpers/@id=helper-cli.android-device/name": {
          "source_sha256": "aea99625aefb8459c19638eccdce88b569ba0213285d812047b14b7a7bd5be44",
          "translation": "Управление устройством Android"
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.clean/arguments/@id=helper-cli.codecoverage.command.clean.argument.backend/description": {
          "source_sha256": "aa1fb879cb02c5b3148f25e5eaba5e6e772934ec69f98ce2e3ecb63b9f54dcdb",
          "translation": "Backend компилятора/toolchain покрытия."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.clean/arguments/@id=helper-cli.codecoverage.command.clean.argument.binary/description": {
          "source_sha256": "523bdc4bb473ace817b1879650e7fcea2ae6acf38bc7d3af74a8786d368885cb",
          "translation": "Инструментированный исполняемый файл тестов."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.clean/arguments/@id=helper-cli.codecoverage.command.clean.argument.binary_args/description": {
          "source_sha256": "d92c86dff50003d216a22a6b892ae8b87e296c261475576eaf962e8b50d10d6e",
          "translation": "Аргументы, передаваемые тестовому бинарному файлу."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.clean/arguments/@id=helper-cli.codecoverage.command.clean.argument.build_dir/description": {
          "source_sha256": "013362827657e08f22bc8870e4c3b12d21581b205cbfc923889081d8feed664f",
          "translation": "Настроенный каталог сборки CMake."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.clean/arguments/@id=helper-cli.codecoverage.command.clean.argument.objects/description": {
          "source_sha256": "7f20d12e6c1e63d0ee223080c922c8125add0a8b8825163ec79d9d534bcc0d2b",
          "translation": "Дополнительный инструментированный исполняемый файл или динамическая библиотека для отчёта LLVM; аргумент можно повторять."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.clean/arguments/@id=helper-cli.codecoverage.command.clean.argument.output_dir/description": {
          "source_sha256": "e92181990d5b3f3cfd250411849c94143fb7ff5ee7a440dba2571e9e6be66aac",
          "translation": "Каталог выходных данных покрытия и отчётов."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.clean/arguments/@id=helper-cli.codecoverage.command.clean.argument.workspace_root/description": {
          "source_sha256": "f600b2319fef950bd2ab0d1ba79835565785723b0cd5c864e8df85850b8301cf",
          "translation": "Каталог исходников подключающего проекта."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.clean/description": {
          "source_sha256": "74998682dcd49c0bd7bf22841eb19703eaf27a6a7d707766943889fc22381b42",
          "translation": "Удалить ранее собранные данные покрытия и отчёты."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.clean/summary": {
          "source_sha256": "74998682dcd49c0bd7bf22841eb19703eaf27a6a7d707766943889fc22381b42",
          "translation": "Удалить ранее собранные данные покрытия и отчёты."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.full/arguments/@id=helper-cli.codecoverage.command.full.argument.backend/description": {
          "source_sha256": "aa1fb879cb02c5b3148f25e5eaba5e6e772934ec69f98ce2e3ecb63b9f54dcdb",
          "translation": "Backend компилятора/toolchain покрытия."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.full/arguments/@id=helper-cli.codecoverage.command.full.argument.binary/description": {
          "source_sha256": "523bdc4bb473ace817b1879650e7fcea2ae6acf38bc7d3af74a8786d368885cb",
          "translation": "Инструментированный исполняемый файл тестов."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.full/arguments/@id=helper-cli.codecoverage.command.full.argument.binary_args/description": {
          "source_sha256": "d92c86dff50003d216a22a6b892ae8b87e296c261475576eaf962e8b50d10d6e",
          "translation": "Аргументы, передаваемые тестовому бинарному файлу."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.full/arguments/@id=helper-cli.codecoverage.command.full.argument.build_dir/description": {
          "source_sha256": "013362827657e08f22bc8870e4c3b12d21581b205cbfc923889081d8feed664f",
          "translation": "Настроенный каталог сборки CMake."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.full/arguments/@id=helper-cli.codecoverage.command.full.argument.output_dir/description": {
          "source_sha256": "e92181990d5b3f3cfd250411849c94143fb7ff5ee7a440dba2571e9e6be66aac",
          "translation": "Каталог выходных данных покрытия и отчётов."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.full/arguments/@id=helper-cli.codecoverage.command.full.argument.workspace_root/description": {
          "source_sha256": "f600b2319fef950bd2ab0d1ba79835565785723b0cd5c864e8df85850b8301cf",
          "translation": "Каталог исходников подключающего проекта."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.full/description": {
          "source_sha256": "aab03451f489a5d56729d1b581d909dfd9876e7a6bab11045f1b958d1fd42b07",
          "translation": "Очистить данные, запустить инструментированный бинарный файл и создать отчёты."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.full/summary": {
          "source_sha256": "aab03451f489a5d56729d1b581d909dfd9876e7a6bab11045f1b958d1fd42b07",
          "translation": "Очистить данные, запустить инструментированный бинарный файл и создать отчёты."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.report/arguments/@id=helper-cli.codecoverage.command.report.argument.backend/description": {
          "source_sha256": "aa1fb879cb02c5b3148f25e5eaba5e6e772934ec69f98ce2e3ecb63b9f54dcdb",
          "translation": "Backend компилятора/toolchain покрытия."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.report/arguments/@id=helper-cli.codecoverage.command.report.argument.binary/description": {
          "source_sha256": "523bdc4bb473ace817b1879650e7fcea2ae6acf38bc7d3af74a8786d368885cb",
          "translation": "Инструментированный исполняемый файл тестов."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.report/arguments/@id=helper-cli.codecoverage.command.report.argument.binary_args/description": {
          "source_sha256": "d92c86dff50003d216a22a6b892ae8b87e296c261475576eaf962e8b50d10d6e",
          "translation": "Аргументы, передаваемые тестовому бинарному файлу."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.report/arguments/@id=helper-cli.codecoverage.command.report.argument.build_dir/description": {
          "source_sha256": "013362827657e08f22bc8870e4c3b12d21581b205cbfc923889081d8feed664f",
          "translation": "Настроенный каталог сборки CMake."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.report/arguments/@id=helper-cli.codecoverage.command.report.argument.output_dir/description": {
          "source_sha256": "e92181990d5b3f3cfd250411849c94143fb7ff5ee7a440dba2571e9e6be66aac",
          "translation": "Каталог выходных данных покрытия и отчётов."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.report/arguments/@id=helper-cli.codecoverage.command.report.argument.workspace_root/description": {
          "source_sha256": "f600b2319fef950bd2ab0d1ba79835565785723b0cd5c864e8df85850b8301cf",
          "translation": "Каталог исходников подключающего проекта."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.report/description": {
          "source_sha256": "aa5b7e9b10620c2a379dc390b006e45ba5d7e2fd0f6de29460762440b7f02910",
          "translation": "Создать текстовый и HTML-отчёты из собранных данных покрытия."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.report/summary": {
          "source_sha256": "aa5b7e9b10620c2a379dc390b006e45ba5d7e2fd0f6de29460762440b7f02910",
          "translation": "Создать текстовый и HTML-отчёты из собранных данных покрытия."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.run/arguments/@id=helper-cli.codecoverage.command.run.argument.backend/description": {
          "source_sha256": "aa1fb879cb02c5b3148f25e5eaba5e6e772934ec69f98ce2e3ecb63b9f54dcdb",
          "translation": "Backend компилятора/toolchain покрытия."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.run/arguments/@id=helper-cli.codecoverage.command.run.argument.binary/description": {
          "source_sha256": "523bdc4bb473ace817b1879650e7fcea2ae6acf38bc7d3af74a8786d368885cb",
          "translation": "Инструментированный исполняемый файл тестов."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.run/arguments/@id=helper-cli.codecoverage.command.run.argument.binary_args/description": {
          "source_sha256": "d92c86dff50003d216a22a6b892ae8b87e296c261475576eaf962e8b50d10d6e",
          "translation": "Аргументы, передаваемые тестовому бинарному файлу."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.run/arguments/@id=helper-cli.codecoverage.command.run.argument.build_dir/description": {
          "source_sha256": "013362827657e08f22bc8870e4c3b12d21581b205cbfc923889081d8feed664f",
          "translation": "Настроенный каталог сборки CMake."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.run/arguments/@id=helper-cli.codecoverage.command.run.argument.output_dir/description": {
          "source_sha256": "e92181990d5b3f3cfd250411849c94143fb7ff5ee7a440dba2571e9e6be66aac",
          "translation": "Каталог выходных данных покрытия и отчётов."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.run/arguments/@id=helper-cli.codecoverage.command.run.argument.workspace_root/description": {
          "source_sha256": "f600b2319fef950bd2ab0d1ba79835565785723b0cd5c864e8df85850b8301cf",
          "translation": "Каталог исходников подключающего проекта."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.run/description": {
          "source_sha256": "8a7d956d0f37759abab7f540df9f40aa6d71e95f6f6dcb79c9bc2ea9aaffab8b",
          "translation": "Запустить инструментированный тестовый бинарный файл и собрать данные покрытия."
        },
        "/helpers/@id=helper-cli.codecoverage/commands/@id=helper-cli.codecoverage.command.run/summary": {
          "source_sha256": "8a7d956d0f37759abab7f540df9f40aa6d71e95f6f6dcb79c9bc2ea9aaffab8b",
          "translation": "Запустить инструментированный тестовый бинарный файл и собрать данные покрытия."
        },
        "/helpers/@id=helper-cli.codecoverage/description": {
          "source_sha256": "60aad502dcc6fcfa06d400cbe0618cb65bef9e5c6b7439e8086d2587dbc5191a",
          "translation": "Очищает, собирает и формирует отчёты покрытия кода движка для сгенерированных тестовых целей."
        },
        "/helpers/@id=helper-cli.codecoverage/invocation_owner": {
          "source_sha256": "7e50b49ce99d12956be862b13c12ed853b00bdfaa6d365a76b63f6a08ce8a6c5",
          "translation": "BuildTools/cmake/stages/Applications.cmake",
          "preserve_source": true
        },
        "/helpers/@id=helper-cli.codecoverage/name": {
          "source_sha256": "fe858ca3d2e33ec4e9d345b040f4572c13d0e04c4935dff0bde44d6c35fcb5a4",
          "translation": "Покрытие кода"
        },
        "/helpers/@id=helper-cli.codegen/description": {
          "source_sha256": "b168d702c894ecf577f1b692dfffcf07973385fc79bb25b0caceda5c8a8a0ccc",
          "translation": "Создаёт конфигурацию движка, регистрацию метаданных, привязки скриптов и исходники встроенных ресурсов."
        },
        "/helpers/@id=helper-cli.codegen/global_arguments/@id=helper-cli.codegen.argument.buildhash/description": {
          "source_sha256": "f9266c7f36c9ffabb805ff021eb8db871069d6b2c60da6f85321cb611eefb61a",
          "translation": "Хеш сборки."
        },
        "/helpers/@id=helper-cli.codegen/global_arguments/@id=helper-cli.codegen.argument.commonheader/description": {
          "source_sha256": "336ee4d8f15f20325083215948399f767370111eedce01c490dde198d5cebc53",
          "translation": "Путь к общему header-файлу."
        },
        "/helpers/@id=helper-cli.codegen/global_arguments/@id=helper-cli.codegen.argument.devname/description": {
          "source_sha256": "810b9472dd7b76d24071d557746f1f120e84b1c67c6c384c8b453edbd346216a",
          "translation": "Краткое имя игры для разработки."
        },
        "/helpers/@id=helper-cli.codegen/global_arguments/@id=helper-cli.codegen.argument.embedded/description": {
          "source_sha256": "77aae67fb8bf00b73360039f4d726e93d9bcff183c1c04a1efe669a673344afa",
          "translation": "Ёмкость буфера встроенных данных."
        },
        "/helpers/@id=helper-cli.codegen/global_arguments/@id=helper-cli.codegen.argument.enginedefine/description": {
          "source_sha256": "be376044d7568d83a339e74f2a332659c6a561c253b319049c7f33ca9fd1923c",
          "translation": "Define конфигурации движка NAME=VALUE, создаваемый как макрос в EngineConfig.gen.h."
        },
        "/helpers/@id=helper-cli.codegen/global_arguments/@id=helper-cli.codegen.argument.genoutput/description": {
          "source_sha256": "605a80a7cec4c00ae907bc28b7b487316b06dce0b471a20a06ba12f53985ae54",
          "translation": "Каталог выходного сгенерированного кода."
        },
        "/helpers/@id=helper-cli.codegen/global_arguments/@id=helper-cli.codegen.argument.maincfg/description": {
          "source_sha256": "a7492cd2cde30f709453234d68bdd75f975b1be9f20790be292d8ed23e356d6a",
          "translation": "Основной файл конфигурации."
        },
        "/helpers/@id=helper-cli.codegen/global_arguments/@id=helper-cli.codegen.argument.meta/description": {
          "source_sha256": "772b07002bc0dd20a373f7cb7363a84532cef98d78599a5ee9a98342b00468b1",
          "translation": "Путь к метаданным Script API, то есть тегам ///@."
        },
        "/helpers/@id=helper-cli.codegen/global_arguments/@id=helper-cli.codegen.argument.nicename/description": {
          "source_sha256": "edb6b7b6fbfb4a1a906e767d8809d17b23ad50c2a9c53f6397de6feeebacdd87",
          "translation": "Читаемое имя игры."
        },
        "/helpers/@id=helper-cli.codegen/global_arguments/@id=helper-cli.codegen.argument.verbose/description": {
          "source_sha256": "2380211d64d301d3b749e0cf71a3cd0b0ec6e09e4870b54cb26234963206dba0",
          "translation": "Подробный режим."
        },
        "/helpers/@id=helper-cli.codegen/invocation_owner": {
          "source_sha256": "1c26af52cb53a4e7fa6c94d181152db19d790bee9f90a23e5af95a13b101c6f1",
          "translation": "BuildTools/cmake/stages/Codegen.cmake",
          "preserve_source": true
        },
        "/helpers/@id=helper-cli.codegen/name": {
          "source_sha256": "b8baf7166150288cd864c84fe302b404bfcfe7e341f636e3a5860d43a48848c3",
          "translation": "Генерация кода"
        },
        "/helpers/@id=helper-cli.createmsi/description": {
          "source_sha256": "c8b73b5d47c4de51a99c5e1c7708999266d2550cd08756ca0b31e119b1f2955a",
          "translation": "Собирает установщик MSI из созданного упаковщиком определения WiX."
        },
        "/helpers/@id=helper-cli.createmsi/global_arguments/@id=helper-cli.createmsi.argument.jsonfile/description": {
          "source_sha256": "f8a42a53ee2cba34cec5d8ac5a39bcb532a7dd700eba6244838507800cfb6214",
          "translation": "Только имя файла определения пакета WiX в рабочем каталоге."
        },
        "/helpers/@id=helper-cli.createmsi/global_arguments/@id=helper-cli.createmsi.argument.wix_dir/description": {
          "source_sha256": "1c5781329dfc1b8b5eefdacdf2c88ae30725a57eca28897c31df1d9c784381d1",
          "translation": "Каталог инструментов WiX; без этого параметра они ищутся в PATH."
        },
        "/helpers/@id=helper-cli.createmsi/invocation_owner": {
          "source_sha256": "de9c7bd2f5ff89806835337709946357d47e69deb5c29762d0df87de103e362b",
          "translation": "пакет Wix в BuildTools/package.py"
        },
        "/helpers/@id=helper-cli.createmsi/name": {
          "source_sha256": "71a1ab05bd94edf78dd44316b4d064c8b17f3853d67808c2dd981ca54a674a12",
          "translation": "Создание MSI"
        },
        "/helpers/@id=helper-cli.gameplay-test-runner/description": {
          "source_sha256": "44e2afeb32638ce404022d1d5ca1a1051d3857c078a41fa55c0dad8430816458",
          "translation": "Запускает упорядоченные многопроцессные игровые smoke-сценарии с контрактами готовности, маркеров, deadline, очистки и JSON-отчёта."
        },
        "/helpers/@id=helper-cli.gameplay-test-runner/global_arguments/@id=helper-cli.gameplay-test-runner.argument.manifest/description": {
          "source_sha256": "bc94325f698f792f414b2e15b5734240ee28b08c70e11c6ada156d7565b8c81e",
          "translation": "Путь к манифесту сценария."
        },
        "/helpers/@id=helper-cli.gameplay-test-runner/global_arguments/@id=helper-cli.gameplay-test-runner.argument.report/description": {
          "source_sha256": "a2e07e00808e39fe056145e0804341d60496f964eacf6f53e4e08e8488e78d0f",
          "translation": "Необязательный путь результата JSON."
        },
        "/helpers/@id=helper-cli.gameplay-test-runner/global_arguments/@id=helper-cli.gameplay-test-runner.argument.value/description": {
          "source_sha256": "9fd7747f0d9cb9cd053224111f6f48e3d2d8c0156f534daf8e2e534db3e85d0c",
          "translation": "Значение placeholder; повторяйте при необходимости."
        },
        "/helpers/@id=helper-cli.gameplay-test-runner/invocation_owner": {
          "source_sha256": "d65fed8f6c6951132c6cfa984423e74d701d7e78219ebcabf2fd220027e59d28",
          "translation": "CMake-цели подключающего проекта и CI smoke-задачи игровых тестов"
        },
        "/helpers/@id=helper-cli.gameplay-test-runner/name": {
          "source_sha256": "92c468bed64c0f33dc0584828524a7ce97127320f5003e8c82bee0db84d4a4cd",
          "translation": "Запуск игровых тестов"
        },
        "/helpers/@id=helper-cli.simple-web-server/description": {
          "source_sha256": "43d4e2c2f90c9e2ff611e5b3ce4d2cb7e488d40409fe995238369d223dc66eb1",
          "translation": "Раздаёт упакованный Web-клиент с локального HTTP-сервера без кеширования."
        },
        "/helpers/@id=helper-cli.simple-web-server/global_arguments/@id=helper-cli.simple-web-server.argument.fork/description": {
          "source_sha256": "761233c6d346fc2a7b13b3f5eff83e6b17e9f45d5b5bcfaf0bf8e9f2ec245105",
          "translation": "Создать дочерний процесс."
        },
        "/helpers/@id=helper-cli.simple-web-server/global_arguments/@id=helper-cli.simple-web-server.argument.port/description": {
          "source_sha256": "184abcdcada90c4dd09c8516480ad374a7e16cf79108eb122af4e78df8fe7d1f",
          "translation": "Порт Web-сервера."
        },
        "/helpers/@id=helper-cli.simple-web-server/invocation_owner": {
          "source_sha256": "69e827601bea7b3965f5b5f75d7c4a17f943f52e08e3660088e89331ff995ed1",
          "translation": "payload WebServer в BuildTools/package.py"
        },
        "/helpers/@id=helper-cli.simple-web-server/name": {
          "source_sha256": "6aeee2d3b4305ee7df0f667dcb6167995fc56f1d323f672a021ced54ecbbf258",
          "translation": "Локальный Web-сервер"
        },
        "/helpers/@id=helper-cli.windows7-import-check/description": {
          "source_sha256": "ba820e17a98ac121a047225dfce65e7b4649a494414fa69d5dfdaf4e227edc12",
          "translation": "Проверяет совместимость импортов слинкованных PE-файлов с Windows 7 и по запросу требует флаг большого адресного пространства у исполняемых файлов."
        },
        "/helpers/@id=helper-cli.windows7-import-check/global_arguments/@id=helper-cli.windows7-import-check.argument.require_large_address_aware/description": {
          "source_sha256": "743a32103531d7e2c4007292a72e971fa3007e94ef680bef0132b45622a5bc14",
          "translation": "Требовать флаг большого адресного пространства у проверяемых исполняемых файлов."
        },
        "/helpers/@id=helper-cli.windows7-import-check/global_arguments/@id=helper-cli.windows7-import-check.argument.binaries/description": {
          "source_sha256": "23a5ed3d50ff93b7d50d3bf8289f1cc1b46cfdbc2e7e5594fc451c37281d344e",
          "translation": "Проверяемый слинкованный исполняемый PE-файл или DLL."
        },
        "/helpers/@id=helper-cli.windows7-import-check/invocation_owner": {
          "source_sha256": "cb63fae5a48970683824fef1dadf41b3686d09074c4623c181dc296055923bba",
          "translation": "CI и релизная проверка Windows 7 подключающего проекта"
        },
        "/helpers/@id=helper-cli.windows7-import-check/name": {
          "source_sha256": "a0947f0125341291cdf1f5a2465faf22a32fcc633a24394ef7e10ac30b4a1158",
          "translation": "Проверка импортов Windows 7"
        },
        "/scope/excluded": {
          "source_sha256": "eb9dd61c0e01a36ef1601624e7279012fa9c13e7acbd3e2fc8c3858bece3086d",
          "translation": [
            "отдельно моделируемая командная строка BuildTools/buildtools.py;",
            "отдельно моделируемая командная строка BuildTools/package.py и контракт объявления пакетов;",
            "генераторы документации, тесты, библиотечные модули, shell-скрипты и инструменты подключающего проекта."
          ]
        },
        "/scope/included": {
          "source_sha256": "aa05b99eb53c664ee36b0f530a0caf1d85c98c0d8190e28c4716bf15cfc2fd6a",
          "translation": [
            "принадлежащие движку вспомогательные скрипты Python с фабрикой верхнего уровня create_parser();",
            "точные usage и вывод справки argparse, аргументы, подкоманды, владельцы, аудитории и контекст вызова."
          ]
        },
        "/scope/support_note": {
          "source_sha256": "99d7b560b0dedd294c2239e8f24faab77ee6b2d00926a811e0fb5785ed8ce48b",
          "translation": "Командные строки helpers являются привязанными к ревизии интерфейсами реализации; автоматизация должна закреплять ревизию движка."
        }
      }
    },
    "image-format": {
      "entries": {
        "/baking_rules/@id=image-format.baking.container-header/name": {
          "source_sha256": "15828ee0a2adad0b427d0672c5d28ee50e944f8eae0a407549d1be058a603310",
          "translation": "Заголовок частного контейнера"
        },
        "/baking_rules/@id=image-format.baking.container-header/rationale": {
          "source_sha256": "cd55c8da1483e6ca0e2c242224a3aeb191e3bf043a8b3a65e564d7213015e2dc",
          "translation": "Общий decoder SpriteResource проверяет версионированное обрамление до потребления pixels или mesh-данных клиентом либо tool."
        },
        "/baking_rules/@id=image-format.baking.container-header/requirement": {
          "source_sha256": "66c6f6bcba6b3936fe160f20e2c71925d603ab22f5dcea8c5367c94e06f3a2d2",
          "translation": "Частный baked stream начинается с magic SpriteResource 43 и version 2, затем содержит uint16 числа кадров, uint16 полных animation ticks и uint8 числа направлений, а заканчивается magic 43."
        },
        "/baking_rules/@id=image-format.baking.direction-record/name": {
          "source_sha256": "aad1483fd86b8db83fa5843daef621757a1dc2eb6e050807217fb3a2bfd201a1",
          "translation": "Записи направлений"
        },
        "/baking_rules/@id=image-format.baking.direction-record/rationale": {
          "source_sha256": "d75cad3d2d87e274a255986d8f7912a8fd9dc7a715d8439e10914feadee64cee",
          "translation": "Per-frame offsets сохраняют экранное размещение, когда polygon geometry независимо меняет сериализованный canvas каждого направления и кадра анимации."
        },
        "/baking_rules/@id=image-format.baking.direction-record/requirement": {
          "source_sha256": "acafc21ef8b4ed8acc628e8d58ffac267357afecc3eff92b6e08f7f48cf0bb41",
          "translation": "Каждое из одного или GameSettings::MAP_DIR_COUNT направлений хранит ровно общее число кадров; разрешённый logical root offset сериализуется в каждом конкретном кадре после mesh padding и crop."
        },
        "/baking_rules/@id=image-format.baking.discovery/name": {
          "source_sha256": "202871628f0d150d8e6da64758ea14bbb5c0d9e1aba80097e67cf0fbf88e245a",
          "translation": "Scan и targeted modes"
        },
        "/baking_rules/@id=image-format.baking.discovery/rationale": {
          "source_sha256": "e075b77c2dac0a80e9303dba007cca5811f1b70366192ee3c1b466ccd9e71322",
          "translation": "Incremental build проекта и перезапекание одного файла используют один baker, не считая пропущенную цель ошибкой."
        },
        "/baking_rules/@id=image-format.baking.discovery/requirement": {
          "source_sha256": "ae16357d2e6cc370ffff16f8398529c913b290164313175e5f0d132ca6cbb083",
          "translation": "Пустая цель сканирует каждое зарегистрированное расширение; отсутствующий, неподдерживаемый или пропущенный BakeChecker targeted path завершается без выхода."
        },
        "/baking_rules/@id=image-format.baking.error-aggregation/name": {
          "source_sha256": "83cc453961ead8bd8ccb14695757c753d0a429c97e902d7c0711154546f20d3c",
          "translation": "Работа каждого файла и агрегированный отказ"
        },
        "/baking_rules/@id=image-format.baking.error-aggregation/rationale": {
          "source_sha256": "bf894e72648845a6f5338fabb5e30d8ac6752e774d4c37384d62e11d8afd3b5f",
          "translation": "Полный scan сообщает обо всех независимо сломанных image resources за один запуск и не завершается молча."
        },
        "/baking_rules/@id=image-format.baking.error-aggregation/requirement": {
          "source_sha256": "c06e02b392db350e6e5c86ebf6e551e55a27359efc725f18ad9d73c3d48d2ea6",
          "translation": "Выбранные файлы запекаются асинхронно; каждое исключение журналируется, а ненулевое число ошибок завершает Image baker исключением ImageBakerException."
        },
        "/baking_rules/@id=image-format.baking.extension-case/name": {
          "source_sha256": "fd5fe2efd73716f13a492f3501a3072814605a8001d1d87355632ff37cd80908",
          "translation": "Диспетчеризация расширения без учёта регистра"
        },
        "/baking_rules/@id=image-format.baking.extension-case/rationale": {
          "source_sha256": "045591c9994e7dab8d60525f7ce153377cf47abf2dc205a80d5ad93cb6ede4a4",
          "translation": "Расширения в смешанном регистре разрешаются одним зарегистрированным loader, хотя проекты всё равно должны использовать канонические lowercase paths."
        },
        "/baking_rules/@id=image-format.baking.extension-case/requirement": {
          "source_sha256": "668c48f29856216097e1f770ab0f69c5f26591566a595d53e02ffab8876a1b4b",
          "translation": "Lookup расширений source и runtime использует get_file_extension(), который возвращает расширение без точки и в нижнем регистре."
        },
        "/baking_rules/@id=image-format.baking.frame-record/name": {
          "source_sha256": "c9bdb4b16e771b15dfbed1e743d2720d21d384fca9d367a78f7e3eacb2c3ceb5",
          "translation": "Concrete и shared frame records"
        },
        "/baking_rules/@id=image-format.baking.frame-record/rationale": {
          "source_sha256": "2b885669028df267a5267e0f6676bf9f556d48b2f8cb2daea5f6a63dee7021c6",
          "translation": "Record сохраняет логическое размещение и координаты освещения, устраняя прозрачные texture rows и отправляя indexed silhouettes; повторные кадры переиспользуют исходный payload."
        },
        "/baking_rules/@id=image-format.baking.frame-record/requirement": {
          "source_sha256": "46e56825d8040d4e22f7f44fe9a7a973a59c0665999fc6f05e395fe7a3fdbe3c",
          "translation": "Каждый кадр начинается с shared flag; concrete record хранит знаковый int16 draw offset, uint16 обрезанных размеров, знаковые int16 NextX/NextY, точные RGBA8 pixels, mesh kind, а для Mesh — vertices/indices, logical source size и origin. Shared record хранит индекс одного более раннего кадра."
        },
        "/baking_rules/@id=image-format.baking.output-path/name": {
          "source_sha256": "4195209bcc495e5f7502ed5536ce27127d1158c59e9230e8ede16e43558ebe3a",
          "translation": "Путь выхода и NewName"
        },
        "/baking_rules/@id=image-format.baking.output-path/rationale": {
          "source_sha256": "234ec7db5fefc3956b911a4441829bc9a46f9e63c054da63c7af24d10a524b2c",
          "translation": "Нормализация critter FRM/FRx и агрегация разделённых направлений требуют детерминированно переименованных ресурсов."
        },
        "/baking_rules/@id=image-format.baking.output-path/requirement": {
          "source_sha256": "e4ea183d0ee0f504a2b5d039a19ca4dd2a967f3e709d0a53937cc827cf7d1c0e",
          "translation": "Запечённый ресурс обычно сохраняет исходный путь; loader может задать NewName, который заменит путь выхода для legacy-нормализации."
        },
        "/baking_rules/@id=image-format.baking.source-options/name": {
          "source_sha256": "fea95a1458db46bace4d539a42b2da6e49d752a0632693cc672e0d6b783550f9",
          "translation": "Диспетчеризация параметров после $"
        },
        "/baking_rules/@id=image-format.baking.source-options/rationale": {
          "source_sha256": "e887fddaa8ec8a832251ba523fa02e2e524229d2321b3a6049e9a58c14a8baf6",
          "translation": "Один исходный файл может давать выбранные или преобразованные варианты через ссылки FOFRM без дублирования binaries."
        },
        "/baking_rules/@id=image-format.baking.source-options/requirement": {
          "source_sha256": "e6f83a3c3929faacbc5a19171e839106f29014287da58616f10a2e2d1af9667a",
          "translation": "LoadAny удаляет из физического имени текст после $, передаёт suffix выбранному loader и разрешает источник внутри того же FileCollection."
        },
        "/baking_rules/@id=image-format.baking.sprite-info-index/name": {
          "source_sha256": "96e8b60e3a07b1cfdb3cba91c7a9fd9f1235ca74a4ec9b45ab224318531f348c",
          "translation": "Индекс SpriteInfo каждого pack"
        },
        "/baking_rules/@id=image-format.baking.sprite-info-index/rationale": {
          "source_sha256": "b88e70a1f18eb3f5ae11459a1e219f5e538f2cb60b9c26f069815901ec4bf6d9",
          "translation": "Общий EngineMetadata отвечает на запросы 2D-анимации server/client без декодирования RGBA payload; потеря или появление агрегированного индекса требует полной перезапечки."
        },
        "/baking_rules/@id=image-format.baking.sprite-info-index/requirement": {
          "source_sha256": "29ada9cab6dca7847987de8e34c58114dc8c11e76a7d26eab0aa7fe675e8d5a2",
          "translation": "Запекание изображений поддерживает SpriteInfo/<PackName>.foinfo версии 1 с duration, direction, frame bounds, offsets и metadata shared frame каждого актуального image source в resource pack."
        },
        "/baking_rules/@id=image-format.baking.sprite-mesh/name": {
          "source_sha256": "8d6e2a91fb3f52bb22bab45693fe197c18157de5684a6b54f744d56083661203",
          "translation": "Необязательный polygonal sprite mesh"
        },
        "/baking_rules/@id=image-format.baking.sprite-mesh/rationale": {
          "source_sha256": "e6e0b96f3f592c09340af899d3b03b227f9cc4a2a134dc07240945b929c0d61e",
          "translation": "Opt-in путь уменьшает transparent overdraw и texture area без обрезания видимых pixels или изменения gameplay placement; небезопасные/невыгодные кандидаты остаются quads, пустые masks — явной пустой geometry."
        },
        "/baking_rules/@id=image-format.baking.sprite-mesh/requirement": {
          "source_sha256": "e5d32464097bc365fbfad0cfe420b2606e0aafe8d64f18fd899715ab17417316",
          "translation": "Разрешайте и проверяйте всю группу settings SpriteMesh при каждом image bake, в том числе когда SpriteMesh.Enabled равен false: AlphaThreshold находится в 0..254, MaxTriangles положителен, а AreaSavingsWeight конечен и неотрицателен. При включении стройте детерминированные alpha-thresholded candidates в пределах triangle budget, оценивайте saved original-frame area относительно submitted triangles, оставляйте только проверенное покрытие, обрезайте выбранные mesh canvases точно по geometry bounds и сохраняйте logical root через сериализованный frame offset."
        },
        "/description": {
          "source_sha256": "527089e6b41fff1e8e13b6eec67f6fc178b792c38357b0b89a9f94c18b207a60",
          "translation": "Основанный на исходниках контракт импорта изображений FOnline, композиции FOFRM, полигональных sprite meshes, baked container, client sprites, atlas, cache и валидации."
        },
        "/descriptor_fields/@id=image-format.field.count/name": {
          "source_sha256": "868429ff9cb482a6349b41bf244d1aabad71e2075b8e238fc4f083a6b541f0d9",
          "translation": "count / Count",
          "preserve_source": true
        },
        "/descriptor_fields/@id=image-format.field.count/rationale": {
          "source_sha256": "6862d4ed5f2dcf6135621a8f9229556679cf0cef41bfdf53f11385aeec958bc2",
          "translation": "Каждый источник по ссылке сам может содержать несколько кадров."
        },
        "/descriptor_fields/@id=image-format.field.count/requirement": {
          "source_sha256": "b7f3fd1d4e047c28ce9d7fea3224e5d74ba747fbb939b51f82d60ef8120cc3a6",
          "translation": "Count задаёт число ссылок descriptor в каждом направлении, по умолчанию равен единице и должен быть положительным; он не обязательно совпадает с итоговым числом кадров после flattening."
        },
        "/descriptor_fields/@id=image-format.field.direction-section/name": {
          "source_sha256": "c7ee0e86bd5aa8d7dbcb7c0784e1c001506ee03a2930b9085ffb797ecdae6fe1",
          "translation": "[dir_N] / [Dir_N]",
          "preserve_source": true
        },
        "/descriptor_fields/@id=image-format.field.direction-section/rationale": {
          "source_sha256": "51428a93d2ee95f3c448c9cee02cd7deba349db09c995dd46758f0743ac4af1c",
          "translation": "SpriteSheet принимает ровно одно направление или GameSettings::MAP_DIR_COUNT направлений."
        },
        "/descriptor_fields/@id=image-format.field.direction-section/requirement": {
          "source_sha256": "631a1de60cf6590a105786dae72104102c9fac679797ea2b992dc849ee613d8a",
          "translation": "Descriptor либо однонаправленный, либо предоставляет каждое направление карты Engine; частичные наборы направлений и последующие разрывы отклоняются."
        },
        "/descriptor_fields/@id=image-format.field.effect/name": {
          "source_sha256": "9f45b2bd31acaa07b7cffed5dc7d4d26380d1126dc181e95c116362c031573cd",
          "translation": "effect / Effect",
          "preserve_source": true
        },
        "/descriptor_fields/@id=image-format.field.effect/rationale": {
          "source_sha256": "725bd4c195ba5cf3f7a579a8d2fb27b3174cf6034da0763e3ad822f0626be05a",
          "translation": "Авторы не должны считать разобранное, но неиспользуемое поле частью render-контракта."
        },
        "/descriptor_fields/@id=image-format.field.effect/requirement": {
          "source_sha256": "7457330a33c1dc829a05f8d1ef5c60d038163f8a283f41d93260214b1052a8e2",
          "translation": "Parser принимает effect/Effect в FrameCollection.EffectName для совместимости, но ImageBaker не сериализует и не применяет его, а штатный runtime никогда не выбирает effect из этого поля."
        },
        "/descriptor_fields/@id=image-format.field.flattening/name": {
          "source_sha256": "c97a1e284c2202ec07a90500aad059ebd438b1823b6997c9ca86c9930417f80e",
          "translation": "Flattening вложенной последовательности"
        },
        "/descriptor_fields/@id=image-format.field.flattening/rationale": {
          "source_sha256": "c1015411a271d408f52aa76095b6c7b0c9faa81ebee7885b8af185c9829273a4",
          "translation": "Merge loop копирует только child frames Main и проверяет каждое последующее направление по collection.SequenceSize."
        },
        "/descriptor_fields/@id=image-format.field.flattening/requirement": {
          "source_sha256": "fc6c816cdc2b1a7c435a13e52f97f4697ae635fafc3a25a3c98ec501d82361e9",
          "translation": "FOFRM добавляет последовательность Main каждого дочернего ресурса; наборы направлений и sequence offsets ребёнка не компонуются, а все авторские направления родителя должны давать одинаковое итоговое число кадров после flattening."
        },
        "/descriptor_fields/@id=image-format.field.fps/name": {
          "source_sha256": "1c016a4141cea372b702948466f319de7941330a4cc95967964aaae4a0d7c43c",
          "translation": "fps / Fps",
          "preserve_source": true
        },
        "/descriptor_fields/@id=image-format.field.fps/rationale": {
          "source_sha256": "793a4b1be5f73be8aea8acb6442432524ad3fc5b00801a26b7942adda7f4fed6",
          "translation": "Авторские count и fps определяют AnimTicks всего sheet, а runtime playback делит эту длительность на расплющенное число кадров."
        },
        "/descriptor_fields/@id=image-format.field.fps/requirement": {
          "source_sha256": "6719638b81a3a60caa9970e5016c83100a615f706b37dd971dca1b368013ddae",
          "translation": "FOFRM сначала читает lowercase fps, затем legacy Fps; ноль создаёт непроигрываемый sheet, а production-значения анимации также должны сохранять положительную полную длительность кадра."
        },
        "/descriptor_fields/@id=image-format.field.frame-delta/name": {
          "source_sha256": "8a0b979b05b2b8352bed575147e8ea261a1fe212b35ce38fcac47994fa7bbd38",
          "translation": "next_x_N / next_y_N и NextX_N / NextY_N"
        },
        "/descriptor_fields/@id=image-format.field.frame-delta/rationale": {
          "source_sha256": "2ebb75043266759620293b3b9557aa56c27f923aa57b716dd77b838e60d755d6",
          "translation": "Так сохраняется смещение исходного формата и одновременно допускается авторская корректировка композиции."
        },
        "/descriptor_fields/@id=image-format.field.frame-delta/requirement": {
          "source_sha256": "1b95463c2f360e84b6722383341e158f0e55ab4ed88e9e7db0b9364dd30c3049",
          "translation": "Дельты кадров descriptor прибавляются к импортированным NextX/NextY каждого расплющенного дочернего кадра."
        },
        "/descriptor_fields/@id=image-format.field.frame-reference/name": {
          "source_sha256": "9a1eaa203f5bcea36b7bfcf9f14285e653b3d2a5c2596149e20c8b95d7544503",
          "translation": "frm / Frm и frm_N / Frm_N"
        },
        "/descriptor_fields/@id=image-format.field.frame-reference/rationale": {
          "source_sha256": "c88d8c1ebf4da08327c60f782435d4181648de799659bdc37ab0f528c1232cc0",
          "translation": "Ссылки объединяются с каталогом descriptor и затем диспетчеризируются по расширению ресурса."
        },
        "/descriptor_fields/@id=image-format.field.frame-reference/requirement": {
          "source_sha256": "a2f9c43126f23a8524b58ace0a781f63835fbb249bd806f1056a662f1fffce42",
          "translation": "Каждый авторский slot descriptor разрешает один относительный путь изображения; только slot ноль также принимает ненумерованный alias frm/Frm."
        },
        "/descriptor_fields/@id=image-format.field.sequence-offset/name": {
          "source_sha256": "a3d152f353f5f28758601f1bc5cc4ec08d171473643fccd57b717b0c6cc25a43",
          "translation": "offs_x / offs_y и OffsetX / OffsetY"
        },
        "/descriptor_fields/@id=image-format.field.sequence-offset/rationale": {
          "source_sha256": "f3435b2ac8e48c320594b69b1daf2e1c9d8f695d22b1f4a6d76b1ff6cc7282e5",
          "translation": "Parser повторно использует текущие переменные ox/oy, а не сбрасывает их для каждого направления."
        },
        "/descriptor_fields/@id=image-format.field.sequence-offset/requirement": {
          "source_sha256": "0c2b19cd39ad723482839d6102813234886548ee8d5ee7b73423ce971353b24b",
          "translation": "Sequence offsets являются знаковыми и могут задаваться в корне или каждом разделе направления; явно задавайте оба значения в каждом направлении, потому что пропущенные значения переносятся дальше."
        },
        "/descriptor_fields/@id=image-format.field.timing/name": {
          "source_sha256": "ba6de1efc9632bc433b85ac26cd934de09cc19fede49c5e2d465c4f4d0c007a2",
          "translation": "Timing всей последовательности FOFRM"
        },
        "/descriptor_fields/@id=image-format.field.timing/rationale": {
          "source_sha256": "d04078983e298e243aba3ff21fe1d0895b917df96af8b262eeac44f6d9752bd3",
          "translation": "Поэтому вложенные анимированные ссылки могут изменить эффективный темп кадров, если автор не учёл flattening."
        },
        "/descriptor_fields/@id=image-format.field.timing/requirement": {
          "source_sha256": "4697084cb656acab14ac9901095a3302141573ddcab1619d304f12600217e8f0",
          "translation": "FOFRM вычисляет длительность всей последовательности по авторскому count descriptor, а не по расплющенному числу дочерних кадров; нулевой fps даёт нулевые ticks."
        },
        "/filename_options/@id=image-format.option.art/rationale": {
          "source_sha256": "fb6d8db8e8ebb0bf44d3d40f33c3c0fec4cd4e045a3efb4888671592619dd198",
          "translation": "Параметры разбираются из ссылки на источник без изменения физического имени исходного файла."
        },
        "/filename_options/@id=image-format.option.art/requirement": {
          "source_sha256": "e1e9d09dc499898a4e0433731eab903a7d62ba69e5713a0f72925c55fa0e6099",
          "translation": "Цифры выбирают последнюю запрошенную доступную палитру; T выводит alpha из максимума RGB при сохранении прозрачности нулевого индекса; H/V отражают; F выбирает включительный возрастающий или убывающий ограниченный кадр/диапазон. Регистр букв не важен, неизвестные символы игнорируются."
        },
        "/filename_options/@id=image-format.option.bam/rationale": {
          "source_sha256": "f3a293ed56e988f1e6cc7498a3c702d97279de76fdbb1d5131809c85ac9bcfc8",
          "translation": "Источник может публиковать много cycles, тогда как один resource path должен давать детерминированный выход."
        },
        "/filename_options/@id=image-format.option.bam/requirement": {
          "source_sha256": "dcb6cd93bd405134f8d91991466942dcbf70c44da19b7bfce6a82a40c2fb8a2e",
          "translation": "Целое перед - выбирает cycle, а необязательное неотрицательное целое после - — один frame; cycle/frame вне диапазона заменяются нулём, а отсутствие selector кадра импортирует весь cycle."
        },
        "/filename_options/@id=image-format.option.spr/rationale": {
          "source_sha256": "da0db466def1b1e8e716daabdf6aeb312ef4f4a0ab3aa043dbef0279ddbecad8",
          "translation": "Importer компонует palette layers и выбирает анимацию до записи runtime RGBA-кадров."
        },
        "/filename_options/@id=image-format.option.spr/requirement": {
          "source_sha256": "d5cc7fe0e1d48b3086456cdd4102c424dbafb88c79c01778de4392097f4e1e28",
          "translation": "Ноль или больше записей в скобках задают ограниченные RGB offsets для part 0 other, 1 skin, 2 hair или 3 armor; part вне диапазона применяет RGB ко всем частям, а текст после последней скобки выбирает последовательность без учёта регистра (пустое значение выбирает первую)."
        },
        "/formats/@id=image-format.format.art/availability": {
          "source_sha256": "d0508162f95ee5b1cb981d6b8cbe030b9c8268a213e40d503757ae7ab7f46815",
          "translation": "baker и штатный runtime"
        },
        "/formats/@id=image-format.format.art/rationale": {
          "source_sha256": "f3c805e5d61c32e963a8887bcc9aac085b9893b994b2b109c7c6448d0919e581",
          "translation": "Нумерация направлений и метаданные кадров ART требуют специального remapping перед использованием в runtime."
        },
        "/formats/@id=image-format.format.art/requirement": {
          "source_sha256": "55d0d492e2fd104dcf255e0ec7344ed50371cee655f3ffe6abbac7115d33293b",
          "translation": "ART импортирует raw/RLE frames, palettes, offsets, frame rate, static или eight-rotation данные и filename options палитры/alpha/mirror/frame."
        },
        "/formats/@id=image-format.format.bam/availability": {
          "source_sha256": "d0508162f95ee5b1cb981d6b8cbe030b9c8268a213e40d503757ae7ab7f46815",
          "translation": "baker и штатный runtime"
        },
        "/formats/@id=image-format.format.bam/rationale": {
          "source_sha256": "0ce598fe946609ac793e4b88340839f8fb50f1d1c76fae25aae87b841a9ac1ea",
          "translation": "Выбор cycle/frame и palette transparency являются частью legacy-формата, а не generic sprite behavior."
        },
        "/formats/@id=image-format.format.bam/requirement": {
          "source_sha256": "dc9eb3bb0a43c815565e441b06e0e606b3ef5c0cf01ca69b537d21a5aea75257",
          "translation": "BAM импортирует один выбранный cycle или frame, поддерживает packed BAMC и RLE, выводит deltas кадров и считает синий 255 палитры прозрачным."
        },
        "/formats/@id=image-format.format.fofrm/availability": {
          "source_sha256": "d0508162f95ee5b1cb981d6b8cbe030b9c8268a213e40d503757ae7ab7f46815",
          "translation": "baker и штатный runtime"
        },
        "/formats/@id=image-format.format.fofrm/rationale": {
          "source_sha256": "401788487b746b699e24a614bcffda1259dd29305098df2e792872b7a7135873",
          "translation": "Это единственный встроенный текстовый descriptor, который объединяет исходники, добавляет смещения кадров и создаёт загружаемый runtime путь .fofrm."
        },
        "/formats/@id=image-format.format.fofrm/requirement": {
          "source_sha256": "7e2e03c4ff4aaeb19eb8b77b1fa3a473ab200768036e950859fcd82ae1969e80",
          "translation": "FOFRM компонует относительные ссылки на изображения в одно статическое изображение, анимацию или полный набор направлений и является предпочтительной авторской обёрткой для многокадровых либо содержащих параметры источников."
        },
        "/formats/@id=image-format.format.fr0/availability": {
          "source_sha256": "d0508162f95ee5b1cb981d6b8cbe030b9c8268a213e40d503757ae7ab7f46815",
          "translation": "baker и штатный runtime"
        },
        "/formats/@id=image-format.format.fr0/rationale": {
          "source_sha256": "645d448b6bbaf85caf33101edcc403e7b0b7b07328d39731098d697678dd68db",
          "translation": "Раздельное legacy-представление должно превращаться в единый runtime-лист направлений с детерминированным выходным путём."
        },
        "/formats/@id=image-format.format.fr0/requirement": {
          "source_sha256": "6c1edb0d8fb94751a3157121f0d2018f3f8edc5625bfe18169d18780ded30898",
          "translation": "Вход .fr0 обнаруживает нумерованные соседние направления, отклоняет разрыв после начала их загрузки и переименовывает запечённый выход в lowercase .fofrm для путей critter либо в .frm иначе."
        },
        "/formats/@id=image-format.format.frm/availability": {
          "source_sha256": "d0508162f95ee5b1cb981d6b8cbe030b9c8268a213e40d503757ae7ab7f46815",
          "translation": "baker и штатный runtime"
        },
        "/formats/@id=image-format.format.frm/rationale": {
          "source_sha256": "91d1697549dcc7f5cd359f72a8c2faa846773534e4374865c33213a0971718bb",
          "translation": "Importer сохраняет геометрию legacy-кадров, нормализуя пиксели в RGBA-контейнер движка."
        },
        "/formats/@id=image-format.format.frm/requirement": {
          "source_sha256": "549e81357fe99a5657778ae838c98f41d22909ebee64f8e07e5a1b74a7d4c6a4",
          "translation": "FRM импортирует big-endian timing кадров, offsets, deltas, одну либо полную таблицу направлений, необязательный одноимённый .pal и анимированные индексы стандартной палитры."
        },
        "/formats/@id=image-format.format.mos/availability": {
          "source_sha256": "d0508162f95ee5b1cb981d6b8cbe030b9c8268a213e40d503757ae7ab7f46815",
          "translation": "baker и штатный runtime"
        },
        "/formats/@id=image-format.format.mos/rationale": {
          "source_sha256": "bad093a6e5b51995234938b7b30fe9fcb14eff45015c6019f411485b3d4ac37d",
          "translation": "Packed и unpacked файлы используют одно расширение и нормализуются в один RGBA-кадр."
        },
        "/formats/@id=image-format.format.mos/requirement": {
          "source_sha256": "cce5ef4ac4bddfe8935559b5a3220a00248c0368b6a8970a81ea5563c2ca4348",
          "translation": "MOS импортирует одно tiled-изображение с палитрой; MOSC предварительно распаковывается, а цвет палитры 0x00FF00 становится прозрачным."
        },
        "/formats/@id=image-format.format.png/availability": {
          "source_sha256": "d0508162f95ee5b1cb981d6b8cbe030b9c8268a213e40d503757ae7ab7f46815",
          "translation": "baker и штатный runtime"
        },
        "/formats/@id=image-format.format.png/rationale": {
          "source_sha256": "a88df995083af6fa7de4ca16e90340158feb005a8c594e17544b00a2e9b1bc87",
          "translation": "PNG рекомендуется как lossless authored source для обычных project images и transparent sprites."
        },
        "/formats/@id=image-format.format.png/requirement": {
          "source_sha256": "091ccb19cdbd2a268edc480d4e0d50e7466d4b89b91f79e246f7a17c990b9faa",
          "translation": "PNG декодируется через libpng, сокращает 16-битные каналы до 8 бит, раскрывает palette/low-bit grayscale/tRNS и заполняет отсутствующий alpha значением 255 перед созданием одного RGBA-кадра."
        },
        "/formats/@id=image-format.format.rix/availability": {
          "source_sha256": "d0508162f95ee5b1cb981d6b8cbe030b9c8268a213e40d503757ae7ab7f46815",
          "translation": "baker и штатный runtime"
        },
        "/formats/@id=image-format.format.rix/rationale": {
          "source_sha256": "3debd0e8a92ce59d529732e498370897812ea2cd72a65ea1396b0e29e9659178",
          "translation": "Формат не содержит authored metadata анимации или направлений."
        },
        "/formats/@id=image-format.format.rix/requirement": {
          "source_sha256": "da3f56810ba726cd6a6fed07301a20744b8f4d3b6aade410506b08618523f952",
          "translation": "RIX импортирует одно непрозрачное индексированное изображение со встроенной палитрой и создаёт один RGBA-кадр."
        },
        "/formats/@id=image-format.format.spr/availability": {
          "source_sha256": "367de840079af0a89ca56cae612fad39443db9f34063521e0751239a6b7006d0",
          "translation": "по умолчанию только baker; для штатного runtime оборачивайте в FOFRM"
        },
        "/formats/@id=image-format.format.spr/rationale": {
          "source_sha256": "64e1c261ea53196e03c1e4b95c942cc349ff52edc286d999d0a7e3cf99aa5c25",
          "translation": "Прямо запечённый .spr output нельзя загрузить стандартным client; wrapper .fofrm даёт output зарегистрированное расширение, не меняя импортированные пиксели."
        },
        "/formats/@id=image-format.format.spr/requirement": {
          "source_sha256": "b1a568186d9265b2f061ad824501e0a0a85f346052c90e07b92f8e3db71e623a",
          "translation": "SPR импортирует именованные последовательности, слоёные parts, remap направлений, color offsets, sharing повторных кадров и фиксированные 10 fps, но штатная DefaultSpriteFactory не регистрирует расширение .spr."
        },
        "/formats/@id=image-format.format.tga/availability": {
          "source_sha256": "d0508162f95ee5b1cb981d6b8cbe030b9c8268a213e40d503757ae7ab7f46815",
          "translation": "baker и штатный runtime"
        },
        "/formats/@id=image-format.format.tga/rationale": {
          "source_sha256": "52a157276fb40af1827772df23676b70aa530c9725b0805101841fd17c5da2a5",
          "translation": "Indexed/grayscale input, иная bit depth, image ID и альтернативные предположения об origin находятся вне реализованного production subset."
        },
        "/formats/@id=image-format.format.tga/requirement": {
          "source_sha256": "3a8657ff2d4c7f303d5cf4e49eb5365fbfca348adf21b1ffa23f260d3a399b00",
          "translation": "TGA поддерживает только raw type 2 либо RLE type 10 TrueColor с 24 или 32 bpp, преобразует BGR(A) в RGBA и переворачивает строки снизу вверх."
        },
        "/formats/@id=image-format.format.til/availability": {
          "source_sha256": "d0508162f95ee5b1cb981d6b8cbe030b9c8268a213e40d503757ae7ab7f46815",
          "translation": "baker и штатный runtime"
        },
        "/formats/@id=image-format.format.til/rationale": {
          "source_sha256": "ff9cbc59d5a9209b445a5c59ceafedaaae61409c788d350b3d58b13b283947bb",
          "translation": "Loader задаёт timing, потому что legacy-контейнер предоставляет список кадров, а не descriptor анимации движка."
        },
        "/formats/@id=image-format.format.til/requirement": {
          "source_sha256": "50d978652deb9bfcab2eedd4d92f769390a54679960d1eef2beeb09cd506e511",
          "translation": "TIL импортирует вложенные ZAR-кадры как однонаправленную последовательность 10 fps."
        },
        "/formats/@id=image-format.format.zar/availability": {
          "source_sha256": "d0508162f95ee5b1cb981d6b8cbe030b9c8268a213e40d503757ae7ab7f46815",
          "translation": "baker и штатный runtime"
        },
        "/formats/@id=image-format.format.zar/rationale": {
          "source_sha256": "9f85be0bc18feca012f90e8fc73f562b10071a28b9c776b67fc38960417f1452",
          "translation": "ZAR является legacy-контейнером одного изображения, используемым напрямую и внутри TIL."
        },
        "/formats/@id=image-format.format.zar/requirement": {
          "source_sha256": "52c98bcbeec4391e1fd4eae2cd87cbfccae7cdd7b8d0c5b9033875dd36616e05",
          "translation": "ZAR импортирует одно использующее палитру raw/RLE-изображение с alpha в один RGBA-кадр."
        },
        "/runtime_rules/@id=image-format.runtime.atlas/name": {
          "source_sha256": "ff7a82e8ab9b70c6197ac72248007bea78171e0dec40d64610836eefea8ab266",
          "translation": "Загрузка в atlas, polygon draw, border и hit mask"
        },
        "/runtime_rules/@id=image-format.runtime.atlas/rationale": {
          "source_sha256": "2f9b362c6c9908b8dd43f9cc1a91c0a480ad392b23320d57da86801948591251",
          "translation": "Mesh geometry меняет fill/submission cost, не меняя pixels атласа, picking, logical scaling или специализированные прямоугольные render-контракты."
        },
        "/runtime_rules/@id=image-format.runtime.atlas/requirement": {
          "source_sha256": "4f20ed48d641fb27be24096214620f79399f314d78e25b07af507cf2ea543510",
          "translation": "RGBA frames положительного размера размещаются в запрошенном AtlasType, загружаются с продублированными однопиксельными краями filtering и преобразуются в hit mask SpriteHitValue. Обычные полноразмерные draws отправляют запечённый indexed silhouette, когда он есть; crops, tiled/padded draws, fonts, blits, model sprites и particles сохраняют прямоугольные пути."
        },
        "/runtime_rules/@id=image-format.runtime.cache/name": {
          "source_sha256": "df1a40e24e105ba90ae7b12a8797d8978ecb55c75636a5abf2cbe5fd8abae7e9",
          "translation": "Идентичность cache копируемых спрайтов"
        },
        "/runtime_rules/@id=image-format.runtime.cache/rationale": {
          "source_sha256": "383d406e6385c40f3bc4a93ca68c25b85ed61bc0ef1543585464350218ff93bd",
          "translation": "Независимое animation state не должно изменять cached prototype, а разные классы atlas нельзя безусловно размещать совместно."
        },
        "/runtime_rules/@id=image-format.runtime.cache/requirement": {
          "source_sha256": "938f80f0397bdeb8ec97e25ea991defb7a17502e335bb891109f11070a825bc0",
          "translation": "Copyable sprites кэшируются по hashed path вместе с AtlasType, а каждая загрузка возвращает MakeCopy, поэтому один source path может иметь отдельные atlas-backed cache entries."
        },
        "/runtime_rules/@id=image-format.runtime.decode/name": {
          "source_sha256": "18293e09282a72becf15f8649d1ab208653aa83adce644eacddc72443c573c41",
          "translation": "Декодирование baked container"
        },
        "/runtime_rules/@id=image-format.runtime.decode/rationale": {
          "source_sha256": "acdd7109d56d4428a1e86f0d0e0deef2f6236157ab85d69e4e33b7bd369c78f2",
          "translation": "Source decoders принадлежат только baker и не поставляются как runtime image parsers."
        },
        "/runtime_rules/@id=image-format.runtime.decode/requirement": {
          "source_sha256": "a94ee6e2be681470d47e73d6e07958017967588e890894bd5af28fe4710e9230",
          "translation": "Штатный runtime читает только запечённый контейнер через ReadSpriteResource, проверяет magic, version, числа кадров/направлений, полные frame/mesh records, footer и trailing data, затем создаёт AtlasSprite либо SpriteSheet."
        },
        "/runtime_rules/@id=image-format.runtime.factory-coverage/name": {
          "source_sha256": "596e76a184c5ddf3ba2b8e2dfb15368aec39e8dc7c7bb310ae2dfacb536c31d9",
          "translation": "Граница расширений штатной factory"
        },
        "/runtime_rules/@id=image-format.runtime.factory-coverage/rationale": {
          "source_sha256": "74ba7cdb3724e04c12276dff81a856db2cd6de6de451b175748efc2da2346ca3",
          "translation": "Поддержка запекания и поддержка штатного runtime path являются разными registry расширений."
        },
        "/runtime_rules/@id=image-format.runtime.factory-coverage/requirement": {
          "source_sha256": "f610b8628252397453b850f203e132e165a1db52a4dbc9f1626f24b30e47cf6b",
          "translation": "DefaultSpriteFactory регистрирует все встроенные расширения ImageBaker, кроме spr; прямым путям .spr нужна custom factory или, обычно, авторская .fofrm-обёртка."
        },
        "/runtime_rules/@id=image-format.runtime.frame-offset/name": {
          "source_sha256": "0c8c20d8a49dafdf7bd78632341441ae0da406808f5eb862f19db10950c4c525",
          "translation": "Смещения спрайта каждого кадра"
        },
        "/runtime_rules/@id=image-format.runtime.frame-offset/rationale": {
          "source_sha256": "356efe7b3304eba7375b2540801a6b8f29d4969a326d4f41d82340b533a00b41",
          "translation": "Визуальное root-motion displacement должно оставаться отдельным от sequence placement и authoritative world movement."
        },
        "/runtime_rules/@id=image-format.runtime.frame-offset/requirement": {
          "source_sha256": "148d70afbc49747c4373709154fe1ec609a47b35bae42e8858f518d9023fd1df",
          "translation": "Concrete и shared frames SpriteSheet сохраняют импортированные NextX/NextY в _sprOffset; обычный draw использует offset выбранного AtlasSprite, а locomotion projection потребляет отдельный массив frame offsets."
        },
        "/runtime_rules/@id=image-format.runtime.missing-cache/name": {
          "source_sha256": "8aa6f76a704bd4d34fc50dc88c278348c2d4921a1a77b8f308c2d26c864ad07e",
          "translation": "Мемоизация отсутствующего пути"
        },
        "/runtime_rules/@id=image-format.runtime.missing-cache/rationale": {
          "source_sha256": "0dad0addadb6ef2bae9af0b8039a9d280de6fb2a3df1570cbff9968965a263f1",
          "translation": "Добавление ранее отсутствовавшего ресурса во время live session обычно требует пересоздать manager или перезапустить client перед повтором того же пути."
        },
        "/runtime_rules/@id=image-format.runtime.missing-cache/requirement": {
          "source_sha256": "5104928ca7a203f6ea8c2afae9eea8d0bc7c1f77de8fd8d17f962d7b1a18a91d",
          "translation": "Отсутствующие paths/extensions, неизвестные factories и ошибки factory load мемоизируются по пути в _nonFoundSprites; CleanupSpriteCache не очищает этот набор."
        },
        "/runtime_rules/@id=image-format.runtime.sprite-sheet/name": {
          "source_sha256": "94e6700732c647b41166d89dfb092b0d69d3cd0660b61a295a85bbbaa9578456",
          "translation": "Состояние направления и playback"
        },
        "/runtime_rules/@id=image-format.runtime.sprite-sheet/rationale": {
          "source_sha256": "bdf8a2f9706c8d1632608629813811fbb8f0e202c52a8b191f6ef35f6187392f",
          "translation": "Animation state является клиентским presentation state, а каждое направление владеет параллельным frame sheet."
        },
        "/runtime_rules/@id=image-format.runtime.sprite-sheet/requirement": {
          "source_sha256": "2a97f2c632a4b917f132b64cf42d09a06c3c3d7126bf6d8fd46c7ce6a36d956b",
          "translation": "SpriteSheet принимает одно или полное число направлений карты, поддерживает выбор направления, random prewarm, normalized time, loop/reverse playback и считает один кадр либо нулевые полные ticks непроигрываемыми."
        },
        "/runtime_rules/@id=image-format.runtime.static-frame/name": {
          "source_sha256": "1fa5917048511413fe454b412e646441428b6214cd80c08859786156742979af",
          "translation": "Поведение одного кадра"
        },
        "/runtime_rules/@id=image-format.runtime.static-frame/rationale": {
          "source_sha256": "e39eb055d092e58bddc604d674efd263dd0510b47b6f2748ea61d04af5ec85c2",
          "translation": "NextX/NextY имеют значение только когда consumer sheet выбирает и интерпретирует animation frames."
        },
        "/runtime_rules/@id=image-format.runtime.static-frame/requirement": {
          "source_sha256": "406c756aad885102edef34953032d951ad98e0cd1d1a0ed3985429e906a3101e",
          "translation": "Ресурс с одним кадром и направлением становится AtlasSprite и применяет разрешённый draw offset concrete frame; сериализованные NextX/NextY остаются metadata, потому что поверхности frame displacement SpriteSheet нет."
        },
        "/scope/excluded": {
          "source_sha256": "e2b603e2ad3654c86fd0f99eb002eb5aaca74e18190d943b8220ec4d5eb58803",
          "translation": [
            "каталоги изображений проекта, приоритет resource pack, лицензии ресурсов, art direction, цели качества и эталоны приёмки",
            "authoritative movement и подробный алгоритм проекции walk/run из SpriteRootMotion.md",
            "авторинг частиц, model textures, shader effects, GUI layout, fonts, video и audio formats",
            "публичное обещание совместимости частного потока запечённых байтов или неподдерживаемых сторонних форматов изображений"
          ]
        },
        "/scope/included": {
          "source_sha256": "390bd99b585f0a845d79e24567fb5e8b7519088de7af97cb2ecb9af5eb6be966",
          "translation": [
            "двенадцать встроенных расширений источников ImageBaker и их текущее поведение импорта",
            "поля и aliases FOFRM, разделы направлений, вложенные ссылки, параметры имени, flattening, offsets и timing",
            "версионированный частный контейнер RGBA/mesh-кадров, индекс SpriteInfo каждого pack и поведение переименования выхода",
            "покрытие штатной клиентской sprite factory, playback SpriteSheet, polygon/quad draw в atlas, hit masks, caches и diagnostics",
            "границы focused source anchors, generator, native tests, project bake и видимой проверки"
          ]
        },
        "/scope/support_note": {
          "source_sha256": "1f3e680d1e9bfb2a7a7bbcacd930860ccb8822f46f471d2617c7139a4cf009ee",
          "translation": "Контракт создаётся для закреплённой ревизии Engine. Проекты владеют каталогами ресурсов, лицензированием источников, визуальным стилем, политикой сжатия, приоритетом resource pack, подстановками анимаций, настройкой движения и видимой приёмкой."
        },
        "/validation_rules/@id=image-format.validation.fofrm-count/name": {
          "source_sha256": "a9e611e7cabf22b1b475350aa3abeabf024c51d3bfe51e1e4324647cc6101c10",
          "translation": "Положительный count FOFRM"
        },
        "/validation_rules/@id=image-format.validation.fofrm-count/rationale": {
          "source_sha256": "4a48f6d200b9dc7349c2bbc23cfa8bd78e95dd95525a43967d04d7f89516ce4c",
          "translation": "До существования runtime frame table descriptor должен разрешить хотя бы одну source reference."
        },
        "/validation_rules/@id=image-format.validation.fofrm-count/requirement": {
          "source_sha256": "8d143ac810bd24229e786abba70f933e2e9a7ae1b0adcc2bfe8d5c7a9df602f0",
          "translation": "Отклоняйте descriptor, у которого count/Count равен нулю или отрицателен."
        },
        "/validation_rules/@id=image-format.validation.fofrm-directions/name": {
          "source_sha256": "9f738ff240be0d3176117e3416ec76fb80900cfff7b9d8c8c4b99f3b924935c4",
          "translation": "Полные равные направления"
        },
        "/validation_rules/@id=image-format.validation.fofrm-directions/rationale": {
          "source_sha256": "992d122158c2bf374e68dae21c14f8e7d62eaab8a46557b8930a646f8a4bae20",
          "translation": "Каждый direction sheet разделяет один frame-count и timing header."
        },
        "/validation_rules/@id=image-format.validation.fofrm-directions/requirement": {
          "source_sha256": "cb35fc2ccea7f48f10298d2ec089080bf2054977e9a0eb41d14a61ffa81eebbf",
          "translation": "Отклоняйте частичные наборы направлений и любое последующее направление, чьё расплющенное число кадров отличается от нулевого."
        },
        "/validation_rules/@id=image-format.validation.fofrm-nested-shared/name": {
          "source_sha256": "2da26c62e7f15b6568ae5463d63d7e86cd80dbdd7f77625fc7c82788ade49461",
          "translation": "Без вложенных shared frame records"
        },
        "/validation_rules/@id=image-format.validation.fofrm-nested-shared/rationale": {
          "source_sha256": "678eadfba120dec5c1fb65b1b7da69a0c98dc0e9416be6e5fb8fcbae66c379ba",
          "translation": "Реализация flattening копирует concrete child pixels и не перенумеровывает child shared indices."
        },
        "/validation_rules/@id=image-format.validation.fofrm-nested-shared/requirement": {
          "source_sha256": "d47250900b1db9e4fe89a096b4b0c3421d41115933e0b89d0e7ee7e19729e753",
          "translation": "Отклоняйте ссылку FOFRM, чей дочерний кадр Main уже является shared record."
        },
        "/validation_rules/@id=image-format.validation.malformed-inputs/name": {
          "source_sha256": "121f04be4f28a501386062884641ef548ca758187718f4c4282a3f7fb7c28c32",
          "translation": "Повреждённые входы decoder"
        },
        "/validation_rules/@id=image-format.validation.malformed-inputs/rationale": {
          "source_sha256": "47659284fa93c0037a8701fb0d643a6c2f017b161e9f8c91fde829bbd80e4027",
          "translation": "Legacy binary parsers должны детерминированно завершаться ошибкой, а не создавать усечённые runtime containers."
        },
        "/validation_rules/@id=image-format.validation.malformed-inputs/requirement": {
          "source_sha256": "be3068e4a6a4b9c107cda8a74430b255d13ef3fc856031f68d64ab7f792fb62b",
          "translation": "Сохраняйте focused failure coverage для повреждённых PNG, TGA, FRM/FRx/RIX/ART/ZAR/TIL/MOS/BAM, SPR и вложенных FOFRM."
        },
        "/validation_rules/@id=image-format.validation.playback-timing/name": {
          "source_sha256": "cca9878dbe64744b05d93b1a17af314ec12ddbd667f2124655bd7e5dc19cb402",
          "translation": "Ненулевая длительность кадра"
        },
        "/validation_rules/@id=image-format.validation.playback-timing/rationale": {
          "source_sha256": "6d9c14f2bc460bc9b1e3d154af954dd71b6f71f31254980a716e59f1660a8c5f",
          "translation": "SpriteSheet::Update делит прошедшее время на целые ticks_per_frame, а Play защищает только один кадр или нулевые полные ticks."
        },
        "/validation_rules/@id=image-format.validation.playback-timing/requirement": {
          "source_sha256": "cc1428430ffb06f7dac771bf8071f94efc1edb707730296bfbfaf5c2bbbd5a91",
          "translation": "Для проигрываемого многокадрового sheet задавайте timing так, чтобы полные AnimTicks, делённые на расплющенное число кадров, были не меньше одной миллисекунды; нулевой fps намеренно отключает playback."
        },
        "/validation_rules/@id=image-format.validation.project-visible/name": {
          "source_sha256": "b1f80699946a80c523bc4860f72fea77700345747ea79d25fed48ac552f14c3a",
          "translation": "Визуальный gate встраиваемого проекта"
        },
        "/validation_rules/@id=image-format.validation.project-visible/rationale": {
          "source_sha256": "28081f39441d6a2f7468ac8c084721d235c7fa7a67ba5387d07d265f89b4d2a2",
          "translation": "Parser/container tests не доказывают framing графики, filtering, gait или выбор project resource pack."
        },
        "/validation_rules/@id=image-format.validation.project-visible/requirement": {
          "source_sha256": "d2585e7280dc2524057b21367667b0fde77a7fcac257dcccb9f3ef8766022507",
          "translation": "После native/documentation checks перезапеките встраиваемый проект и в видимой сцене проверьте изменённые dimensions, alpha edges, mirrors, directions, cadence, offsets, hit masks и нужные client profiles."
        },
        "/validation_rules/@id=image-format.validation.rgba-payload/name": {
          "source_sha256": "990350a97902960b6b0399be20536c393de363cff4cf7516c6c06aabfc38768e",
          "translation": "Точный размер RGBA payload"
        },
        "/validation_rules/@id=image-format.validation.rgba-payload/rationale": {
          "source_sha256": "b3b22941fb1834931c7896684c97fd84f7f97baef2aa9c2f2000006b15e45e75",
          "translation": "Client читает фиксированное число байтов RGBA8 без отдельного поля payload length."
        },
        "/validation_rules/@id=image-format.validation.rgba-payload/requirement": {
          "source_sha256": "6fcf705309414ee7a8493221d055674888a7118150d4cd9954b2baef1dcb301c",
          "translation": "Отклоняйте каждый concrete frame, чья byte payload не равна в точности width, умноженной на height и четыре."
        },
        "/validation_rules/@id=image-format.validation.runtime-container/name": {
          "source_sha256": "42af30aabec7dd48fd8084c2ca9d466dcd43397ec69bfcc2dcd6d0f6fbdfa57a",
          "translation": "Guards runtime container"
        },
        "/validation_rules/@id=image-format.validation.runtime-container/rationale": {
          "source_sha256": "404861498310411da89966db2ca97b48aeda2b24f4b5bc084fdf3a846477174b",
          "translation": "Повреждённые baked bytes не должны достигать выделения atlas или обновления анимации."
        },
        "/validation_rules/@id=image-format.validation.runtime-container/requirement": {
          "source_sha256": "9b896c33c729ec11638d50de6ec3acd7714fcd4b0b76d7f036bbb3e9b281bf1c",
          "translation": "Отклоняйте неверные header/footer magic, нулевые кадры/направления, неподдерживаемое число направлений, недопустимые shared records одного кадра и неверные shared-frame indices."
        },
        "/validation_rules/@id=image-format.validation.tga-subset/name": {
          "source_sha256": "5943269b6c9509089b294f7943a2ca2f28dda39ac0d9ca3e1a49dac3773d815c",
          "translation": "Поддерживаемое подмножество TGA"
        },
        "/validation_rules/@id=image-format.validation.tga-subset/rationale": {
          "source_sha256": "20953f2c75f9f927308ffff61ff2e0e3350c5254f42fe53358a1a25babd0d493",
          "translation": "Loader непосредственно потребляет фиксированный header, затем всегда переворачивает строки и не ветвится по descriptor origin."
        },
        "/validation_rules/@id=image-format.validation.tga-subset/requirement": {
          "source_sha256": "9ce469e38d6205f06c9b6b23785f44c8a071925ed5c1e1db273257e79f1684c8",
          "translation": "Не используйте image ID; задавайте bottom-left orientation, TrueColor type 2 или 10 и 24 либо 32 bpp. Indexed/grayscale/другие входы отклоняются или не соответствуют реализованным допущениям orientation."
        }
      }
    },
    "model-format": {
      "entries": {
        "/assets/@id=model-format.asset.description/description": {
          "source_sha256": "7bbc1894979aaa019e87d3bf4f2bf7cb20b9fb51dba9547c0c4d77c1ac8cd72f",
          "translation": "Собирает primary baked mesh с layer-selected root modifiers, child models, particles, materials, effects, cuts и animation mappings."
        },
        "/assets/@id=model-format.asset.description/name": {
          "source_sha256": "095130c2deb95d8970c36ca4488f8003c5757829c291cbd1ca51d6a75eda851d",
          "translation": "Описание модели"
        },
        "/assets/@id=model-format.asset.description/requirements": {
          "source_sha256": "fc9441327de76e36f7bdd08b57ee63b2398b58ec61de5d66c1842919bf792523",
          "translation": [
            "каждое concrete description должно разрешить directive Model",
            "файлы с basename TEMPLATE_ являются include-only и не создаются как модели"
          ]
        },
        "/assets/@id=model-format.asset.effect/description": {
          "source_sha256": "c7a401d05a511670f22a1404adca093a2142aa0a4df308942310e3fc6ae54506",
          "translation": "Явное значение Effect, отличное от Parent, является baked-resource path для EffectUsage::Model."
        },
        "/assets/@id=model-format.asset.effect/name": {
          "source_sha256": "e3c7ee10d17c54d9f5307751594e0d1c46e6a7fdf8272f4486b174a4ebc88855",
          "translation": "Эффект модели"
        },
        "/assets/@id=model-format.asset.effect/requirements": {
          "source_sha256": "e55b9e17e31d9f8dddc3257d3316bc00b7e02856a6d79d8a8a0ef978594ca37a",
          "translation": [
            "effect resource должен существовать",
            "явный target mesh эффекта должен быть drawable"
          ]
        },
        "/assets/@id=model-format.asset.fbx/description": {
          "source_sha256": "6efc003de7a2ba8308d98e61e042178ec4293d754a7d5835f64afe43379e63f7",
          "translation": "Импортирует drawable hierarchy, имена material textures и skin data для mesh payload, а ModelSourceLoader извлекает source skeleton и animation clips, преобразуемые ModelInfoBaker в обязательный runtime rig."
        },
        "/assets/@id=model-format.asset.fbx/name": {
          "source_sha256": "e3883e2b36f66c0cfa0e48477a37e78342adbdffb4fbad9cc6330f8bf09ea52a",
          "translation": "FBX mesh",
          "preserve_source": true
        },
        "/assets/@id=model-format.asset.fbx/requirements": {
          "source_sha256": "57b1dd3401d1a90d47270d043e1d3716368c321ed3c9737849625489bdddd5e1",
          "translation": [
            "faces должны триангулироваться, а imported face count совпадать с generated triangle count",
            "skin clusters должны помещаться в FO_MODEL_MAX_BONES",
            "mesh skin references должны разрешаться в physical mesh hierarchy",
            "source skeletons и clips должны пройти проверки конечности значений, hierarchy, counts, keys и compatibility"
          ]
        },
        "/assets/@id=model-format.asset.obj/description": {
          "source_sha256": "59f10aaaf31df497298b411eafbbfd963512729c106e4ef3650d8ea727d34dba",
          "translation": "Импортирует static hierarchy и drawable mesh через тот же путь ufbx; отсутствующие vertex attributes получают детерминированные defaults."
        },
        "/assets/@id=model-format.asset.obj/name": {
          "source_sha256": "65de7b63ac2dbb4563f45ff1da9e4daee1c683d798080d4e15a7911d14b53b55",
          "translation": "OBJ mesh",
          "preserve_source": true
        },
        "/assets/@id=model-format.asset.obj/requirements": {
          "source_sha256": "fe1baa159a8334d3c4dff5d741850713da28329562f08a8016cd69031ba19f46",
          "translation": [
            "для concrete model файл должен содержать хотя бы один drawable mesh",
            "OBJ подходит для static attachments и cut volumes, но не для authored skeletal animation stacks"
          ]
        },
        "/assets/@id=model-format.asset.particle/description": {
          "source_sha256": "94fec309250179fda2209ee58ffc3df5c4cd7bc00a37cb7fbd8c95bbe4e4f3fe",
          "translation": "Layer-selected AttachParticles создаёт baked SPARK или Effekseer resource на model bone, пока значение слоя активно."
        },
        "/assets/@id=model-format.asset.particle/name": {
          "source_sha256": "41ccc606c4b346b5d0fffa025c77cea0b65ead349d7bed536b460aed41e962f7",
          "translation": "Присоединённая частица"
        },
        "/assets/@id=model-format.asset.particle/requirements": {
          "source_sha256": "9ae5b85d26a4025f7ce2d2f79cd2f198d0dea073c7a6202316ccd7a867bb6bfe",
          "translation": [
            "particle resource должен существовать среди baked resources",
            "ссылайтесь на baked .spk или .efk, а не на authoring source .spark или .efkproj",
            "задайте непустую Link bone: runtime-создание частицы требует её"
          ]
        },
        "/assets/@id=model-format.asset.texture/description": {
          "source_sha256": "c532598e0bf5cbbc62722e74bec0b63982d68e86076a7e5e4fa386d65294097b",
          "translation": "Default diffuse textures и явные значения Texture, отличные от Parent, разрешаются относительно owning baked mesh."
        },
        "/assets/@id=model-format.asset.texture/name": {
          "source_sha256": "3cc9e1a1e4694b1a4980d35bb358619a2588c09817380a2d9273a9587e463503",
          "translation": "Текстура модели"
        },
        "/assets/@id=model-format.asset.texture/requirements": {
          "source_sha256": "66bfe8367374214ae87e07a3170ac9d5fadef28e65d615005d105711c3f497cd",
          "translation": [
            "каждая imported default diffuse texture должна существовать в baked resources",
            "явный target mesh для texture должен быть drawable"
          ]
        },
        "/compile_limits/@id=model-format.limit.bones-per-vertex/description": {
          "source_sha256": "b0be57d8328ab71d20acc164bda4f612365322f412058ca7e31c5f2cc65f06f9",
          "translation": "Максимальное число imported skin influences, сохраняемых на vertex до нормализации весов."
        },
        "/compile_limits/@id=model-format.limit.bones/description": {
          "source_sha256": "1074a9a70f39224fb19f7a76d170478ffd08bece3dd79495e51364042f0a7d0a",
          "translation": "Максимальное число skin-bone matrices в одном combined draw batch."
        },
        "/compile_limits/@id=model-format.limit.layers/description": {
          "source_sha256": "37491d57e93508ce5a0cf05d5f07ed1d13304dca25a937ec87d3747b7dec08ea",
          "translation": "Число slots в каждом model-layer array и исключительная верхняя граница индексов Layer, DisableLayer, AnimLayerValue и layer indices у Cut."
        },
        "/compile_limits/@id=model-format.limit.textures/description": {
          "source_sha256": "fde26a77e4da1d0c6773a5d2f67d81ec66d494d72249e9cc20d9f92055f7227c",
          "translation": "Число texture slots каждого mesh и исключительная верхняя граница indices Texture."
        },
        "/description": {
          "source_sha256": "4dc2d4e8d556adff401600b0bc2e22d0cf99f68fea3deb46b7a1906a361a41df",
          "translation": "Контракт с привязкой к исходному коду для синтаксиса .fo3d, входных ресурсов, токенов parser, runtime-композиции, интеграции анимации и границ проверки FOnline."
        },
        "/removed_legacy/@name=AnimEqual/description": {
          "source_sha256": "7ba9f2933082a18a58b1a10d39de368595700d71f5b6ee858af91ca4f89b9e3f",
          "translation": "Текущий parser требует явно указать enum domain."
        },
        "/removed_legacy/@name=CalculateTangentSpace/description": {
          "source_sha256": "621b83c502a9201496b3abe2a4f15de2fda0cca7e4334cd8310bf536c28af6e6",
          "translation": "Mesh import настраивает ufbx для generation/normalization отсутствующих normals и tangents; directive .fo3d нет."
        },
        "/removed_legacy/@name=DrawSize/description": {
          "source_sha256": "56ff01715db1dd810a3a3d4fca0318e87d4f92553a9846541b8809a9c478334d",
          "translation": "ModelInfo записывает aggregate/per-animation bounds; client вычисляет offscreen frame активной composition и pose."
        },
        "/removed_legacy/@name=RenderFrame/description": {
          "source_sha256": "daba7fbe5229c991032a6120598ff259de8b88b7d403aef5c3da3d4aee3402a9",
          "translation": "Текущие model descriptions не создают 2D render frames."
        },
        "/removed_legacy/@name=RenderFrames/description": {
          "source_sha256": "7716d43ffa8c5eba13573dd1c40142a6866324c42456ae24ddc5e5032e7b348b",
          "translation": "Текущие model descriptions не создают sequences 2D render frames."
        },
        "/removed_legacy/@name=ViewSize/description": {
          "source_sha256": "a414e452981ef0107d530bb11ad71bfa11a44158e6ce76838d4eb834fe472d88",
          "translation": "Client проецирует baked model bounds и active child layers вместо authored interaction rectangle."
        },
        "/rules/@id=model-format.rule.first-animation-wins/name": {
          "source_sha256": "2b12d8e38b381cab1614f933ecfb4cb2dc0c323a7cd9a98adf03fb4d04eb2abe",
          "translation": "Побеждает первая animation mapping"
        },
        "/rules/@id=model-format.rule.first-animation-wins/rationale": {
          "source_sha256": "4140881ef136083285b3b64c3f7c7504e2e79487511c9f04b6e5b9f0457a2af9",
          "translation": "Дубликаты пропускаются model-info validation и client registration."
        },
        "/rules/@id=model-format.rule.first-animation-wins/requirement": {
          "source_sha256": "d88aae4c01138dc273edbe4e7bc72a382797e392e9e84e5a9e9a9be36094efb0",
          "translation": "Не объявляйте одну state/action Anim pair повторно; только первая mapping проверяется и регистрируется."
        },
        "/rules/@id=model-format.rule.include-replacements/name": {
          "source_sha256": "cbadb0136e66d31e5538c1e9ece2fae96029f65233a55b6fbf2a71506a76380b",
          "translation": "Scope replacements"
        },
        "/rules/@id=model-format.rule.include-replacements/rationale": {
          "source_sha256": "30983dc9cbbaca8a1a4e3689cf9bf79e74cb2f21acf5e6a796801aa2536df1df",
          "translation": "Простая текстовая замена не понимает token boundaries; placeholders не должны случайно совпадать."
        },
        "/rules/@id=model-format.rule.include-replacements/requirement": {
          "source_sha256": "56fb2ecbcd98149e3df0d3fc50af0458b21109e8bd0710599966065fc5e32cf7",
          "translation": "Arguments Include являются pairs name/value и заменяют каждое буквальное %name% до tokenization."
        },
        "/rules/@id=model-format.rule.layer-zero/name": {
          "source_sha256": "93c7a7c2acfc0031c18852fbbc2a46163c48eaf8920bca024af8f031272ce700",
          "translation": "Нулевой layer value неактивен"
        },
        "/rules/@id=model-format.rule.layer-zero/rationale": {
          "source_sha256": "d14a520aacb01091515ebf829cdfba99efbb3740fedb2d440f4c39ccaf8413cf",
          "translation": "Composition loop пропускает ноль, baker запрещает links с нулём."
        },
        "/rules/@id=model-format.rule.layer-zero/requirement": {
          "source_sha256": "e76ca9aa1c843fac4e416a21bfc8fb8f4e3027478524b641532426db77b97598",
          "translation": "Runtime value 0 не выбирает link; authored Root и Attach требуют ненулевого Value."
        },
        "/rules/@id=model-format.rule.lexical-syntax/name": {
          "source_sha256": "ec76a0e45019e46944cf387de4dcddb1bdd3f99efc0d3972a233ee95633ef2b4",
          "translation": "Разделение по whitespace"
        },
        "/rules/@id=model-format.rule.lexical-syntax/rationale": {
          "source_sha256": "a68aa99202ee6833b5e313420c05f85c5cd24f87ed36635a9584246f30ebe9c7",
          "translation": "Parser удаляет comments и извлекает tokens строки через istringstream."
        },
        "/rules/@id=model-format.rule.lexical-syntax/requirement": {
          "source_sha256": "da4f487dff721d849329cceba9c1b632293b6355acd5fccf9243a44ed23b3e35",
          "translation": "Directives и arguments разделяются whitespace; # и ; начинают comments; quoting/escaping для paths с spaces отсутствуют."
        },
        "/rules/@id=model-format.rule.mesh-before-info/name": {
          "source_sha256": "6710b164c91f2da40fab18641364fdaa0ba757b77bd2952a3268d3fff674ac54",
          "translation": "Порядок baker"
        },
        "/rules/@id=model-format.rule.mesh-before-info/rationale": {
          "source_sha256": "d546e11d74ff2529c3ef9581a11c34f3e7ad084706ab8d7b34ab43617839b556",
          "translation": "Built-in orders: 4 для ModelMesh и 6 для ModelInfo."
        },
        "/rules/@id=model-format.rule.mesh-before-info/requirement": {
          "source_sha256": "f18e1d0ecdc59fb57744debc9853c43113f8f39a501d1b218680589ba4160f3b",
          "translation": "Запускайте ModelMeshBaker до ModelInfoBaker, чтобы проверить meshes, hierarchy, materials, animations и cuts из baked data."
        },
        "/rules/@id=model-format.rule.multiple-directives/name": {
          "source_sha256": "6c42f20308e6bad8e774fe86509af807af4db091c81f0d2e444b7ceab4ef3e5a",
          "translation": "Последовательный разбор"
        },
        "/rules/@id=model-format.rule.multiple-directives/rationale": {
          "source_sha256": "063e5df6bba91dfb9b7b917b8c1ed097ee14169b00fb05127380ca350db9c249",
          "translation": "Компактные entries допустимы, но order меняет current link или mesh selector последующих modifiers."
        },
        "/rules/@id=model-format.rule.multiple-directives/requirement": {
          "source_sha256": "69c6007204169c35c6493ec8697f1e218271de7b5aee37c8005e356faf31cf4f",
          "translation": "Строка может содержать несколько directives; каждая забирает точное число arguments, затем разбор продолжается."
        },
        "/rules/@id=model-format.rule.parent-materials/name": {
          "source_sha256": "a400de3ff8c4db21bfdbd82dd1cecb547f80bf7f9a1e2648d90c9629474d08c4",
          "translation": "Наследование parent material"
        },
        "/rules/@id=model-format.rule.parent-materials/rationale": {
          "source_sha256": "b5c8c5191e2f740a4d44dcdefd9dacf38e4200b7a885efd6fc0f117bc820f921",
          "translation": "Child копирует current material state родителя, не imported default; у root description нет parent context."
        },
        "/rules/@id=model-format.rule.parent-materials/requirement": {
          "source_sha256": "20713077c8007f8f2213797475b0f73aac322c798da64063a880d789b70af959",
          "translation": "Используйте Parent или Parent_<mesh> только в attached child; parent mesh должен уже предоставлять нужный texture slot/effect."
        },
        "/rules/@id=model-format.rule.relative-paths/name": {
          "source_sha256": "9a719c6ba18e53c9bd70a34481fd79162911e915a3c4df2245f455608dad0603",
          "translation": "Владение paths"
        },
        "/rules/@id=model-format.rule.relative-paths/rationale": {
          "source_sha256": "032e6f206814eece34caf86364ec26707fff6d9e7e3a4b2e82106ffddcaa3063",
          "translation": "Перемещение template или description может изменить contributed asset paths."
        },
        "/rules/@id=model-format.rule.relative-paths/requirement": {
          "source_sha256": "34b7a9995c043e4c5992b5beb6b5424296d565387a4f6d67b5353d793e24bfa1",
          "translation": "Model, Include, Attach, Cut разрешаются относительно declaring .fo3d; animation files — относительно concrete description, кроме ModelFile; particles/effects глобальны."
        },
        "/rules/@id=model-format.rule.runtime-composition/name": {
          "source_sha256": "90226555fe900521224a6a4a31d59f71f842771294e8e95e218eb44e1c9e1bd8",
          "translation": "Смена layers перестраивает composition"
        },
        "/rules/@id=model-format.rule.runtime-composition/rationale": {
          "source_sha256": "fa0a28e2ddf0f98cca09ac91f8972b0c724373ace6ea12e97a5c43aadc337126",
          "translation": "Layer change не является косметическим integer update: он меняет render graph и batching state."
        },
        "/rules/@id=model-format.rule.runtime-composition/requirement": {
          "source_sha256": "55636344a8bcef69935b1384d57108e9f0a16191abbf698bcfa047d4faf8f34d",
          "translation": "Считайте model-layer arrays состоянием композиции: значение может создать/удалить children и particles, изменить materials/effects, geometry, cuts и combined meshes."
        },
        "/rules/@id=model-format.rule.baked-link-bounds/name": {
          "source_sha256": "1aaf518bc8b33fa23cfcb9d27fc9d65b0a54333fbead663c7700c1a936e7127a",
          "translation": "Запечённые bounds geometry link"
        },
        "/rules/@id=model-format.rule.baked-link-bounds/rationale": {
          "source_sha256": "8f50f9cce65e96d54ad14f7932e3b5bb9270fe1d1cd17afc8c74eeaaaebcd095",
          "translation": "Runtime framing выбирает bounds direct child для active parent clips и при их отсутствии использует aggregate link envelope вместо обхода и skinning combined-mesh vertices."
        },
        "/rules/@id=model-format.rule.baked-link-bounds/requirement": {
          "source_sha256": "8f3577c8290270029dd8ed1002cab4f580134d2c1d8acc2458d0fd30a04f53d1",
          "translation": "Каждый non-particle child link содержит проверенный aggregate root-space AABB и per-animation AABB mapped clips parent; default и particle links не содержат geometry payload."
        },
        "/rules/@id=model-format.rule.selector-order/name": {
          "source_sha256": "6030dfb7525b1ac3baa9f794922bbb56536e01a6a9129b92c70f1e4d3cc0e388",
          "translation": "Порядок selectors"
        },
        "/rules/@id=model-format.rule.selector-order/rationale": {
          "source_sha256": "f42d8683cbc1c8b5d50fa9fba31ca8c93a8cd894b17a73873342e20eb251ea4a",
          "translation": "Layer и Value выбирают dummy link и очищают Mesh; ранние modifiers отбрасываются."
        },
        "/rules/@id=model-format.rule.selector-order/requirement": {
          "source_sha256": "c1f7622e66d90f0d9c8bb4758215ba60d1207080cfb07b42fe73a25f4b65d79d",
          "translation": "После Layer или Value задайте Root, Attach либо AttachParticles до transforms, materials, disables или cuts."
        },
        "/rules/@id=model-format.rule.source-units-and-mirroring/name": {
          "source_sha256": "627152e397720f2522f022a66e1c5efbc83e60c99ead757b2782a38720c75adb",
          "translation": "Положительный scale и world units Engine"
        },
        "/rules/@id=model-format.rule.source-units-and-mirroring/rationale": {
          "source_sha256": "b6ae460e7c16a9e05131ad1768af7c98297681f8b986c89def7e4b34a0c439f8",
          "translation": "Отрицательные transforms инвертируют winding и normals, а чужой масштаб units создаёт невозможные model-sprite frames. Отказ bake оставляет оба дефекта у authored source."
        },
        "/rules/@id=model-format.rule.source-units-and-mirroring/requirement": {
          "source_sha256": "6697c0072abf56ce23ebaaf133f9356d1f07fd0aa6ff658bf501b4711fe9f5ad",
          "translation": "До export заморозьте mirrored mesh nodes к положительному transform и держите direct FBX/OBJ attachments в диапазоне Baking.ModelAttachmentMinExtent .. Baking.ModelAttachmentMaxExtent. Если нужен явный description-level scale, используйте child .fo3d."
        },
        "/rules/@id=model-format.rule.template-files/name": {
          "source_sha256": "e4716378197ee71e5d60016c1510173426caa2fae29a21a60aee521c2bec89b8",
          "translation": "Имена templates"
        },
        "/rules/@id=model-format.rule.template-files/rationale": {
          "source_sha256": "81fda6e8ce20b3d165d50e2608522b1a3916721030f09ea929bf5b24a0299497",
          "translation": "Templates участвуют в timestamps/parsing, но не выдаются как отдельные resources или metadata sections."
        },
        "/rules/@id=model-format.rule.template-files/requirement": {
          "source_sha256": "09f08bd0c86102765425ef91d249b93609410a2fc60ca45e03ee7475300343b5",
          "translation": "Basename include-only files начинается с TEMPLATE_; concrete files не используют этот prefix."
        },
        "/rules/@id=model-format.rule.validation-boundary/name": {
          "source_sha256": "a85b39052525b1a4847f90f005ab12ab8268bce08e53d07077416c73e12e0852",
          "translation": "Bake и видимая проверка"
        },
        "/rules/@id=model-format.rule.validation-boundary/rationale": {
          "source_sha256": "33011a194bdec7ae5ab314f8441e4748d89af2fc2d058ab3aaf719a882d611e4",
          "translation": "Baking доказывает references и serialized structure; composed visual result доказывает только client renderer."
        },
        "/rules/@id=model-format.rule.validation-boundary/requirement": {
          "source_sha256": "b853573b37bef8176a148660d12bfad5181c2bc5185f69c6766ec627f084b42c",
          "translation": "Требуйте clean resource bake для syntax/asset closure, затем проверяйте scale, pose, composition, attachments, materials, cuts и interaction bounds в visible client scene."
        },
        "/rules/@id=model-format.rule.zero-identity/name": {
          "source_sha256": "1d7024208da9a1c58a8d1a9baa378a647cecc971a634e429c59a52cb462fe119",
          "translation": "Ноль — transform identity"
        },
        "/rules/@id=model-format.rule.zero-identity/rationale": {
          "source_sha256": "23f69ba8e9dc55589bca2d16abf6c2f72a78a258d6835ddfaf7ecdaf093fa842",
          "translation": "Runtime SetAnimData пропускает нули, а parser accumulation поддерживает самостоятельные template Scale*/Speed*."
        },
        "/rules/@id=model-format.rule.zero-identity/requirement": {
          "source_sha256": "2cec5f1a5f253a24b8a9192f5c9716044d62617c15f4db751461132cfde7eb76",
          "translation": "Нулевые transform и Speed не дают вклада. Варианты +/* инициализируют нулевое поле operand до дальнейших операций."
        },
        "/scope/excluded": {
          "source_sha256": "4816bd97d26a8c99f912c8d6b7c70779f73d2881154d0e5365fc4ec5035972f8",
          "translation": [
            "каталоги моделей проекта, семантика номеров слоёв, enum assignments, правила экипировки и игровые тайминги;",
            "руководства по DCC-инструментам Blender, Maya, 3ds Max и другим;",
            "детали реализации renderer backend и справочник shader language;",
            "offsets кадров 2D-спрайтов и sprite root motion."
          ]
        },
        "/scope/included": {
          "source_sha256": "03db9a9083ef1cb7a06e7fb7448cb3de6a3ccc6a9df31a88efea750353c1744e",
          "translation": [
            "лексический синтаксис .fo3d, include-шаблоны, состояние parser и разрешение путей;",
            "слои моделей, root modifiers, attachments мешей/моделей/частиц, transforms, materials, effects и cuts;",
            "входы FBX и OBJ, требования к baked hierarchy, compile-time лимиты и runtime-композиция;",
            "точки интеграции анимации со специализированным справочником model animation."
          ]
        },
        "/scope/support_note": {
          "source_sha256": "473a52216b278b13f5fb52900449f605aa848a33b216536b2f60ea056e6f2170",
          "translation": "Контракт генерируется для закреплённой ревизии движка. Каталоги моделей, семантика слоёв, enum анимаций, визуальные правила и конкретные ресурсы принадлежат проектам."
        },
        "/tokens/@id=model-format.token.action-alias/description": {
          "source_sha256": "7fd953720e6fa6cf08e22612e627c44ab79277993d4e09204a7eed7e0b64e6a2",
          "translation": "Определяет одношаговый action-animation alias."
        },
        "/tokens/@id=model-format.token.action-alias/runtime_effect": {
          "source_sha256": "fbdb163372be08cf923248f0a81087ee5930cbc9f8bdc3c2720defbab5145686",
          "translation": "Alias применяется один раз до exact lookup и имеет приоритет над exact source-key entry."
        },
        "/tokens/@id=model-format.token.allow-animation-geometry/description": {
          "source_sha256": "769d9ebf8ebcea8f05b9d3899785dfff416ee0a069ae4af60722d83bc86e02ec",
          "translation": "Временно разрешает drawable geometry в точном внешнем source Anim, пока source исправляется. Path разрешается от final concrete description."
        },
        "/tokens/@id=model-format.token.allow-animation-geometry/runtime_effect": {
          "source_sha256": "5a2335e4b81dcf0a33d7f7f9c1ddd8ccc963e01e3cfccda740803a3a3ceb8481",
          "translation": "Только validation, без serialization. Duplicate, unselected, duplicate-resolved и stale exceptions останавливают bake; удалите строку с исправлением export."
        },
        "/tokens/@id=model-format.token.anim-layer-value/description": {
          "source_sha256": "fb7c804ea2efccb3b621fd4d6722b207f2ee0b4d22979ea3dc98796ec41c5f3e",
          "translation": "Переопределяет layer value при запросе точной authored state/action pair."
        },
        "/tokens/@id=model-format.token.anim-layer-value/runtime_effect": {
          "source_sha256": "21c7cdedfd44c36674603a65193190645a619f0a56c87b592fc5592caa701bf1",
          "translation": "Override применяется до redundant-call detection и model composition."
        },
        "/tokens/@id=model-format.token.anim-speed/description": {
          "source_sha256": "0f3ca496b570b95707e578fe0035846b652eb4fd96151588b907f2da9f25484f",
          "translation": "Задаёт authored playback speed mapped pair."
        },
        "/tokens/@id=model-format.token.anim-speed/runtime_effect": {
          "source_sha256": "87c329f2709b81b7c539fe2f2cb8d4cf0e9909fa983e2dd3b352a3785aa073dd",
          "translation": "Speed умножает runtime playback и делит common effective duration."
        },
        "/tokens/@id=model-format.token.anim/description": {
          "source_sha256": "2f45b782fdc66d1fefecc3028178d9dfd1074ac864014031185fddeef49a2240",
          "translation": "Сопоставляет state/action pair с source clip. ModelFile выбирает primary source, ~ обращает playback, Base выбирает первый clip до runtime-rig conversion."
        },
        "/tokens/@id=model-format.token.anim/runtime_effect": {
          "source_sha256": "7fc18d8ca1de66fc033fed7cfa56abc296b98a366f0f208449e251ee184c2425",
          "translation": "Регистрируется первая declaration пары; model-specific lookup и substitutions описаны в ModelAnimation.md."
        },
        "/tokens/@id=model-format.token.attach-particles/description": {
          "source_sha256": "782bdb1bee25b458b624b8ef1854f026160cd5da0d22628fcdfbb29cd9f96fb3",
          "translation": "Создаёт layer-selected baked-particle link. Resource path хранится буквально, не относительно description."
        },
        "/tokens/@id=model-format.token.attach-particles/runtime_effect": {
          "source_sha256": "5adb78c4d8e079a52b191804de147f78fb37d65ee83d1aa4dbaf95b5206d0727",
          "translation": "Client создаёт particle на Link bone и удаляет её, когда активирующий layer value больше не выбран."
        },
        "/tokens/@id=model-format.token.attach/description": {
          "source_sha256": "4cd22f5d7a0cb66874361073df227d53a8bac2205ded29d3bd446e4d9e2b0a44",
          "translation": "Создаёт layer-selected child-model link. Path относителен к файлу с directive."
        },
        "/tokens/@id=model-format.token.attach/runtime_effect": {
          "source_sha256": "6e46b905a45732fd657d978c7ba980bc125ccad3724ffe9210070cb74e23267d",
          "translation": "С Link child присоединяется к одной parent bone; без него одноимённые child/parent bones образуют shared-skeleton attachment. У direct FBX/OBJ child нет description-level коррекции scale, поэтому static extent должен находиться между Baking.ModelAttachmentMinExtent и Baking.ModelAttachmentMaxExtent."
        },
        "/tokens/@id=model-format.token.cut/description": {
          "source_sha256": "b5d6b2a4001f54533fdd5c5474265f26a395f7e2a8313dbca715f2d5d7529fba",
          "translation": "Добавляет baked cut volumes в выбранные composed-mesh layers. Дефис разделяет lists, - пропускает unskin fields, ~ обращает unskin shape."
        },
        "/tokens/@id=model-format.token.cut/runtime_effect": {
          "source_sha256": "d37fd8bcbca8ea21794541a43c38e95fdca1b38ac5909b5dd77f6a39379867f2",
          "translation": "Combined geometry внутри или снаружи shapes удаляется; optional paired bones управляют unskin."
        },
        "/tokens/@id=model-format.token.disable-backward/description": {
          "source_sha256": "51a440223fec1822c618a0826128e73374784a88064fd2ff99f2f122ee9245a2",
          "translation": "Отключает выбор WalkBack и RunBack для movement-pose animation."
        },
        "/tokens/@id=model-format.token.disable-backward/runtime_effect": {
          "source_sha256": "80df31fa7fe23f7f578f86b8f32ef51ee8bf7f7dc718f7b8cb3af64331e3895a",
          "translation": "Movement всегда использует forward walk/run, а SetMoveDir выравнивает look direction."
        },
        "/tokens/@id=model-format.token.disable-interpolation/description": {
          "source_sha256": "d5c6d7b15ed26104b38fce5c5af6379168e29f3004c074f43446ef7ef48effd9",
          "translation": "Отключает keyframe interpolation model animation controller."
        },
        "/tokens/@id=model-format.token.disable-interpolation/runtime_effect": {
          "source_sha256": "c9421a866b3108f0dd2711583bda30a058cb2318b183b3c4d070a96bc750a012",
          "translation": "Registered controller выполняет sampling без interpolation."
        },
        "/tokens/@id=model-format.token.disable-layer/description": {
          "source_sha256": "64b79766bc4d01fa3fc0e48c220771d31bb6854569f5b98028a0e9552cfb0e4c",
          "translation": "Добавляет indices в disabled-layer set; каждое значение проверяется по range."
        },
        "/tokens/@id=model-format.token.disable-layer/runtime_effect": {
          "source_sha256": "d68b276bb48ab58ba60cdec0078ffce8f7fd74cd8e4305c97194d33c8c23929c",
          "translation": "При active link совпавшие layer slots пропускаются в model instance."
        },
        "/tokens/@id=model-format.token.disable-mesh/description": {
          "source_sha256": "63c8573a077091f873fe3afd8e5dbdda84a62941ac6fcc16fb72eaee8b30ef9a",
          "translation": "Добавляет drawable mesh names в disabled set; All хранит empty wildcard."
        },
        "/tokens/@id=model-format.token.disable-mesh/runtime_effect": {
          "source_sha256": "1150ac566b7a8a7ac023f5856dd12e9f038e54b4d89b100089de3cf7775be35f",
          "translation": "При active link совпавшие meshes исключаются из combined geometry."
        },
        "/tokens/@id=model-format.token.disable-shadow/description": {
          "source_sha256": "4d84521196ccf48bf323f53cd6e0a8e8d6370c05f3499664abdcaa8ee52f4ba0",
          "translation": "Отключает shadow rendering всех instances description."
        },
        "/tokens/@id=model-format.token.disable-shadow/runtime_effect": {
          "source_sha256": "1b7867568a535a7df53f5ade51bc99b0383fe38333c5a5e902fd450bc8501dd6",
          "translation": "Model-level flag объединяется с per-instance shadow toggle."
        },
        "/tokens/@id=model-format.token.effect/description": {
          "source_sha256": "d30b36fbf8fe6d03f12d74942b8fbe1be37863c4f5ec6475fb2a72f3aeb2a09a",
          "translation": "Переопределяет draw effect выбранного mesh или всех; Parent копирует active parent effect."
        },
        "/tokens/@id=model-format.token.effect/runtime_effect": {
          "source_sha256": "e48cab26307fdabeed76dce4ffe6f80f1cb2fa372d43476f81210d8637dc4735",
          "translation": "Meshes с разными effects не могут делить combined draw batch."
        },
        "/tokens/@id=model-format.token.fast-transition-bone/description": {
          "source_sha256": "c8d8451b3109f2c7cd649793b2e0ed9c0b14bcc38f02c439bb1b240d2494bca3",
          "translation": "Помечает base-model bone для immediate transition reset, когда новый child использует её как Link."
        },
        "/tokens/@id=model-format.token.fast-transition-bone/runtime_effect": {
          "source_sha256": "404d1e97908c74d2dac7eab0a16098eef5a2b69562823fd3a49ca5426a2cca83",
          "translation": "Следующий body-animation track сбрасывает transition state attachment bone."
        },
        "/tokens/@id=model-format.token.include/description": {
          "source_sha256": "2abd501174eb9c0d53d4bad816972200a48a39da4930d0694726c77bc6a7f437",
          "translation": "Разбирает другое description inline с optional replacements %name%. Include paths относительны, arguments идут парами, state общий, recursion запрещена."
        },
        "/tokens/@id=model-format.token.include/runtime_effect": {
          "source_sha256": "209fea7d0e03eb751997cee1c7887e17d7bc52db630eaf596924a490e3b25e66",
          "translation": "Included directives становятся частью concrete description до validation и baking."
        },
        "/tokens/@id=model-format.token.layer/description": {
          "source_sha256": "508962b52c2010ff9582869bf61a4c6216e043cc790ea37cf4b3ca96107b8511",
          "translation": "Выбирает compile-time layer slot. Очищает mesh selector и переводит modifiers на dummy link, пока Root или Attach не создаст active link."
        },
        "/tokens/@id=model-format.token.layer/runtime_effect": {
          "source_sha256": "0340bde4644bb4d80c7e235092b49f48ba6b6300038ac35e79304c99398a20bf",
          "translation": "Layer участвует только при ненулевом model-layer value проекта."
        },
        "/tokens/@id=model-format.token.link/description": {
          "source_sha256": "ea76212b96a8dd47e4f06ae1b055da7c91ab4a4f165a0c97b07250dad11059cf",
          "translation": "Задаёт parent bone текущего non-default link; игнорируется на default или dummy link."
        },
        "/tokens/@id=model-format.token.link/runtime_effect": {
          "source_sha256": "0eb17bfc15edc90b3f2129c48a98a5b1b0c4e43b1b74e9272819a94bd8148f06",
          "translation": "Child целиком присоединяется к bone; particle требует bone. Пустой child-model link не использует её в runtime."
        },
        "/tokens/@id=model-format.token.mesh/description": {
          "source_sha256": "02b6bf003b03f4a8a734ce9f9a6426e24915e2a3d9800cdd2e8c9f047039a593",
          "translation": "Выбирает drawable mesh для следующих Texture и Effect. All очищает selector и выбирает все drawable meshes."
        },
        "/tokens/@id=model-format.token.mesh/runtime_effect": {
          "source_sha256": "5e353623d7a688d3de443b544a4f2e0261a91ff75899f85868d58b6845f41249",
          "translation": "Material overrides применяются только к выбранному mesh либо ко всем при пустом selector."
        },
        "/tokens/@id=model-format.token.model/description": {
          "source_sha256": "e31f292bf3fb3b4d44e1ac9150f66821958d2b6034f0170b9af2ab51a7feb974",
          "translation": "Выбирает primary baked mesh hierarchy и base source skeleton. Path разрешается относительно файла с directive; побеждает последнее assignment."
        },
        "/tokens/@id=model-format.token.model/runtime_effect": {
          "source_sha256": "8854d446b81c5a5cf3260734c5747b3b88da6d07a578256a88b547dbb1a3be39",
          "translation": "Выбранный mesh предоставляет physical bones, drawables, skinning и default materials; ModelInfoBaker отдельно преобразует выбранные source clips и совместимые contributed joints в immutable runtime rig."
        },
        "/tokens/@id=model-format.token.root/description": {
          "source_sha256": "35987a6a42daf192d05670256ce264059c2eb4f86a0d5b44f328f87f90be94c3",
          "translation": "Без Layer выбирает default root modifier; при active Layer и ненулевом Value создаёт modifier пары."
        },
        "/tokens/@id=model-format.token.root/runtime_effect": {
          "source_sha256": "bd778eced76ef71bc8080db2ad0823d4f792b92ef1be57848b35c454e21408da",
          "translation": "Может преобразовать model, изменить speed/materials/effects, отключить meshes/layers и применить cuts без child."
        },
        "/tokens/@id=model-format.token.rotation-bone/description": {
          "source_sha256": "8e08724f3d704ee748245b23700d69af0968b2b6455fc44e20179bc408735ba1",
          "translation": "Выбирает проверенную torso/body rotation bone и включает movement overlay controller."
        },
        "/tokens/@id=model-format.token.rotation-bone/runtime_effect": {
          "source_sha256": "3ef60bcebb3825f1b85fb5d3de1b9be9b95c00276793f48d25546245a1aa971b",
          "translation": "Look/move directions могут различаться; body и настроенные head bones получают directional rotation, пока movement/turn animations идут на overlay controller."
        },
        "/tokens/@id=model-format.token.scale-add/description": {
          "source_sha256": "01d13d93bea7714ebffcf0e1c387b072f3d78a825f6cf7f0cb7ed22e60a44f03",
          "translation": "Применяет additive rule ко всем scale axes."
        },
        "/tokens/@id=model-format.token.scale-add/runtime_effect": {
          "source_sha256": "0f835df5aa08799fb36a4711434a0e527e87a4457c75cb43f83a8e5f3e867840",
          "translation": "Даёт uniform additive adjustment для templates и selected links."
        },
        "/tokens/@id=model-format.token.scale-multiply/description": {
          "source_sha256": "5eed3104204672cfe3d3fbfcde585599031e2e7b8843165e6665cdb6ad35d243",
          "translation": "Применяет multiplicative rule ко всем scale axes."
        },
        "/tokens/@id=model-format.token.scale-multiply/runtime_effect": {
          "source_sha256": "b6bdd103b7c661ff09634fb6cd128119528700656b61f273bbf7c4499c100f7b",
          "translation": "Даёт uniform proportional scale adjustment."
        },
        "/tokens/@id=model-format.token.scale-set/description": {
          "source_sha256": "d2351d6f436eccbba1b0952333f352b588c51942bfe74fe80db1df42652c119c",
          "translation": "Задаёт одинаковые ScaleX, ScaleY, ScaleZ."
        },
        "/tokens/@id=model-format.token.scale-set/runtime_effect": {
          "source_sha256": "7e85364e191c9376df5ca5cf046c59f0295c2aede4eb03704441711fdd8c113b",
          "translation": "Ненулевое value создаёт uniform scale transform."
        },
        "/tokens/@id=model-format.token.state-alias/description": {
          "source_sha256": "81b16b6fded61b59012501f07cc965932b663890d4dad5b850a8f2097569aa6e",
          "translation": "Определяет одношаговый state-animation alias."
        },
        "/tokens/@id=model-format.token.state-alias/runtime_effect": {
          "source_sha256": "fbdb163372be08cf923248f0a81087ee5930cbc9f8bdc3c2720defbab5145686",
          "translation": "Alias применяется один раз до exact lookup и имеет приоритет над exact source-key entry."
        },
        "/tokens/@id=model-format.token.subset/description": {
          "source_sha256": "0b76a10c8e94ce1a637db22f93985f8ceb8c7dc5aaae09bea27b15ccb61a1569",
          "translation": "Устаревшее compatibility spelling. Parser забирает один argument, пишет warning и не выбирает mesh."
        },
        "/tokens/@id=model-format.token.subset/runtime_effect": {
          "source_sha256": "35c9976bdc85a9dae7f138e6488aa2c9855d4c572821b3e48557c4d34d05c7a8",
          "translation": "Эффекта нет. Замените на Mesh; не используйте в новом контенте."
        },
        "/tokens/@id=model-format.token.texture/description": {
          "source_sha256": "494a2f1b67857724569a27f1dde363d4afda527023f0322c0429204cff4d37e5",
          "translation": "Переопределяет texture slot выбранного mesh или всех. Не-Parent names относительны к current model mesh; Parent копирует active parent texture в attached-model context."
        },
        "/tokens/@id=model-format.token.texture/runtime_effect": {
          "source_sha256": "ca2aafa4d9cc6faa410977d816f3e451c661909f4d77958443bdd12ec285b5ea",
          "translation": "Override участвует в mesh batching и adjustment texture-atlas coordinates."
        },
        "/tokens/@id=model-format.token.transform-add/description": {
          "source_sha256": "e66fcf02c8d9c87dd3ab5f789e70e066904cc2234152043ae6e73174a7079b6e",
          "translation": "Прибавляет к transform/speed field; при нуле operand становится initial value."
        },
        "/tokens/@id=model-format.token.transform-add/runtime_effect": {
          "source_sha256": "272b3ddb15f20dbdadf8dec4275057689244d093da9c385fd213f819047136e6",
          "translation": "Include может накладывать additive adjustments без base assignment."
        },
        "/tokens/@id=model-format.token.transform-multiply/description": {
          "source_sha256": "51e5844aa25d5c81d46ab3c32d57abf1e16b9dca5c7aec39cd694500859e180e",
          "translation": "Умножает transform/speed field; при нуле operand становится initial value."
        },
        "/tokens/@id=model-format.token.transform-multiply/runtime_effect": {
          "source_sha256": "bd829a5a8ddac4b69acbfaaf5484059b1bb00ea07052070470e1f63e949f0cf8",
          "translation": "Include применяет proportional adjustments, сохраняя ноль как runtime identity sentinel."
        },
        "/tokens/@id=model-format.token.transform-set/description": {
          "source_sha256": "263a515cdb64703ceff56659db93cd61d2ed5e3b532daea88969a42548ff73ed",
          "translation": "Задаёт transform axis или playback-speed multiplier. Rotation задаётся в градусах."
        },
        "/tokens/@id=model-format.token.transform-set/runtime_effect": {
          "source_sha256": "517ad5912ec80df6a97e3c0b75925f668061ccda0b1b7b4a2d05bf0be88be340",
          "translation": "Ненулевые values умножают model transform или speed chain; ноль не даёт вклада."
        },
        "/tokens/@id=model-format.token.value/description": {
          "source_sha256": "e548c9f028ef335d7c3302800fa7f2a37750cca8794eb6b6bb5ea7e1725f36d1",
          "translation": "Выбирает точное ненулевое значение, активирующее следующую entry Root или Attach; также очищает mesh selector и current link."
        },
        "/tokens/@id=model-format.token.value/runtime_effect": {
          "source_sha256": "6f3a50d8f41b23b705aa2b3916b125b2f9630805b57079a058e9518a594a3aa6",
          "translation": "Link активен, только когда runtime layer array содержит это значение по выбранному index."
        }
      }
    },
    "video": {
      "entries": {
        "/decoding_rules/@id=video.decoding.error-stop/name": {
          "source_sha256": "96c9a3d1fe07694763d2de19fcfe611c294d75b0963f1bfe3241d0153f0c2d1b",
          "translation": "Ошибка декодирования останавливает воспроизведение"
        },
        "/decoding_rules/@id=video.decoding.error-stop/rationale": {
          "source_sha256": "42fe04edae787b50ecd2e97d538ea8354fb064d562d290b1f664922b214b49a2",
          "translation": "Ошибки кадра записываются в лог и вызывают Stop; конец потока также останавливает ролик."
        },
        "/decoding_rules/@id=video.decoding.error-stop/requirement": {
          "source_sha256": "1ca0422cbc79f0d57ebaa9a12f19602267203e9a09236b2e247a53d629b59e9a",
          "translation": "Считайте повреждённые данные кадра, ошибку цветового вывода, неподдерживаемый пиксельный формат и конец потока условиями остановки и проверяйте клиентские логи."
        },
        "/decoding_rules/@id=video.decoding.frame-clock/name": {
          "source_sha256": "849dd5c2af37fcb52bb1714d0fe6c0c583da33435df40e73e5141ee59958d270",
          "translation": "Выбор кадра по часам"
        },
        "/decoding_rules/@id=video.decoding.frame-clock/rationale": {
          "source_sha256": "90b8b0f2028e7c59a9b592cf0e3ced38f59b429b8d45726c9dc48968392659ac",
          "translation": "RenderFrame умножает прошедшие секунды на отношение fps Theora и декодирует положительную разницу кадров."
        },
        "/decoding_rules/@id=video.decoding.frame-clock/requirement": {
          "source_sha256": "dfdac48b978e98c80f600db6479c08ac0268485160d0db818935b6cedfe7f37e",
          "translation": "Готовьте корректные метаданные числителя и знаменателя fps; целевой кадр выводится из прошедшего монотонного времени и стоимости декодера."
        },
        "/decoding_rules/@id=video.decoding.headers/name": {
          "source_sha256": "d51228a85100af072e7c4306d2ee5df85d5c172a53aac1bbad468b334451dfb4",
          "translation": "Выбор заголовка Theora"
        },
        "/decoding_rules/@id=video.decoding.headers/rationale": {
          "source_sha256": "dd3162c96386f770743057e3eb49e6edb81939598cca73ea33a1e8926ddd8682",
          "translation": "Создание завершается ошибкой при неудаче поиска пакета, setup-данных или выделения декодера."
        },
        "/decoding_rules/@id=video.decoding.headers/requirement": {
          "source_sha256": "f68d56267f6aff47a120ea09a2c84ac4b5c6719331dacedd7d419c201140b4fb",
          "translation": "Передавайте поток, заголовки которого принимает th_decode_headerin и setup которого позволяет выделить контекст декодера."
        },
        "/decoding_rules/@id=video.decoding.no-container-audio/name": {
          "source_sha256": "8705ca8e8447af7fcae839113a493407d209c1d1473843a6e2a511a65475ba90",
          "translation": "Аудио контейнера не декодируется"
        },
        "/decoding_rules/@id=video.decoding.no-container-audio/rationale": {
          "source_sha256": "c77253e54760b1cbbbfdb5726a38c1138170cf6a09fe35af3429588fc1bd2c09",
          "translation": "VideoClip подключает только декодирование пакетов Theora, а полноэкранная связка запускает музыку AudioManager из пути после вертикальной черты."
        },
        "/decoding_rules/@id=video.decoding.no-container-audio/requirement": {
          "source_sha256": "761f95aaa0001dd337687e1e1be67d8159ddef2e36a4fe18d4a437e0a4d7b12b",
          "translation": "Не полагайтесь на аудиопоток внутри Ogg-видео; при необходимости готовьте звук как отдельный клиентский музыкальный ресурс."
        },
        "/decoding_rules/@id=video.decoding.ogg-pages/name": {
          "source_sha256": "59bd07d1ef6d0f7ea3933b480f45fd446bf0a3cc7ea4f36c302383991077b914",
          "translation": "Приём страниц и пакетов Ogg"
        },
        "/decoding_rules/@id=video.decoding.ogg-pages/rationale": {
          "source_sha256": "c0d0b02d73764e80f3c0d9943d3d1bb462da4263291f63138a05d455e3853765",
          "translation": "DecodePacket владеет фиксированной таблицей состояния десяти потоков и копирует ограниченные порции из ресурса в памяти."
        },
        "/decoding_rules/@id=video.decoding.ogg-pages/requirement": {
          "source_sha256": "4cb08c98792d7e8f850d60224c32649f6a32fd685c7fff213bf77a2e8306d9c0",
          "translation": "Считайте вход страницами Ogg, читаемыми в sync layer порциями по 1024 байта, и поддерживайте не более десяти одновременно обнаруженных логических потоков."
        },
        "/decoding_rules/@id=video.decoding.pixel-formats/name": {
          "source_sha256": "3a281a1a7a7159d7a61cd68217164d985db9305a6d7175305c3e505a8fc6d345",
          "translation": "Поддерживаемая chroma subsampling"
        },
        "/decoding_rules/@id=video.decoding.pixel-formats/rationale": {
          "source_sha256": "e984861ecbe3682f201a7a7f374a52e2c0e0c49c2335eb49573e639ca7191835",
          "translation": "CPU-преобразование выбирает делители chroma только для этих трёх enum-значений."
        },
        "/decoding_rules/@id=video.decoding.pixel-formats/requirement": {
          "source_sha256": "221b82e182643b7b70e90958afe285b4d69412fa7544b3dab6a9b57b0066ca70",
          "translation": "Используйте TH_PF_420, TH_PF_422 или TH_PF_444; любой другой пиксельный формат Theora останавливает воспроизведение."
        },
        "/decoding_rules/@id=video.decoding.rgba-output/name": {
          "source_sha256": "5bc58a8841180d6767efaa96afc15439019c9d991a4c54ab2d8e848eb4a64014",
          "translation": "CPU-вывод RGBA"
        },
        "/decoding_rules/@id=video.decoding.rgba-output/rationale": {
          "source_sha256": "aaf247c3dd01aedf1edd18595a64a522eb61f5c60d04b6f2bd37ac305d59d954",
          "translation": "RenderFrame записывает ограниченные компоненты RGB и alpha 0xFF в RenderedTextureData."
        },
        "/decoding_rules/@id=video.decoding.rgba-output/requirement": {
          "source_sha256": "9e05ca0f391de56129911e707e4270addac99079a2cbc5a45704abdfc44188a4",
          "translation": "Ожидайте преобразование каждого декодированного кадра из YCbCr в непрозрачный RGBA на CPU до загрузки текстуры."
        },
        "/delivery_rules/@id=video.delivery.client-only/name": {
          "source_sha256": "93e1ba6c384970c7292e9829369c7435f7811badccba960a435c1a9b7c83b15b",
          "translation": "Владение клиентской среды выполнения"
        },
        "/delivery_rules/@id=video.delivery.client-only/rationale": {
          "source_sha256": "e0dbf6e55264e5005f2a62c994e149b46afcfef8f6a8ff07bb7891c0eb9cb734",
          "translation": "Декодирование, создание текстуры, рисование и экспортированные методы находятся в клиентском слое."
        },
        "/delivery_rules/@id=video.delivery.client-only/requirement": {
          "source_sha256": "22e95c4dc6abb7ab8b31401b09b36d80d85109cac8e2b0b352300e5ec8fe24ee",
          "translation": "Доставляйте видео в клиентские ресурсы и запускайте воспроизведение в среде выполнения клиента или mapper."
        },
        "/delivery_rules/@id=video.delivery.exact-path/name": {
          "source_sha256": "bc86bf974ffbed0ba307c81a028c441ff254c2385a112c362be9e623d8783ab6",
          "translation": "Точный путь ресурса"
        },
        "/delivery_rules/@id=video.delivery.exact-path/rationale": {
          "source_sha256": "b4fca4a8cdbcdc9d40c762f3442aae53cd5299c77f5e572cc5a8a97e71b0cbbd",
          "translation": "Полноэкранный и управляемый скриптом тракты вызывают Resources.ReadFile с переданным путём."
        },
        "/delivery_rules/@id=video.delivery.exact-path/requirement": {
          "source_sha256": "6bcf0a8b4ddd776de38a9df76d7a8ff702c165e34b235e9a5decd1115f71aa85",
          "translation": "Передавайте полный доставленный путь видео вместе с расширением; поиск видео не имеет суффикса по умолчанию или нормализованного индекса основы имени."
        },
        "/delivery_rules/@id=video.delivery.memory-budget/name": {
          "source_sha256": "92fc500f42cf3ac66783b95cd647ee26f8f786544fc4a2064ee51458e6e32352",
          "translation": "Бюджет памяти всего ресурса"
        },
        "/delivery_rules/@id=video.delivery.memory-budget/rationale": {
          "source_sha256": "b5ef73844efcc21ebce508fb2a22aaec01c63be9ffb5b9d6b8d752c20eabcd75",
          "translation": "ReadFile.GetData переносит весь ресурс в VideoClip.RawVideoData до декодирования пакетов."
        },
        "/delivery_rules/@id=video.delivery.memory-budget/requirement": {
          "source_sha256": "4c088ba8b8efa3ba4b7d7a6e59f18a3107858030189f0ea966b7bf523c0726c3",
          "translation": "Для каждого активного воспроизведения закладывайте байты сжатого файла, один CPU RGBA-кадр и одну GPU-текстуру; штатный тракт не выполняет streaming из хранилища ресурсов."
        },
        "/delivery_rules/@id=video.delivery.raw-copy/name": {
          "source_sha256": "d5f46e3acc69fdf12991069f043eda10394f8bc9c31491de07daa020bf10a453",
          "translation": "Доставка raw copy"
        },
        "/delivery_rules/@id=video.delivery.raw-copy/rationale": {
          "source_sha256": "9ac1b1a915f9c11d9a101e7107dea301b7182a06f56abb34ccf9123112d089e0",
          "translation": "Video baker отсутствует; воспроизведение потребляет доставленные байты."
        },
        "/delivery_rules/@id=video.delivery.raw-copy/requirement": {
          "source_sha256": "4fbf485b136e117ba6ec580f5a574f4969e9514985ee1a5533e5274c5cfd35ed",
          "translation": "Сохраняйте ogv в Baking.RawCopyFileExtensions и включайте RawCopy в клиентский ресурсный пакет, владеющий видеофайлами."
        },
        "/description": {
          "source_sha256": "8aced90f7da434a0416490c6f6ebcf1a72273a1b344cf3ef29c3dc4853c90705",
          "translation": "Контракт с привязкой к исходному коду для доставки и декодирования видео FOnline в Ogg/Theora, полноэкранного и управляемого скриптом воспроизведения, рендеринга и границ проверки."
        },
        "/embedded_rules/@id=video.embedded.create/name": {
          "source_sha256": "37f8facd108fb82e3002e7b065862e69181ad9d0b44ab53d36522879bb5e965b",
          "translation": "Создание управляемого скриптом воспроизведения"
        },
        "/embedded_rules/@id=video.embedded.create/rationale": {
          "source_sha256": "2da7b41e0e0cd4535a01d89307e3fea627f3a3ec37e35ed897b6192b7e87f02e",
          "translation": "Экспортированный метод PassOwnership загружает ресурс, создаёт VideoClip и текстуру и сохраняет оба в VideoPlayback."
        },
        "/embedded_rules/@id=video.embedded.create/requirement": {
          "source_sha256": "2f9ccb9263e1dad05acac9809fbbc7692749955dc406f253ab9a96bb273723ad",
          "translation": "Используйте Game.CreateVideoPlayback(exactPath, looped) для создания независимого воспроизведения с подсчётом ссылок и текстуры."
        },
        "/embedded_rules/@id=video.embedded.missing-file/name": {
          "source_sha256": "473e7725108b2cbb455ba31e504091fea06e33be086aa58aa93b4f7efd545b07",
          "translation": "Ошибка создания выбрасывает исключение"
        },
        "/embedded_rules/@id=video.embedded.missing-file/rationale": {
          "source_sha256": "82c37e124b47ada708b7cc7708282aa7b0b76099d152b16d9c169f3c7b8ae961",
          "translation": "В отличие от полноэкранного PlayVideo, CreateVideoPlayback превращает неудачный ReadFile в ScriptException."
        },
        "/embedded_rules/@id=video.embedded.missing-file/requirement": {
          "source_sha256": "69e3e2bfbe3a4f5d67dce76b27d33a6a77026a489c7f53b83f7030b050f57ed0",
          "translation": "Перехватывайте или предотвращайте отсутствие управляемого скриптом видеоресурса; создание выбрасывает Video file not found."
        },
        "/embedded_rules/@id=video.embedded.null-noop/name": {
          "source_sha256": "90815f26ee980d3e0c0c23237b8a66c0a89dc5443e3d9478871e9f7e42f0df7a",
          "translation": "Null и завершённые экземпляры ничего не делают"
        },
        "/embedded_rules/@id=video.embedded.null-noop/rationale": {
          "source_sha256": "08e0174ff17f50931ad89c79d8314c4a768ad2d840451e23739253ff4d24f41a",
          "translation": "DrawVideoPlayback рано возвращается для обоих состояний после проверки render scope."
        },
        "/embedded_rules/@id=video.embedded.null-noop/requirement": {
          "source_sha256": "9b0db28ab9c98fd22cc04d36369d17cafafa52f06444fa810fbff87e4c315b12",
          "translation": "Передача null или экземпляра с очищенными ресурсами воспроизведения ничего не рисует и не выбрасывает исключение."
        },
        "/embedded_rules/@id=video.embedded.positive-size/name": {
          "source_sha256": "4313a7d950fcd229f9982c56e762054ed0ae28884982bb431397ceb7aa8da82c",
          "translation": "Положительный размер цели продвигает воспроизведение"
        },
        "/embedded_rules/@id=video.embedded.positive-size/rationale": {
          "source_sha256": "139d05b54bb0d58cdf82b2024797cc4369b8d670fad8e522223468b2e4820a42",
          "translation": "RenderFrame вызывается только внутри ветки положительного размера."
        },
        "/embedded_rules/@id=video.embedded.positive-size/requirement": {
          "source_sha256": "8d2f049410354249ac11a565601b5212ce60bc23e23dfec4e503641383557926",
          "translation": "Передавайте положительные ширину и высоту в каждом кадре; нулевой или отрицательный размер пропускает декодирование, загрузку текстуры и рисование."
        },
        "/embedded_rules/@id=video.embedded.rectangle/name": {
          "source_sha256": "f773bdb8d8a3dd024e8e0e83305d9d5b16d785ef94f99b7f2a6da8c45fa6137e",
          "translation": "Прямоугольник и пропорции принадлежат вызывающему коду"
        },
        "/embedded_rules/@id=video.embedded.rectangle/rationale": {
          "source_sha256": "9400bed006637577a629b564295051145796f676841cdcc2e28d494f68f2ebec",
          "translation": "DrawVideoPlayback создаёт irect32 непосредственно из аргументов скрипта."
        },
        "/embedded_rules/@id=video.embedded.rectangle/requirement": {
          "source_sha256": "a9f385e512e9dbbe40dca50fb98bf54f396040bfad7259b49d2969ad26484f82",
          "translation": "Выбирайте и поддерживайте целевой прямоугольник и политику пропорций в проектном UI-коде; Engine рисует точно указанную позицию и размер."
        },
        "/embedded_rules/@id=video.embedded.render-event/name": {
          "source_sha256": "40385c2ef99d935af217551b4372ee293b48f45bda1f561db1f549c61416b6dc",
          "translation": "Рисование только в RenderIface"
        },
        "/embedded_rules/@id=video.embedded.render-event/rationale": {
          "source_sha256": "adb324d222291ddc43726832ab72078a3e89e938827c6bc88a03ed8a5db79abd",
          "translation": "Метод выбрасывает исключение вне клиентской script draw scope."
        },
        "/embedded_rules/@id=video.embedded.render-event/requirement": {
          "source_sha256": "0b5c63cf2edb6f948e5972e04d101734481f0d0ae1e556b77a622acde4ef7b34",
          "translation": "Вызывайте Game.DrawVideoPlayback только при обработке Game.OnRenderIface."
        },
        "/embedded_rules/@id=video.embedded.stopped/name": {
          "source_sha256": "19b01660b7895b8f74d92efc58e95469659fe06307b59a56073b08a9788f0672",
          "translation": "Жизненный цикл поля Stopped"
        },
        "/embedded_rules/@id=video.embedded.stopped/rationale": {
          "source_sha256": "9ea225b005c15a03dc16f6db7e3447bfba7ab9b250af5bdfb1bbb4e2a5b73e36",
          "translation": "Метод рисования очищает ресурсы и устанавливает экспортированное поле после проверки остановки."
        },
        "/embedded_rules/@id=video.embedded.stopped/requirement": {
          "source_sha256": "12b5bc3b8a11c7f8bc6438a59817d9efea8428ffa289c734d4c83ce3d94440a0",
          "translation": "Опрашивайте VideoPlayback.Stopped, продолжая рисовать экземпляр; флаг становится true, когда DrawVideoPlayback обнаруживает остановку ролика."
        },
        "/formats/@id=video.format.ogv/name": {
          "source_sha256": "fe70492987734b5f14ff56eb318405997e765f3970e67da493171d2fb201354e",
          "translation": "Видеоресурс Ogg"
        },
        "/formats/@id=video.format.ogv/rationale": {
          "source_sha256": "76f0ab40efb37c0701d5e5cdd6c5db469395b2cb3956f6a23d6a7af697f26cd3",
          "translation": "OGV является штатным соглашением raw copy; декодер читает страницы Ogg и подаёт заголовки и пакеты Theora вместо dispatch универсальной медиасреды."
        },
        "/formats/@id=video.format.ogv/requirement": {
          "source_sha256": "f53fdd2443a524b541e331c5ae4111875c35aaadee073658f1e007a5d2b31876",
          "translation": "Доставляйте ресурс Ogg с видеопотоком Theora через видимый клиенту пакет RawCopy и передавайте video API его точный путь."
        },
        "/formats/@id=video.format.theora/name": {
          "source_sha256": "27c42a31ab149bb71eb860b7d000be382507d193c98c720b720b9ca254b6876c",
          "translation": "Элементарное видео Theora в Ogg"
        },
        "/formats/@id=video.format.theora/rationale": {
          "source_sha256": "a441c11e00d76ddb67389abd7589e9a2dccbdd18e474137dcde60f5a9d6a089d",
          "translation": "Встроенный тракт напрямую подключает libtheora и не имеет альтернативного dispatch кодеков."
        },
        "/formats/@id=video.format.theora/requirement": {
          "source_sha256": "c0f1cc69fd52d0c116ab80282129df0d68c912f7afa1bf624fb4b8000df78b04",
          "translation": "Используйте декодируемый поток Theora с допустимыми размерами, метаданными частоты кадров и одним из поддерживаемых пиксельных форматов 4:2:0, 4:2:2 или 4:4:4."
        },
        "/fullscreen_rules/@id=video.fullscreen.draw-order/name": {
          "source_sha256": "c918fc81a9a3e627e07270dd947a3485649a089907823a833e32c03176685a81",
          "translation": "Позднее полноэкранное рисование"
        },
        "/fullscreen_rules/@id=video.fullscreen.draw-order/rationale": {
          "source_sha256": "b84f4ea579e2c221b6df0b4b07d97b211b93af8c2b9497349265b01c68888f9f",
          "translation": "MainLoop вызывает ProcessVideo после OnRenderIface, а DrawTexture без исходной/целевой областей заполняет цель."
        },
        "/fullscreen_rules/@id=video.fullscreen.draw-order/requirement": {
          "source_sha256": "0caad5660a09bb6df57f68bb2020c93dadee6ad42fc0a975087e5253a2aae2aa",
          "translation": "Ожидайте рисование встроенного кадра после Game.OnRenderIface с растяжением на всю текущую цель рендеринга без alpha blending."
        },
        "/fullscreen_rules/@id=video.fullscreen.enqueue/name": {
          "source_sha256": "7287a2cf02d3cfca15b89b01314dd5aee102cf303b6a30351d127cdb5cf36ebb",
          "translation": "Очередь при активном ролике"
        },
        "/fullscreen_rules/@id=video.fullscreen.enqueue/rationale": {
          "source_sha256": "2d6d5ddcbc134b08e0c3fa60dd92ec203d6741e820ff799c8e55c279d7e33d0a",
          "translation": "Ветка enqueue зависит от _video, а ProcessVideo последовательно запускает элементы очереди."
        },
        "/fullscreen_rules/@id=video.fullscreen.enqueue/requirement": {
          "source_sha256": "45addf87efabc27b8cdd8100df717301ab0c588e30b1f10dd92b48eae5fa5645",
          "translation": "Устанавливайте enqueue только для добавления после уже активного полноэкранного ролика; без активного ролика запрос стартует сразу и очищает устаревшую очередь."
        },
        "/fullscreen_rules/@id=video.fullscreen.interrupt/name": {
          "source_sha256": "890953526c5415272cc7c8a66d6d6718de856157881c72935fb72cd3f80f00ee",
          "translation": "Прерывание вводом"
        },
        "/fullscreen_rules/@id=video.fullscreen.interrupt/rationale": {
          "source_sha256": "fec4208e0cb28e71610c92bed84bc028c479d7cfe8923e28a524602ee7b0d94b",
          "translation": "ProcessInputEvent останавливает ролик до обычной обработки ввода для перечисленных классов событий."
        },
        "/fullscreen_rules/@id=video.fullscreen.interrupt/requirement": {
          "source_sha256": "6eb6995cbce471c9d495081d4ac0ce2b26791d37d4508321b71fa782c4b2c41b",
          "translation": "При true в canInterrupt события key-down, mouse-down и touch останавливают активный ролик; проектируйте проектную политику пропуска вокруг этого широкого набора."
        },
        "/fullscreen_rules/@id=video.fullscreen.missing-file/name": {
          "source_sha256": "9e7b0df0cea86750e6f917df3819ba46564433a3591f1026a360af8eaca1a192",
          "translation": "Отсутствующий полноэкранный ресурс"
        },
        "/fullscreen_rules/@id=video.fullscreen.missing-file/rationale": {
          "source_sha256": "697e5ecdc40123c75347173dcaaa9581ef332f263e210b7e81a020d463497ce8",
          "translation": "Void-путь PlayVideo возвращается при ошибке ReadFile и не предоставляет результата ошибки."
        },
        "/fullscreen_rules/@id=video.fullscreen.missing-file/requirement": {
          "source_sha256": "655a5294b05d88ce050aaece135d095703ade5085100fc44f8d3a91cca4d304f",
          "translation": "Проверяйте существование полноэкранного ресурса до переходов; отсутствующий файл без сообщения оставляет воспроизведение неактивным после очистки текущего ролика и очереди."
        },
        "/fullscreen_rules/@id=video.fullscreen.music-pair/name": {
          "source_sha256": "84892da553da98482c8f4e69874c1b8fb9ef1994fd00cd3013391d3bb4f9be25",
          "translation": "Связка с отдельной музыкой"
        },
        "/fullscreen_rules/@id=video.fullscreen.music-pair/rationale": {
          "source_sha256": "e67914521428338a7d69b3e5ac0e6a43df4d082ea1afe010fa1d92f8191a6482",
          "translation": "PlayVideo разделяет запрос, загружает первый компонент и использует только names[1] для музыки AudioManager."
        },
        "/fullscreen_rules/@id=video.fullscreen.music-pair/requirement": {
          "source_sha256": "fc8bd16a92506f4d7a1ae6901c9b7b25375582d854ae0532cd450a8b4c937520",
          "translation": "Используйте video-path|music-path, чтобы остановить текущую музыку и запустить рядом с видео отдельный однократный музыкальный ресурс; дополнительные разделители не образуют плейлист."
        },
        "/fullscreen_rules/@id=video.fullscreen.music-stop/name": {
          "source_sha256": "56cab16bef2d8409b514e0fb5f286b696a7b4480eb1ef46f12e2d31892384ba6",
          "translation": "Завершение останавливает музыку"
        },
        "/fullscreen_rules/@id=video.fullscreen.music-stop/rationale": {
          "source_sha256": "c538b4df62f37c78c2a9e04338d0d7f152174074f3a63fbb34e1d2bed9c827d4",
          "translation": "ProcessVideo безусловно вызывает StopMusic, когда активный ролик сообщает об остановке."
        },
        "/fullscreen_rules/@id=video.fullscreen.music-stop/requirement": {
          "source_sha256": "b70887d54077d1ec177addbbe354b1a7a9c3d2fa6d27dec631bdb344053654f6",
          "translation": "Ожидайте, что завершение или прерывание полноэкранного ролика остановит текущую музыкальную группу клиента, включая музыку, не запущенную видео."
        },
        "/fullscreen_rules/@id=video.fullscreen.play-api/name": {
          "source_sha256": "74b5f5a3e0cd9c52d4d40c19f7a14ea1579022e706c20d8a68fb6ba78c426463",
          "translation": "Точка входа полноэкранного воспроизведения"
        },
        "/fullscreen_rules/@id=video.fullscreen.play-api/rationale": {
          "source_sha256": "ab8a9a75fe26d947c0edb13d15ccbfff515540226e5303d394d28166ecbb8c30",
          "translation": "Экспортированный клиентский метод делегирует ClientEngine.PlayVideo."
        },
        "/fullscreen_rules/@id=video.fullscreen.play-api/requirement": {
          "source_sha256": "b72cfc43b059942dda12bae9c809058ade76316a1fbd242acb86ea8927b37e26",
          "translation": "Используйте Game.PlayVideo(videoName, canInterrupt, enqueue) для встроенного полноэкранного тракта."
        },
        "/fullscreen_rules/@id=video.fullscreen.replace/name": {
          "source_sha256": "90d04169b5f6c52306d90a9a0c95cafe42cf7125301ef18156d8c8ccb8cb1f84",
          "translation": "Замена очищает текущую очередь"
        },
        "/fullscreen_rules/@id=video.fullscreen.replace/rationale": {
          "source_sha256": "a406f542ece800ff1a29e6059aa5fca17dea6fff58ba97b7570822facc485d4b",
          "translation": "PlayVideo сбрасывает _video и очищает _videoQueue до поиска ресурса."
        },
        "/fullscreen_rules/@id=video.fullscreen.replace/requirement": {
          "source_sha256": "cc092306a34364a6963d0d84082917b080e72013c1a75b79e294e385bdc81359",
          "translation": "Запрос без enqueue заменяет активный ролик и очищает все элементы очереди до попытки загрузить новый путь."
        },
        "/fullscreen_rules/@id=video.fullscreen.status/name": {
          "source_sha256": "52c8ea0348e47d0cce467be443d7d486a9bfbbbce64c0c30b0ff1dc342f3f693",
          "translation": "Состояние воспроизведения включает очередь"
        },
        "/fullscreen_rules/@id=video.fullscreen.status/rationale": {
          "source_sha256": "7fa62ab2323af18b4c310642c9b94082da611abafaad7613409ce642dffde882",
          "translation": "ClientEngine сообщает true для активного воспроизведения или непустой очереди."
        },
        "/fullscreen_rules/@id=video.fullscreen.status/requirement": {
          "source_sha256": "40b35be6ee407e69d292ed8343f6df4521e254b3f24071431815f0e9e47313be",
          "translation": "Интерпретируйте Game.IsVideoPlaying как состояние active-or-queued, а не доказательство видимого сейчас кадра."
        },
        "/scope/excluded": {
          "source_sha256": "58a62812118295b4cdf3b0687ef9827c86bb23cdbc441d28a38aae3b840b9afd",
          "translation": [
            "проектные каталоги роликов, сюжетные триггеры, системы субтитров, локализация, политика пропуска и последствия для сохранения;",
            "декодирование аудио контейнера, голосовые дорожки, микширование и синхронизация сверх отдельно запускаемого музыкального ресурса;",
            "аппаратные/платформенные медиадекодеры, streaming с диска или из сети, adaptive bitrate и DRM;",
            "MP4, WebM, AVI, MPEG, анимированные изображения и видео Ogg не в Theora;",
            "мастеринг, доступность, лицензирование, атрибуция и происхождение исходников."
          ]
        },
        "/scope/included": {
          "source_sha256": "dcad75f49b65ed1f0c4e0947a413372b9c240e7be02a8b5141200c3d4be17470",
          "translation": [
            "доставка OGV через raw copy и загрузка ресурса по точному пути;",
            "пакетизация Ogg и декодирование заголовков/кадров Theora;",
            "CPU-преобразование YCbCr в RGBA и загрузка текстуры;",
            "полноэкранное воспроизведение, очереди, прерывание вводом и отдельная музыка;",
            "созданные скриптом прямоугольные экземпляры VideoPlayback;",
            "текущая диагностика, ограничения и проверка встраиваемого проекта."
          ]
        },
        "/scope/support_note": {
          "source_sha256": "f415018d6ed7b2fc5739b98e32dd3da42c3e35eb338157afabcd3e7fa79cb48f",
          "translation": "Текущий CPU-декодируемый тракт Ogg/Theora привязан к ревизии, пока отсутствуют сфокусированные нативные fixture, production-доказательства роликов и версионированная политика совместимости."
        },
        "/validation_rules/@id=video.validation.loop-risk/name": {
          "source_sha256": "d51dbf1e5d62093609ca26a357ae6c694bb2013b7b2a97d8d941ad85395d57a9",
          "translation": "Зацикливание требует явного доказательства"
        },
        "/validation_rules/@id=video.validation.loop-risk/rationale": {
          "source_sha256": "cc483fb30d34e4d0f695ff90bf45153b805d3a35dd6049530c410d2b652ed14a",
          "translation": "SetLooped доступен при создании, но текущие исходники не имеют сфокусированного loop fixture."
        },
        "/validation_rules/@id=video.validation.loop-risk/requirement": {
          "source_sha256": "911e7f4827ee20e5c07954a0ce0eb9dde335c4a9a595ee41d7adf012a5eb5ec9",
          "translation": "Не обещайте зацикленные ролики, пока многоцикловая визуальная регрессия не докажет перемотку декодера и непрерывность кадров точного ресурса."
        },
        "/validation_rules/@id=video.validation.no-native-fixture/name": {
          "source_sha256": "21f9d8aafef57a61b922579eb1219a295acb06d747dda0183bb00d4b2e2d8ca0",
          "translation": "Отсутствующий нативный video fixture"
        },
        "/validation_rules/@id=video.validation.no-native-fixture/rationale": {
          "source_sha256": "fb2ee914435aed48f849d2fb2b80ec185a758c256e64df0b08de6f6385e3547d",
          "translation": "Текущий набор нативных тестов не содержит сфокусированного исходника декодера/воспроизведения видео."
        },
        "/validation_rules/@id=video.validation.no-native-fixture/requirement": {
          "source_sha256": "95051fd89a1c7d4d0f6cfc748394a5a5821c04bd0f202a15414dfc66652e2d25",
          "translation": "Считайте отсутствие Test_*Video* или Test_*Theora* пробелом покрытия и сохраняйте обязательными видимые регрессионные доказательства."
        },
        "/validation_rules/@id=video.validation.project-boundary/name": {
          "source_sha256": "cfb9e27000841fc2dbf0fcdf2a35ace292a2416648cbd31d9f4ca4267984a436",
          "translation": "Приёмка встраиваемого проекта"
        },
        "/validation_rules/@id=video.validation.project-boundary/rationale": {
          "source_sha256": "a8a9b5a061444b9ec1f946c82a5e82557c6ef9ce3d9c0f07b66e97c865606fb6",
          "translation": "Engine поставляет примитивы декодера и показа, а не игровую систему роликов."
        },
        "/validation_rules/@id=video.validation.project-boundary/requirement": {
          "source_sha256": "8d0c5c533812b5a79c4bf1467ccb7af0e36cc29ee7711e17610332e5162a7cb9",
          "translation": "Встраиваемый проект владеет триггерами роликов, получателями, политикой пропуска/очереди, субтитрами, локализацией, вписыванием по пропорциям, аудиостратегией, последствиями сохранения, ресурсами, provenance, бюджетами и приёмочными тестами."
        },
        "/validation_rules/@id=video.validation.raw-copy/name": {
          "source_sha256": "7f9c600d538f349d73bf632a294c546764b7aed38964e240e91c5f1ced825a06",
          "translation": "Проверка доставленных байтов"
        },
        "/validation_rules/@id=video.validation.raw-copy/rationale": {
          "source_sha256": "0829e49aa809fe3f2856092d856e3e74bd73438359f2826b036cca46386965fc",
          "translation": "RawCopy является единственным преобразованием доставки, а runtime-пути точны."
        },
        "/validation_rules/@id=video.validation.raw-copy/requirement": {
          "source_sha256": "0e4e74bd5c9e95f154337c8f11f76b45fbdcd0fc398031e8f64e29a831fd59eb",
          "translation": "Запеките и проверьте точный путь и байты клиентского ресурса до runtime-воспроизведения."
        },
        "/validation_rules/@id=video.validation.visible-client/name": {
          "source_sha256": "5d557f001abc6c00c6095e99e8c1ffea01c91713fd754d0664cc9dd83d6bdbe6",
          "translation": "Требование видимого клиента"
        },
        "/validation_rules/@id=video.validation.visible-client/rationale": {
          "source_sha256": "928b9888540acbd3cbc190d4f224ffae35c2abef2491a712bbeece8853446487",
          "translation": "Ни headless-, ни source-only-проверка не доказывает загрузку и показ текстуры."
        },
        "/validation_rules/@id=video.validation.visible-client/requirement": {
          "source_sha256": "b8cf3daaddd3f63fc304075a84672dcd43e2ab42d305f41f7e34dd65ea58ef77",
          "translation": "На каждой заявленной платформе проверьте в видимом клиенте первый кадр, движение, конец, пропуск, очередь, изменение размера и очистку текстуры."
        }
      }
    },
    "audio": {
      "entries": {
        "/decoding_rules/@id=audio.decoding.acm-shape/name": {
          "source_sha256": "fefbcdac09cac0cd39e133f8a33daf31439e6fc8c9e992a511f9e7a46b12a303",
          "translation": "Проверка запечённого payload"
        },
        "/decoding_rules/@id=audio.decoding.acm-shape/rationale": {
          "source_sha256": "4cba660fd70825985577fbe15976a4da17a2d92fe8210842b3cb8564d012d4dc",
          "translation": "Граница запекания выявляет некорректные нативные входные данные и результат кодировщика до попытки воспроизведения клиентом; затем runtime читает число каналов и частоту дискретизации из проверенного потока."
        },
        "/decoding_rules/@id=audio.decoding.acm-shape/requirement": {
          "source_sha256": "8fdd455081884b21460ba1b53da58a7554256c8e7f75fcfc96c360cc31355bbc",
          "translation": "Отклоняйте сгенерированный или скопированный без перекодирования payload, если libvorbisfile не открывает его как корректный поток Vorbis."
        },
        "/decoding_rules/@id=audio.decoding.callback-mixing/name": {
          "source_sha256": "7ad77bbe593b40c6f6089109f81a666611d46d85903e5c6cf6ce9c0165dd0c99",
          "translation": "Микширование в audio callback"
        },
        "/decoding_rules/@id=audio.decoding.callback-mixing/rationale": {
          "source_sha256": "e87406a1f7948edaeacfc789378d2429079dad7877343fd4e56cd8c8ecf78bf1",
          "translation": "Callback потока SDL просит AudioManager заполнить вывод, пока операции play/stop/update игрового потока могут добавлять, изменять или удалять звуки."
        },
        "/decoding_rules/@id=audio.decoding.callback-mixing/requirement": {
          "source_sha256": "3b83d382144ff74c89409fb6f511a8fee8a1af7ea4eacb19de83cf0a6fd5711a",
          "translation": "Считайте воспроизведение работой клиентского audio callback; изменения списка активных звуков должны удерживать lock аудиоустройства."
        },
        "/decoding_rules/@id=audio.decoding.device-conversion/name": {
          "source_sha256": "8dc631c4911d3f9cb705567d603f99c7f3d89b629eebc7ef83843c11176f7a66",
          "translation": "Преобразование устройства"
        },
        "/decoding_rules/@id=audio.decoding.device-conversion/rationale": {
          "source_sha256": "b42172ab0a9a682ea75a263dbd0f59bb16f347747f2d85f9e8e3ee305678d0e0",
          "translation": "AudioManager не требует совпадения авторских ресурсов с одним фиксированным аппаратным форматом."
        },
        "/decoding_rules/@id=audio.decoding.device-conversion/requirement": {
          "source_sha256": "b85b191761f293f79ba063a24e36d7faba3d8976946b9fdab8c8036e5c4ef11c",
          "translation": "Позвольте AppAudio до воспроизведения преобразовать формат samples, число каналов и частоту в формат активного устройства вывода SDL."
        },
        "/decoding_rules/@id=audio.decoding.ogg-streaming/name": {
          "source_sha256": "659d5d6af8572df71487e62f97e7b417c44b942ee421bcbae98436583cef1cae",
          "translation": "Streaming Ogg"
        },
        "/decoding_rules/@id=audio.decoding.ogg-streaming/rationale": {
          "source_sha256": "a47f404aca0732fde8c086505bcb6c4a47b2eb5da1e8804421db71c42a768998",
          "translation": "AudioManager использует платформенный размер streaming-порции и очищает OggStream, когда первое чтение достигает EOF."
        },
        "/decoding_rules/@id=audio.decoding.ogg-streaming/requirement": {
          "source_sha256": "f3e0717221b0b065f3cc553acdfab32ebc91b0c0401afc9da65508a052e690a5",
          "translation": "Ожидайте декодирование Ogg Vorbis порциями 64 KiB на native и 128 KiB на Web; короткие файлы сохраняются целиком и освобождают stream после первого декодирования."
        },
        "/decoding_rules/@id=audio.decoding.unsupported-extension/name": {
          "source_sha256": "5b9b06e4f6d3124ddc44a239f98fc36339ae136e6555b724262c887a38f59af1",
          "translation": "Единственный runtime-декодер"
        },
        "/decoding_rules/@id=audio.decoding.unsupported-extension/rationale": {
          "source_sha256": "20fab6cdca2c737ae22fb250b444a1d99966a020544244c4cd53a66c3e6fcc2a",
          "translation": "Исходники с неподдерживаемыми расширениями не попадают в Audio baker, а в runtime нет диспетчеризации по суффиксу, которая могла бы незаметно принять пустой payload или данные другого формата."
        },
        "/decoding_rules/@id=audio.decoding.unsupported-extension/requirement": {
          "source_sha256": "646a45ff55a8465476fbe755dd45fdf1ecb4b24302806848a4445dd405b98725",
          "translation": "Проводите авторское аудио через AudioBaker и позволяйте AudioManager декодировать каждый результирующий ресурс как Ogg Vorbis независимо от сохранённого исходного суффикса."
        },
        "/decoding_rules/@id=audio.decoding.wav-chunk-order/name": {
          "source_sha256": "64e1eb8dc2364a143fd8fa724aaa46dff3e1365b43de18d788dc8d3b57bf1225",
          "translation": "Порядок чанков WAV"
        },
        "/decoding_rules/@id=audio.decoding.wav-chunk-order/rationale": {
          "source_sha256": "eac39f0e8f280b754122c565b0d32c0064febc72ca466d7380c111e677044c53",
          "translation": "Реальные экспортёры часто вставляют чанки метаданных или меняют местами fmt и data, поэтому baker проверяет границы чанков, а не предписывает узкую последовательность."
        },
        "/decoding_rules/@id=audio.decoding.wav-chunk-order/requirement": {
          "source_sha256": "bd0f91b29f0162379d7b86eacd74b6255a12d217ad816e2e7444c25dab346833",
          "translation": "Предоставляйте RIFF/WAVE с одним пригодным чанком fmt и непустым чанком data; AudioBaker обходит чанки в любом порядке, пропускает неизвестные и учитывает выравнивание нечётного размера."
        },
        "/decoding_rules/@id=audio.decoding.wav-pcm-width/name": {
          "source_sha256": "a8c3062c783fa6d6d7fb9ef350eaf76ce2eb96a01e8537357e563f238c00be74",
          "translation": "Разрядность WAV PCM"
        },
        "/decoding_rules/@id=audio.decoding.wav-pcm-width/rationale": {
          "source_sha256": "d6ab241991cc8858dc5523af88af8b843c85a2e858b4bdd5efefe4cfc679f921",
          "translation": "AudioBaker преобразует каждый поддерживаемый sample в signed 16-bit перед кодированием Vorbis и отклоняет обрезанные кадры или несогласованные метаданные формата."
        },
        "/decoding_rules/@id=audio.decoding.wav-pcm-width/requirement": {
          "source_sha256": "c209fb7b136493078280cca676fd4cf16de89787cf1e4ce35c7bcb98e1d94a58",
          "translation": "Создавайте WAV как PCM с разрядностью 8, 16, 24 или 32 бита либо IEEE float с разрядностью 32 бита; число каналов и частота дискретизации должны быть положительными, а выравнивание блока — соответствовать заявленной форме кадра."
        },
        "/delivery_rules/@id=audio.delivery.client-index/name": {
          "source_sha256": "b452a98bb52e68aa30e4b3786d50d7b7b1ea7ee41ea2a19ee1f0f4b6d1df3d27",
          "translation": "Клиентский индекс звуков"
        },
        "/delivery_rules/@id=audio.delivery.client-index/rationale": {
          "source_sha256": "6bc4541de1a6475cc1a308e48bb2e1da165bd015119df60779d584a5b764a815",
          "translation": "Менеджер предоставляет этот каталог путей, сформированный по исходникам, а Game.PlaySound получает точный путь выбранного ресурса и не разрешает понятия или варианты."
        },
        "/delivery_rules/@id=audio.delivery.client-index/requirement": {
          "source_sha256": "0028b2d0619df33ecf866146bfe00b9e9cedb1511e1113dc98e086472f1afef2",
          "translation": "Вызывайте AudioManager.IndexFiles после появления клиентских ресурсов; он записывает каждый путь, чей суффикс присутствует в Audio.SoundFileExtensions."
        },
        "/delivery_rules/@id=audio.delivery.effect-identity/name": {
          "source_sha256": "3accb014c1ce0c0702afe89545df39f0adc8bfce8df1fa8bf3d66bd5aa783467",
          "translation": "Точный авторский путь как идентификатор"
        },
        "/delivery_rules/@id=audio.delivery.effect-identity/rationale": {
          "source_sha256": "667667777284a9c250ad959c4d5924bc1c96c9e8aa15ec54166dc22bd471362d",
          "translation": "AudioBaker сохраняет авторский путь, заменяя байты WAV на Vorbis, а AudioManager читает этот путь напрямую, не меняя регистр и не заменяя расширение."
        },
        "/delivery_rules/@id=audio.delivery.effect-identity/requirement": {
          "source_sha256": "9f498fb99a2485c19d9cdfb59389be6ca205eaaad3ae3d06e7a0b5561892231f",
          "translation": "Передавайте в Game.PlaySound и Game.PlayMusic точный путь запечённого ресурса, включая авторское расширение."
        },
        "/delivery_rules/@id=audio.delivery.extension-precedence/name": {
          "source_sha256": "ad2d9706726c04c81f9563edb0ef5b7a3005381271be567fd8bb2251ad3c6768",
          "translation": "Разделение исходного расширения и payload"
        },
        "/delivery_rules/@id=audio.delivery.extension-precedence/rationale": {
          "source_sha256": "db6d09c5501fd5c5b1a82f2d345411bba14912378f346d3b41c5f29a8d2a18f9",
          "translation": "Сохранение авторских путей не требует переписывать ссылки проекта, а единый runtime-декодер и единый формат package payload устраняют платформенно-зависимое поведение форматов."
        },
        "/delivery_rules/@id=audio.delivery.extension-precedence/requirement": {
          "source_sha256": "baf1f10a81b21f922da5dd44509ac8546ea92b7d36c737c89e76e1f15437c959",
          "translation": "Считайте суффикс .wav в запечённых ресурсах идентификатором исходника, а не runtime-кодека: все runtime-байты имеют формат Ogg Vorbis, а исходники .ogg сохраняют расширение .ogg."
        },
        "/delivery_rules/@id=audio.delivery.music-path/name": {
          "source_sha256": "c247f057920325534414f59178be013118fbf6a4af41989e7c0bab42c468d816",
          "translation": "Владение путём музыки"
        },
        "/delivery_rules/@id=audio.delivery.music-path/rationale": {
          "source_sha256": "2c847ff97eb74471c47d4e9b689d098f28af3bd04add40e0257c2e22eb27a7bb",
          "translation": "PlayMusic передаёт указанное имя файла непосредственно в AudioManager.Load."
        },
        "/delivery_rules/@id=audio.delivery.music-path/requirement": {
          "source_sha256": "44c02a7491bc64ac62e1066b1464a6d40b2489d29d260eddf39353d7e3f3a45b",
          "translation": "Передавайте музыку по точному пути ресурса; в отличие от эффектов, она не разрешается через нормализованный индекс имён звуков."
        },
        "/delivery_rules/@id=audio.delivery.raw-copy/name": {
          "source_sha256": "5dcbaf6226f87ec434f593d869324a4e606b41248a343f905c9bb17222b9a124",
          "translation": "Доставка через AudioBaker"
        },
        "/delivery_rules/@id=audio.delivery.raw-copy/rationale": {
          "source_sha256": "02d3956c921a7296511527b851d144fc2562abd21496f2e2a85c5ae8bcc007d2",
          "translation": "Аудиоресурсы больше не используют RawCopy: WAV нормализуется и кодируется, а уже нативный Ogg проверяется и копируется без дополнительного прохода с потерями."
        },
        "/delivery_rules/@id=audio.delivery.raw-copy/requirement": {
          "source_sha256": "ffc71600f6d1106e5517a1057446a88198ed999a6f8712ed38f65f2147ffb66d",
          "translation": "Включайте Audio baker в каждый ресурсный пакет, владеющий runtime-аудио: он принимает настроенные входы wav и ogg и записывает проверенный payload Ogg Vorbis."
        },
        "/description": {
          "source_sha256": "0f5a2ac07cca4b7711523b5970448354471a09551ce56079a20c3db85f756137",
          "translation": "Контракт с привязкой к исходному коду для запекания аудио FOnline, runtime-декодирования, handles воспроизведения, позиционирования, микширования, точек входа скриптов и границ проверки."
        },
        "/formats/@id=audio.format.ogg/name": {
          "source_sha256": "0ef1d73187c66942ec82bdb4c758d80a6a2526fe540dcd22d73da1d0abe721da",
          "translation": "Ogg Vorbis",
          "preserve_source": true
        },
        "/formats/@id=audio.format.ogg/rationale": {
          "source_sha256": "0a7893878a1bd7ef7a0d8e7e0ebb8df63cc42502c3a809342905161d0d04b64d",
          "translation": "Каждый runtime-payload имеет формат Vorbis, даже когда сохранённый авторский путь заканчивается на .wav, поэтому runtime-диспетчеризация не считает суффикс объявлением кодека."
        },
        "/formats/@id=audio.format.ogg/requirement": {
          "source_sha256": "df6ec237243edbe7fdfec18e40ddedc93859ec2f9ee50d64cbca3493725ef4ea",
          "translation": "Используйте битовый поток Ogg с аудио Vorbis; AudioBaker проверяет и копирует авторский .ogg без повторного кодирования с потерями, а AudioManager передаёт каждый запечённый аудиоресурс в libvorbisfile как поток."
        },
        "/formats/@id=audio.format.ogg/role": {
          "source_sha256": "e024b0674ace88636cbbd1577571123b4f33db721a97b588480d9af60ae76fbf",
          "translation": "Нативный runtime-payload и авторский вход без перекодирования"
        },
        "/formats/@id=audio.format.wav/name": {
          "source_sha256": "5b20ae67c9a363d51cabf352b8a4e026427c8249e60b801d44a102ce0839a340",
          "translation": "PCM WAV",
          "preserve_source": true
        },
        "/formats/@id=audio.format.wav/rationale": {
          "source_sha256": "13ce3d7e96611dfd3878bf6216ff50c137c7b0b4830628934caf97dc1a3350c1",
          "translation": "AudioBaker нормализует поддерживаемые samples WAV в interleaved signed 16-bit PCM и кодирует один проверенный ресурс Ogg Vorbis по авторскому пути."
        },
        "/formats/@id=audio.format.wav/requirement": {
          "source_sha256": "0f8740ec9bbceb71a4195701e6c74162c0ad0a02804e2ce9fb105194a91f32a1",
          "translation": "Используйте RIFF/WAVE PCM с разрядностью 8, 16, 24 или 32 бита либо IEEE float с разрядностью 32 бита; чанки могут идти в любом порядке, а неизвестные чанки пропускаются с учётом выравнивания RIFF."
        },
        "/formats/@id=audio.format.wav/role": {
          "source_sha256": "d247a6140ce8a86d0fcb53cbe7d0780b8aea1afda57163597996c0bc05e6832c",
          "translation": "Авторский вход, преобразуемый в runtime-payload Ogg Vorbis"
        },
        "/playback_rules/@id=audio.playback.default-acm/name": {
          "source_sha256": "685a502d511f5a66a98ad817c8f8ba8d6183d9d9b7a5c10dbe91ab6115aa2abd",
          "translation": "Закон стереопанорамирования"
        },
        "/playback_rules/@id=audio.playback.default-acm/rationale": {
          "source_sha256": "144eecd224ab21401facb61235f57830eecf0a71d292f18acae5b6dbf8cd28ce",
          "translation": "AudioManager применяет pan к буферу каждого callback, а не к декодированному хранилищу, поэтому последующие обновления позиции не накапливают предыдущее панорамирование, а громкие samples не усиливаются до clipping."
        },
        "/playback_rules/@id=audio.playback.default-acm/requirement": {
          "source_sha256": "7e3b77971fb31c6ffc7efafe40e4d285d85284cecb4c9c6141b51ef1943f9050",
          "translation": "Передавайте pan в диапазоне от -1 до 1 для штатного закона баланса: отрицательное значение ослабляет правый канал, положительное — левый, а ближний канал остаётся с единичным усилением."
        },
        "/playback_rules/@id=audio.playback.disabled-success/name": {
          "source_sha256": "476d30014f3e6eba69410578071c414da4a4061a516f5983d3dd831c7f2b0714",
          "translation": "Соглашение о результате отключённого аудио"
        },
        "/playback_rules/@id=audio.playback.disabled-success/rationale": {
          "source_sha256": "d964d1bac0a2f3fcf9db0143889882874d8507bb29d96d49f0ce782fa3cf04a6",
          "translation": "Отключённое устройство — нормальное состояние игрока, поэтому музыка не сообщает отказ, а эффекты лишь показывают отсутствие живого звука; корректность ресурса принадлежит проверке baker."
        },
        "/playback_rules/@id=audio.playback.disabled-success/requirement": {
          "source_sha256": "6f187c92beba04e8db3abf5b87f90578e5208649374a6d91de7d859781822b42",
          "translation": "Не используйте true от PlayMusic или handle от PlaySound как доказательство существования ресурса при отключённом или недоступном аудио: PlayMusic остаётся успешной no-op операцией, а PlaySound возвращает нулевой handle."
        },
        "/playback_rules/@id=audio.playback.effect-api/name": {
          "source_sha256": "4d97f374e377beaf91ff91a2f28a04f3b62914ae314f0300aefbb2d30e5c78b5",
          "translation": "Game.PlaySound",
          "preserve_source": true
        },
        "/playback_rules/@id=audio.playback.effect-api/rationale": {
          "source_sha256": "716b54726a22200fe6a6c66d0990f26b9c503e405f000390ef7998aed1c6c6e9",
          "translation": "Script method передаёт точный путь ресурса в AudioManager и раскрывает непереиспользуемый handle времени жизни, возвращаемый при добавлении звука в список mixer."
        },
        "/playback_rules/@id=audio.playback.effect-api/requirement": {
          "source_sha256": "fc60975d048d8bcaa827413af4b9b9162a743f0d74da25357b72a1621baef6d4",
          "translation": "Используйте Game.PlaySound на клиенте для воспроизведения не-музыки и сохраняйте его uint32 handle, если звук потребуется позиционировать повторно; ноль означает, что живой звук не запущен."
        },
        "/playback_rules/@id=audio.playback.effect-base-first/name": {
          "source_sha256": "eb54ba3985cc166acacebdd0bb41e96d5a97d54244b9658d22a0a7cce463a8c4",
          "translation": "Точный путь эффекта"
        },
        "/playback_rules/@id=audio.playback.effect-base-first/rationale": {
          "source_sha256": "d2d0b7a11378cc6f4fda28e29539e31085487d982752d048ffb34422f1f5ceee",
          "translation": "Политика вариантов принадлежит встраиваемому проекту: AudioManager не нормализует основы, не подставляет суффиксы и не навязывает соглашение каталога."
        },
        "/playback_rules/@id=audio.playback.effect-base-first/requirement": {
          "source_sha256": "29b27e83b893bce4b7cddfde939a3e79ed616c839411a0ea52fc51dd8eb5228c",
          "translation": "Разрешайте проектные понятия и нумерованные варианты до Game.PlaySound, затем передавайте точный путь выбранного ресурса вместе с авторским суффиксом."
        },
        "/playback_rules/@id=audio.playback.effect-contiguous-variants/name": {
          "source_sha256": "fd8d331ec3bcf6064485ab8c6badea2cb1a27cb289d9b094d724d1cdfe2bed5a",
          "translation": "Запуск позиционированного звука"
        },
        "/playback_rules/@id=audio.playback.effect-contiguous-variants/rationale": {
          "source_sha256": "11d0c088b22b670ce255b88a17dd490489874489f4928c4448f2374c65fba5e8",
          "translation": "Позиционирование — проекция, принадлежащая вызывающему коду, в attenuation и стереобаланс mixer; кривые расстояния и выбор listener остаются политикой проекта."
        },
        "/playback_rules/@id=audio.playback.effect-contiguous-variants/requirement": {
          "source_sha256": "4b4ea9e91e2a09dab9e96621fda3d2923e856b6dcecb57914661ec0c3e5f12e1",
          "translation": "Используйте overload Game.PlaySound с attenuation и pan для запуска позиционированного звука; attenuation не больше нуля возвращает нулевой handle до файлового ввода-вывода."
        },
        "/playback_rules/@id=audio.playback.global-mix/name": {
          "source_sha256": "460ba5d590b32648ae3a8542ff699a3b0538a6019aed749a39599934b9689f47",
          "translation": "Обновление позиционированного звука"
        },
        "/playback_rules/@id=audio.playback.global-mix/rationale": {
          "source_sha256": "e52f2ff09747ea8cd03229e068ba2bd9c612f920cc233e0d9bc7dec0b8c27aa4",
          "translation": "Обновление выполняется под lock аудиоустройства, поэтому mixer наблюдает одну согласованную пару позиционирования, а завершённый звук нельзя оживить устаревшим handle."
        },
        "/playback_rules/@id=audio.playback.global-mix/requirement": {
          "source_sha256": "a0ff0d2d997303ba48cf2c0949baa5696bc90d33f1d33ecb51b3355bea08a43b",
          "translation": "Вызывайте Game.UpdateSound с живым handle, чтобы заменить attenuation и pan при движении источника или listener; false означает нулевой handle, неактивное аудио или уже завершившееся воспроизведение."
        },
        "/playback_rules/@id=audio.playback.music-api/name": {
          "source_sha256": "4b5adbaca59bd0eae749162c14d5a6f969158b453e997c920f1dd5f5cf7a3a30",
          "translation": "Game.PlayMusic",
          "preserve_source": true
        },
        "/playback_rules/@id=audio.playback.music-api/rationale": {
          "source_sha256": "b7afef8a191b2109baa8813bbb6b4a26c6d9b5acf4895bc03ebf1655246d4895",
          "translation": "Script entry point применяет соглашение об остановке по пустому имени до делегирования AudioManager."
        },
        "/playback_rules/@id=audio.playback.music-api/requirement": {
          "source_sha256": "95b8719a03d4ef64675e13018a7dc6b999d4edcdad2960da0ff5b2b4e442bc07",
          "translation": "Используйте Game.PlayMusic с точным путём ресурса и интервалом повтора; пустой путь останавливает текущую музыку и сообщает об успехе."
        },
        "/playback_rules/@id=audio.playback.repeat/name": {
          "source_sha256": "c48d5520ca4eb81d384989eb217277be1b9f107095daeb22e7b0a7171312df96",
          "translation": "Интервал повтора"
        },
        "/playback_rules/@id=audio.playback.repeat/rationale": {
          "source_sha256": "5b33db19938508ea577c67d5eeb0cbad498e0fa63328266c48346b6d9b644955",
          "translation": "ProcessSound планирует NextPlayTime с порогом в одну миллисекунду и перематывает сохранённые Ogg streams перед повтором."
        },
        "/playback_rules/@id=audio.playback.repeat/requirement": {
          "source_sha256": "93b81ccefbc1dad0fe7f0f89200f9f0a2a97157d4ca6f9c44f68e9505916e151",
          "translation": "Передайте ненулевой repeatTime для повтора после завершения; значения не больше одной миллисекунды повторяют немедленно, большие вставляют заданную задержку."
        },
        "/playback_rules/@id=audio.playback.separate-volumes/name": {
          "source_sha256": "3093538acbc038259fd55ab3556e5d210a35f96db24d2961c138dbec05bdc247",
          "translation": "Громкость звуков и музыки"
        },
        "/playback_rules/@id=audio.playback.separate-volumes/rationale": {
          "source_sha256": "83f0e956903ecc70bc2164419e91fab93d1afd237374cef78c58f161c3dc307c",
          "translation": "AudioManager владеет текущей громкостью, поскольку настройки Engine неизменяемы, выбирает её по IsMusic, а AppAudio нормализует ограниченный процент перед SDL-микшированием."
        },
        "/playback_rules/@id=audio.playback.separate-volumes/requirement": {
          "source_sha256": "6515f83a317b2fdcba5b043a05d6defd1f2c7bc669b51744c6dcd8bed621d0d3",
          "translation": "Используйте Audio.SoundVolume и Audio.MusicVolume как начальные значения, затем Game.SetSoundVolume и Game.SetMusicVolume для изменений в runtime; frontend ограничивает каждую операцию микширования диапазоном от 0 до 100."
        },
        "/playback_rules/@id=audio.playback.single-music/name": {
          "source_sha256": "9f254530813a415d22ca9c7378148775ab7ae1ffe730903c2a922310056949c0",
          "translation": "Один музыкальный поток"
        },
        "/playback_rules/@id=audio.playback.single-music/rationale": {
          "source_sha256": "6028a62c50f459389f5406c698aa2ad239ee2fdde430bd113f3d08df3f2b34d1",
          "translation": "AudioManager.PlayMusic вызывает StopMusic до Load, поэтому неудачная замена не восстанавливает предыдущую композицию."
        },
        "/playback_rules/@id=audio.playback.single-music/requirement": {
          "source_sha256": "fc102b0a540c26663dec0ac94811be5b9fef9f731bc422b38a632f8b0d80cf58",
          "translation": "Ожидайте, что новый запрос музыки остановит каждый существующий музыкальный экземпляр до загрузки замены."
        },
        "/scope/excluded": {
          "source_sha256": "1196f8ba7cc41884fe77fd20999e3447cfbe832109f52f7047bafbaa4235c20f",
          "translation": [
            "проектные каталоги звуков, сопоставления понятий с путями, выбор вариантов, автоматы состояний музыки, выбор ambient и политика пространственного звука",
            "запись, голосовой чат, устройства захвата, DSP-графы, шины, ducking и авторские кривые attenuation",
            "целевые параметры мастеринга, политика loudness, лицензирование, атрибуция и происхождение исходников",
            "звуковые узлы Effekseer, которые не поддерживаются средой выполнения Effekseer в FOnline",
            "видеоконтейнеры и связанный с видео звук"
          ]
        },
        "/scope/included": {
          "source_sha256": "ee7d938dc9fbbbfb9e8d6fd2e78afe47750135de7b64cdad73b403869b03074a",
          "translation": [
            "авторские входы WAV и нативные ресурсы Ogg Vorbis, принимаемые AudioBaker",
            "доставка через AudioBaker и индексирование путей ресурсов в AudioManager",
            "декодирование, преобразование, streaming, микширование, позиционирование, повтор и остановка в AudioManager",
            "клиентские script entry points Game.PlaySound, Game.UpdateSound и Game.PlayMusic",
            "настройки аудио, headless-поведение, диагностика и границы проектной проверки"
          ]
        },
        "/scope/support_note": {
          "source_sha256": "49ed941bf15dd10810cc4c19d4d8b07ff60d2edbe82c93ee38c75f6afdd3d617",
          "translation": "Авторские входы WAV и нативного Ogg, запечённый payload Ogg, handles звука, обновления позиционирования и поведение клиентского воспроизведения привязаны к ревизии сфокусированными тестами baker и mixer."
        },
        "/validation_rules/@id=audio.validation.decoder-diagnostics/name": {
          "source_sha256": "94ca715d06bb97b0cafb3a368d2fa278813ed44894112ac8f53a833a2d932288",
          "translation": "Диагностика декодера"
        },
        "/validation_rules/@id=audio.validation.decoder-diagnostics/rationale": {
          "source_sha256": "1c6419235429cf947b3190dfe7a83c01b86309839c1acd332f766a55a6f9a24e",
          "translation": "WAV и Ogg без перекодирования отклоняются во время запекания, а существующий ресурс, который нельзя декодировать в runtime, записывает ошибку и входит в debugger вместо незаметного успеха с тишиной."
        },
        "/validation_rules/@id=audio.validation.decoder-diagnostics/requirement": {
          "source_sha256": "02c368a5026bb90220fc6e7b53d52f8b9d6861046dc4efacf13a9ac65e389d39",
          "translation": "Считайте исключения AudioBaker и диагностику открытия Ogg, декодирования или преобразования устройства ошибками авторинга либо упаковки; не принимайте нулевой handle воспроизведения за проверку контента."
        },
        "/validation_rules/@id=audio.validation.generated-reference/name": {
          "source_sha256": "1877ee81c2e4a68728ba3e7d488d09a2401c8f1dcaeb926452ee8a0a092c6e13",
          "translation": "Справочник по исходникам"
        },
        "/validation_rules/@id=audio.validation.generated-reference/rationale": {
          "source_sha256": "7dfb02c4be2646fb5658f64ef20a28d570486b9e4fdc89cbaf7170924847c80b",
          "translation": "Сгенерированная модель выявляет drift расширений исходников, runtime-кодека, размера порции, настройки, handle, набора тестов и headless-поведения до незаметного устаревания текста."
        },
        "/validation_rules/@id=audio.validation.generated-reference/requirement": {
          "source_sha256": "8d30cf8fa06c364ee5c6b2c3d32d4f412826a8b9844d8c8ec3825c0ecc75a65a",
          "translation": "Перегенерируйте и проверяйте audio-модель при изменении AudioBaker, AudioManager, AppAudio, настроек, доставки пакета или script entry points."
        },
        "/validation_rules/@id=audio.validation.headless-boundary/name": {
          "source_sha256": "bdfbd064835ae7d143c0888897c2289fa01cdaedf388479fa2f321d03ebe61a5",
          "translation": "Граница headless"
        },
        "/validation_rules/@id=audio.validation.headless-boundary/rationale": {
          "source_sha256": "cfa6de1861833de95ddcb5ff1eced81eca38c8a41884fda76a1d4b977f2df343",
          "translation": "Headless-аудио намеренно не предоставляет активного устройства или callback."
        },
        "/validation_rules/@id=audio.validation.headless-boundary/requirement": {
          "source_sha256": "749f0aaa65cc41c3858a9f1c3dcf9cd7feb8713aaa07f857502e06a57371c0f6",
          "translation": "Не заявляйте слышимую проверку по headless- или stub-приложению; AppAudio там отключён, а воспроизведение может сообщить о no-op success."
        },
        "/validation_rules/@id=audio.validation.native-test-gap/name": {
          "source_sha256": "70e466cbdb5850c13ab17f93eac174f76305b20a97e18b9e006e64a62434dcf3",
          "translation": "Сфокусированное нативное покрытие"
        },
        "/validation_rules/@id=audio.validation.native-test-gap/rationale": {
          "source_sha256": "81824f762b265629ce04c7f2da83e80bcb9e7c78be0d1c07da5e38b082c5b140",
          "translation": "Эти suites напрямую исполняют контракт кодека и callback; видимый клиент всё ещё нужен, чтобы доказать работу реального платформенного устройства и слышимый вывод."
        },
        "/validation_rules/@id=audio.validation.native-test-gap/requirement": {
          "source_sha256": "a56771434fee8712a3496f113d5ae500050b3a5a807ba8dd2c7fafbbe15fb5a2",
          "translation": "Запускайте Test_AudioBaker и Test_AudioManager для запекания WAV/Ogg, passthrough, ошибочных входов, панорамирования, позиционированного воспроизведения, текущих обновлений, истечения handles и вывода mixer."
        },
        "/validation_rules/@id=audio.validation.project-boundary/name": {
          "source_sha256": "4cf76ef47eaad3078ccbb182cd4fc98c1533e973dc89cf697c2ba3f5762001d5",
          "translation": "Владение встраиваемого проекта"
        },
        "/validation_rules/@id=audio.validation.project-boundary/rationale": {
          "source_sha256": "0df4f1e721fb282c0f39b8575c05a95470ca7909fd5896f64ca85b1f591cedef",
          "translation": "Движок предоставляет запекание, runtime-декодирование, клиентский mixer и параметры позиционирования, а не полный игровой аудиодизайн или систему управления ресурсами."
        },
        "/validation_rules/@id=audio.validation.project-boundary/requirement": {
          "source_sha256": "c47631d878ad7257b757d398f036b54a361bcabc738e27ca00abc1b4e4ba1590",
          "translation": "Храните соглашения каталога, spatial/recipient-политику, мастеринг, лицензии, атрибуцию, бюджеты и игровые триггеры в проектной документации и тестах."
        },
        "/validation_rules/@id=audio.validation.raw-copy/name": {
          "source_sha256": "2f6be07bc719de41b5fd99464e4f618fe461206e126e6826e1ff9a1815936c21",
          "translation": "Гейт запекания аудио"
        },
        "/validation_rules/@id=audio.validation.raw-copy/rationale": {
          "source_sha256": "ef498d31fa14956d338ac263c919b340ff7e2f98cc2c7f5defafc44f5b34d66d",
          "translation": "Сфокусированные тесты доказывают преобразование и passthrough, а запекание во встраиваемом проекте доказывает, что его пакет действительно выбирает Audio и поставляет ресурсы, используемые скриптами."
        },
        "/validation_rules/@id=audio.validation.raw-copy/requirement": {
          "source_sha256": "d658f335199dc52da465788f24b5b17eb0b62ab470c62574076059da8bdfc191",
          "translation": "Запеките репрезентативные входы PCM/float WAV и нативного Ogg, убедитесь в сохранении авторских путей, проверьте счётчики аудио и откройте каждый результат как Vorbis."
        },
        "/validation_rules/@id=audio.validation.visible-client/name": {
          "source_sha256": "54306279de0fa8e5ba8e6f6c742d480f877b1501877252f1d1f614283d669dfd",
          "translation": "Видимая слышимая проверка"
        },
        "/validation_rules/@id=audio.validation.visible-client/rationale": {
          "source_sha256": "2c7dea5337bd753a7d55d853a628c82c2d62d924bce2b8fb3b14045eb89aea82",
          "translation": "Только активное платформенное аудиоустройство доказывает преобразование, планирование callback, микширование и слышимый вывод."
        },
        "/validation_rules/@id=audio.validation.visible-client/requirement": {
          "source_sha256": "9dd60203010a2d9a841e7559991e7e5f0732c46160b72bd1014e4ff696d3a3b3",
          "translation": "На каждой заявленной платформе используйте видимый клиент с включённым аудио: воспроизведите запечённый ресурс с WAV-путём и ресурс с нативным Ogg-путём, переместите позиционированный звук, замените музыку, проверьте отложенный и немедленный повтор и крайние значения громкости."
        }
      }
    },
    "cli": {
      "entries": {
        "/commands/@id=cli.buildtools.command.build-auxiliary/arguments/@id=cli.buildtools.command.build-auxiliary.argument.config/description": {
          "source_sha256": "9f5bef077ec4a3260945a72705b6cce6c83cb655673242aee460ae70141ebc0c",
          "translation": "Конфигурация сборки (по умолчанию: Release)."
        },
        "/commands/@id=cli.buildtools.command.build-auxiliary/arguments/@id=cli.buildtools.command.build-auxiliary.argument.target/description": {
          "source_sha256": "7579f5ef50a390eee0e6f7b7ddfa92a445bbb0135b1a9b34174289dec93f9d86",
          "translation": "Собираемый вспомогательный инструмент."
        },
        "/commands/@id=cli.buildtools.command.build-auxiliary/summary": {
          "source_sha256": "d6f8bed7a5b115de50e3e313a579311d7d3cd252e32c80d9b83c81b70ca87186",
          "translation": "Собрать отдельно упаковываемый вспомогательный инструмент."
        },
        "/commands/@id=cli.buildtools.command.build/arguments/@id=cli.buildtools.command.build.argument.config/description": {
          "source_sha256": "d8b637429cd07dcba7699fb08c80a099d5591891c0fccaffec684dac55637ae7",
          "translation": "Конфигурация сборки CMake."
        },
        "/commands/@id=cli.buildtools.command.build/arguments/@id=cli.buildtools.command.build.argument.platform/description": {
          "source_sha256": "ad40d8e0da8d29fd3b8723c7808cd6e6bc2a957a0f23f90d2b697b2024ca64e4",
          "translation": "Ключ платформы движка, например linux, win64, web или android-arm64."
        },
        "/commands/@id=cli.buildtools.command.build/arguments/@id=cli.buildtools.command.build.argument.target/description": {
          "source_sha256": "a5cf319054df6029bfffbe2aba4c8b7eede4bed322d06b4c753203a35f5a226e",
          "translation": "Профиль цели BuildTools, например client, server, baker или unit-tests."
        },
        "/commands/@id=cli.buildtools.command.build/summary": {
          "source_sha256": "4f721dde4ad668008884b8673f94d8929c010613de1af2c61e33675772f230e5",
          "translation": "Настроить и собрать цель."
        },
        "/commands/@id=cli.buildtools.command.env/arguments/@id=cli.buildtools.command.env.argument.shell/description": {
          "source_sha256": "5f87b6de8257bb952d5044f3d06eab2e49fe5b23c01fea58b5aa209d97c42009",
          "translation": "Синтаксис вывода окружения."
        },
        "/commands/@id=cli.buildtools.command.env/arguments/@id=cli.buildtools.command.env.argument.summary/description": {
          "source_sha256": "ce71145cc786f44d12cd620286ff59f4da0a5d2194aba00a1a692cf2a8b87fe3",
          "translation": "Добавить сводку определённого окружения."
        },
        "/commands/@id=cli.buildtools.command.env/arguments/@id=cli.buildtools.command.env.argument.summary_only/description": {
          "source_sha256": "3d63f443bbcc3c1f61c8d0dd24f635850031cfdb9376f492e05d9660ddb2240f",
          "translation": "Вывести только сводку определённого окружения."
        },
        "/commands/@id=cli.buildtools.command.env/summary": {
          "source_sha256": "2194cae5068db97a2895d98a50d6ddb59482296a5a7e391ec669399becab2988",
          "translation": "Определить окружение BuildTools."
        },
        "/commands/@id=cli.buildtools.command.format-source/summary": {
          "source_sha256": "a5b1e26042fa18d11ce189d7a277bb51e0306d1afa3987d7cd2e13ef69c36f05",
          "translation": "Форматировать исходники движка."
        },
        "/commands/@id=cli.buildtools.command.host-check/arguments/@id=cli.buildtools.command.host-check.argument.host/description": {
          "source_sha256": "cab0b568cf70168c61da38215fb893bfbe1ab7132bc006ab5e7637e3e90c167f",
          "translation": "Проверяемая host-платформа."
        },
        "/commands/@id=cli.buildtools.command.host-check/summary": {
          "source_sha256": "c23d03272563fce74149116649f7fb2f8f6c339635bb749df3609b137b6766b2",
          "translation": "Проверить зависимости host-системы."
        },
        "/commands/@id=cli.buildtools.command.package-android-debug/arguments/@id=cli.buildtools.command.package-android-debug.argument.configs/description": {
          "source_sha256": "dbf676d2e9be039321b9ddddfea5895d35ecb9101c02c7cddcf56fd16166e7c5",
          "translation": "Имена упаковываемых конфигураций (например, LocalTest)."
        },
        "/commands/@id=cli.buildtools.command.package-android-debug/arguments/@id=cli.buildtools.command.package-android-debug.argument.devname/description": {
          "source_sha256": "ba0f5795becdc863dd04ebe0df14e715fb14f9ee7b93044884320759ff1d6f63",
          "translation": "Краткое имя проекта для имён бинарных файлов и каталогов (например, LF)."
        },
        "/commands/@id=cli.buildtools.command.package-android-debug/arguments/@id=cli.buildtools.command.package-android-debug.argument.platform/description": {
          "source_sha256": "efc58917e6522a4caf61036c5e5465cb82f1285f5c1c6abf2903f851a8b6a96d",
          "translation": "Целевая платформа Android (например, android-arm64)."
        },
        "/commands/@id=cli.buildtools.command.package-android-debug/summary": {
          "source_sha256": "a1fbefea09e33004aa2da19ca4acdec4c8430719937a302241b149725ef36e75",
          "translation": "Упаковать локальный Android-клиент для отладки."
        },
        "/commands/@id=cli.buildtools.command.package-web-debug/arguments/@id=cli.buildtools.command.package-web-debug.argument.configs/description": {
          "source_sha256": "e131f5461f0c87d367919ce82ac18b0dd61a038a4eab8fc57bfca24596316a87",
          "translation": "Имена упаковываемых конфигураций (например, RemoteSceneLaunch LocalTest)."
        },
        "/commands/@id=cli.buildtools.command.package-web-debug/arguments/@id=cli.buildtools.command.package-web-debug.argument.devname/description": {
          "source_sha256": "ba0f5795becdc863dd04ebe0df14e715fb14f9ee7b93044884320759ff1d6f63",
          "translation": "Краткое имя проекта для имён бинарных файлов и каталогов (например, LF)."
        },
        "/commands/@id=cli.buildtools.command.package-web-debug/summary": {
          "source_sha256": "aa39f6bd71738e63ec1776a243a2a3981e8fce145cff520d5f1fffe7ab80797f",
          "translation": "Упаковать локальный Web-клиент для отладки."
        },
        "/commands/@id=cli.buildtools.command.prepare-host-workspace/arguments/@id=cli.buildtools.command.prepare-host-workspace.argument.check/description": {
          "source_sha256": "963c673df77b12fe9f30ec0a45b83ef612a6775af4aa6640be57659ca288bfa2",
          "translation": "Проверить доступность без установки или сборки."
        },
        "/commands/@id=cli.buildtools.command.prepare-host-workspace/arguments/@id=cli.buildtools.command.prepare-host-workspace.argument.features/description": {
          "source_sha256": "432bc7db51aca522f790d70674901dced7c0c79755d5bbcf5de05e2241fb76e3",
          "translation": "Подготавливаемые группы возможностей; не указывайте их, чтобы использовать значения host-системы по умолчанию."
        },
        "/commands/@id=cli.buildtools.command.prepare-host-workspace/arguments/@id=cli.buildtools.command.prepare-host-workspace.argument.host/description": {
          "source_sha256": "38448ee6847c6f315c403f28760575eda11bd40f3fc30eeb6bfb2302da76b6af",
          "translation": "Подготавливаемая host-платформа."
        },
        "/commands/@id=cli.buildtools.command.prepare-host-workspace/summary": {
          "source_sha256": "48be57ee43f611f3a4c6613d3ab833bb4cd14e2ee2b849031704c4742cd30ca4",
          "translation": "Подготовить рабочий каталог и зависимости host-системы."
        },
        "/commands/@id=cli.buildtools.command.prepare-workspace/arguments/@id=cli.buildtools.command.prepare-workspace.argument.check/description": {
          "source_sha256": "963c673df77b12fe9f30ec0a45b83ef612a6775af4aa6640be57659ca288bfa2",
          "translation": "Проверить доступность без установки или сборки."
        },
        "/commands/@id=cli.buildtools.command.prepare-workspace/arguments/@id=cli.buildtools.command.prepare-workspace.argument.parts/description": {
          "source_sha256": "284b09497a6e458983dba3edbcf1426dda3ad93a9544af77c418ba7c9918969c",
          "translation": "Подготавливаемые компоненты рабочего каталога."
        },
        "/commands/@id=cli.buildtools.command.prepare-workspace/summary": {
          "source_sha256": "89561b2be72741f1dcbf26cb9a2981e19fca2aa37ca25e3c5f7b9c1071669b50",
          "translation": "Подготовить общие части рабочего каталога."
        },
        "/commands/@id=cli.buildtools.command.repair-checkout-case/arguments/@id=cli.buildtools.command.repair-checkout-case.argument.check/description": {
          "source_sha256": "2c480f4fd2e0e0cd776659e3cb60d3d1f5746687e3ef463833af685a2a75dffb",
          "translation": "Проверить расхождения регистра, не переименовывая элементы."
        },
        "/commands/@id=cli.buildtools.command.repair-checkout-case/summary": {
          "source_sha256": "cc2b5338ab9937d6ea209ef4f5b718bb9314589caa0b9f71680af255f4882114",
          "translation": "Привести регистр имён элементов рабочего дерева в соответствие с индексом Git."
        },
        "/commands/@id=cli.buildtools.command.setup-mono/arguments/@id=cli.buildtools.command.setup-mono.argument.arch/description": {
          "source_sha256": "4123d84c5a7ec44dfb5a185bf12fd8ed1bb1132ad6bbe8fb86c2a95ffd0dccc0",
          "translation": "Ключ архитектуры runtime."
        },
        "/commands/@id=cli.buildtools.command.setup-mono/arguments/@id=cli.buildtools.command.setup-mono.argument.config/description": {
          "source_sha256": "229a4e05aa527df61294d5719db36c0d3fee229d5761642faa3a7ea3cfd8b4c1",
          "translation": "Конфигурация сборки runtime."
        },
        "/commands/@id=cli.buildtools.command.setup-mono/arguments/@id=cli.buildtools.command.setup-mono.argument.os_name/description": {
          "source_sha256": "ed7896bc04f3b63cb0afdd2f4467f4962ade125c781e2b101c9e0e73d2d0c8eb",
          "translation": "Ключ операционной системы runtime."
        },
        "/commands/@id=cli.buildtools.command.setup-mono/summary": {
          "source_sha256": "d08a30d37bd80ef9e9198cbc43d60210b68db9f13b0dafb3fa99c8089712b5f0",
          "translation": "Подготовить runtime Mono."
        },
        "/commands/@id=cli.buildtools.command.toolset/arguments/@id=cli.buildtools.command.toolset.argument.target/description": {
          "source_sha256": "b173e854292fa9d7a51807d90c89753e0e1b9f92d62f0e8986d28661697514fd",
          "translation": "Цель из настроенного дерева сборки toolset."
        },
        "/commands/@id=cli.buildtools.command.toolset/summary": {
          "source_sha256": "28fa65ef7cccac655bfd71e904544830d4395859483cbf56e90ed9b05ea665eb",
          "translation": "Собрать существующую цель toolset."
        },
        "/commands/@id=cli.buildtools.command.validate/arguments/@id=cli.buildtools.command.validate.argument.names/description": {
          "source_sha256": "02fe51cb1798dff9a759e1cc9152389281bacbb87ca98804cbf128fc6f869d59",
          "translation": "Одно или несколько имён сценариев проверки."
        },
        "/commands/@id=cli.buildtools.command.validate/summary": {
          "source_sha256": "e52baffb10193242886bb9d727dfbfe44f0150b85a8719a614763c33f3068859",
          "translation": "Настроить и проверить сценарии."
        },
        "/description": {
          "source_sha256": "7bf9bc24039a9275c6ca8e8b02f1099531b1c1aba5af9cd18147dcb7d436b86f",
          "translation": "Общие вспомогательные средства BuildTools"
        },
        "/scope/excluded": {
          "source_sha256": "bf5fa23df7b14116c1c54e30c8997c2013f0860766b7953e041b3b34355d6421",
          "translation": [
            "командные строки вспомогательных скриптов вне BuildTools/buildtools.py",
            "объявление package.py и контракты payload",
            "семантика validation-целей и внутренние helper-функции Python"
          ]
        },
        "/scope/included": {
          "source_sha256": "e2fb90d46f9d730f2730e92f66a381904833af05ec3fdc18f128306fd227c917",
          "translation": [
            "команды верхнего уровня и аргументы, объявленные функцией create_parser() в BuildTools/buildtools.py",
            "значения argparse по умолчанию, варианты, кардинальность, описания, usage и вывод --help"
          ]
        },
        "/scope/support_note": {
          "source_sha256": "8abb18c0585eb4744b3d0bd96bd508d89494f288e52f135e4e13a97e7e4f68e9",
          "translation": "Версионируемая линия поддержки CLI не объявлена; закрепляйте ревизию движка в автоматизации."
        }
      }
    },
    "cmake": {
      "entries": {
        "/helpers/@id=cmake.helper.AddBakingTarget/description": {
          "source_sha256": "f4cc5eb10e93a3e293686d09eb7eab871e063ec905ee6fed6e3325df4c1a2eea",
          "translation": "Создаёт проектную цель запекания с необязательным subconfig, принудительным режимом и обновлением build hash после SetupScriptsAndBaking."
        },
        "/helpers/@id=cmake.helper.AddEngineSources/description": {
          "source_sha256": "1bb8ed4584f287ef0e4d8ab08b6c06cf71ddbe6c619e1c3c42b06756b7e4e030",
          "translation": "Добавляет нативные исходники подключающего проекта с разделением по ролям до RegisterEngineSources."
        },
        "/helpers/@id=cmake.helper.AddNativeIncludeDir/description": {
          "source_sha256": "6751e425fcaf582f1c1979374c79d8e5365beb5f78f13b81eb3961c3b0e7a206",
          "translation": "Добавляет относительные к проекту каталоги include, когда включены нативные скрипты."
        },
        "/helpers/@id=cmake.helper.AddStageHook/description": {
          "source_sha256": "7f4580e6e2ceab2bc395eb42286e64b6ddae12ea571606b5a286ccfc3a31bdc1",
          "translation": "Регистрирует макрос проекта на границе стадии до её выполнения."
        },
        "/helpers/@id=cmake.helper.RegisterFindPackageHandler/description": {
          "source_sha256": "84f36641415d03acd81700af35abafa960b396270bfa8fd4bb0eff94db3606b6",
          "translation": "Регистрирует явный обработчик поиска пакета, используемый перехватчиком find_package на стадии ThirdParty."
        },
        "/helpers/@id=cmake.helper.SetOption/description": {
          "source_sha256": "c51d7f0d9b27a106400783bc54fa1e682ff032e0a306d393747daec1d774300f",
          "translation": "Задаёт значение подключающего проекта по умолчанию, только если переменная ещё не определена."
        },
        "/option_override_precedence": {
          "source_sha256": "15d9c20d27971d43703748c8a1b39484f82e82e40b3030ef2b3b6d80ce947285",
          "translation": [
            "соответствующая переменная окружения FO_",
            "существующее значение кеша CMake или -D",
            "значение SetOption, заданное подключающим проектом",
            "объявленное значение интерфейса по умолчанию"
          ]
        },
        "/options/@id=cmake.option.FO_ANGELSCRIPT_SCRIPTING/description": {
          "source_sha256": "94220ee86d5eb9635fa1e7653f8e14cb9ff45003c86e4563e0b861cbe6818e12",
          "translation": "Компилирует backend скриптов AngelScript."
        },
        "/options/@id=cmake.option.FO_APP_ICON/description": {
          "source_sha256": "d0e4c8c0223f0beba95bacb1877d0e6b6b2017418d4b35254050bb0e63b03b96",
          "translation": "Исходник значка приложения для сгенерированных платформенных целей."
        },
        "/options/@id=cmake.option.FO_BINARY_OUTPUT_POSTFIX/description": {
          "source_sha256": "a86a45c8a7bd2e0d48506539b069a86c2b6a2bf368ac7e441e339a7a4399826e",
          "translation": "Необязательный суффикс имён каталогов сгенерированных бинарных файлов."
        },
        "/options/@id=cmake.option.FO_BUILD_ASCOMPILER/description": {
          "source_sha256": "e9f16ca5d15f2449496967e9bcddc693666e4648163b5564f64a171259d91b61",
          "translation": "Создаёт цель приложения-компилятора AngelScript."
        },
        "/options/@id=cmake.option.FO_BUILD_BAKER/description": {
          "source_sha256": "6cd2886867c2c4f93cde16d23a3ed106dd0dc021ed161c019fa78f789d8b8eb7",
          "translation": "Создаёт цели приложений baker."
        },
        "/options/@id=cmake.option.FO_BUILD_CLIENT/description": {
          "source_sha256": "812af9759a3a860a2a2e788abe779e9f6332460fd393ecad3364ff0185175e8b",
          "translation": "Создаёт цели клиентских приложений."
        },
        "/options/@id=cmake.option.FO_BUILD_MAPPER/description": {
          "source_sha256": "2d0eba1070fcf973a58dec44db067ab52d154cfa1dfefadd97b83e321d278f83",
          "translation": "Создаёт цели приложения Mapper."
        },
        "/options/@id=cmake.option.FO_BUILD_SERVER/description": {
          "source_sha256": "3b8d9a9cfdc04c20c883ed4e252678043c1c5a755ad753f93552fa2e7d8f60fa",
          "translation": "Создаёт цели серверных приложений."
        },
        "/options/@id=cmake.option.FO_CODE_COVERAGE/description": {
          "source_sha256": "61afd89b86169e64a328107d90f9155e4b37b7657b673530a5bd972a8a8b606d",
          "translation": "Создаёт конфигурацию покрытия кода; этот режим нельзя сочетать с режимами сборки приложений или модульных тестов."
        },
        "/options/@id=cmake.option.FO_CXX_STANDARD/description": {
          "source_sha256": "b818c4b849bd0f9293f4b53ff45ffa5f2f309127b6fcc2f60d6e3cbe68221f47",
          "translation": "Стандарт языка C++ для компиляции проекта; значения ниже 20 не поддерживаются."
        },
        "/options/@id=cmake.option.FO_DEV_NAME/description": {
          "source_sha256": "47ebfc97c66c6ae1da7cd013e7ee7e9e98293c6f62783b5cd96243c3beacbdee",
          "translation": "Краткий идентификатор проекта, используемый как префикс сгенерированных целей и бинарных файлов."
        },
        "/options/@id=cmake.option.FO_DISABLE_ASIO/description": {
          "source_sha256": "cb7731f077b23b1e68f5b29d464463497e3ae1879ee5c0525b9b03f8871567c5",
          "translation": "Отключает сетевой backend Asio."
        },
        "/options/@id=cmake.option.FO_DISABLE_MONGO/description": {
          "source_sha256": "1ab4b8bf6ab61f200bef9044d87197d7e9ce7fd60b849db2e3d433ca5dcb8aaa",
          "translation": "Отключает поддержку backend MongoDB."
        },
        "/options/@id=cmake.option.FO_DISABLE_NAMESPACE/description": {
          "source_sha256": "b37699c017b0cb086cfa0cbdb1123b16051912fd809b3b26eeb48d40046df856",
          "translation": "Компилирует нативные символы движка без пространства имён FOnline."
        },
        "/options/@id=cmake.option.FO_MEMORY_DIAGNOSTICS/description": {
          "source_sha256": "b9192e59ad08c23e8b0388cb86c22509e51e0499e3a5b239db009cb77a5ded7e",
          "translation": "Включает статистику заполнения rpmalloc в обычных сборках; Debug и Tracy уже включают её при доступном rpmalloc."
        },
        "/options/@id=cmake.option.FO_DISABLE_RPMALLOC/description": {
          "source_sha256": "32cf386df267c9d9c885abd09313d2404817d760be1f8c2bee36a672a800128c",
          "translation": "Отключает встроенный аллокатор rpmalloc."
        },
        "/options/@id=cmake.option.FO_DISABLE_SDL_GPU/description": {
          "source_sha256": "b78fde660528d4b5844fc93850ac31df40639ab0744055e22b7490929c67f4be",
          "translation": "Отключает backend рендеринга SDL_GPU."
        },
        "/options/@id=cmake.option.FO_DISABLE_SQLITE/description": {
          "source_sha256": "cf0c3b7aa950a5205986d3b6ef67125fb9504039b2181ad9b62259a595afdb63",
          "translation": "Отключает поддержку backend SQLite."
        },
        "/options/@id=cmake.option.FO_DISABLE_VULKAN/description": {
          "source_sha256": "62ad5b510987669ad221c561d5405dd5ca735687a38c64c7fd1f940d62775916",
          "translation": "Отключает backend рендеринга Vulkan."
        },
        "/options/@id=cmake.option.FO_DISABLE_WEB_SOCKETS/description": {
          "source_sha256": "c6251f1142e5e31d386047cb870bb2f6d635e1aa8f2f74a1d18c0f9739b35ea4",
          "translation": "Отключает поддержку транспорта WebSocket."
        },
        "/options/@id=cmake.option.FO_EFFECT_MAX_PASSES/description": {
          "source_sha256": "ded9b76989a14b7fdb75242801aa180efc6015cac5354d1be40210e26f37b6cf",
          "translation": "Максимальное количество проходов одного эффекта."
        },
        "/options/@id=cmake.option.FO_EFFECT_SCRIPT_VALUES/description": {
          "source_sha256": "3d864dd7b193b382ab29f095b8fcd3bcf30069de3d48798b922b6ce291831604",
          "translation": "Количество float-слотов в ScriptValueBuf; значение должно быть кратно четырём."
        },
        "/options/@id=cmake.option.FO_EFFEKSEER_PARTICLES/description": {
          "source_sha256": "dea982414c52d4a1ad1af84b90146b77024e6f87b8af20a695811589c9546a73",
          "translation": "Компилирует компилятор проектов Effekseer и runtime-backend."
        },
        "/options/@id=cmake.option.FO_EMBEDDED_DATA_CAPACITY/description": {
          "source_sha256": "eed89dc486baa7aff0982ba9ea0411b3bf5d69cb93fa7a05c525c99889897f80",
          "translation": "Ёмкость, зарезервированная для встроенных данных в сгенерированных бинарных файлах."
        },
        "/options/@id=cmake.option.FO_ENABLE_3D/description": {
          "source_sha256": "838aa93261c0ec593d3ab7f8bc228ba3de76198f75232e0ca823c4ac92385f81",
          "translation": "Компилирует поддержку 3D-моделей."
        },
        "/options/@id=cmake.option.FO_GEOMETRY/description": {
          "source_sha256": "47d7d183ce4d04c2c823c62d73ab9d0d356bad09e5773d8b81e076cbf05adebc",
          "translation": "Режим геометрии сетки мира."
        },
        "/options/@id=cmake.option.FO_MAIN_CONFIG/description": {
          "source_sha256": "92dd4c028c8bd44c5a74ab0cb62dcc07a07a0cb2ef640a9e16f6cdd24d271bf1",
          "translation": "Путь к основному файлу конфигурации .fomain подключающего проекта."
        },
        "/options/@id=cmake.option.FO_MAP_CAMERA_ANGLE/description": {
          "source_sha256": "4e59adc5d69b5fa4e7f87aa208a55de700c21fdb12583b5773067e94336755d5",
          "translation": "Угол камеры карты в градусах."
        },
        "/options/@id=cmake.option.FO_MAP_HEX_HEIGHT/description": {
          "source_sha256": "2666f1fe02e3f58056b929b436cfcf2ad457ce0c4ae82c42539416aa8ff2ed6e",
          "translation": "Высота ячейки карты в пикселях."
        },
        "/options/@id=cmake.option.FO_MAP_HEX_WIDTH/description": {
          "source_sha256": "78f6fd0cd5d984c627826ecdcc50fc69e145b5ccf06471e88248b5def972895a",
          "translation": "Ширина ячейки карты в пикселях."
        },
        "/options/@id=cmake.option.FO_MODEL_BONES_PER_VERTEX/description": {
          "source_sha256": "1204d1d23e8215ca61659114d1628619a68d2118edddd559d471424eb7bdfdd1",
          "translation": "Количество влияний костей, скомпилированных в каждую вершину 3D-модели."
        },
        "/options/@id=cmake.option.FO_MODEL_LAYERS_COUNT/description": {
          "source_sha256": "9567c08d1b1c22ec8ce6284fe23eaabaa517af6571332c8fd4a79cab0f204399",
          "translation": "Количество слоёв рендеринга модели, скомпилированных в shape-контракт движка."
        },
        "/options/@id=cmake.option.FO_MODEL_MAX_BONES/description": {
          "source_sha256": "cba5f92c08429a16eceb7e3a35f47eb5b77f7bc59ec299c14a9cbe9010e9c04b",
          "translation": "Максимальное количество матриц костей одной 3D-модели."
        },
        "/options/@id=cmake.option.FO_MODEL_MAX_TEXTURES/description": {
          "source_sha256": "59f8186ae955de6bbce6235d94dc0902120b0a1bf77d0ac0b51e730209539386",
          "translation": "Максимальное количество текстур одной 3D-модели."
        },
        "/options/@id=cmake.option.FO_MSAN_IGNORELIST/description": {
          "source_sha256": "f0f071873a966922a27d61349ef6711865edd12f84d7fcbabc1a829ff4e695cf",
          "translation": "Путь к ignorelist MemorySanitizer."
        },
        "/options/@id=cmake.option.FO_MANAGED_SCRIPTING/description": {
          "source_sha256": "8f3352e6b2552155fd5e3380f59caff431b514cacbab5e2a5816125375f4030b",
          "translation": "Компилирует скриптовый backend Managed C# и встроенную среду выполнения Mono."
        },
        "/options/@id=cmake.option.FO_MSAN_LIBCXX_ROOT/description": {
          "source_sha256": "26921b8670691d4c39c8165efe1e288ec7a81e6e5c1a4d8292c46e349a2f4b6c",
          "translation": "Префикс установки инструментированной MSan библиотеки libc++ для конфигураций San_Memory."
        },
        "/options/@id=cmake.option.FO_NATIVE_SCRIPTING/description": {
          "source_sha256": "1791afe39c39cda44da8494aea86e0d869a3b619f7331dce0efd94d96cabaa72",
          "translation": "Резервирует настройку корня исходников Native scripting; в текущем дереве реализованного Native backend нет."
        },
        "/options/@id=cmake.option.FO_NICE_NAME/description": {
          "source_sha256": "cee64f7ec2cda8e97ec1445746437a731cdd90d0450601a3468b53b605a41b9e",
          "translation": "Читаемое человеком имя проекта для сгенерированных приложений и пакетов."
        },
        "/options/@id=cmake.option.FO_OUTPUT_PATH/description": {
          "source_sha256": "b13a62f36dcbb184bb7edc66cb2dbedb54a2051a422298f06cbe8829b53f5741",
          "translation": "Общий корень для сгенерированных бинарных файлов, пакетов, данных запекания и результатов проверки."
        },
        "/options/@id=cmake.option.FO_RESHARPER_SETTINGS/description": {
          "source_sha256": "8ca6c46afedb50209bd28a1508c7f0972511d24c903a91315c676dbb277dbe6b",
          "translation": "Необязательный файл настроек решения ReSharper, копируемый при финализации."
        },
        "/options/@id=cmake.option.FO_SPARK_PARTICLES/description": {
          "source_sha256": "5ee608e173224431e0c0ca5a8ebb82f122de9e83f91d0569e1dda93af08b8f54",
          "translation": "Компилирует baker частиц SPARK, runtime-backend и инструменты создания в Mapper."
        },
        "/options/@id=cmake.option.FO_STRING_INLINE_CAPACITY/description": {
          "source_sha256": "9b0e5be982f4eb857ebe5b0a7744f16de56f221bd162be5fbe19f05e097be695",
          "translation": "Число символов, хранимых внутри строки движка до выделения памяти; значение должно быть на единицу меньше числа, кратного восьми."
        },
        "/options/@id=cmake.option.FO_UNIT_TESTS/description": {
          "source_sha256": "0464a01fa3fd54b2aff8e9d664caa338c62bb09782be946b2ea8948d5a3b2746",
          "translation": "Создаёт цели модульных тестов движка."
        },
        "/options/@id=cmake.option.FO_VERBOSE_BUILD/description": {
          "source_sha256": "e21912ca94fa1f32ccc9e808d5686473edf7eeeea3500fbaea2c33d494260388",
          "translation": "Включает подробный status-вывод системы сборки FOnline."
        },
        "/scope/excluded": {
          "source_sha256": "cb3ecb1f970fe44817ca33366c1042d4b61f15c71af3b0991d27b0637a2b5858",
          "translation": [
            "внутренние helper-функции реализации CMake",
            "грамматика объявлений пакетов и схемы payload",
            "интерфейсы командной строки BuildTools",
            "файлы toolchain и политика платформенных presets"
          ]
        },
        "/scope/included": {
          "source_sha256": "7aee8fdc9ddcdd503f964fb493fcd8920860d043cc3caeea72c95721c5233577",
          "translation": [
            "параметры кеша проекта, объявленные на стадии Init",
            "упорядоченные точки входа стадий генерации проекта и hooks",
            "выбранные helper-команды подключающего проекта"
          ]
        },
        "/scope/support_note": {
          "source_sha256": "95ce6b4808e168e4c00551a41af0231038eeaf5dfd1fd08653253da090246110",
          "translation": "Версионируемая линия поддержки пока не объявлена; подключающим проектам следует закреплять ревизию движка."
        },
        "/stages/@id=cmake.stage.Applications/description": {
          "source_sha256": "cdb4c6ae8c2ffe8a3b93aca19c029745a79c8c420a7712f1b764327e3a7a4ad2",
          "translation": "Создаёт включённые приложения клиента, сервера, Mapper, компилятора, baker, viewer и тестов."
        },
        "/stages/@id=cmake.stage.Codegen/description": {
          "source_sha256": "79722e6b6c3853461eaaed76797949daad4baefe8ddd01889782cdcc34f07812",
          "translation": "Определяет выходы сгенерированных метаданных и исходников и цели генерации кода."
        },
        "/stages/@id=cmake.stage.CoreLibs/description": {
          "source_sha256": "50dfda67858cccc5da28ec41723c5d1d3914fe7f25d934349eb5ab8f1398f341",
          "translation": "Создаёт переиспользуемые библиотеки движка из зарегистрированных групп исходников."
        },
        "/stages/@id=cmake.stage.EngineSources/description": {
          "source_sha256": "7e40d0725a161b7788200dffc0b584f3fc9592f2473656cef99960371e5cca7a",
          "translation": "Собирает списки исходников движка и подключающего проекта, а также входы сгенерированных ресурсов."
        },
        "/stages/@id=cmake.stage.Finalize/description": {
          "source_sha256": "0aa388c57e0d7b8e0c7d6c0b7f5b973d63ad071f9125b9de64e924917b8671c7",
          "translation": "Завершает организацию целей и проверяет, что каждая стадия выполнена ровно один раз."
        },
        "/stages/@id=cmake.stage.Init/description": {
          "source_sha256": "899feee357aa0e1be015bcc0624479a114ba0727d5c6c023c0ed836e8a45e6b7",
          "translation": "Объявляет параметры, определяет платформу и toolchain и создаёт общее состояние сборки."
        },
        "/stages/@id=cmake.stage.Packages/description": {
          "source_sha256": "73d0a364bbb43e69aae363349f50ac06040435d52bbf41f03a4259f06e319d37",
          "translation": "Создаёт цели пакетов из объявлений пакетов подключающего проекта."
        },
        "/stages/@id=cmake.stage.ProjectOptions/description": {
          "source_sha256": "0966645f3a97b04643980039ecb7487e978891214ba5c6da8f77009192f9e12d",
          "translation": "Нормализует комбинации параметров проекта и отклоняет несовместимые режимы сборки."
        },
        "/stages/@id=cmake.stage.ScriptsAndBaking/description": {
          "source_sha256": "a68fa17d2f70ffdc1d749329dadb3cdfb5dcae79fe2c9e74e5478e1c601f8f84",
          "translation": "Создаёт цели компиляции скриптов и запекания ресурсов."
        },
        "/stages/@id=cmake.stage.ThirdParty/description": {
          "source_sha256": "50cbc96bea400db66cd480c0a6d8b711effb2eae698341580583ee5ae1828851",
          "translation": "Регистрирует встроенные сторонние зависимости и изоляцию поиска пакетов."
        }
      }
    },
    "map-format": {
      "entries": {
        "/description": {
          "source_sha256": "0b58c05951988512f591d2abf6722b4b4c3518b0563b99bc4303eef58efaf96d",
          "translation": "Основанный на исходниках контракт авторинга, запекания и runtime для контейнеров карт FOnline."
        },
        "/directives/@id=map-format.directive.entity-id/applies_to": {
          "source_sha256": "55b3af12db25dbfc226e3dbd5caabbc9b5c9efe06dae9732268da69a419b8747",
          "translation": "Critter, Item",
          "preserve_source": true
        },
        "/directives/@id=map-format.directive.entity-id/default": {
          "source_sha256": "77d23c793205359e4675cb88c3cc105f3230473cf1899e37ec3b2b4c3e95acbe",
          "translation": "следующий свободный положительный ID"
        },
        "/directives/@id=map-format.directive.entity-id/description": {
          "source_sha256": "51f5f3c0095e30e24bf93b59ae8db564767e77a3dd0b7b28a83f88e7e19964c4",
          "translation": "Задаёт общую идентичность размещения для ссылок владения. Отсутствующие, неположительные и повторяющиеся ID исправляются при загрузке; авторские карты не должны полагаться на исправление."
        },
        "/directives/@id=map-format.directive.entity-proto/applies_to": {
          "source_sha256": "55b3af12db25dbfc226e3dbd5caabbc9b5c9efe06dae9732268da69a419b8747",
          "translation": "Critter, Item",
          "preserve_source": true
        },
        "/directives/@id=map-format.directive.entity-proto/default": {
          "source_sha256": "140bedbf9c3f6d56a9846d2ba7088798683f4da0c248231336e6a05679e4fdfe",
          "translation": "отсутствует"
        },
        "/directives/@id=map-format.directive.entity-proto/description": {
          "source_sha256": "0c387ac79bdfe0864264ee95941a3a0bdd2c1b7eae4bf578e49d8ccc77291616",
          "translation": "Разрешает базовый прототип Critter или Item до применения переопределений размещения."
        },
        "/directives/@id=map-format.directive.map-name/applies_to": {
          "source_sha256": "0600d388356a7f7ae6200c4c42b6c4ddde4d4f895002f6aded9179a638a5a0a2",
          "translation": "ProtoMap",
          "preserve_source": true
        },
        "/directives/@id=map-format.directive.map-name/default": {
          "source_sha256": "d1ea356bf0e78aac795d58efff427842503407d6af5108812204fb3c75078d3f",
          "translation": "базовое имя исходного файла"
        },
        "/directives/@id=map-format.directive.map-name/description": {
          "source_sha256": "faee46ef664591018eda825581e587fd73b9c2934e62d7a0b79adb1b6eaa08da",
          "translation": "Выбирает ID прототипа Map и базовые имена обоих запечённых ресурсов. Без $Name якорь разрешается в базовое имя исходника; в контейнере с несколькими картами каждый якорь следует именовать явно."
        },
        "/directives/@id=map-format.directive.map-parent/applies_to": {
          "source_sha256": "0600d388356a7f7ae6200c4c42b6c4ddde4d4f895002f6aded9179a638a5a0a2",
          "translation": "ProtoMap",
          "preserve_source": true
        },
        "/directives/@id=map-format.directive.map-parent/default": {
          "source_sha256": "5113b2beb2cdabb90509bff8987abf0294a2d6d019e0e75a96b2283dfa996925",
          "translation": "без родителей"
        },
        "/directives/@id=map-format.directive.map-parent/description": {
          "source_sha256": "893bf1ce4bbfc0c9b6593f6da21f509640379714719e305669df5151ada6ebd7",
          "translation": "Использует обычное наследование прототипов Map при запекании прототипов. Сохранение в Mapper выпускает развёрнутый результат и не сохраняет эту директиву."
        },
        "/directives/@id=map-format.directive.map-text/applies_to": {
          "source_sha256": "0600d388356a7f7ae6200c4c42b6c4ddde4d4f895002f6aded9179a638a5a0a2",
          "translation": "ProtoMap",
          "preserve_source": true
        },
        "/directives/@id=map-format.directive.map-text/default": {
          "source_sha256": "7bdb0408d8e92839a2420b909e034593a0fa278dc725b1ec81b212f7d1aaddaf",
          "translation": "без текста карты"
        },
        "/directives/@id=map-format.directive.map-text/description": {
          "source_sha256": "bdcc0c9b1b5c3c501a63901ea0a1ba9196ce2b2bc141371c241b26e794028f7b",
          "translation": "Добавляет локализованный текст прототипа и сохраняется циклом загрузки и сохранения Mapper как дополнительное поле ProtoMap."
        },
        "/outputs/description": {
          "source_sha256": "32efb80c2b531bfe2efe027aae85d96d331ebfba5055459de3bf6c674083280e",
          "translation": "MapBaker создаёт одну связанную пару серверного и клиентского ресурсов для каждой карты, объявленной якорем ProtoMap."
        },
        "/ownerships/@id=map-format.ownership.critter-inventory/description": {
          "source_sha256": "93fbafdba7f6b0a25e948d05031a6c3d03f27c9dd6304db7b83a788fd93e4ed7",
          "translation": "Создаёт нестатический предмет в инвентаре размещённого криттера, заданного CritterId."
        },
        "/ownerships/@id=map-format.ownership.item-container/description": {
          "source_sha256": "75fe52e706c1bfe479813ff706df7600883ff9ddb5646fd53b2ea4e311d137fa",
          "translation": "Создаёт нестатический предмет внутри размещённого нестатического предмета, заданного ContainerId."
        },
        "/ownerships/@id=map-format.ownership.map-hex/description": {
          "source_sha256": "57453a0bda40c70a1b091628d0524dd22a9640ab9bd8df516911ec9a9b0fa576",
          "translation": "Размещает предмет на гексе карты. Статические предметы обязаны использовать этот режим."
        },
        "/ownerships/@id=map-format.ownership.nowhere/description": {
          "source_sha256": "127a8c3499cb3607a9c174d177ec6f635f97e1476c7c1492c93415bd35c37ab5",
          "translation": "Присутствует в enum, но не поддерживается как режим авторского размещения на карте."
        },
        "/properties/@id=map-format.property.Critter.AttachMaster/description": {
          "source_sha256": "7322c3094e8eed388df1fba240578d7855801138f86b0c715e6941ef08babbe4",
          "translation": "Идентификатор ведущего прикрепления; равен нулю, если криттер не прикреплён."
        },
        "/properties/@id=map-format.property.Critter.AttachMaster/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Critter.Condition/description": {
          "source_sha256": "2afcc291a8b5a505cd1930649d35673632251f86ff1ce75de5e9b6ec964f3e33",
          "translation": "Текущее состояние жизни, используемое анимацией, фильтрацией и игровыми запросами."
        },
        "/properties/@id=map-format.property.Critter.ControlledByPlayer/description": {
          "source_sha256": "6fe4912752db582cec69d3de354ada545935ac26ed477846853ab955c2b5c3c0",
          "translation": "Классифицирует криттера как управляемого игроком независимо от его текущего сетевого состояния."
        },
        "/properties/@id=map-format.property.Critter.ControlledByPlayer/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Critter.CustomHolderEntry/description": {
          "source_sha256": "1050e666d84a94010a810b27fa9d7f3ad171a30f9a7d8d759bfb66b9dc73a348",
          "translation": "Для пользовательской сущности задаёт запись держателя, через которую она прикреплена."
        },
        "/properties/@id=map-format.property.Critter.CustomHolderId/description": {
          "source_sha256": "f84e0928a758c5e497d28a042fd88d98879212b1ac2f6931f329526772f507b3",
          "translation": "Для пользовательской сущности хранит постоянный идентификатор владеющего держателя; равен нулю, если у держателя нет постоянного идентификатора."
        },
        "/properties/@id=map-format.property.Critter.DeadDrawNoFlatten/description": {
          "source_sha256": "891621e672774d5264b2ffb1613683cb9ab83fad4f2f877721d48851f40bd601",
          "translation": "Сохраняет мёртвого криттера в обычном порядке отрисовки вместо плоского порядка мёртвых криттеров."
        },
        "/properties/@id=map-format.property.Critter.Dir/description": {
          "source_sha256": "ec2df791dfe2567ef28726bdb6eb1631477d238ed40d57f9cfcffaaa445ddede",
          "translation": "Текущее направление взгляда на сетке карты."
        },
        "/properties/@id=map-format.property.Critter.Elevation/description": {
          "source_sha256": "0d356e2b8b3c58596328c573c25bb438a96615db22c714bd5c0e23932af67cba",
          "translation": "Вертикальный уровень отрисовки криттера."
        },
        "/properties/@id=map-format.property.Critter.ExplicitlyPersistent/description": {
          "source_sha256": "909a82b41efa2f84a7e1fd273e8267c3b69fc21f3390ff505defbb973cf11e51",
          "translation": "Помечает сущность как самостоятельно сохраняемую, а не сохраняемую только из-за вложения в другую сущность."
        },
        "/properties/@id=map-format.property.Critter.GlobalMapTripId/description": {
          "source_sha256": "150133a813a0a180910efe456a696c997b1e7e0f9e443affb685091d90f2b678",
          "translation": "Назначенный сервером идентификатор, общий для участников одной текущей поездки по глобальной карте."
        },
        "/properties/@id=map-format.property.Critter.GlobalMapTripId/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Critter.Hex/description": {
          "source_sha256": "4673dc90632e2343fafd7d22411b309cb8670c1153963561fbbbf3bf76c08227",
          "translation": "Исходный гекс, занимаемый криттером на текущей карте."
        },
        "/properties/@id=map-format.property.Critter.HexOffset/description": {
          "source_sha256": "d5b05576494249b7957e87938fb0c13671789b2fe9b5b252914a906a3fedc9bc",
          "translation": "Внутригексовое смещение в пространстве карты для интерполяции движения и отрисовки."
        },
        "/properties/@id=map-format.property.Critter.HideSprite/description": {
          "source_sha256": "f65ac8e86db89b74cfbdc7b4435eecb83865fb9f2f5c899a1fa9208e9b141445",
          "translation": "Скрывает текущий клиентский спрайт на карте, не удаляя присутствие криттера на карте."
        },
        "/properties/@id=map-format.property.Critter.InitScript/description": {
          "source_sha256": "b4b717c3f31356bff2f72d8197f7658746d0b2af05f9fb966c335c9f074412de",
          "translation": "Серверная функция инициализации, вызываемая после события инициализации для нового или восстановленного криттера."
        },
        "/properties/@id=map-format.property.Critter.IsAttached/description": {
          "source_sha256": "b8587bbd99ce1fc420a5c32a110491c986d513981939362dacd32bf490be8d36",
          "translation": "Показывает, что этот криттер сейчас следует за другим криттером как прикреплённый."
        },
        "/properties/@id=map-format.property.Critter.IsAttached/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Critter.IsChosen/description": {
          "source_sha256": "381e130d01d4c815747cf6091918b078756c0360817a237010518e9b5b3aee79",
          "translation": "Показывает, что этот криттер является локально выбранным на текущем клиенте."
        },
        "/properties/@id=map-format.property.Critter.IsChosen/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Critter.IsPlayerOffline/description": {
          "source_sha256": "f153b3cf89aebef940af174bddc8a7f977265dfc401cd362959b2fc3a9246e71",
          "translation": "Клиентское состояние соединения, сообщённое для управляемого игроком криттера."
        },
        "/properties/@id=map-format.property.Critter.IsPlayerOffline/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Critter.ItemIds/description": {
          "source_sha256": "b36a3cf283ea2690381cf7a72659b34381f660c9436d905a97d00694169ed90d",
          "translation": "Сохраняемые идентификаторы предметов, непосредственно находящихся в инвентаре криттера."
        },
        "/properties/@id=map-format.property.Critter.LightColor/description": {
          "source_sha256": "88d328cc2723924031ded0647f20671259a644ea8b912439ab1560bf25e463cd",
          "translation": "Цвет RGBA, излучаемый клиентским источником света криттера."
        },
        "/properties/@id=map-format.property.Critter.LightColor/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Critter.LightDistance/description": {
          "source_sha256": "f25441db4ccf37f9477696ec349a9229623d2e1b5d2d1a2a12e1d2f1cb062573",
          "translation": "Радиус действия клиентского источника света криттера в гексах."
        },
        "/properties/@id=map-format.property.Critter.LightDistance/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Critter.LightFlags/description": {
          "source_sha256": "8046c6aff9fc965d52aa6f346beacf6560ff28bdb8b15e8346f029d6fd0ddbc4",
          "translation": "Битовая маска глобального, инверсного и блокирующего направления поведения источника света."
        },
        "/properties/@id=map-format.property.Critter.LightFlags/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Critter.LightIntensity/description": {
          "source_sha256": "f14dfed224d2691eccdc99cd59b5d17080fa909760b4424f94a30b2c9a361c0e",
          "translation": "Знаковая интенсивность клиентского источника света криттера в процентах."
        },
        "/properties/@id=map-format.property.Critter.LightIntensity/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Critter.LightSource/description": {
          "source_sha256": "81799139e0e90b3da0d8ff6cc9c815d3b7c033f5507e7a9d1eaa6e4673557b8c",
          "translation": "Включает клиентский источник света карты с центром на этом криттере."
        },
        "/properties/@id=map-format.property.Critter.LightSource/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Critter.LookDistance/description": {
          "source_sha256": "c8034068f82917328834377f3d8b396d9ce4402ba0b433b81cadfbd44f8c031f",
          "translation": "Максимальная дистанция обзора карты в гексах для серверной обработки видимости."
        },
        "/properties/@id=map-format.property.Critter.MapId/description": {
          "source_sha256": "59c6b611b4325b1c6c16dc0993104036c13ddaf388c8b2c22a948c745f285633",
          "translation": "Идентификатор карты, содержащей криттера; равен нулю, пока криттер находится на глобальной карте."
        },
        "/properties/@id=map-format.property.Critter.ModelLayers/description": {
          "source_sha256": "1d2a56becb527cfd62f862977b11e16a1c119a556c7eec6702746d191b605974",
          "translation": "Клиентские значения фиксированного размера, передаваемые слоям 3D-модели и обработчику анимации."
        },
        "/properties/@id=map-format.property.Critter.ModelLayers/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Critter.ModelName/description": {
          "source_sha256": "69d124a0012e5742bdf62f5aee5c124f95d439b041e250f0006d87511f5ad63d",
          "translation": "Ресурс спрайта или 3D-модели для представления криттера."
        },
        "/properties/@id=map-format.property.Critter.MovingSpeed/description": {
          "source_sha256": "f473809fb05663ef513259a86b455e883426981039533dd06e89483977da8c01",
          "translation": "Текущая серверная скорость активного движения."
        },
        "/properties/@id=map-format.property.Critter.MovingSpeed/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Critter.Multihex/description": {
          "source_sha256": "8243c8fafcd3fb39b49333e131ef30daff5ed37b5a7dd63c229c8facd67aaf19",
          "translation": "Радиус занимаемой криттером области в гексах для движения, поиска пути и расчёта расстояний."
        },
        "/properties/@id=map-format.property.Critter.NameOffset/description": {
          "source_sha256": "c1808ffa3b13587c823c7eef6cab1adc0e5d2d2987c2bc4ef07687ea887f74d2",
          "translation": "Вертикальная пиксельная поправка положения подписи имени криттера."
        },
        "/properties/@id=map-format.property.Critter.ScaleFactor/description": {
          "source_sha256": "de043ac920f0dcf58b124093ede046063447afb7ad4d69db37585cbf6b868152",
          "translation": "Масштаб 3D-модели в тысячных долях; ноль выбирает стандартный масштаб 1000."
        },
        "/properties/@id=map-format.property.Critter.ShowCritterDist1/description": {
          "source_sha256": "f0fa76d680d51b3ca727d663ae6456c87525ae6da02daf967bce05532f3388b4",
          "translation": "Необязательная первая дистанция событий видимости в гексах; ноль отключает эту группу расстояния."
        },
        "/properties/@id=map-format.property.Critter.ShowCritterDist2/description": {
          "source_sha256": "b12e13e50471425a135e4e9f12be606edc4fcf3ae917ba5a6ff5d8d2573b7548",
          "translation": "Необязательная вторая дистанция событий видимости в гексах; ноль отключает эту группу расстояния."
        },
        "/properties/@id=map-format.property.Critter.ShowCritterDist3/description": {
          "source_sha256": "3c063f897d07ccd7dc2d66e41a791e0e37c5d6793fa356076deaaade0b0adcfe",
          "translation": "Необязательная третья дистанция событий видимости в гексах; ноль отключает эту группу расстояния."
        },
        "/properties/@id=map-format.property.Critter.VisibilityMode/description": {
          "source_sha256": "ba9e8d77f08fbaee8cd10f84866c21c5d60edd7a4f0c31ff9af07d0fe57c77fa",
          "translation": "Режим детализации видимости, назначенный этому криттеру с точки зрения текущего клиента."
        },
        "/properties/@id=map-format.property.Critter.VisibilityMode/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Item.AlwaysHideSprite/description": {
          "source_sha256": "35bbd94aefd466f34cc5b9d2561f4cd554850378266d72e52df6b764d0a7d1d2",
          "translation": "Не позволяет рисовать спрайт предмета во время выполнения и по умолчанию скрывает его в Mapper."
        },
        "/properties/@id=map-format.property.Item.Colorize/description": {
          "source_sha256": "fc4a04b90caa7c6602957d4a260cffa28ad283acc864ed3116d2f5339e341817",
          "translation": "Включает тонирование спрайта предмета на карте цветом ColorizeColor."
        },
        "/properties/@id=map-format.property.Item.ColorizeColor/description": {
          "source_sha256": "ebe85964e70fa2e7f5b2c315636c32f31b3a0a5115fb6d3f01eaf2ee68bd0de2",
          "translation": "Оттенок RGBA, применяемый при включённом Colorize; альфа также задаёт исходную непрозрачность спрайта."
        },
        "/properties/@id=map-format.property.Item.ContainerId/description": {
          "source_sha256": "c85a3e9812e7fc48a9e9a55573956448664d61f40174c8a48d8b6844555da73a",
          "translation": "Идентификатор родительского предмета, пока Ownership равен ItemContainer; в остальных случаях равен нулю."
        },
        "/properties/@id=map-format.property.Item.ContainerStack/description": {
          "source_sha256": "a88ea8a1f9f4099039b20d4ecede9d8894dd4fcda99b506ce39b39fd0b108481",
          "translation": "Определяемый проектом ключ группировки для выбора и объединения предметов внутри контейнера."
        },
        "/properties/@id=map-format.property.Item.Corner/description": {
          "source_sha256": "daaaf946091f088f124d52c8573ad8e0b445dd278ffb9abb2bd6149263438b57",
          "translation": "Ориентация угла стены, используемая освещением карты и прозрачностью переднего плана."
        },
        "/properties/@id=map-format.property.Item.CritterId/description": {
          "source_sha256": "13163e321142cdc5a2132d01d1196e72b7881953b23a53297d7b9456720b3d56",
          "translation": "Идентификатор владеющего криттера, пока Ownership равен CritterInventory; в остальных случаях равен нулю."
        },
        "/properties/@id=map-format.property.Item.CritterSlot/description": {
          "source_sha256": "04356d847e6a4adad69bf5df6099ddd423664b953973627513ed2fb933c60886",
          "translation": "Слот инвентаря или экипировки, занятый предметом, пока он принадлежит криттеру."
        },
        "/properties/@id=map-format.property.Item.CustomHolderEntry/description": {
          "source_sha256": "1050e666d84a94010a810b27fa9d7f3ad171a30f9a7d8d759bfb66b9dc73a348",
          "translation": "Для пользовательской сущности задаёт запись держателя, через которую она прикреплена."
        },
        "/properties/@id=map-format.property.Item.CustomHolderId/description": {
          "source_sha256": "f84e0928a758c5e497d28a042fd88d98879212b1ac2f6931f329526772f507b3",
          "translation": "Для пользовательской сущности хранит постоянный идентификатор владеющего держателя; равен нулю, если у держателя нет постоянного идентификатора."
        },
        "/properties/@id=map-format.property.Item.DisableEgg/description": {
          "source_sha256": "166fd72b77aab431e0f9a90190521321c69a4cc47972ada45f5515f2eaef9ff6",
          "translation": "Отключает обработку прозрачности переднего плана для спрайта предмета на карте."
        },
        "/properties/@id=map-format.property.Item.DrawFlatten/description": {
          "source_sha256": "8c42c5f7962a272d8b9e70aade0133b2beae3deb1203b7f6b0f01b2d864c097c",
          "translation": "Рисует предмет в плоском проходе карты вместо обычного прохода предметов с сортировкой по глубине."
        },
        "/properties/@id=map-format.property.Item.DrawMultihexLines/description": {
          "source_sha256": "e1f92c7770e5a03345518079545fbedfff6a27a97c418d31d7d98e5399525ae3",
          "translation": "Рисует повторные спрайты предмета на гексах занимаемой области, созданных MultihexLines."
        },
        "/properties/@id=map-format.property.Item.DrawMultihexMesh/description": {
          "source_sha256": "c24ca063a44af2b82ae183fab57ad10825260e0e22e2f52d4d288d5be2d51181",
          "translation": "Рисует повторные спрайты предмета на явно заданных гексах MultihexMesh."
        },
        "/properties/@id=map-format.property.Item.DrawOrderSubLayer/description": {
          "source_sha256": "55fb2bfaa60af95d8078bb9e8e7479fcf877e7408b86da776626d6946d46a736",
          "translation": "Точный порядок внутри основного слоя отрисовки предмета; изменение синхронизируется во время игры."
        },
        "/properties/@id=map-format.property.Item.Elevation/description": {
          "source_sha256": "1a2a1b15c27eca391a5e41748dc34b495971a1be9dd6d1f4bf7c1cb3a34cd53b",
          "translation": "Вертикальный уровень отрисовки предмета на карте."
        },
        "/properties/@id=map-format.property.Item.ExplicitlyPersistent/description": {
          "source_sha256": "909a82b41efa2f84a7e1fd273e8267c3b69fc21f3390ff505defbb973cf11e51",
          "translation": "Помечает сущность как самостоятельно сохраняемую, а не сохраняемую только из-за вложения в другую сущность."
        },
        "/properties/@id=map-format.property.Item.Hex/description": {
          "source_sha256": "dffc781d0273108a8166191f1ee7febb58907456ba4a0c8571a8548e5dbf7a33",
          "translation": "Исходный гекс карты, используемый пока предмет размещён на карте."
        },
        "/properties/@id=map-format.property.Item.Hidden/description": {
          "source_sha256": "637af3b02f94ec0a51dfc10801f441ca0dc7c2a5ad7f5bde36e947edcdecd812",
          "translation": "Серверный флаг видимости, скрывающий динамический предмет из клиентских представлений."
        },
        "/properties/@id=map-format.property.Item.HideSprite/description": {
          "source_sha256": "03595d24e3807b1bd2adda9a5d7fbc3e87341f55193ecc8f6ed0ef53830613db",
          "translation": "Скрывает текущий клиентский спрайт на карте, не удаляя присутствие предмета на карте."
        },
        "/properties/@id=map-format.property.Item.InitScript/description": {
          "source_sha256": "92c8c2cd2af271cbebda880be7310c5cdae7e3a75135bc0873b8dbb4dfa56b82",
          "translation": "Серверная функция инициализации, вызываемая после события инициализации для нового или восстановленного предмета."
        },
        "/properties/@id=map-format.property.Item.InnerItemIds/description": {
          "source_sha256": "e0d3bca11c2ebef564c2c5adaea9ac4544cd821ae15094f6fd6791ea1405a876",
          "translation": "Сохраняемые идентификаторы предметов, непосредственно содержащихся в этом предмете."
        },
        "/properties/@id=map-format.property.Item.IsGag/description": {
          "source_sha256": "d6ead5d157ce9a339e1981db6301c067f80773f5dc0006728c6a64a4efb2eb6d",
          "translation": "Помечает блокирующий предмет как условно проходимый через callback gag карты."
        },
        "/properties/@id=map-format.property.Item.IsRoofTile/description": {
          "source_sha256": "b019a3275120fddbf135b646be5d3691f333ec42ea2c77142e8263a5d66bc64a",
          "translation": "Выбирает отрисовку крыши вместо тайла земли, когда включён IsTile."
        },
        "/properties/@id=map-format.property.Item.IsScenery/description": {
          "source_sha256": "e41d65a20f9fbd4390072cc498f637608fde707756922c1a5692e7612c840c4a",
          "translation": "Классифицирует предмет как декорацию для фильтрации в Mapper и правил освещения плоской отрисовки."
        },
        "/properties/@id=map-format.property.Item.IsTile/description": {
          "source_sha256": "03a9b963535708e07109769fdd25dea31bae0958dda28e54cc151695caa469cb",
          "translation": "Классифицирует предмет как тайл земли или крыши, отрисовываемый в слое тайлов."
        },
        "/properties/@id=map-format.property.Item.IsTrigger/description": {
          "source_sha256": "7cfbc5d256b1e4dfb364fe05767e6bbb741d5b9696c0b4e07cbb0047694970c1",
          "translation": "Включает предмет в поиск триггеров карты и обработку триггеров перемещения."
        },
        "/properties/@id=map-format.property.Item.IsWall/description": {
          "source_sha256": "5dc61a298f187be1900a6a22c3319644558b714cd962655e392997b97f85b668",
          "translation": "Классифицирует предмет как стену для фильтрации в Mapper и представления карты."
        },
        "/properties/@id=map-format.property.Item.LightColor/description": {
          "source_sha256": "571e9fe8175d07be7ddd5db7a81dc0bcd27976f8e519632996682416dbb95931",
          "translation": "Цвет RGBA, излучаемый источником света предмета."
        },
        "/properties/@id=map-format.property.Item.LightDistance/description": {
          "source_sha256": "ad159f0529a1fdffa5884404e3e1f88a13da7381faf87c08f13a0918ab29bc6e",
          "translation": "Радиус действия источника света предмета в гексах."
        },
        "/properties/@id=map-format.property.Item.LightFlags/description": {
          "source_sha256": "8046c6aff9fc965d52aa6f346beacf6560ff28bdb8b15e8346f029d6fd0ddbc4",
          "translation": "Битовая маска глобального, инверсного и блокирующего направления поведения источника света."
        },
        "/properties/@id=map-format.property.Item.LightIntensity/description": {
          "source_sha256": "b58932e26f9f005302377f2cfa1110c75ded4c1ea422638619290be9f1ed37ba",
          "translation": "Знаковая интенсивность источника света предмета в процентах."
        },
        "/properties/@id=map-format.property.Item.LightSource/description": {
          "source_sha256": "d287baff16708fe3fc54acc82e11370dbe4c75368b824c1217b6701811552284",
          "translation": "Включает источник света карты с центром на этом предмете."
        },
        "/properties/@id=map-format.property.Item.LightThru/description": {
          "source_sha256": "1037af338e9b7376b3a18c459cdfadf082ea98fba93afd2c1cd145c9a404f823",
          "translation": "Разрешает распространение света карты через все гексы, занятые предметом."
        },
        "/properties/@id=map-format.property.Item.MapId/description": {
          "source_sha256": "2c46f45492a4e7e8b84eea7f0d09c5ddc481e712e59c1f4cb3f1a3847a38f066",
          "translation": "Идентификатор владеющей карты, пока Ownership равен MapHex; в остальных случаях равен нулю."
        },
        "/properties/@id=map-format.property.Item.MultihexGeneration/description": {
          "source_sha256": "fc29904b19512b32c28da26f6e561fade5d8e0e100c83d4cf5b83fd90d713b77",
          "translation": "Стратегия объединения в Mapper, по которой MultihexMesh строится из совместимых размещений предметов."
        },
        "/properties/@id=map-format.property.Item.MultihexLines/description": {
          "source_sha256": "cb8c7af3792f23d28e56ca10e77c1e42880daa622880376c303f6e8759237e73",
          "translation": "Пары направления и числа шагов, прокладывающие дополнительные гексы занимаемой области от каждого начала сетки."
        },
        "/properties/@id=map-format.property.Item.MultihexMesh/description": {
          "source_sha256": "64d3fad57d3b2158528f52ee892636e53709072c139e7c15d4e7cf2b36cd7e3b",
          "translation": "Явно заданные гексы карты, разделяющие занимаемую область предмета и необязательный повторяемый спрайт."
        },
        "/properties/@id=map-format.property.Item.NoBlock/description": {
          "source_sha256": "47c83de8812ede09ff101593fe047c00fe7fe8ad0df398ad0825d74c6e938d8c",
          "translation": "Разрешает перемещение через все гексы, занятые предметом."
        },
        "/properties/@id=map-format.property.Item.NoHighlight/description": {
          "source_sha256": "3913f9b16e667e72c3057841165a1c035be5191e2d72d60203a709d27322eb80",
          "translation": "Запрещает клиенту применять обычное визуальное выделение предмета."
        },
        "/properties/@id=map-format.property.Item.NoLightInfluence/description": {
          "source_sha256": "a0eac1c042bcb0ffd45a7ce06e9181e22ccf36207156193ed9c52f5ce387d08b",
          "translation": "Не позволяет окружающему освещению карты тонировать спрайт предмета."
        },
        "/properties/@id=map-format.property.Item.Offset/description": {
          "source_sha256": "7a272511540548ee8b56d6ed151072068dcc37b4a6dfa1e42ea13f148ad16132",
          "translation": "Пиксельное смещение спрайта предмета относительно его исходного гекса."
        },
        "/properties/@id=map-format.property.Item.Ownership/description": {
          "source_sha256": "7f18b6727e88f6a9f2dd9e4ac8fa9f2954debee9351d8c1d9cda9660afc20d7f",
          "translation": "Текущая категория размещения: гекс карты, инвентарь криттера, контейнер-предмет или отсутствие размещения."
        },
        "/properties/@id=map-format.property.Item.PicInv/description": {
          "source_sha256": "a14861a79d378dd986d0c5a1f31cb43d745b23dcd5502f66ca74fa8e5a4f15ee",
          "translation": "Ресурс спрайта для представления предмета в интерфейсах инвентаря."
        },
        "/properties/@id=map-format.property.Item.PicMap/description": {
          "source_sha256": "ab14f55b75cc41008483bf44e6eb5d60046db1eb89c820cc29227f941f262567",
          "translation": "Ресурс спрайта для отрисовки предмета на карте."
        },
        "/properties/@id=map-format.property.Item.ShootThru/description": {
          "source_sha256": "bc1513365e7604c60ab42986e2e235bf63ae81f5081ee66377dbc348d0a157ae",
          "translation": "Разрешает трассировку снарядов через все гексы, занятые предметом."
        },
        "/properties/@id=map-format.property.Item.Static/description": {
          "source_sha256": "5fd25d0321400cdb6825f1b256dbf52f6e3a41c4be58a508e6375fe045a30fb2",
          "translation": "Помечает данные предмета на карте как статическую декорацию, а не динамическую сущность предмета."
        },
        "/properties/@id=map-format.property.Item.StaticScript/description": {
          "source_sha256": "80accddad61a6cbeb107b37c7e6fc4691023d6304302fbd93627672e584a67ea",
          "translation": "Серверный callback, вызываемый при взаимодействии криттера с этим статическим предметом."
        },
        "/properties/@id=map-format.property.Item.TileLayer/description": {
          "source_sha256": "a406efdae80c13b34e1cd584889d5d940a6943a27c70fd1f486b7f7a37b131cf",
          "translation": "Индекс с нуля слоя отрисовки земли или крыши для предмета-тайла."
        },
        "/properties/@id=map-format.property.Item.TriggerScript/description": {
          "source_sha256": "8fde30c2a2608ca0eb769ffd696ba7fee6c5df33a2002299a603d40e4fe273d7",
          "translation": "Серверный callback, вызываемый при входе криттера в этот триггер-предмет или выходе из него."
        },
        "/properties/@id=map-format.property.Map.CritterIds/description": {
          "source_sha256": "383b430c8c33bf1885c300520c17fd38067ff56b78d668e11ac9244035dd8e8f",
          "translation": "Сохраняемые идентификаторы неигровых криттеров, принадлежащих этой карте."
        },
        "/properties/@id=map-format.property.Map.CustomHolderEntry/description": {
          "source_sha256": "1050e666d84a94010a810b27fa9d7f3ad171a30f9a7d8d759bfb66b9dc73a348",
          "translation": "Для пользовательской сущности задаёт запись держателя, через которую она прикреплена."
        },
        "/properties/@id=map-format.property.Map.CustomHolderId/description": {
          "source_sha256": "f84e0928a758c5e497d28a042fd88d98879212b1ac2f6931f329526772f507b3",
          "translation": "Для пользовательской сущности хранит постоянный идентификатор владеющего держателя; равен нулю, если у держателя нет постоянного идентификатора."
        },
        "/properties/@id=map-format.property.Map.DayColor/description": {
          "source_sha256": "8c28d7782ce766bae7a87f21602faf98ccc756e3917e876a0278936521dae885",
          "translation": "Поканальные значения RGB для соответствующих ключевых цветов освещения карты."
        },
        "/properties/@id=map-format.property.Map.DayColorTime/description": {
          "source_sha256": "063442b339f136a862ee76aca06b2b9f76af23eef2bdcef6d597bacafc297b48",
          "translation": "Локальные для карты моменты ключевых цветов освещения в минутах суточного цикла."
        },
        "/properties/@id=map-format.property.Map.ExplicitlyPersistent/description": {
          "source_sha256": "909a82b41efa2f84a7e1fd273e8267c3b69fc21f3390ff505defbb973cf11e51",
          "translation": "Помечает сущность как самостоятельно сохраняемую, а не сохраняемую только из-за вложения в другую сущность."
        },
        "/properties/@id=map-format.property.Map.FixedDayTime/description": {
          "source_sha256": "733a7356ce97118638d8a96d452edf88bb2b23c6af70c8ca437978b1124fee05",
          "translation": "Локальное для карты значение переопределения времени суток, обычно выраженное в минутах и интерпретируемое игровыми скриптами."
        },
        "/properties/@id=map-format.property.Map.GlobalDayColor/description": {
          "source_sha256": "5062b0632e9dfa916cb4a1452f07becc6317345af600ffa19e3857a4faf8a19d",
          "translation": "Текущий клиентский цвет глобального дневного освещения, переданный через SetDayColors для скриптов и эффектов."
        },
        "/properties/@id=map-format.property.Map.GlobalDayColor/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Map.GlobalDayLightCapacity/description": {
          "source_sha256": "0e896da615c499ca6b6d72bbfb4ff6cce8634eee240e64afb1eb6f58bb28a46d",
          "translation": "Текущая дневная ёмкость источников света с флагом global в процентах, ограниченная диапазоном от 0 до 100."
        },
        "/properties/@id=map-format.property.Map.GlobalDayLightCapacity/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Map.InitScript/description": {
          "source_sha256": "b346fcb09dd09317254f8bd4a470e5686139f49d77fdddb12cc789c9b9a54fdf",
          "translation": "Серверная функция инициализации, вызываемая после события инициализации для новой или восстановленной карты."
        },
        "/properties/@id=map-format.property.Map.ItemIds/description": {
          "source_sha256": "f68bdd19c02a3c7072ef0c3f60c46e20895921dc5864e549679ff50e67587c65",
          "translation": "Сохраняемые идентификаторы динамических предметов, размещённых непосредственно на этой карте."
        },
        "/properties/@id=map-format.property.Map.LocId/description": {
          "source_sha256": "a03a7cf8f8affc1651b2f66086f024e3a3e58ae8f73bc470d3f60fd31ec661e9",
          "translation": "Идентификатор локации, владеющей этой картой."
        },
        "/properties/@id=map-format.property.Map.LocMapIndex/description": {
          "source_sha256": "edc543ed913945fdf817c99f20c8174c2f26112564f57b9a1d30a42ba8ba5d59",
          "translation": "Индекс с нуля этой карты в списке карт владеющей локации."
        },
        "/properties/@id=map-format.property.Map.MapDayColor/description": {
          "source_sha256": "7d45ea8d535569211311209d1e1b090eff8bd95a7711ad597fe4674d6b8c39f3",
          "translation": "Текущий клиентский оттенок карты, переданный через SetDayColors и используемый отрисовкой карты."
        },
        "/properties/@id=map-format.property.Map.MapDayColor/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Map.MapDayLightCapacity/description": {
          "source_sha256": "a7905a27180f72a6d5c60e80fbd6a24dcd91c21834c106f7ffbd18129444961f",
          "translation": "Текущая дневная ёмкость обычных источников света карты в процентах, ограниченная диапазоном от 0 до 100."
        },
        "/properties/@id=map-format.property.Map.MapDayLightCapacity/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Map.RemovedStaticItemIds/description": {
          "source_sha256": "10145eb732c492e95bd1f053d5f0dd6f9130a2d46594d4d1bdd479c2eed8351f",
          "translation": "Идентификаторы запечённых статических предметов, которые убрал этот экземпляр карты; удаление одностороннее на всё время жизни экземпляра."
        },
        "/properties/@id=map-format.property.Map.ScrollAxialArea/description": {
          "source_sha256": "3fa8a2bad17f4366872010bfc71dd29fae1130ec58631caac1921a43c94da421",
          "translation": "Прямоугольник в аксиальных координатах, ограничивающий прокрутку карты; нулевой прямоугольник оставляет доступной всю карту."
        },
        "/properties/@id=map-format.property.Map.ScrollOffset/description": {
          "source_sha256": "db936c3fe0561e0b2e76721fec01b38c190f6d0df6c06e0c0de5db60f847e17c",
          "translation": "Округлённое клиентское смещение области просмотра в пикселях пространства карты."
        },
        "/properties/@id=map-format.property.Map.ScrollOffset/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Map.Size/description": {
          "source_sha256": "55bb18dc4ab688f68beaf3fb1b2bfed3d1d671b87a6c09cf6816c70f83e77e49",
          "translation": "Ширина и высота сетки карты в гексах."
        },
        "/properties/@id=map-format.property.Map.SpritesZoom/description": {
          "source_sha256": "e7dab76f2064735454657cf83bfd532048bf61a2dbf2c0e7a92b8e919305b47c",
          "translation": "Текущий клиентский коэффициент масштаба спрайтов карты."
        },
        "/properties/@id=map-format.property.Map.SpritesZoom/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Map.SpritesZoomTarget/description": {
          "source_sha256": "5cc47384c7e656b8df01bf7003c3ca3f136e115eb89e50dc18affa7ba19589d1",
          "translation": "Целевой коэффициент масштаба, к которому интерполируется клиентский вид карты."
        },
        "/properties/@id=map-format.property.Map.SpritesZoomTarget/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=map-format.property.Map.WorkHex/description": {
          "source_sha256": "39e3f4def04bf163c5b07c4ede4f0dbe86be876eeee8e51712a36a3b3162a429",
          "translation": "Рабочий гекс редактирования, используемый как начальный центр вида Mapper."
        },
        "/rules/@id=map-format.rule.bounds/description": {
          "source_sha256": "8a05521e289469746030c4f8102b1291da2543013de7d380828fc7ffd8b6ea94",
          "translation": "Сервер отклоняет неверные позиции. Команды редактирования Mapper могут ограничивать позиции, но не заменяют валидацию исходника."
        },
        "/rules/@id=map-format.rule.bounds/name": {
          "source_sha256": "fad65188b3a51126fad8138431d29f8b87d00bf79d6b3218b668852d726972b7",
          "translation": "Границы карты"
        },
        "/rules/@id=map-format.rule.bounds/requirement": {
          "source_sha256": "5b6244805d5f3af4243cc6936a8a4a6e94ac8cab28818df99b435db6e1a91fa6",
          "translation": "Значения Hex криттеров и предметов MapHex обязаны находиться внутри ProtoMap Size до runtime-загрузки."
        },
        "/rules/@id=map-format.rule.closed-section-set/description": {
          "source_sha256": "1bdad5a1c6185f74ac3eb538be01e29ef981a2ec7f02904b7b7e3e32f6be3305",
          "translation": "[$Name/...] привязывается к предыдущему якорю. Явный владелец обязан именовать объявленную карту; контекстная вложенная секция перед первым якорем отклоняется."
        },
        "/rules/@id=map-format.rule.closed-section-set/name": {
          "source_sha256": "233a5a7b40f29bf1254de34e4a30cae2676a59555dbfb29a383f6738be37de73",
          "translation": "Закрытый набор секций"
        },
        "/rules/@id=map-format.rule.closed-section-set/requirement": {
          "source_sha256": "e734629369dc03a14535471594b9da4efdec7cd6283dd0d4bd7422f3974c13b8",
          "translation": "Используйте только якоря ProtoMap верхнего уровня и вложенные секции <owner>/Critter или <owner>/Item."
        },
        "/rules/@id=map-format.rule.config-syntax/description": {
          "source_sha256": "db1ddb9b75401fcaf0a63ec414d4f4ae135b004743c508d862ce1c4be213e4d1",
          "translation": ".fomap использует общий парсер ConfigFile."
        },
        "/rules/@id=map-format.rule.config-syntax/name": {
          "source_sha256": "8ba0c0cd1d9a44cd69850ff4d459bd88a5b9d10a742ff0fa566261f80d27c188",
          "translation": "Синтаксис конфигурации"
        },
        "/rules/@id=map-format.rule.config-syntax/requirement": {
          "source_sha256": "3aa417dee22750670ac416a6f47945fc2db177aee1f50d3d97e9f87af095a1fd",
          "translation": "Используйте повторяющиеся INI-подобные секции, присваивания key = value, комментарии #, продолжение обратной косой чертой и добавление key += value там, где его поддерживает парсер свойства."
        },
        "/rules/@id=map-format.rule.error-aggregation/description": {
          "source_sha256": "6764d3a0724bdfeac1eae9e41ade4f043490a52e793abb917cfdb054ea09c4e9",
          "translation": "Диагностика отдельных сущностей записывается до того, как MapLoader или MapBaker выбросит общую ошибку."
        },
        "/rules/@id=map-format.rule.error-aggregation/name": {
          "source_sha256": "fb583b326279f55573d3d009c445757c3cb607a2f75eb4e65cf57b34d23804e4",
          "translation": "Агрегация ошибок"
        },
        "/rules/@id=map-format.rule.error-aggregation/requirement": {
          "source_sha256": "43502bf932ab890b13b8acb9cfd2db937b178e7cc8c0363227d4dbecb1e253b5",
          "translation": "Считайте любую накопленную ошибку загрузки сущности или проверки свойства или ресурса ошибкой запекания карты."
        },
        "/rules/@id=map-format.rule.hidden-static-items/description": {
          "source_sha256": "0bac9922946055b4f9b2231ac50e92f018e2129135a4afe3b0408102f7f86884",
          "translation": "Строки его клиентских свойств всё равно хешируются, но запись предмета не создаётся."
        },
        "/rules/@id=map-format.rule.hidden-static-items/name": {
          "source_sha256": "310ee1c291a83e22bf72a490f0a0bff9c37dbf816c4dffb8a4a0ca950870da61",
          "translation": "Скрытые статические предметы"
        },
        "/rules/@id=map-format.rule.hidden-static-items/requirement": {
          "source_sha256": "541afaf8f33d027cf8ab94aca68979cd1b9a36d852896390a932f36a054d50b4",
          "translation": "Не ожидайте сущность скрытого статического предмета в клиентских данных карты."
        },
        "/rules/@id=map-format.rule.map-identity/description": {
          "source_sha256": "041295dc7e67d547da4e54fa16efc9659d939301eb069b510868707de01ae505",
          "translation": "Идентичность карты, целевой поиск при запекании и имена запечённых output берутся из объявленных ID карт, а не имён контейнеров."
        },
        "/rules/@id=map-format.rule.map-identity/name": {
          "source_sha256": "25214d1741a4d6a9d1971ac8ec0b8ca2f0ed29f85e33f5333c184c479efcac3a",
          "translation": "Идентичность карты"
        },
        "/rules/@id=map-format.rule.map-identity/requirement": {
          "source_sha256": "4cd63a72f664c97068b221c286e4c042b038b2ae5eb77bba4841a99983fd6ea0",
          "translation": "Задавайте каждой карте в контейнере с несколькими картами уникальное $Name ProtoMap; одиночный безымянный якорь наследует базовое имя исходника."
        },
        "/rules/@id=map-format.rule.mapper-round-trip/description": {
          "source_sha256": "5febb16894876dd777ccbb178f897acb67734e25100b978294875ea8184f7292",
          "translation": "Mapper выпускает $Name и нормализованные секции [$Name/...] изменённой карты, сохраняет поля $Text, разворачивает унаследованные свойства карты и побайтно сохраняет соседние блоки в контейнере с несколькими картами."
        },
        "/rules/@id=map-format.rule.mapper-round-trip/name": {
          "source_sha256": "eff721a9988b7f95a4b2380935a50eb983a459b268cd4d8539a306178c9287f1",
          "translation": "Цикл Mapper"
        },
        "/rules/@id=map-format.rule.mapper-round-trip/requirement": {
          "source_sha256": "1050d9ee4146fb707e51707bf475ada9b6a42fea4cf9b75b1a5ac840bab7786e",
          "translation": "Проверяйте сохранённые Mapper diff как нормализованный output, а не побайтовую сериализацию."
        },
        "/rules/@id=map-format.rule.multihex-lines-runtime/description": {
          "source_sha256": "04e1660de475121e99892babb27ea31a53a15a0a2586e9c3af7fcc5fbccb5eaf",
          "translation": "Серверная материализация статических и динамических предметов индексирует каждую развёрнутую ячейку линии на тот же предмет и пересчитывает его флаги блокировки и взаимодействия."
        },
        "/rules/@id=map-format.rule.multihex-lines-runtime/name": {
          "source_sha256": "e4348db0c6d994d4235e4a8503e0b787b6add230d16c44da8c424e7e0d5917f8",
          "translation": "Runtime-контур multihex-линий"
        },
        "/rules/@id=map-format.rule.multihex-lines-runtime/requirement": {
          "source_sha256": "495d17b3216a87074a9aa277eaa527b018910a0d157bd0b362085a278e9a90b2",
          "translation": "Считайте MultihexLines частью полного runtime-контура предмета вокруг его якоря и каждой допустимой ячейки MultihexMesh."
        },
        "/rules/@id=map-format.rule.multihex-mesh/description": {
          "source_sha256": "1db342baa55001182d9845f7dd3051cdb86094fc9f7f6c0f575327885ae4089d",
          "translation": "Нечётное число координат вызывает ошибку сериализации Mapper."
        },
        "/rules/@id=map-format.rule.multihex-mesh/name": {
          "source_sha256": "7cb028eb78c6c9f5f1a918228b195193aa3d995a377475a887e57aed38ca6a8d",
          "translation": "Сериализация multihex-сетки"
        },
        "/rules/@id=map-format.rule.multihex-mesh/requirement": {
          "source_sha256": "0e1c24c79a14ced5ee777ac31beba6e54b2d64e474743b50cca764d081048f6d",
          "translation": "MultihexMesh обязан содержать пары координат x/y; Mapper нормализует его в пары с продолжением обратной косой чертой."
        },
        "/rules/@id=map-format.rule.normalized-order/description": {
          "source_sha256": "4cf22279fb385f78d18852b09a0e1e646f77157ae39d05fcddb0041906b9d3b0",
          "translation": "Загрузчик обрабатывает все секции Critter до секций Item, а Mapper записывает криттеров с предметами инвентаря перед предметами карты с непосредственными дочерними предметами."
        },
        "/rules/@id=map-format.rule.normalized-order/name": {
          "source_sha256": "e5b33bc9e554a18a8de9b602b669769377e41cc4f3c8470591d4f62a505f0418",
          "translation": "Нормализованный порядок сущностей"
        },
        "/rules/@id=map-format.rule.normalized-order/requirement": {
          "source_sha256": "52f59926795ac6ef404e0f4156042746619fb8fa70d057876fd6b4283c3910f4",
          "translation": "Не используйте текстовое чередование как контракт порядка."
        },
        "/rules/@id=map-format.rule.ownership-references/description": {
          "source_sha256": "69396caeee4abddf20728b573394b611eeb6e3b92391d189167c65482bc8203a",
          "translation": "Несопоставленные ID владельцев пропускают создание дочернего предмета; поддерживаемая форма Mapper или runtime - непосредственные дети размещённых криттеров и нестатических предметов карты."
        },
        "/rules/@id=map-format.rule.ownership-references/name": {
          "source_sha256": "592488ebb00cc3378c256f03b81f7851a58d0f526d5301a04a8cc023a3f66d56",
          "translation": "Ссылки владения"
        },
        "/rules/@id=map-format.rule.ownership-references/requirement": {
          "source_sha256": "b2c5249635898e5c221f37e1ad93e619779ab7286af58810e3150e5c3dcde589",
          "translation": "Размещения CritterInventory и ItemContainer обязаны через CritterId или ContainerId ссылаться на ID материализуемого владельца."
        },
        "/rules/@id=map-format.rule.property-overrides/description": {
          "source_sha256": "a868abef37258218b3215e369b3f8a133ab1cc8073d99dcf5cf291326ca232a6",
          "translation": "MapBaker копирует свойства прототипа, применяет текст секции, проверяет ресурсы и сериализует данные стороны."
        },
        "/rules/@id=map-format.rule.property-overrides/name": {
          "source_sha256": "4dc7ba9208fdeea9aab6251832ce8e5583cfd594983accaae67811ede510f211",
          "translation": "Переопределения свойств"
        },
        "/rules/@id=map-format.rule.property-overrides/requirement": {
          "source_sha256": "4f3e62c9e0d720d654226babee2312735a9f138f1f1fface8ae30e7ecc36f6c1",
          "translation": "Используйте свойства, допустимые для получателя секции и стороны запекания; значения переопределяют разрешённый базовый прототип."
        },
        "/rules/@id=map-format.rule.prototype-resolution/description": {
          "source_sha256": "03e3b94246286ec12b9cf66d44c69b314458a37aa284f028767159b00facb2af",
          "translation": "Отсутствующие и неразрешённые прототипы накапливаются как ошибки загрузки карты."
        },
        "/rules/@id=map-format.rule.prototype-resolution/name": {
          "source_sha256": "448dfbb577a8976ef01835b41e5d6250e9b5d3dc22ac6d7cd7091b8399c3dafa",
          "translation": "Разрешение прототипа"
        },
        "/rules/@id=map-format.rule.prototype-resolution/requirement": {
          "source_sha256": "88b9cc0e02bab856787d000e44a8c49c6c06c4cebf6c9006fc360b77ee1a695d",
          "translation": "Каждая секция Critter и Item обязана именовать существующий прототип через $Proto."
        },
        "/rules/@id=map-format.rule.runtime-materialization/description": {
          "source_sha256": "4e2e3dbcb1a2157661ef459a637fc1d317be90e8abe1f2298ab4dfb2caf2f095",
          "translation": "Сервер переназначает авторские ID созданных криттеров и нестатических предметов карты перед присоединением непосредственных дочерних предметов."
        },
        "/rules/@id=map-format.rule.runtime-materialization/name": {
          "source_sha256": "11b628336876c83068cae8d7a0a7ca2c8051e0c246a4b0d47637214c1cc44544",
          "translation": "Runtime-материализация"
        },
        "/rules/@id=map-format.rule.runtime-materialization/requirement": {
          "source_sha256": "91f1025d8e7a8b18aa4d10d433f245d0bc9a812f0ac49d9e983fcecb4760599c",
          "translation": "Используйте Static только для неизменяемых объектов на гексах карты; нестатические размещения - для создаваемых криттеров, предметов карты, инвентарей и контейнеров."
        },
        "/rules/@id=map-format.rule.shared-placement-ids/description": {
          "source_sha256": "994ea7a5d6056518f68f4b663d3979a02bb36e529a0ce2d47b255a70c3d3b992",
          "translation": "Загрузчик исправляет пропущенные, неположительные и повторяющиеся ID, но исправленные значения могут нарушить написанные вручную ссылки на владельцев."
        },
        "/rules/@id=map-format.rule.shared-placement-ids/name": {
          "source_sha256": "447572e111b94662323f748aecaac0eb9cc7cbf0521eaeee5c934d8606057e49",
          "translation": "Общие ID размещений"
        },
        "/rules/@id=map-format.rule.shared-placement-ids/requirement": {
          "source_sha256": "983de346e348ff236a933f9f5a0d50a7e2d703718ef00724c859568cc1d803c8",
          "translation": "Используйте явные положительные ID, уникальные для всех секций Critter и Item одной карты."
        },
        "/rules/@id=map-format.rule.side-specific-bake/description": {
          "source_sha256": "3c2e242bafc2f6a462e6ba110323e5b8ec4ae9ffe7bfd610f8c62232632454b9",
          "translation": "Сервер получает криттеров и все предметы; клиент получает видимые статические предметы и все авторские строки серверной карты, без записей server entities или properties."
        },
        "/rules/@id=map-format.rule.side-specific-bake/name": {
          "source_sha256": "8e528fa22cb6f1e762b5289f2b11ee8a514606ffab20f96a1a6cb3cdb295e42c",
          "translation": "Запекание для сторон"
        },
        "/rules/@id=map-format.rule.side-specific-bake/requirement": {
          "source_sha256": "987e5d9a0286ff4b7c98d26e1a2f459831160033fe8b0953512d2aa59432a752",
          "translation": "Считайте серверный и клиентский бинарные файлы карты связанным output и пересоздавайте оба после изменений исходника или связанного прототипа."
        },
        "/rules/@id=map-format.rule.static-items/description": {
          "source_sha256": "f394a959deacd28ce0ec5ee360fa06c560e8105ed37836a8e192ea14eada85e5",
          "translation": "Статические предметы становятся неизменяемыми записями сетки и влияют на движение, стрельбу, триггеры и multihex-состояние."
        },
        "/rules/@id=map-format.rule.static-items/name": {
          "source_sha256": "98e5a24e14beff83bc80095853c46da1458f5b547733f37f0eef3a7c84ebec1a",
          "translation": "Размещение статического предмета"
        },
        "/rules/@id=map-format.rule.static-items/requirement": {
          "source_sha256": "bb6f0ded9b3e7976ae564e9542c6100e43e4acb339853267be0e3da91e9345e2",
          "translation": "Предмет Static обязан использовать владение MapHex."
        },
        "/scope/excluded": {
          "source_sha256": "a9e51a633154c791421bad70658ea469fea847ea4d58b110c11e2f62e28ecf39",
          "translation": [
            "авторские свойства проекта, ID прототипов, каталоги карт и таксономия каталогов",
            "правила заданий, встреч, баланса, визуальных наборов и дизайна уровней",
            "runtime-записи сохранения и динамические сущности, созданные после материализации карты",
            "поиск пути, боевая геометрия, дизайн освещения и зависящие от рендерера рекомендации по композиции"
          ]
        },
        "/scope/included": {
          "source_sha256": "3ce5669b082d8968d5d58c99e156890f60e8caa1797c162489958bf5c6b2fed6",
          "translation": [
            "один или несколько якорей ProtoMap со вложенными адресованными по карте секциями Critter и Item",
            "идентичность карты, ID размещений, ссылки на прототипы, владение и переопределения свойств",
            "нормализация Mapper, запекание для отдельных сторон и runtime-материализация",
            "каталоги свойств Map, Critter и Item, которыми владеет движок"
          ]
        },
        "/scope/support_note": {
          "source_sha256": "3e8a6626d65363913fd0f019b31f99b4e3da7465ed1cbb848150b257650d32aa",
          "translation": "Контракт генерируется для закреплённой ревизии движка. Каталоги карт проекта, пользовательские метаданные, игровая семантика и правила композиции остаются во владении проекта."
        },
        "/sections/@id=map-format.section.critter/cardinality": {
          "source_sha256": "756e2fb77312493d31d07dfeb840701f844f910f0f3f0fd37278dd53f0a1bf0e",
          "translation": "ноль или больше на объявленную карту"
        },
        "/sections/@id=map-format.section.critter/description": {
          "source_sha256": "4f0886e71c1ca123e3d28d995d96c609607fa5ebdf71689aea73132da6177443",
          "translation": "Размещает прототип криттера и применяет переопределения свойств Critter для размещения."
        },
        "/sections/@id=map-format.section.item/cardinality": {
          "source_sha256": "756e2fb77312493d31d07dfeb840701f844f910f0f3f0fd37278dd53f0a1bf0e",
          "translation": "ноль или больше на объявленную карту"
        },
        "/sections/@id=map-format.section.item/description": {
          "source_sha256": "0d09739bbb87aea4d1f6c9d9bcf26329b5a409325cd55e5e0ae9a67baa0928c6",
          "translation": "Размещает предмет карты, инвентаря или контейнера и применяет переопределения свойств Item для размещения."
        },
        "/sections/@id=map-format.section.proto-map/cardinality": {
          "source_sha256": "5469792f4d325b9688702eeadf91cd402496695125a065b963c266aa3c53a366",
          "translation": "одна или несколько на контейнер"
        },
        "/sections/@id=map-format.section.proto-map/description": {
          "source_sha256": "59683b5a18f46133a47288536f69d7312fb3bbf4e7e10a0ddbbab408ce9c0015",
          "translation": "Объявляет свойства уровня карты и начинает контекст для следующих секций [$Name/Critter] и [$Name/Item]."
        }
      }
    },
    "native-extension": {
      "entries": {
        "/binding_rules/@id=native-extension.binding.compatibility/name": {
          "source_sha256": "b37ddf1f6e0fac69414c5ed7f6e65f8f0a7ea1922afd602483392d695ee92065",
          "translation": "Совместимость"
        },
        "/binding_rules/@id=native-extension.binding.compatibility/rationale": {
          "source_sha256": "f2ba75a9e2f0b7c0fc95321bc106115da21e77eff414cebeac89a792edbfee25",
          "translation": "Зарегистрированные метаданные и наличие большинства хуков входят в сгенерированное состояние совместимости; бинарная совместимость независимых ревизий не обещается."
        },
        "/binding_rules/@id=native-extension.binding.compatibility/requirement": {
          "source_sha256": "78b435b4a913ff9df11eda99a30a74530dfd8cdefa60647a76e123f7d7ad19a1",
          "translation": "Пересобирайте и перезапекайте каждое проектное изменение нативных метаданных для закреплённой ревизии движка."
        },
        "/binding_rules/@id=native-extension.binding.dependencies/name": {
          "source_sha256": "2e41b118eb209c139f2bcbf690486f6e1509ab978aa96feb053877a70a1a5a09",
          "translation": "Зависимости"
        },
        "/binding_rules/@id=native-extension.binding.dependencies/rationale": {
          "source_sha256": "3a849275448ecff43f0b47a81fe361f1d59ab5f57a3ee4e9023009f30ac04011",
          "translation": "AddEngineSources отвечает только за маршрутизацию исходников; движок не выводит автоматически правила проектных зависимостей и распространения."
        },
        "/binding_rules/@id=native-extension.binding.dependencies/requirement": {
          "source_sha256": "bff2fbcf529ea02b533e0bc2d30ecdaf5bce86449f4fba78f891dd1cd39a2fa1",
          "translation": "Объявляйте проектные библиотеки, пути включения, определения компилятора, платформенные условия и содержимое пакета во встраивающем проекте."
        },
        "/binding_rules/@id=native-extension.binding.namespace/name": {
          "source_sha256": "8e20e63a0244d20863642140e5e3d07680885ead340c25a602f735365d236bb4",
          "translation": "Пространство имён движка"
        },
        "/binding_rules/@id=native-extension.binding.namespace/rationale": {
          "source_sha256": "a2c74254d598bae37c20057ea90c4c84c095ebf4ee4116d4e0695fdc17b255ee",
          "translation": "Один исходник должен компилироваться как с включённым, так и с выключенным настроенным пространством имён движка."
        },
        "/binding_rules/@id=native-extension.binding.namespace/requirement": {
          "source_sha256": "10b24ec898ef454ba7f12a54e6735d4b57e9134233346f21e5b84e230d469ad9",
          "translation": "Объявляйте экспорты метаданных внутри FO_BEGIN_NAMESPACE/FO_END_NAMESPACE, а определения квалифицируйте через FO_NAMESPACE."
        },
        "/binding_rules/@id=native-extension.binding.pointer-contract/name": {
          "source_sha256": "4d4296041e4a9a656af97bed765cd8e03cca6bfb10d8ee3468c5259d10a098de",
          "translation": "Контракт указателей"
        },
        "/binding_rules/@id=native-extension.binding.pointer-contract/rationale": {
          "source_sha256": "d73e699a548b4747093a8886bc8f7ce4b122dbbc1708b1c7ed1169669605434c",
          "translation": "Кодогенерация отклоняет сырые указатели на дескрипторы, а nullable-семантика должна совпадать в нативных и скриптовых объявлениях."
        },
        "/binding_rules/@id=native-extension.binding.pointer-contract/requirement": {
          "source_sha256": "8cb5f6744ee5cd3787e504a0947ca6fba07438420afbf7e4fb016342343d89e7",
          "translation": "Используйте ptr<T>/nptr<T> для заимствований дескрипторов движка, а для владения — словарь владеющих указателей движка."
        },
        "/binding_rules/@id=native-extension.binding.registration-order/name": {
          "source_sha256": "c28585c33db0e97cc4138e68a3ba6658e0a85053bf05ed8200bb299816de7cb9",
          "translation": "Порядок регистрации"
        },
        "/binding_rules/@id=native-extension.binding.registration-order/rationale": {
          "source_sha256": "d4b91b5eb2e834b659692f7499712750b9059b7cbffab0931e913d1f91acd98c",
          "translation": "Проектные файлы должны попасть в списки исходников ролей и FO_SOURCE_META_FILES до настройки кодогенерации и базовых библиотек."
        },
        "/binding_rules/@id=native-extension.binding.registration-order/requirement": {
          "source_sha256": "02df0ae8c220a7814085fb0fe1c33d99248d342be7885c1fbe8951d05ab69bab",
          "translation": "Вызывайте AddEngineSources после AddThirdPartyLibraries и до точки входа стадии RegisterEngineSources."
        },
        "/binding_rules/@id=native-extension.binding.script-export/name": {
          "source_sha256": "19d8228d5961496a9604eb044119b7cd116b215157405e19b1886a6278a0e1e4",
          "translation": "Граница экспорта в скрипты"
        },
        "/binding_rules/@id=native-extension.binding.script-export/rationale": {
          "source_sha256": "f431a750525a373442a4a7f3568e1579a3cc87e60dd60e2494bc8b3b91ee3b25",
          "translation": "Кодогенерация разбирает объявление и создаёт границу регистрации между нативным кодом и скриптами."
        },
        "/binding_rules/@id=native-extension.binding.script-export/requirement": {
          "source_sha256": "5ec863dde2360c074e5048e714e4c9e361c1fd3f50477853118618dbdf0c3201",
          "translation": "Используйте FO_SCRIPT_API с поддерживаемым тегом метаданных ///@; не добавляйте макросы входа трассировки стека в экспортируемые тела."
        },
        "/description": {
          "source_sha256": "cc1833b4158e8d1f1ad147c4d2850ee7d05170c53799e1f9caaaf986b30212bc",
          "translation": "Принадлежащий runtime контракт композиции нативных расширений и хуков движка для встраивающих проектов FOnline."
        },
        "/hooks/@id=native-extension.hook.ApplicationInitHook/default_behavior": {
          "source_sha256": "68b161088d05c59581b8248ac25eecb340670673b9d286049395c97fcfec004f",
          "translation": "Ничего не делает перед продолжением инициализации среды выполнения приложения."
        },
        "/hooks/@id=native-extension.hook.ApplicationInitHook/description": {
          "source_sha256": "5156af575415d7920f6e7fb4cf7901b5b3a8d0f4c4dcb740a5264f5fad6df0d6",
          "translation": "Проверяет или корректирует настройки запуска приложения после инициализации платформы."
        },
        "/hooks/@id=native-extension.hook.ApplicationShutdownHook/default_behavior": {
          "source_sha256": "f8486422f478a006e015a9a53cb2d325330afacc78c28435786c49322a1a402c",
          "translation": "Ничего не делает во время защищённого завершения клиента или приложения."
        },
        "/hooks/@id=native-extension.hook.ApplicationShutdownHook/description": {
          "source_sha256": "402d0589e454dc84c59bcc4f788c9d0e93d3e936df9095ab4848256025122b15",
          "translation": "Освобождает принадлежащие проекту общепроцессные сервисы при завершении приложения."
        },
        "/hooks/@id=native-extension.hook.CheckCritterVisibilityHook/default_behavior": {
          "source_sha256": "71c485e717450f4ed5eb72fb1a9fbaddfbba702a7825e7fc9cb8de1af2269c59",
          "translation": "Возвращает CritterVisibilityMode::Full."
        },
        "/hooks/@id=native-extension.hook.CheckCritterVisibilityHook/description": {
          "source_sha256": "065c7b355a5ef8baf8ce3a44f7d672e81632aa70a72ae69e2568a213a436d553",
          "translation": "Применяет проектную политику видимости между наблюдателем и целевым криттером."
        },
        "/hooks/@id=native-extension.hook.CheckItemVisibilityHook/default_behavior": {
          "source_sha256": "f8df8ad98236e18212def7cb864721963b62e315dc2c47cd8f54fe4a299ba076",
          "translation": "Возвращает true."
        },
        "/hooks/@id=native-extension.hook.CheckItemVisibilityHook/description": {
          "source_sha256": "3de105d7f50aadbc323be41a4d32db540b8a55b1089e7a785a8be9b95a6fc37e",
          "translation": "Применяет проектную политику видимости между криттером-наблюдателем и предметом на карте."
        },
        "/hooks/@id=native-extension.hook.ClientInitHook/default_behavior": {
          "source_sha256": "276bd557202f6c382534fe2af257c224f897618c74b825f5eef821d44b18c606",
          "translation": "Ничего не делает, и инициализация клиента продолжается."
        },
        "/hooks/@id=native-extension.hook.ClientInitHook/description": {
          "source_sha256": "47d6e2bb9809c0ec34bd5b8e5d22eea8416225c9f65bdc3f4215c0ac14e4f25d",
          "translation": "Инициализирует принадлежащие проекту клиентские сервисы и пользовательские данные движка."
        },
        "/hooks/@id=native-extension.hook.ClientStartupSettingsHook/default_behavior": {
          "source_sha256": "c6c2d1b042d506303b17964ba2947d2ec15bbc4ee870a359763ab54c1d86a4c1",
          "translation": "Ничего не делает перед запуском отдельного или встроенного клиента."
        },
        "/hooks/@id=native-extension.hook.ClientStartupSettingsHook/description": {
          "source_sha256": "8a2113a1e0aa1b610e9248f292a14ab746b30edb24129347b951cae4cef3650f",
          "translation": "Корректирует настройки запуска отдельного клиента, включая встроенные экземпляры нескольких клиентов."
        },
        "/hooks/@id=native-extension.hook.ServerInitHook/default_behavior": {
          "source_sha256": "4c63b665571ec02ecbe60c68539d94bbd73642e6f5af71857743a4a51f7f703d",
          "translation": "Ничего не делает, и инициализация сервера продолжается."
        },
        "/hooks/@id=native-extension.hook.ServerInitHook/description": {
          "source_sha256": "1e4ed6eea885aac480ee4d56a2e77f541f888bf16f691f1278d661976de624db",
          "translation": "Инициализирует принадлежащие проекту серверные сервисы и пользовательские данные движка."
        },
        "/hooks/@id=native-extension.hook.SetupBakersHook/default_behavior": {
          "source_sha256": "4c53dc7581dcb6dd08df42ee3ed32c41564e56559b6f0e7f1f27359296312a19",
          "translation": "Не регистрирует проектные запекатели."
        },
        "/hooks/@id=native-extension.hook.SetupBakersHook/description": {
          "source_sha256": "98f70957d4d8431271e95ad9f3e59d989f491d35d0a6e0086ddee85926463a54",
          "translation": "Добавляет принадлежащие проекту запекатели ресурсов, запрошенные активной конфигурацией запекания."
        },
        "/roles/@id=native-extension.role.baker/description": {
          "source_sha256": "c3c65e83dfb31cbdb59f47920cbec31aa58a28f18707e9328bb8cfda40f772d9",
          "translation": "Расширения запекателя ресурсов, общие для Baker, Mapper, обоих специализированных просмотрщиков и ASCompiler; BAKER не является целью экспорта в скрипты."
        },
        "/roles/@id=native-extension.role.client/description": {
          "source_sha256": "28c659180fe1f418d43a7a6bd8ba8b090673c72a1642bd4ea4e534cb52623739",
          "translation": "Код среды выполнения клиента; пути контроллера сервера, Mapper, оба специализированных просмотрщика, BakerLib и ASCompiler линкуются с ClientLib, но целями экспорта в скрипты являются только клиент и Mapper."
        },
        "/roles/@id=native-extension.role.common/description": {
          "source_sha256": "0e383cc61d6a26f55548a3eb2e654cbf39d69f36f4a066b329e7151189e75055",
          "translation": "Код, общий для каждой включённой роли движка; используйте только для действительно общих зависимостей и хуков."
        },
        "/roles/@id=native-extension.role.mapper/description": {
          "source_sha256": "e6eda0fe09f9ec37510fa43c11dd327f83d7118f17c997da897b0cdf9dd058fd",
          "translation": "Нативные инструменты только для Mapper и экспорты в его скрипты."
        },
        "/roles/@id=native-extension.role.server/description": {
          "source_sha256": "4665ba97750ad4e7dc81bf1e4075c08b69a24c8584435616cbfd1b68a9cf1d93",
          "translation": "Авторитетный серверный код и экспорты в серверные скрипты."
        },
        "/roles/@id=native-extension.role.tests/description": {
          "source_sha256": "5a857fc261e7d7443dbfdd6e6f8e36b8aa5e95c75417d6db79a8d88f4bda5443",
          "translation": "Проектные модули трансляции Catch2, компилируемые непосредственно во включённые исполняемые файлы unit-тестов и покрытия; у TESTS нет потребителей среды выполнения и целей экспорта в скрипты."
        },
        "/scope/excluded": {
          "source_sha256": "f5d1144bcb6036f57862898b51a1a8fb43d386b779f96e4eb770ebeb1324a520",
          "translation": [
            "проектные реализации расширений, зависимости, настройки, персистентность и релизная политика",
            "ABI сторонних SDK и проектная упаковка нативных библиотек",
            "ABI между хостом и средой выполнения клиента и совместимость независимо собранных ревизий движка",
            "внутреннее устройство нативного скриптового backend, управляемого FO_NATIVE_SCRIPTING"
          ]
        },
        "/scope/included": {
          "source_sha256": "69780269ea713e70f289a11f64a0fa9795ac3fc4f83599035dd25c4ce01d427e",
          "translation": [
            "регистрация проектных исходников C++ по ролям через AddEngineSources",
            "участие зарегистрированных проектных исходников в обработке метаданных и кодогенерации",
            "необязательные объявления EngineHook, их сигнатуры, владеющие роли, места вызова и сгенерированное поведение по умолчанию",
            "правила нативного биндинга и пространства имён, необходимые сгенерированным экспортам в скрипты"
          ]
        },
        "/scope/support_note": {
          "source_sha256": "baf95757e0bb8a33434ff05201d6e07c846e32a8bee219bb0fe749a60001cdfe",
          "translation": "Использование с совместимостью исходного кода документировано для закреплённой ревизии движка; бинарная совместимость независимо собранных компонентов не обещается."
        }
      }
    },
    "package": {
      "entries": {
        "/cli/arguments/@id=package.cli.argument.arch/description": {
          "source_sha256": "ab8d09f9d5bcf5965a1eccad622c9dbe7e838b0c6ba3aa38a42d99804cac036c",
          "translation": "включаемые архитектуры (разделяются символом +)"
        },
        "/cli/arguments/@id=package.cli.argument.binary_output_postfix/description": {
          "source_sha256": "1db447979446c1832dc28d82b16cbb174aad3b02f41b48cada1c99dfede5433c",
          "translation": "суффикс, добавляемый к именам каталогов выходных бинарных файлов"
        },
        "/cli/arguments/@id=package.cli.argument.bundle_compress_level/description": {
          "source_sha256": "c43e9ea3f9e604aa2dc432064c47f293c71983ae1ea5992128d33df69dddffc0",
          "translation": "переопределить уровень сжатия внешнего пакета (шкала zlib: 0 без сжатия, 9 максимально)"
        },
        "/cli/arguments/@id=package.cli.argument.buildhash/description": {
          "source_sha256": "f9266c7f36c9ffabb805ff021eb8db871069d6b2c60da6f85321cb611eefb61a",
          "translation": "хеш сборки"
        },
        "/cli/arguments/@id=package.cli.argument.config/description": {
          "source_sha256": "8c398af6b2e17beee40d8ad430d470d9e3e2792bc4c1787f0ccf4419e2f46209",
          "translation": "имя конфигурации"
        },
        "/cli/arguments/@id=package.cli.argument.devname/description": {
          "source_sha256": "4b76d901e2730953a72b5a8e4ef6deb3653bc207d391f688e556288c5336acb7",
          "translation": "имя игры для разработки"
        },
        "/cli/arguments/@id=package.cli.argument.expect_client_runtime/description": {
          "source_sha256": "7ac6921753c3b43b98f6dcb1073d58d6555331b367d830c899e94afe0da00d7b",
          "translation": "Вариант клиента, runtime payload которого этот пакет сервера должен распространять, в формате Platform:arch[:postfix]. Аргумент можно повторять."
        },
        "/cli/arguments/@id=package.cli.argument.input/description": {
          "source_sha256": "71da9b18461a00ebf01481a93e1fadd776968220ec1dce44ec47dfd521324c9a",
          "translation": "входной каталог (из FO_OUTPUT_PATH)"
        },
        "/cli/arguments/@id=package.cli.argument.maincfg/description": {
          "source_sha256": "109059c923ff57b7cd47620f64b1604dc6d76b697b891f3bc6723c38b241cbce",
          "translation": "путь к основному конфигурационному файлу"
        },
        "/cli/arguments/@id=package.cli.argument.nicename/description": {
          "source_sha256": "9e423ef089311595b7774f1a7da08e178a55ca1e7bd7266404756fd5530b96de",
          "translation": "отображаемое имя игры"
        },
        "/cli/arguments/@id=package.cli.argument.output/description": {
          "source_sha256": "10f0fa381602de9a63214fb2760c0dac2b09e0d9edfc5f92c4b21180270bfe5c",
          "translation": "выходной каталог"
        },
        "/cli/arguments/@id=package.cli.argument.pack/description": {
          "source_sha256": "77d59652e3bc18f893cdaa9e2cd7bb4f43cadf7001b23b6f484a69e3d12f281f",
          "translation": "тип пакета"
        },
        "/cli/arguments/@id=package.cli.argument.platform/description": {
          "source_sha256": "caff39e103adc9a3ba5c88a33555b1118d301d33dd57dde05d24123b387461af",
          "translation": "тип платформы"
        },
        "/cli/arguments/@id=package.cli.argument.resource_pack_compress_level/description": {
          "source_sha256": "8bdeed3192930b67e8098007fe6790966ca76cf55598999b2a8d7a5269ebe9bd",
          "translation": "переопределить уровень сжатия пакета ресурсов (шкала zlib: 0 без сжатия, 9 максимально)"
        },
        "/cli/arguments/@id=package.cli.argument.resource_pack_hash_library/description": {
          "source_sha256": "5905b4e79a8f7a4283b518de0cdbee04056eefddeb8bc9b2f04a72e3f59e9a3e",
          "translation": "Явная host-библиотека FNV-1a; иначе поиск под input Binaries/BuildTools-*."
        },
        "/cli/arguments/@id=package.cli.argument.resource_pack_jobs/description": {
          "source_sha256": "ca07c91d43d723b438617d5e813296addc31deb3a39913741f69fefcdc495f8d",
          "translation": "максимум одновременно создаваемых архивов ресурсов (по умолчанию FO_RESOURCE_PACK_JOBS или 1)"
        },
        "/cli/arguments/@id=package.cli.argument.target/description": {
          "source_sha256": "2c1f7b79e49ccc8890357c8defc768c79d51a8c7919d853ae61efc423a3f2aa4",
          "translation": "тип цели упаковки"
        },
        "/cli/description": {
          "source_sha256": "90c6a6e8f9678a9624e853ed62b47f16eb5d1a31911ef007719254b5353dc2dc",
          "translation": "упаковщик FOnline"
        },
        "/declaration/clauses/@id=package.declaration.DefinePackage.clause.BINARY/arguments/@name=arch/description": {
          "source_sha256": "27a7660129228bdc5a8170b7201c04e0dae4f1205c4edab90b81703977681648",
          "translation": "Ключ архитектуры или несколько ключей архитектур, разделённых знаком +."
        },
        "/declaration/clauses/@id=package.declaration.DefinePackage.clause.BINARY/arguments/@name=pack/description": {
          "source_sha256": "ee5e2b382967a150b1c7295f01896123c8fe68689f6bb7020993b2681ecab39c",
          "translation": "Токены наборов, разделённые знаком +."
        },
        "/declaration/clauses/@id=package.declaration.DefinePackage.clause.BINARY/arguments/@name=platform/description": {
          "source_sha256": "e93556ee5277c57985e58bc46dc4cdf081bb9b71c53dfca098a7a687fc6e9a19",
          "translation": "Имя платформы упаковщика."
        },
        "/declaration/clauses/@id=package.declaration.DefinePackage.clause.BINARY/arguments/@name=target/description": {
          "source_sha256": "48899a304ae2623c6bd1bc3a6037f5df0496a6645200b9482040529d510bb65c",
          "translation": "Имя цели упаковщика."
        },
        "/declaration/clauses/@id=package.declaration.DefinePackage.clause.BINARY/description": {
          "source_sha256": "b80a90c912c657152c2176683c2a67a6d1db140762fed44db31838cc909abd51",
          "translation": "Добавляет содержимое для одной комбинации цели, платформы и архитектуры; за ним необязательно могут следовать POSTFIX и значение, применяемые вместе только к этой записи бинарного файла."
        },
        "/declaration/clauses/@id=package.declaration.DefinePackage.clause.CONFIG/arguments/@name=config/description": {
          "source_sha256": "34a92339dc7ba73f793a570d9867c543b1561677115ad8e619033d69cdbc7927",
          "translation": "Подконфигурация проекта по умолчанию, встраиваемая в каждую запись бинарного файла."
        },
        "/declaration/clauses/@id=package.declaration.DefinePackage.clause.CONFIG/description": {
          "source_sha256": "fc37b232bd8bcc9ae178373493301a927f16e437f2bef693afed127299d088b0",
          "translation": "Задаёт конфигурацию по умолчанию для всего пакета."
        },
        "/declaration/description": {
          "source_sha256": "d62b60f746977bfad4bc6ff43b0f3e8afc3bc10be82a2994665a4d28bdc095b4",
          "translation": "Объявляет именованную цель пакета и содержимое одного или нескольких бинарных файлов."
        },
        "/declaration/options/@id=package.binary-option.POSTFIX/description": {
          "source_sha256": "08c9a7d468f56bf3eb81f7f9625dc4aecce61c2dfe13dfa3c8362548d8f34fbf",
          "translation": "Выбирает соответствующий бинарный вход с суффиксом и изолирует для этой записи каталог цели, имя упакованной сборки, содержимое runtime-обновления и имя MSI, не затрагивая соседние записи BINARY."
        },
        "/packager/description": {
          "source_sha256": "016193f16b1064ce0f1edda2e602b2733a9e600d3ef96e627306c7a85011440e",
          "translation": "Подготавливает содержимое одного объявленного бинарного файла, изменяет runtime-данные и выпускает выбранные артефакты."
        },
        "/packs/@id=package.pack.Apk/description": {
          "source_sha256": "a7a41e65c179cf5862f67e7b01096bf86b7f502ac65bfcbc96a27adcc17bfdcc",
          "translation": "Запускает Gradle и копирует выбранный подписанный или отладочный APK рядом с подготовленным проектом."
        },
        "/packs/@id=package.pack.AppImage/description": {
          "source_sha256": "300b90223f5551cdd842bb0813d875924b1d0507f41296f726d3b901c0ffca72",
          "translation": "Зарезервированный токен; текущий упаковщик Linux не выпускает артефакт AppImage."
        },
        "/packs/@id=package.pack.Daemon/description": {
          "source_sha256": "cd371a715cebb0df58319a75a83f6d616e7b0d586815ccc99eacc08c94723552",
          "translation": "Включает обычный вариант сервера и вариант Linux Daemon."
        },
        "/packs/@id=package.pack.Debug/description": {
          "source_sha256": "3f16217dee573631d0af5aca734fef07e8f2cf1eb1ec42ad9275639e2b60e741",
          "translation": "Выбирает отладочные бинарные входы; для Android используется assembleDebug."
        },
        "/packs/@id=package.pack.Headless/description": {
          "source_sha256": "56e65ca532e312b1b7695451f543f0ff438bc1b17f22bfe70dd13e40c2cb0d8c",
          "translation": "Включает обычный и Headless-варианты бинарного файла."
        },
        "/packs/@id=package.pack.Lib/description": {
          "source_sha256": "564c38744ab18bc4758a2d45839ec11f2442b5c1cb841743168180f9842ab2bf",
          "translation": "Упаковывает приложение в виде динамической библиотеки вместо исполняемого файла."
        },
        "/packs/@id=package.pack.NoRes/description": {
          "source_sha256": "d952b4645908f472bb1123dd151e8049951ee00d30a8ef9e7d9f9c1510d3fd6f",
          "translation": "Пропускает подготовку ресурсов и изменение встроенных данных, конфигурации и имени сборки."
        },
        "/packs/@id=package.pack.OGL/description": {
          "source_sha256": "68bb64a87f2399e5b033b19963c8839adfd7377155a7de575c8655386b452a92",
          "translation": "Включает обычный и OpenGL-варианты клиента и задаёт ForceOpenGL=1."
        },
        "/packs/@id=package.pack.OnDemandProfiling/description": {
          "source_sha256": "b50065f47241bf367f1a1f8003a0c7f114eaddd05f17c8eef230b3c76f2652bf",
          "translation": "Включает обычный вариант бинарного файла и вариант профилирования по запросу."
        },
        "/packs/@id=package.pack.Raw/description": {
          "source_sha256": "fc1aa26d28701d249b0280d4e968458adf36bdf511d84403f7b12ab50a1f9916",
          "translation": "Сохраняет подготовленный каталог цели после завершения упаковки."
        },
        "/packs/@id=package.pack.Root/description": {
          "source_sha256": "9089ccaf480be2c1aed238ce8a21d580249f4d2f7e5bb4e8ba79e3a3f52512f5",
          "translation": "Объединяет подготовленный каталог цели с корнем выходного каталога пакета."
        },
        "/packs/@id=package.pack.Service/description": {
          "source_sha256": "bd0d17c57f12f7a4d1f38f0d884aa824f2f4f808306c5f17a683d7e6166a7e84",
          "translation": "Включает обычный вариант сервера и вариант Windows Service."
        },
        "/packs/@id=package.pack.SingleZip/description": {
          "source_sha256": "6ccf4688bd4bd2ebbad7e935b121a29245893531fb6297463d9351c05ec8f5ef",
          "translation": "Добавляет подготовленный каталог цели в единый ZIP всего пакета; одинаковые элементы с совпадающими именами сохраняются один раз, а конфликтующее содержимое приводит к ошибке упаковки."
        },
        "/packs/@id=package.pack.Tar/description": {
          "source_sha256": "5a6276a83cb99aef50330e8d0dee004f9e690060877026c2ceb5a15308144c1f",
          "translation": "Создаёт несжатый архив tar."
        },
        "/packs/@id=package.pack.TarGz/description": {
          "source_sha256": "80147b179b5672a6c8fdcbd40cf041b71dd48b9afaf5c104c5a69d4628698ae5",
          "translation": "Создаёт архив tar со сжатием gzip."
        },
        "/packs/@id=package.pack.TotalProfiling/description": {
          "source_sha256": "43356df5c9b0f8254f5566fc8f1a0a127eee012c99be7402792d21d404ea5675",
          "translation": "Включает обычный вариант бинарного файла и вариант полного профилирования."
        },
        "/packs/@id=package.pack.WebServer/description": {
          "source_sha256": "74e5e298af210612f9d3831d3eda086914ddfe49f174f5aa6d0c7271eed2d4cd",
          "translation": "Добавляет локальный помощник simple-web-server.py в содержимое браузерного клиента."
        },
        "/packs/@id=package.pack.Wix/description": {
          "source_sha256": "65dcd8b50c73abf1fcbfd0b22b370604cd6301f3e7952b5fe1f93b727b93f79c",
          "translation": "Собирает обязательный MSI из подготовленного содержимого клиента Windows; POSTFIX добавляется к базовому имени установщика."
        },
        "/packs/@id=package.pack.Zip/description": {
          "source_sha256": "53a80c08947b4eb5f4f4b4e48c5d0420fdcd83ba16aaf98fc1b6cdcf8612862e",
          "translation": "Создаёт детерминированный ZIP рядом с подготовленным каталогом цели."
        },
        "/payloads/@id=package.payload.Android/description": {
          "source_sha256": "78d465bb698d6099a4f407c80138a52b60c98b0aad1e5cbaf57032dcf64967ba",
          "translation": "Сгенерированный проект Gradle с libmain.so для каждого ABI и запечёнными ресурсами в assets приложения; управляемые сборки и подготовленная среда выполнения остаются в assets пакета ресурсов. Apk при необходимости выпускает соседний APK."
        },
        "/payloads/@id=package.payload.Linux/description": {
          "source_sha256": "0870b2e5ef2892abfe0415f33ecb25db755e8ccdbda5fde29ef1d1a7ba687521",
          "translation": "Изменённый исполняемый файл или динамическая библиотека runtime, сопутствующие файлы и каталоги ZIP с ресурсами, если не выбран NoRes. Managed-сборки несут целевые управляемые сборки и подготовленную среду выполнения внутри выбранного пакета ресурсов."
        },
        "/payloads/@id=package.payload.Web/description": {
          "source_sha256": "7c3c8451f4c4e2561286f67cf3acc4adb6ab4a0c098714f527d8bc882cd3e609",
          "translation": "JavaScript, изменённый Wasm, оболочка HTML, файлы предварительной загрузки Resources.data/Resources.js, целевые управляемые сборки и ресурсы runtime, когда они включены, а также необязательный помощник локального сервера."
        },
        "/payloads/@id=package.payload.Windows/description": {
          "source_sha256": "6befa22963e7f9f37a1508351fb234a5fc90b158cc2a4f1a498965ecd77d8b04",
          "translation": "Изменённый исполняемый файл PE или DLL, сопутствующие runtime-файлы, PDB при наличии и каталоги ZIP с ресурсами, если не выбран NoRes. Managed-сборки несут целевые управляемые сборки и подготовленную среду выполнения внутри выбранного пакета ресурсов. Ключи win32-win7 и win64-win7 читают каноническую запись бинарного файла win32/win64, выбранную тем же POSTFIX отдельной записи."
        },
        "/payloads/@id=package.payload.iOS/description": {
          "source_sha256": "c6a13075ee741bdce8ed6ec3ae55e960b6de544cce2133c1ba36419434075c13",
          "translation": "В текущем состоянии репозитория содержимое не выпускается."
        },
        "/payloads/@id=package.payload.macOS/description": {
          "source_sha256": "c6a13075ee741bdce8ed6ec3ae55e960b6de544cce2133c1ba36419434075c13",
          "translation": "В текущем состоянии репозитория содержимое не выпускается."
        },
        "/platforms/@id=package.platform.Android/description": {
          "source_sha256": "ec28de9a431116c93e61b143e7a2df55c3e413c8f2fadafdf4837edb542271c4",
          "translation": "Проект клиента Gradle с нативными библиотеками ABI, ресурсами и необязательным APK."
        },
        "/platforms/@id=package.platform.Linux/description": {
          "source_sha256": "73ea8a5727b968955b7d0bcfa5236fe629a5e722f091f04af0c98ef233bdcf0f",
          "translation": "Нативное содержимое ELF с необязательными runtime-библиотеками и архивами."
        },
        "/platforms/@id=package.platform.Web/description": {
          "source_sha256": "6e5240fce8a888579a63e1b5736b746ee9908fdb3acd8c9669e5f1706bed97f3",
          "translation": "Содержимое браузерного клиента JavaScript/Wasm с предварительно загруженными ресурсами."
        },
        "/platforms/@id=package.platform.Windows/description": {
          "source_sha256": "2bc25bac06194dc76437693483f95ecf0df95e07dc1962de08c8c7578e648024",
          "translation": "Нативное содержимое PE с необязательными runtime-DLL, символами, архивами и MSI. Ключи -win7 разрешаются в канонические архитектуры бинарных файлов win32/win64 и требуют совпадающего явного POSTFIX, когда выход сборки имеет суффикс. arm64 принимается как существующий вход пакета, но стандартный реестр платформ BuildTools не предоставляет линию сборки Windows arm64."
        },
        "/platforms/@id=package.platform.iOS/description": {
          "source_sha256": "3cca62bd0cdd1fdd1d1d68da64549c1c02c37ef1eb64963137acc051fee9daaa",
          "translation": "Принимается argparse, но package_ios сейчас прерывает работу."
        },
        "/platforms/@id=package.platform.macOS/description": {
          "source_sha256": "6cce269bd62029f13f3a6b09ba3c0fca93751dca87dbc5cfdc6fe18a5a83b59d",
          "translation": "Принимается argparse, но package_macos сейчас прерывает работу."
        },
        "/scope/support_note": {
          "source_sha256": "1edbcb491b9c2ea6e0f052b0d7a6d35f9db31f264a5a8e07bb079d7fcc846ff2",
          "translation": "Версионируемая линия поддержки пакетов не объявлена; встраивающие проекты должны фиксировать ревизию движка."
        },
        "/targets/@id=package.target.AnimationViewer/description": {
          "source_sha256": "b6f0f8d0bb345812a158458984449602e083a32166d4bfd74807a98c815a4075",
          "translation": "Автономный инструмент предварительного просмотра анимации без упакованных игровых ресурсов."
        },
        "/targets/@id=package.target.Baker/description": {
          "source_sha256": "d3e84d05dd7643ca5d785c9abe3e85709c7ac1a39443991c921ae8577690e546",
          "translation": "Исполняемый файл или библиотека Baker без упакованных игровых ресурсов."
        },
        "/targets/@id=package.target.Client/description": {
          "source_sha256": "44ce3ac7d69598d5da2dff7dcdbf54c588134a57fd778c9d6024077b4263143b",
          "translation": "Бинарный файл хоста/runtime клиента и ресурсы клиента."
        },
        "/targets/@id=package.target.Mapper/description": {
          "source_sha256": "feaaba6d783cfa9efd74b77143f6e30c4b4fc1078fda4d1ae22f51a34b4983b0",
          "translation": "Бинарный файл Mapper без упакованных игровых ресурсов."
        },
        "/targets/@id=package.target.ParticleViewer/description": {
          "source_sha256": "e9c15acc76055e81be60df5bc3f6e1c4e1739b0890ec6b0bf2abdd7de8a51500",
          "translation": "Автономный инструмент предварительного просмотра частиц без упакованных игровых ресурсов."
        },
        "/targets/@id=package.target.Server/description": {
          "source_sha256": "ac2fbf7b5c04cc2d40e2e9baff95c0215face32135be84e404c85062520ac3ae",
          "translation": "Бинарный файл сервера, ресурсы сервера и наборы ресурсов обновления клиента."
        }
      }
    },
    "public-examples": {
      "entries": {
        "/program/owners/build_release": {
          "source_sha256": "82f40d1a225bf35a75b670e30708a516235431d482ccdc89ec4f2e07ece240ea",
          "translation": "Ответственные за сборку и релизы"
        },
        "/program/owners/content": {
          "source_sha256": "7e1e90e9a55b7333429d5c4e57bfa655a277226bed7fb19eb3aa241f8a70a6ff",
          "translation": "Ответственные за контент и ресурсы"
        },
        "/program/owners/documentation": {
          "source_sha256": "bea06261f7ad224f7b4967add65ee469cd1470e3df78e24e74a7b9081ea7e52e",
          "translation": "Ответственные за документацию"
        },
        "/program/owners/runtime": {
          "source_sha256": "5a86a82b9ef4eb0d47bd64e6659e304e854378838ea8acf387d1bee5d61e3c86",
          "translation": "Ответственные за runtime движка"
        },
        "/program/owners/security": {
          "source_sha256": "b39397e6c418206f3e640581e11e17874e458cf5b7caabad78ada1fb32655f02",
          "translation": "Администраторы репозиториев"
        },
        "/repositories/@id=content-showcase/exit_gate": {
          "source_sha256": "23781935514fa71e0c3ae5574e363be5cddd8ce60075c66ce0c4d8c46faea67b",
          "translation": "Сборка по тегу выпускает публичную витрину и воспроизводимые снимки с полными машиночитаемыми сведениями о правах и происхождении ресурсов."
        },
        "/repositories/@id=content-showcase/purpose": {
          "source_sha256": "4f65908428feede6b54a7e6c00fe837388c7d837ca37096a08f41e7cf1ea3b32",
          "translation": "Галерея презентационного качества для возможностей рендеринга и авторинга без большой кодовой базы игровой логики."
        },
        "/repositories/@id=minimal-multiplayer/exit_gate": {
          "source_sha256": "37c75a5f1c438ef3a52dc37742118e276ad61c2ba1ea19113b2e56d19efb8f50",
          "translation": "Каждая контрольная точка руководства воспроизводится по закреплённому тегу, а итоговый проект понятен без Last Frontier или TLA."
        },
        "/repositories/@id=minimal-multiplayer/purpose": {
          "source_sha256": "306945c537efa8aa49d283baf1d6f6ce158a667461852a21139a5740176a60d6",
          "translation": "Небольшой игровой вертикальный срез для первых руководств по серверу, клиенту, контенту, скриптам, персистентности и тестам."
        },
        "/repositories/@id=native-extension-sample/exit_gate": {
          "source_sha256": "9099b2227e613b69508141e07913922e4d354076516d54240c850aaed221abe2",
          "translation": "Пример по тегу демонстрирует один полный путь нативного расширения без игровых сервисов и проходит проверки сгенерированного контракта расширений."
        },
        "/repositories/@id=native-extension-sample/purpose": {
          "source_sha256": "00a58125f46c48b3aa69fcebd5504e288a7e0dbd0e00002e13e97e166d575c37",
          "translation": "Продвинутый минимальный пример проектной композиции C++, lifecycle-хуков, экспортов в скрипты, тестов и проверки ABI."
        },
        "/repositories/@id=project-template/exit_gate": {
          "source_sha256": "49f06c6f1b6b3827c03fea84e6f8576b6a04c59a3e915df59d015e4bff9daccb",
          "translation": "На чистом хосте Windows или Linux документированное успешное состояние сервера достигается менее чем за 30 минут из точной ревизии Engine, закреплённой тегом."
        },
        "/repositories/@id=project-template/purpose": {
          "source_sha256": "20b60665d454e81d03553442fbc29f313ae948a4f950b1e9e63a94da43df035c",
          "translation": "Канонический шаблон GitHub и исходник быстрого старта до первого успешного headless-проекта."
        }
      }
    },
    "prototype-format": {
      "entries": {
        "/description": {
          "source_sha256": "083cab181cba34cc7af18a956349049ef66400e2f8919dd90c3ab82eecc5da1f",
          "translation": "Основанный на исходниках контракт авторинга файлов прототипов FOnline."
        },
        "/directives/@id=prototype-format.directive.name/default": {
          "source_sha256": "ea2b7369be3d58037a514bfb34ee1beaeb4b1d406b8bfa351c2561043e94ea4e",
          "translation": "имя исходного файла без расширения"
        },
        "/directives/@id=prototype-format.directive.name/description": {
          "source_sha256": "592da0e48d1fd65c5256b454552139533748b255b76a49d7f696b91d7cd07d49",
          "translation": "Задаёт идентичность прототипа внутри разрешённого типа. Миграция ID выполняется до проверки дубликатов."
        },
        "/directives/@id=prototype-format.directive.parent/default": {
          "source_sha256": "5113b2beb2cdabb90509bff8987abf0294a2d6d019e0e75a96b2283dfa996925",
          "translation": "без родителей"
        },
        "/directives/@id=prototype-format.directive.parent/description": {
          "source_sha256": "4955d31821cbfa85635de71b8126a399652f44128ab717516e7b64aadc6656ac",
          "translation": "Перечисляет через пробел прототипы-родители того же типа. Родители объединяются слева направо, затем применяется дочерний прототип."
        },
        "/file_selection/description": {
          "source_sha256": "2d446ddc4892d4c1e72f2c9122378aa0db5ece19f64055e76c843029d476b6d7",
          "translation": "Значения движка по умолчанию считываются из Settings.inc; встраивающие проекты могут добавлять расширения без изменения грамматики. ProtoBaker обрабатывает каждую верхнеуровневую секцию прототипа или фиксированного типа и пропускает вложенные размещения на карте."
        },
        "/properties/@id=prototype-format.property.Critter.AttachMaster/description": {
          "source_sha256": "7322c3094e8eed388df1fba240578d7855801138f86b0c715e6941ef08babbe4",
          "translation": "Идентификатор ведущего прикрепления; равен нулю, если криттер не прикреплён."
        },
        "/properties/@id=prototype-format.property.Critter.AttachMaster/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Critter.Condition/description": {
          "source_sha256": "2afcc291a8b5a505cd1930649d35673632251f86ff1ce75de5e9b6ec964f3e33",
          "translation": "Текущее состояние жизни, используемое анимацией, фильтрацией и игровыми запросами."
        },
        "/properties/@id=prototype-format.property.Critter.ControlledByPlayer/description": {
          "source_sha256": "6fe4912752db582cec69d3de354ada545935ac26ed477846853ab955c2b5c3c0",
          "translation": "Классифицирует криттера как управляемого игроком независимо от его текущего сетевого состояния."
        },
        "/properties/@id=prototype-format.property.Critter.ControlledByPlayer/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Critter.CustomHolderEntry/description": {
          "source_sha256": "1050e666d84a94010a810b27fa9d7f3ad171a30f9a7d8d759bfb66b9dc73a348",
          "translation": "Для пользовательской сущности задаёт запись держателя, через которую она прикреплена."
        },
        "/properties/@id=prototype-format.property.Critter.CustomHolderId/description": {
          "source_sha256": "f84e0928a758c5e497d28a042fd88d98879212b1ac2f6931f329526772f507b3",
          "translation": "Для пользовательской сущности хранит постоянный идентификатор владеющего держателя; равен нулю, если у держателя нет постоянного идентификатора."
        },
        "/properties/@id=prototype-format.property.Critter.DeadDrawNoFlatten/description": {
          "source_sha256": "891621e672774d5264b2ffb1613683cb9ab83fad4f2f877721d48851f40bd601",
          "translation": "Сохраняет мёртвого криттера в обычном порядке отрисовки вместо плоского порядка мёртвых криттеров."
        },
        "/properties/@id=prototype-format.property.Critter.Dir/description": {
          "source_sha256": "ec2df791dfe2567ef28726bdb6eb1631477d238ed40d57f9cfcffaaa445ddede",
          "translation": "Текущее направление взгляда на сетке карты."
        },
        "/properties/@id=prototype-format.property.Critter.Elevation/description": {
          "source_sha256": "0d356e2b8b3c58596328c573c25bb438a96615db22c714bd5c0e23932af67cba",
          "translation": "Вертикальный уровень отрисовки криттера."
        },
        "/properties/@id=prototype-format.property.Critter.ExplicitlyPersistent/description": {
          "source_sha256": "909a82b41efa2f84a7e1fd273e8267c3b69fc21f3390ff505defbb973cf11e51",
          "translation": "Помечает сущность как самостоятельно сохраняемую, а не сохраняемую только из-за вложения в другую сущность."
        },
        "/properties/@id=prototype-format.property.Critter.GlobalMapTripId/description": {
          "source_sha256": "150133a813a0a180910efe456a696c997b1e7e0f9e443affb685091d90f2b678",
          "translation": "Назначенный сервером идентификатор, общий для участников одной текущей поездки по глобальной карте."
        },
        "/properties/@id=prototype-format.property.Critter.GlobalMapTripId/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Critter.Hex/description": {
          "source_sha256": "4673dc90632e2343fafd7d22411b309cb8670c1153963561fbbbf3bf76c08227",
          "translation": "Исходный гекс, занимаемый криттером на текущей карте."
        },
        "/properties/@id=prototype-format.property.Critter.HexOffset/description": {
          "source_sha256": "d5b05576494249b7957e87938fb0c13671789b2fe9b5b252914a906a3fedc9bc",
          "translation": "Внутригексовое смещение в пространстве карты для интерполяции движения и отрисовки."
        },
        "/properties/@id=prototype-format.property.Critter.HideSprite/description": {
          "source_sha256": "f65ac8e86db89b74cfbdc7b4435eecb83865fb9f2f5c899a1fa9208e9b141445",
          "translation": "Скрывает текущий клиентский спрайт на карте, не удаляя присутствие криттера на карте."
        },
        "/properties/@id=prototype-format.property.Critter.InitScript/description": {
          "source_sha256": "b4b717c3f31356bff2f72d8197f7658746d0b2af05f9fb966c335c9f074412de",
          "translation": "Серверная функция инициализации, вызываемая после события инициализации для нового или восстановленного криттера."
        },
        "/properties/@id=prototype-format.property.Critter.IsAttached/description": {
          "source_sha256": "b8587bbd99ce1fc420a5c32a110491c986d513981939362dacd32bf490be8d36",
          "translation": "Показывает, что этот криттер сейчас следует за другим криттером как прикреплённый."
        },
        "/properties/@id=prototype-format.property.Critter.IsAttached/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Critter.IsChosen/description": {
          "source_sha256": "381e130d01d4c815747cf6091918b078756c0360817a237010518e9b5b3aee79",
          "translation": "Показывает, что этот криттер является локально выбранным на текущем клиенте."
        },
        "/properties/@id=prototype-format.property.Critter.IsChosen/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Critter.IsPlayerOffline/description": {
          "source_sha256": "f153b3cf89aebef940af174bddc8a7f977265dfc401cd362959b2fc3a9246e71",
          "translation": "Клиентское состояние соединения, сообщённое для управляемого игроком криттера."
        },
        "/properties/@id=prototype-format.property.Critter.IsPlayerOffline/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Critter.ItemIds/description": {
          "source_sha256": "b36a3cf283ea2690381cf7a72659b34381f660c9436d905a97d00694169ed90d",
          "translation": "Сохраняемые идентификаторы предметов, непосредственно находящихся в инвентаре криттера."
        },
        "/properties/@id=prototype-format.property.Critter.LightColor/description": {
          "source_sha256": "88d328cc2723924031ded0647f20671259a644ea8b912439ab1560bf25e463cd",
          "translation": "Цвет RGBA, излучаемый клиентским источником света криттера."
        },
        "/properties/@id=prototype-format.property.Critter.LightColor/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Critter.LightDistance/description": {
          "source_sha256": "f25441db4ccf37f9477696ec349a9229623d2e1b5d2d1a2a12e1d2f1cb062573",
          "translation": "Радиус действия клиентского источника света криттера в гексах."
        },
        "/properties/@id=prototype-format.property.Critter.LightDistance/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Critter.LightFlags/description": {
          "source_sha256": "8046c6aff9fc965d52aa6f346beacf6560ff28bdb8b15e8346f029d6fd0ddbc4",
          "translation": "Битовая маска глобального, инверсного и блокирующего направления поведения источника света."
        },
        "/properties/@id=prototype-format.property.Critter.LightFlags/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Critter.LightIntensity/description": {
          "source_sha256": "f14dfed224d2691eccdc99cd59b5d17080fa909760b4424f94a30b2c9a361c0e",
          "translation": "Знаковая интенсивность клиентского источника света криттера в процентах."
        },
        "/properties/@id=prototype-format.property.Critter.LightIntensity/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Critter.LightSource/description": {
          "source_sha256": "81799139e0e90b3da0d8ff6cc9c815d3b7c033f5507e7a9d1eaa6e4673557b8c",
          "translation": "Включает клиентский источник света карты с центром на этом криттере."
        },
        "/properties/@id=prototype-format.property.Critter.LightSource/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Critter.LookDistance/description": {
          "source_sha256": "c8034068f82917328834377f3d8b396d9ce4402ba0b433b81cadfbd44f8c031f",
          "translation": "Максимальная дистанция обзора карты в гексах для серверной обработки видимости."
        },
        "/properties/@id=prototype-format.property.Critter.MapId/description": {
          "source_sha256": "59c6b611b4325b1c6c16dc0993104036c13ddaf388c8b2c22a948c745f285633",
          "translation": "Идентификатор карты, содержащей криттера; равен нулю, пока криттер находится на глобальной карте."
        },
        "/properties/@id=prototype-format.property.Critter.ModelLayers/description": {
          "source_sha256": "1d2a56becb527cfd62f862977b11e16a1c119a556c7eec6702746d191b605974",
          "translation": "Клиентские значения фиксированного размера, передаваемые слоям 3D-модели и обработчику анимации."
        },
        "/properties/@id=prototype-format.property.Critter.ModelLayers/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Critter.ModelName/description": {
          "source_sha256": "69d124a0012e5742bdf62f5aee5c124f95d439b041e250f0006d87511f5ad63d",
          "translation": "Ресурс спрайта или 3D-модели для представления криттера."
        },
        "/properties/@id=prototype-format.property.Critter.MovingSpeed/description": {
          "source_sha256": "f473809fb05663ef513259a86b455e883426981039533dd06e89483977da8c01",
          "translation": "Текущая серверная скорость активного движения."
        },
        "/properties/@id=prototype-format.property.Critter.MovingSpeed/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Critter.Multihex/description": {
          "source_sha256": "8243c8fafcd3fb39b49333e131ef30daff5ed37b5a7dd63c229c8facd67aaf19",
          "translation": "Радиус занимаемой криттером области в гексах для движения, поиска пути и расчёта расстояний."
        },
        "/properties/@id=prototype-format.property.Critter.NameOffset/description": {
          "source_sha256": "c1808ffa3b13587c823c7eef6cab1adc0e5d2d2987c2bc4ef07687ea887f74d2",
          "translation": "Вертикальная пиксельная поправка положения подписи имени криттера."
        },
        "/properties/@id=prototype-format.property.Critter.ScaleFactor/description": {
          "source_sha256": "de043ac920f0dcf58b124093ede046063447afb7ad4d69db37585cbf6b868152",
          "translation": "Масштаб 3D-модели в тысячных долях; ноль выбирает стандартный масштаб 1000."
        },
        "/properties/@id=prototype-format.property.Critter.ShowCritterDist1/description": {
          "source_sha256": "f0fa76d680d51b3ca727d663ae6456c87525ae6da02daf967bce05532f3388b4",
          "translation": "Необязательная первая дистанция событий видимости в гексах; ноль отключает эту группу расстояния."
        },
        "/properties/@id=prototype-format.property.Critter.ShowCritterDist2/description": {
          "source_sha256": "b12e13e50471425a135e4e9f12be606edc4fcf3ae917ba5a6ff5d8d2573b7548",
          "translation": "Необязательная вторая дистанция событий видимости в гексах; ноль отключает эту группу расстояния."
        },
        "/properties/@id=prototype-format.property.Critter.ShowCritterDist3/description": {
          "source_sha256": "3c063f897d07ccd7dc2d66e41a791e0e37c5d6793fa356076deaaade0b0adcfe",
          "translation": "Необязательная третья дистанция событий видимости в гексах; ноль отключает эту группу расстояния."
        },
        "/properties/@id=prototype-format.property.Critter.VisibilityMode/description": {
          "source_sha256": "ba9e8d77f08fbaee8cd10f84866c21c5d60edd7a4f0c31ff9af07d0fe57c77fa",
          "translation": "Режим детализации видимости, назначенный этому криттеру с точки зрения текущего клиента."
        },
        "/properties/@id=prototype-format.property.Critter.VisibilityMode/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Item.AlwaysHideSprite/description": {
          "source_sha256": "35bbd94aefd466f34cc5b9d2561f4cd554850378266d72e52df6b764d0a7d1d2",
          "translation": "Не позволяет рисовать спрайт предмета во время выполнения и по умолчанию скрывает его в Mapper."
        },
        "/properties/@id=prototype-format.property.Item.Colorize/description": {
          "source_sha256": "fc4a04b90caa7c6602957d4a260cffa28ad283acc864ed3116d2f5339e341817",
          "translation": "Включает тонирование спрайта предмета на карте цветом ColorizeColor."
        },
        "/properties/@id=prototype-format.property.Item.ColorizeColor/description": {
          "source_sha256": "ebe85964e70fa2e7f5b2c315636c32f31b3a0a5115fb6d3f01eaf2ee68bd0de2",
          "translation": "Оттенок RGBA, применяемый при включённом Colorize; альфа также задаёт исходную непрозрачность спрайта."
        },
        "/properties/@id=prototype-format.property.Item.ContainerId/description": {
          "source_sha256": "c85a3e9812e7fc48a9e9a55573956448664d61f40174c8a48d8b6844555da73a",
          "translation": "Идентификатор родительского предмета, пока Ownership равен ItemContainer; в остальных случаях равен нулю."
        },
        "/properties/@id=prototype-format.property.Item.ContainerStack/description": {
          "source_sha256": "a88ea8a1f9f4099039b20d4ecede9d8894dd4fcda99b506ce39b39fd0b108481",
          "translation": "Определяемый проектом ключ группировки для выбора и объединения предметов внутри контейнера."
        },
        "/properties/@id=prototype-format.property.Item.Corner/description": {
          "source_sha256": "daaaf946091f088f124d52c8573ad8e0b445dd278ffb9abb2bd6149263438b57",
          "translation": "Ориентация угла стены, используемая освещением карты и прозрачностью переднего плана."
        },
        "/properties/@id=prototype-format.property.Item.CritterId/description": {
          "source_sha256": "13163e321142cdc5a2132d01d1196e72b7881953b23a53297d7b9456720b3d56",
          "translation": "Идентификатор владеющего криттера, пока Ownership равен CritterInventory; в остальных случаях равен нулю."
        },
        "/properties/@id=prototype-format.property.Item.CritterSlot/description": {
          "source_sha256": "04356d847e6a4adad69bf5df6099ddd423664b953973627513ed2fb933c60886",
          "translation": "Слот инвентаря или экипировки, занятый предметом, пока он принадлежит криттеру."
        },
        "/properties/@id=prototype-format.property.Item.CustomHolderEntry/description": {
          "source_sha256": "1050e666d84a94010a810b27fa9d7f3ad171a30f9a7d8d759bfb66b9dc73a348",
          "translation": "Для пользовательской сущности задаёт запись держателя, через которую она прикреплена."
        },
        "/properties/@id=prototype-format.property.Item.CustomHolderId/description": {
          "source_sha256": "f84e0928a758c5e497d28a042fd88d98879212b1ac2f6931f329526772f507b3",
          "translation": "Для пользовательской сущности хранит постоянный идентификатор владеющего держателя; равен нулю, если у держателя нет постоянного идентификатора."
        },
        "/properties/@id=prototype-format.property.Item.DisableEgg/description": {
          "source_sha256": "166fd72b77aab431e0f9a90190521321c69a4cc47972ada45f5515f2eaef9ff6",
          "translation": "Отключает обработку прозрачности переднего плана для спрайта предмета на карте."
        },
        "/properties/@id=prototype-format.property.Item.DrawFlatten/description": {
          "source_sha256": "8c42c5f7962a272d8b9e70aade0133b2beae3deb1203b7f6b0f01b2d864c097c",
          "translation": "Рисует предмет в плоском проходе карты вместо обычного прохода предметов с сортировкой по глубине."
        },
        "/properties/@id=prototype-format.property.Item.DrawMultihexLines/description": {
          "source_sha256": "e1f92c7770e5a03345518079545fbedfff6a27a97c418d31d7d98e5399525ae3",
          "translation": "Рисует повторные спрайты предмета на гексах занимаемой области, созданных MultihexLines."
        },
        "/properties/@id=prototype-format.property.Item.DrawMultihexMesh/description": {
          "source_sha256": "c24ca063a44af2b82ae183fab57ad10825260e0e22e2f52d4d288d5be2d51181",
          "translation": "Рисует повторные спрайты предмета на явно заданных гексах MultihexMesh."
        },
        "/properties/@id=prototype-format.property.Item.DrawOrderSubLayer/description": {
          "source_sha256": "55fb2bfaa60af95d8078bb9e8e7479fcf877e7408b86da776626d6946d46a736",
          "translation": "Точный порядок внутри основного слоя отрисовки предмета; изменение синхронизируется во время игры."
        },
        "/properties/@id=prototype-format.property.Item.Elevation/description": {
          "source_sha256": "1a2a1b15c27eca391a5e41748dc34b495971a1be9dd6d1f4bf7c1cb3a34cd53b",
          "translation": "Вертикальный уровень отрисовки предмета на карте."
        },
        "/properties/@id=prototype-format.property.Item.ExplicitlyPersistent/description": {
          "source_sha256": "909a82b41efa2f84a7e1fd273e8267c3b69fc21f3390ff505defbb973cf11e51",
          "translation": "Помечает сущность как самостоятельно сохраняемую, а не сохраняемую только из-за вложения в другую сущность."
        },
        "/properties/@id=prototype-format.property.Item.Hex/description": {
          "source_sha256": "dffc781d0273108a8166191f1ee7febb58907456ba4a0c8571a8548e5dbf7a33",
          "translation": "Исходный гекс карты, используемый пока предмет размещён на карте."
        },
        "/properties/@id=prototype-format.property.Item.Hidden/description": {
          "source_sha256": "637af3b02f94ec0a51dfc10801f441ca0dc7c2a5ad7f5bde36e947edcdecd812",
          "translation": "Серверный флаг видимости, скрывающий динамический предмет из клиентских представлений."
        },
        "/properties/@id=prototype-format.property.Item.HideSprite/description": {
          "source_sha256": "03595d24e3807b1bd2adda9a5d7fbc3e87341f55193ecc8f6ed0ef53830613db",
          "translation": "Скрывает текущий клиентский спрайт на карте, не удаляя присутствие предмета на карте."
        },
        "/properties/@id=prototype-format.property.Item.InitScript/description": {
          "source_sha256": "92c8c2cd2af271cbebda880be7310c5cdae7e3a75135bc0873b8dbb4dfa56b82",
          "translation": "Серверная функция инициализации, вызываемая после события инициализации для нового или восстановленного предмета."
        },
        "/properties/@id=prototype-format.property.Item.InnerItemIds/description": {
          "source_sha256": "e0d3bca11c2ebef564c2c5adaea9ac4544cd821ae15094f6fd6791ea1405a876",
          "translation": "Сохраняемые идентификаторы предметов, непосредственно содержащихся в этом предмете."
        },
        "/properties/@id=prototype-format.property.Item.IsGag/description": {
          "source_sha256": "d6ead5d157ce9a339e1981db6301c067f80773f5dc0006728c6a64a4efb2eb6d",
          "translation": "Помечает блокирующий предмет как условно проходимый через callback gag карты."
        },
        "/properties/@id=prototype-format.property.Item.IsRoofTile/description": {
          "source_sha256": "b019a3275120fddbf135b646be5d3691f333ec42ea2c77142e8263a5d66bc64a",
          "translation": "Выбирает отрисовку крыши вместо тайла земли, когда включён IsTile."
        },
        "/properties/@id=prototype-format.property.Item.IsScenery/description": {
          "source_sha256": "e41d65a20f9fbd4390072cc498f637608fde707756922c1a5692e7612c840c4a",
          "translation": "Классифицирует предмет как декорацию для фильтрации в Mapper и правил освещения плоской отрисовки."
        },
        "/properties/@id=prototype-format.property.Item.IsTile/description": {
          "source_sha256": "03a9b963535708e07109769fdd25dea31bae0958dda28e54cc151695caa469cb",
          "translation": "Классифицирует предмет как тайл земли или крыши, отрисовываемый в слое тайлов."
        },
        "/properties/@id=prototype-format.property.Item.IsTrigger/description": {
          "source_sha256": "7cfbc5d256b1e4dfb364fe05767e6bbb741d5b9696c0b4e07cbb0047694970c1",
          "translation": "Включает предмет в поиск триггеров карты и обработку триггеров перемещения."
        },
        "/properties/@id=prototype-format.property.Item.IsWall/description": {
          "source_sha256": "5dc61a298f187be1900a6a22c3319644558b714cd962655e392997b97f85b668",
          "translation": "Классифицирует предмет как стену для фильтрации в Mapper и представления карты."
        },
        "/properties/@id=prototype-format.property.Item.LightColor/description": {
          "source_sha256": "571e9fe8175d07be7ddd5db7a81dc0bcd27976f8e519632996682416dbb95931",
          "translation": "Цвет RGBA, излучаемый источником света предмета."
        },
        "/properties/@id=prototype-format.property.Item.LightDistance/description": {
          "source_sha256": "ad159f0529a1fdffa5884404e3e1f88a13da7381faf87c08f13a0918ab29bc6e",
          "translation": "Радиус действия источника света предмета в гексах."
        },
        "/properties/@id=prototype-format.property.Item.LightFlags/description": {
          "source_sha256": "8046c6aff9fc965d52aa6f346beacf6560ff28bdb8b15e8346f029d6fd0ddbc4",
          "translation": "Битовая маска глобального, инверсного и блокирующего направления поведения источника света."
        },
        "/properties/@id=prototype-format.property.Item.LightIntensity/description": {
          "source_sha256": "b58932e26f9f005302377f2cfa1110c75ded4c1ea422638619290be9f1ed37ba",
          "translation": "Знаковая интенсивность источника света предмета в процентах."
        },
        "/properties/@id=prototype-format.property.Item.LightSource/description": {
          "source_sha256": "d287baff16708fe3fc54acc82e11370dbe4c75368b824c1217b6701811552284",
          "translation": "Включает источник света карты с центром на этом предмете."
        },
        "/properties/@id=prototype-format.property.Item.LightThru/description": {
          "source_sha256": "1037af338e9b7376b3a18c459cdfadf082ea98fba93afd2c1cd145c9a404f823",
          "translation": "Разрешает распространение света карты через все гексы, занятые предметом."
        },
        "/properties/@id=prototype-format.property.Item.MapId/description": {
          "source_sha256": "2c46f45492a4e7e8b84eea7f0d09c5ddc481e712e59c1f4cb3f1a3847a38f066",
          "translation": "Идентификатор владеющей карты, пока Ownership равен MapHex; в остальных случаях равен нулю."
        },
        "/properties/@id=prototype-format.property.Item.MultihexGeneration/description": {
          "source_sha256": "fc29904b19512b32c28da26f6e561fade5d8e0e100c83d4cf5b83fd90d713b77",
          "translation": "Стратегия объединения в Mapper, по которой MultihexMesh строится из совместимых размещений предметов."
        },
        "/properties/@id=prototype-format.property.Item.MultihexLines/description": {
          "source_sha256": "cb8c7af3792f23d28e56ca10e77c1e42880daa622880376c303f6e8759237e73",
          "translation": "Пары направления и числа шагов, прокладывающие дополнительные гексы занимаемой области от каждого начала сетки."
        },
        "/properties/@id=prototype-format.property.Item.MultihexMesh/description": {
          "source_sha256": "64d3fad57d3b2158528f52ee892636e53709072c139e7c15d4e7cf2b36cd7e3b",
          "translation": "Явно заданные гексы карты, разделяющие занимаемую область предмета и необязательный повторяемый спрайт."
        },
        "/properties/@id=prototype-format.property.Item.NoBlock/description": {
          "source_sha256": "47c83de8812ede09ff101593fe047c00fe7fe8ad0df398ad0825d74c6e938d8c",
          "translation": "Разрешает перемещение через все гексы, занятые предметом."
        },
        "/properties/@id=prototype-format.property.Item.NoHighlight/description": {
          "source_sha256": "3913f9b16e667e72c3057841165a1c035be5191e2d72d60203a709d27322eb80",
          "translation": "Запрещает клиенту применять обычное визуальное выделение предмета."
        },
        "/properties/@id=prototype-format.property.Item.NoLightInfluence/description": {
          "source_sha256": "a0eac1c042bcb0ffd45a7ce06e9181e22ccf36207156193ed9c52f5ce387d08b",
          "translation": "Не позволяет окружающему освещению карты тонировать спрайт предмета."
        },
        "/properties/@id=prototype-format.property.Item.Offset/description": {
          "source_sha256": "7a272511540548ee8b56d6ed151072068dcc37b4a6dfa1e42ea13f148ad16132",
          "translation": "Пиксельное смещение спрайта предмета относительно его исходного гекса."
        },
        "/properties/@id=prototype-format.property.Item.Ownership/description": {
          "source_sha256": "7f18b6727e88f6a9f2dd9e4ac8fa9f2954debee9351d8c1d9cda9660afc20d7f",
          "translation": "Текущая категория размещения: гекс карты, инвентарь криттера, контейнер-предмет или отсутствие размещения."
        },
        "/properties/@id=prototype-format.property.Item.PicInv/description": {
          "source_sha256": "a14861a79d378dd986d0c5a1f31cb43d745b23dcd5502f66ca74fa8e5a4f15ee",
          "translation": "Ресурс спрайта для представления предмета в интерфейсах инвентаря."
        },
        "/properties/@id=prototype-format.property.Item.PicMap/description": {
          "source_sha256": "ab14f55b75cc41008483bf44e6eb5d60046db1eb89c820cc29227f941f262567",
          "translation": "Ресурс спрайта для отрисовки предмета на карте."
        },
        "/properties/@id=prototype-format.property.Item.ShootThru/description": {
          "source_sha256": "bc1513365e7604c60ab42986e2e235bf63ae81f5081ee66377dbc348d0a157ae",
          "translation": "Разрешает трассировку снарядов через все гексы, занятые предметом."
        },
        "/properties/@id=prototype-format.property.Item.Static/description": {
          "source_sha256": "5fd25d0321400cdb6825f1b256dbf52f6e3a41c4be58a508e6375fe045a30fb2",
          "translation": "Помечает данные предмета на карте как статическую декорацию, а не динамическую сущность предмета."
        },
        "/properties/@id=prototype-format.property.Item.StaticScript/description": {
          "source_sha256": "80accddad61a6cbeb107b37c7e6fc4691023d6304302fbd93627672e584a67ea",
          "translation": "Серверный callback, вызываемый при взаимодействии криттера с этим статическим предметом."
        },
        "/properties/@id=prototype-format.property.Item.TileLayer/description": {
          "source_sha256": "a406efdae80c13b34e1cd584889d5d940a6943a27c70fd1f486b7f7a37b131cf",
          "translation": "Индекс с нуля слоя отрисовки земли или крыши для предмета-тайла."
        },
        "/properties/@id=prototype-format.property.Item.TriggerScript/description": {
          "source_sha256": "8fde30c2a2608ca0eb769ffd696ba7fee6c5df33a2002299a603d40e4fe273d7",
          "translation": "Серверный callback, вызываемый при входе криттера в этот триггер-предмет или выходе из него."
        },
        "/properties/@id=prototype-format.property.Location.CustomHolderEntry/description": {
          "source_sha256": "1050e666d84a94010a810b27fa9d7f3ad171a30f9a7d8d759bfb66b9dc73a348",
          "translation": "Для пользовательской сущности задаёт запись держателя, через которую она прикреплена."
        },
        "/properties/@id=prototype-format.property.Location.CustomHolderId/description": {
          "source_sha256": "f84e0928a758c5e497d28a042fd88d98879212b1ac2f6931f329526772f507b3",
          "translation": "Для пользовательской сущности хранит постоянный идентификатор владеющего держателя; равен нулю, если у держателя нет постоянного идентификатора."
        },
        "/properties/@id=prototype-format.property.Location.ExplicitlyPersistent/description": {
          "source_sha256": "909a82b41efa2f84a7e1fd273e8267c3b69fc21f3390ff505defbb973cf11e51",
          "translation": "Помечает сущность как самостоятельно сохраняемую, а не сохраняемую только из-за вложения в другую сущность."
        },
        "/properties/@id=prototype-format.property.Location.InitScript/description": {
          "source_sha256": "06ca5c2f44541f145f85a9eb9c2d230cb115412a59951ee233501cefa4eeae3a",
          "translation": "Серверная функция инициализации, вызываемая после события инициализации для новой или восстановленной локации."
        },
        "/properties/@id=prototype-format.property.Location.MapIds/description": {
          "source_sha256": "c534f6bf02f4b86795dfab21f1c845908827df13ba74c7a0a6d9b831e615232e",
          "translation": "Сохраняемые идентификаторы карт этой локации в порядке списка карт локации."
        },
        "/properties/@id=prototype-format.property.Map.CritterIds/description": {
          "source_sha256": "383b430c8c33bf1885c300520c17fd38067ff56b78d668e11ac9244035dd8e8f",
          "translation": "Сохраняемые идентификаторы неигровых криттеров, принадлежащих этой карте."
        },
        "/properties/@id=prototype-format.property.Map.CustomHolderEntry/description": {
          "source_sha256": "1050e666d84a94010a810b27fa9d7f3ad171a30f9a7d8d759bfb66b9dc73a348",
          "translation": "Для пользовательской сущности задаёт запись держателя, через которую она прикреплена."
        },
        "/properties/@id=prototype-format.property.Map.CustomHolderId/description": {
          "source_sha256": "f84e0928a758c5e497d28a042fd88d98879212b1ac2f6931f329526772f507b3",
          "translation": "Для пользовательской сущности хранит постоянный идентификатор владеющего держателя; равен нулю, если у держателя нет постоянного идентификатора."
        },
        "/properties/@id=prototype-format.property.Map.DayColor/description": {
          "source_sha256": "8c28d7782ce766bae7a87f21602faf98ccc756e3917e876a0278936521dae885",
          "translation": "Поканальные значения RGB для соответствующих ключевых цветов освещения карты."
        },
        "/properties/@id=prototype-format.property.Map.DayColorTime/description": {
          "source_sha256": "063442b339f136a862ee76aca06b2b9f76af23eef2bdcef6d597bacafc297b48",
          "translation": "Локальные для карты моменты ключевых цветов освещения в минутах суточного цикла."
        },
        "/properties/@id=prototype-format.property.Map.ExplicitlyPersistent/description": {
          "source_sha256": "909a82b41efa2f84a7e1fd273e8267c3b69fc21f3390ff505defbb973cf11e51",
          "translation": "Помечает сущность как самостоятельно сохраняемую, а не сохраняемую только из-за вложения в другую сущность."
        },
        "/properties/@id=prototype-format.property.Map.FixedDayTime/description": {
          "source_sha256": "733a7356ce97118638d8a96d452edf88bb2b23c6af70c8ca437978b1124fee05",
          "translation": "Локальное для карты значение переопределения времени суток, обычно выраженное в минутах и интерпретируемое игровыми скриптами."
        },
        "/properties/@id=prototype-format.property.Map.GlobalDayColor/description": {
          "source_sha256": "5062b0632e9dfa916cb4a1452f07becc6317345af600ffa19e3857a4faf8a19d",
          "translation": "Текущий клиентский цвет глобального дневного освещения, переданный через SetDayColors для скриптов и эффектов."
        },
        "/properties/@id=prototype-format.property.Map.GlobalDayColor/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Map.GlobalDayLightCapacity/description": {
          "source_sha256": "0e896da615c499ca6b6d72bbfb4ff6cce8634eee240e64afb1eb6f58bb28a46d",
          "translation": "Текущая дневная ёмкость источников света с флагом global в процентах, ограниченная диапазоном от 0 до 100."
        },
        "/properties/@id=prototype-format.property.Map.GlobalDayLightCapacity/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Map.InitScript/description": {
          "source_sha256": "b346fcb09dd09317254f8bd4a470e5686139f49d77fdddb12cc789c9b9a54fdf",
          "translation": "Серверная функция инициализации, вызываемая после события инициализации для новой или восстановленной карты."
        },
        "/properties/@id=prototype-format.property.Map.ItemIds/description": {
          "source_sha256": "f68bdd19c02a3c7072ef0c3f60c46e20895921dc5864e549679ff50e67587c65",
          "translation": "Сохраняемые идентификаторы динамических предметов, размещённых непосредственно на этой карте."
        },
        "/properties/@id=prototype-format.property.Map.LocId/description": {
          "source_sha256": "a03a7cf8f8affc1651b2f66086f024e3a3e58ae8f73bc470d3f60fd31ec661e9",
          "translation": "Идентификатор локации, владеющей этой картой."
        },
        "/properties/@id=prototype-format.property.Map.LocMapIndex/description": {
          "source_sha256": "edc543ed913945fdf817c99f20c8174c2f26112564f57b9a1d30a42ba8ba5d59",
          "translation": "Индекс с нуля этой карты в списке карт владеющей локации."
        },
        "/properties/@id=prototype-format.property.Map.MapDayColor/description": {
          "source_sha256": "7d45ea8d535569211311209d1e1b090eff8bd95a7711ad597fe4674d6b8c39f3",
          "translation": "Текущий клиентский оттенок карты, переданный через SetDayColors и используемый отрисовкой карты."
        },
        "/properties/@id=prototype-format.property.Map.MapDayColor/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Map.MapDayLightCapacity/description": {
          "source_sha256": "a7905a27180f72a6d5c60e80fbd6a24dcd91c21834c106f7ffbd18129444961f",
          "translation": "Текущая дневная ёмкость обычных источников света карты в процентах, ограниченная диапазоном от 0 до 100."
        },
        "/properties/@id=prototype-format.property.Map.MapDayLightCapacity/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Map.RemovedStaticItemIds/description": {
          "source_sha256": "10145eb732c492e95bd1f053d5f0dd6f9130a2d46594d4d1bdd479c2eed8351f",
          "translation": "Идентификаторы запечённых статических предметов, которые убрал этот экземпляр карты; удаление одностороннее на всё время жизни экземпляра."
        },
        "/properties/@id=prototype-format.property.Map.ScrollAxialArea/description": {
          "source_sha256": "3fa8a2bad17f4366872010bfc71dd29fae1130ec58631caac1921a43c94da421",
          "translation": "Прямоугольник в аксиальных координатах, ограничивающий прокрутку карты; нулевой прямоугольник оставляет доступной всю карту."
        },
        "/properties/@id=prototype-format.property.Map.ScrollOffset/description": {
          "source_sha256": "db936c3fe0561e0b2e76721fec01b38c190f6d0df6c06e0c0de5db60f847e17c",
          "translation": "Округлённое клиентское смещение области просмотра в пикселях пространства карты."
        },
        "/properties/@id=prototype-format.property.Map.ScrollOffset/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Map.Size/description": {
          "source_sha256": "55bb18dc4ab688f68beaf3fb1b2bfed3d1d671b87a6c09cf6816c70f83e77e49",
          "translation": "Ширина и высота сетки карты в гексах."
        },
        "/properties/@id=prototype-format.property.Map.SpritesZoom/description": {
          "source_sha256": "e7dab76f2064735454657cf83bfd532048bf61a2dbf2c0e7a92b8e919305b47c",
          "translation": "Текущий клиентский коэффициент масштаба спрайтов карты."
        },
        "/properties/@id=prototype-format.property.Map.SpritesZoom/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Map.SpritesZoomTarget/description": {
          "source_sha256": "5cc47384c7e656b8df01bf7003c3ca3f136e115eb89e50dc18affa7ba19589d1",
          "translation": "Целевой коэффициент масштаба, к которому интерполируется клиентский вид карты."
        },
        "/properties/@id=prototype-format.property.Map.SpritesZoomTarget/excluded_reason": {
          "source_sha256": "ea8b82a5c42a33f042e3f6c8d0f750226bf9e0ac8268e8e8ac9ab02cc1d99dff",
          "translation": "temporary",
          "preserve_source": true
        },
        "/properties/@id=prototype-format.property.Map.WorkHex/description": {
          "source_sha256": "39e3f4def04bf163c5b07c4ede4f0dbe86be876eeee8e51712a36a3b3162a429",
          "translation": "Рабочий гекс редактирования, используемый как начальный центр вида Mapper."
        },
        "/rules/@id=prototype-format.rule.acyclic-inheritance/description": {
          "source_sha256": "8b0be70e60b03f23809ef262b76fb9287eb9d54b85994acab23828774eec3bbc",
          "translation": "ProtoBaker и ProtoTextBaker отслеживают active parent path и отклоняют self-cycle, парный и более длинные циклы при любой repeated-parent policy."
        },
        "/rules/@id=prototype-format.rule.acyclic-inheritance/name": {
          "source_sha256": "7ff534d4765f947c79d0c3de65f414cead72feb25ee688c0517b61d765dac688",
          "translation": "Ациклическое наследование"
        },
        "/rules/@id=prototype-format.rule.acyclic-inheritance/requirement": {
          "source_sha256": "bf22407129f7bb17b9d8044328a848c6c525b3fd834a234d78c465ef8c3b9d7d",
          "translation": "Граф родителей прототипов должен быть ациклическим."
        },
        "/rules/@id=prototype-format.rule.repeated-ancestors/name": {
          "source_sha256": "3b7e486bfe39fde3fe810e8fa50b87ec0bf15e4a030b54bf4ec0023a96bcae86",
          "translation": "Повторяющиеся ancestors"
        },
        "/rules/@id=prototype-format.rule.repeated-ancestors/description": {
          "source_sha256": "49fc1cc07ea1b731fbd9045d6e4393b2c1437894cda80fba5fe3a383e2d8363b",
          "translation": "Default permissive; задайте option false, если проект должен отклонять каждый inheritance diamond. ProtoBaker и ProtoTextBaker применяют одно правило."
        },
        "/rules/@id=prototype-format.rule.repeated-ancestors/requirement": {
          "source_sha256": "ad9bcd40019167e91db1c5f6b54182cf5bb66797cd85c1072ecd4fd3197cc387",
          "translation": "Parent, достигнутый по нескольким inheritance paths, добавляет поля только при первом достижении; Baking.AllowRepeatedProtoParents определяет, пропустить или отклонить поздний повтор."
        },
        "/rules/@id=prototype-format.rule.config-syntax/description": {
          "source_sha256": "02a95a175613626cecc94aceaeff6be8b3e3d78aeccc63715a4ca6aab09b0dba",
          "translation": "Файлы прототипов используют общий parser ConfigFile; символы комментария в кавычках или после экранирования остаются частью значения."
        },
        "/rules/@id=prototype-format.rule.config-syntax/name": {
          "source_sha256": "8ba0c0cd1d9a44cd69850ff4d459bd88a5b9d10a742ff0fa566261f80d27c188",
          "translation": "Синтаксис конфигурации"
        },
        "/rules/@id=prototype-format.rule.config-syntax/requirement": {
          "source_sha256": "03fd67e9ed69c717476d94d6e2360ee47e02def4cf7335a506adddada7a1c61e",
          "translation": "Используйте повторяемые INI-подобные секции, присваивания key = value, комментарии #, продолжение конечным обратным слешем после whitespace и добавление key += value, где оно уместно."
        },
        "/rules/@id=prototype-format.rule.file-filter/description": {
          "source_sha256": "b5f9425670f44b13b84252ab87b6b47560e18c45529ac39cc4f8732355850b51",
          "translation": "Каталоги и условные имена расширений не выбирают тип прототипа; его выбирает секция."
        },
        "/rules/@id=prototype-format.rule.file-filter/name": {
          "source_sha256": "345d6ac7f702513d6aedbf112d0c553d0ac40c2ff77faf8e1dc2b069b50114e1",
          "translation": "Фильтр расширений"
        },
        "/rules/@id=prototype-format.rule.file-filter/requirement": {
          "source_sha256": "0206ebc2fee53f058180f9fb1ffdafe4bcf77b7f4499023fe11f5ac492b267c7",
          "translation": "В ProtoBaker попадают только файлы, чьё расширение входит в Baking.ProtoFileExtensions."
        },
        "/rules/@id=prototype-format.rule.identifier-characters/description": {
          "source_sha256": "18541d1f263496a93bd3b23d0c70d5b6b784f1a211d9e5379e4c4b84c5ba5bc9",
          "translation": "Baker отклоняет оба символа после применения fallback к имени файла и до хеширования или проверки дубликатов."
        },
        "/rules/@id=prototype-format.rule.identifier-characters/name": {
          "source_sha256": "1cd0ab9d54c7be454c1ee92bd48dbd0f44c14fe1eafea270ebd81ce69977051c",
          "translation": "Зарезервированные символы ID"
        },
        "/rules/@id=prototype-format.rule.identifier-characters/requirement": {
          "source_sha256": "29d280f10ac918596a9c08742e860f81b467ddbf47d59296e56100f15b3a91ff",
          "translation": "ID прототипов не могут содержать / или $, поскольку оба символа зарезервированы для адресации вложенных секций."
        },
        "/rules/@id=prototype-format.rule.identity-per-type/description": {
          "source_sha256": "488f2c5bc1694dd266a48cfa29735aef4ca40a75c01757c2fd554ee316c3bf8c",
          "translation": "Один текстовый ID может существовать в разных типах прототипов; дубликаты в одном типе приводят к ошибке bake."
        },
        "/rules/@id=prototype-format.rule.identity-per-type/name": {
          "source_sha256": "3c9c640771b828b8d10708724e9217c1ff28260aa8b7245292acb10ba2f59d7a",
          "translation": "Идентичность и дубликаты"
        },
        "/rules/@id=prototype-format.rule.identity-per-type/requirement": {
          "source_sha256": "1986768d24ac0d686674e4655c3d9565f268dca1585c143d5c7e4b64ed3fc908",
          "translation": "ID прототипа после миграции должен быть уникален внутри разрешённого типа во всём входе pack."
        },
        "/rules/@id=prototype-format.rule.inheritance-precedence/description": {
          "source_sha256": "ba093107a30b5686de6a3df62b1ad1f60f1766554bb9eb90d25d65f8ed808140",
          "translation": "Управляющие директивы с префиксом $ не копируются в объединённую карту свойств."
        },
        "/rules/@id=prototype-format.rule.inheritance-precedence/name": {
          "source_sha256": "2f66124b72d3ac5cd0e3484e3bca4c911471b9bf3e8f85163b099f441af4215c",
          "translation": "Приоритет наследования"
        },
        "/rules/@id=prototype-format.rule.inheritance-precedence/requirement": {
          "source_sha256": "86cebdf1dc62f26432b1493c7ad2de1fd4277d952c6f8537ed66758104ea7064",
          "translation": "Объединяйте предков в глубину, затем родителей слева направо и дочерний прототип последним; поздние значения свойств заменяют ранние."
        },
        "/rules/@id=prototype-format.rule.inheritance-scope/description": {
          "source_sha256": "49ad98bed31190e4d8f4d07a81b397dfbda4252cc8331c90e017c4a88bc91163",
          "translation": "Родители могут быть объявлены в другом файле, но родитель другого типа или отсутствующий родитель приводят к ошибке bake."
        },
        "/rules/@id=prototype-format.rule.inheritance-scope/name": {
          "source_sha256": "1d52ad0cd9dde243b1ad4cb00f1e5c12a8569dec3ada93996470d55d45d13c95",
          "translation": "Область наследования"
        },
        "/rules/@id=prototype-format.rule.inheritance-scope/requirement": {
          "source_sha256": "8c479e7f03a3ec549c4a71d798018c30bee9265c0f4242fca3e366aba8f5fb02",
          "translation": "Каждый родитель должен разрешаться внутри того же типа прототипа и текущего входа pack."
        },
        "/rules/@id=prototype-format.rule.init-script-signature/description": {
          "source_sha256": "2cbf2bc3a70ba1e10c1e9dda50879a68641172d16cc98fdee0242dc32a46e362",
          "translation": "Server baking проверяет метаданные ScriptFuncType каждого заданного callback и до runtime отклоняет отсутствующие функции или несовпадающие сигнатуры."
        },
        "/rules/@id=prototype-format.rule.init-script-signature/name": {
          "source_sha256": "a635c88472791c5ab0301e5cfe379e7ce0aa7c0d2afaecb9c6e38d1034911441",
          "translation": "Сигнатуры callbacks InitScript"
        },
        "/rules/@id=prototype-format.rule.init-script-signature/requirement": {
          "source_sha256": "5c3a76a9664b0ddf8429feaf38db44926abf7bcb5ebfee72f9b79e68f365eaf3",
          "translation": "Непустое встроенное свойство InitScript у Item, Critter, Map или Location должно разрешаться в глобальный void callback, принимающий тип этой сущности и bool firstTime."
        },
        "/rules/@id=prototype-format.rule.property-resolution/description": {
          "source_sha256": "18095fb7f65adf8b52e5b8f99923c0dde2a18bb10fadd4bed14433e3489aab99",
          "translation": "Неизвестные, отключённые для стороны, virtual и temporary свойства отклоняются; свойства только противоположной стороны пропускаются для этой стороны."
        },
        "/rules/@id=prototype-format.rule.property-resolution/name": {
          "source_sha256": "67b0080ec421ce890de202e181ac0b2d950d1053f47a9de9e4555089dd518422",
          "translation": "Разрешение свойств"
        },
        "/rules/@id=prototype-format.rule.property-resolution/requirement": {
          "source_sha256": "bb545c29f25c1dc4fa52d9ebf968b1d69677adef39f83b7c49a5a2df31a6605c",
          "translation": "Каждый неуправляющий ключ должен разрешаться в свойство, доступное текущей стороне bake."
        },
        "/rules/@id=prototype-format.rule.proto-migration/description": {
          "source_sha256": "7b8aa394e8d48a926b9f3949b7ffc2a1eee17507c5e54992b4945aad13ad5571",
          "translation": "Объявляйте MigrationRule Proto <Type> Rename <Old> <New>, Remove <Old> или Transform <Old> <Migrator>. Remove не принимает замену; Transform получает исходное имя прототипа и контекст всего документа."
        },
        "/rules/@id=prototype-format.rule.proto-migration/name": {
          "source_sha256": "04fb86a69a92c9277e619542b83494d7d8fe64cdfad971b969a7d04c212fd3d7",
          "translation": "Миграция прототипов"
        },
        "/rules/@id=prototype-format.rule.proto-migration/requirement": {
          "source_sha256": "d1a0b90f91be4e2320e3adea0f73fe043a15fd0956e58e64d0839c7f69b8ccd0",
          "translation": "Правила Proto Rename и Remove применяются к объявленным ID, ID родителей, lookup и сохраняемым ссылкам; Proto Transform выполняется только на загруженном документе БД до поиска прототипа."
        },
        "/rules/@id=prototype-format.rule.proto-reference/description": {
          "source_sha256": "88fad8262b86da1d45daa702037306204147c09b51a99b50d7baa88cd078a989",
          "translation": "Для удалённого или переименованного ID нужна явная миграция Proto на допустимую цель или Remove согласно владеющей политике persistence."
        },
        "/rules/@id=prototype-format.rule.proto-reference/name": {
          "source_sha256": "9186255de4f7780eb716991831cd746209092bde1a66f3b52dfe1d98d39ba9db",
          "translation": "Ссылки на прототипы"
        },
        "/rules/@id=prototype-format.rule.proto-reference/requirement": {
          "source_sha256": "d5c08397b2e94007068881bd23f42d4df47a0a538b13c12ddae387a051e1372d",
          "translation": "Ссылки свойств на сущности FixedType и Proto должны разрешаться после миграции, кроме nullable-свойства с пустым авторским значением."
        },
        "/rules/@id=prototype-format.rule.side-specific-output/description": {
          "source_sha256": "ea46ce8437e05b825c0848d267c2a049ec5f7db8a9639f77ee36a9e1a7c17023",
          "translation": "Исходное свойство может иметь смысл на одной стороне и пропускаться на другой; server output также проверяет свойства script callbacks."
        },
        "/rules/@id=prototype-format.rule.side-specific-output/name": {
          "source_sha256": "21faf823883c42a616c08d85cf5e27454bfc1e20b4edb362e3c3c6ec5f32a0be",
          "translation": "Выходы отдельных сторон"
        },
        "/rules/@id=prototype-format.rule.side-specific-output/requirement": {
          "source_sha256": "7d8307d9043b80be64db98c41132657ec28597542835909f3fcd2afcd78a0ef4",
          "translation": "Один набор исходников отдельно разбирается и сериализуется для метаданных сервера, клиента и Mapper."
        },
        "/rules/@id=prototype-format.rule.strict-values/description": {
          "source_sha256": "a49903812abdb8cae1b2f3787e881375e1fd69dbf20d380a9c1f3e4b7fcba6d9",
          "translation": "Авторитетным источником для текстовых значений scalar, enum, struct, array, dictionary, RefType, FixedType и Proto служит serializer свойств."
        },
        "/rules/@id=prototype-format.rule.strict-values/name": {
          "source_sha256": "9b1da4d45eb0f581610b439424716d9c3876b383da8eefdfb01d01a8dc8bdffe",
          "translation": "Строгие текстовые значения"
        },
        "/rules/@id=prototype-format.rule.strict-values/requirement": {
          "source_sha256": "7788c3de59d14562a0170450cefe4a35df9387279fa237834860c417e264f573",
          "translation": "Значения свойств должны разбираться согласно типу метаданных без переполнения, неизвестных enum или ссылок на прототипы, неконечных чисел и неверной структуры коллекций."
        },
        "/scope/excluded": {
          "source_sha256": "97bac935469f5644250e22e1ceda04b1d83e7795098d33b76a3536b88fcde059",
          "translation": [
            "проектные объявления или свойства сущностей и FixedType",
            "вложенные секции размещения на карте с адресами $Name/Critter или $Name/Item",
            "игровой баланс, ID контента, таксономия каталогов и политика локализации",
            "runtime-записи persistence и проектная политика развёртывания миграций"
          ]
        },
        "/scope/included": {
          "source_sha256": "8892cdca1027c644edfad036c5804e594570cce12f881247e3bc808a196f4cd6",
          "translation": [
            "обнаружение файлов прототипов и side-specific выходы bake",
            "формы секций, идентичность прототипов, наследование и миграция",
            "применимость свойств и строгая проверка текстовых значений",
            "проверка сигнатуры встроенных callbacks InitScript",
            "встроенные типы сущностей HasProtos и принадлежащий движку каталог их свойств"
          ]
        },
        "/scope/support_note": {
          "source_sha256": "a077143a5938325d383dbfec67c13e9859946df732be4dd561396f5b26aea629",
          "translation": "Грамматика документируется для закреплённой ревизии движка. Конкретные типы сущностей, свойства, расширения файлов, ID и игровая семантика принадлежат проекту."
        },
        "/section_forms/@id=prototype-format.section.fixed-type/description": {
          "source_sha256": "29c9e17a770c9a7a9ff99e70332683767a9201f3cdeadec53ed79537504ff005",
          "translation": "Объявляет подобное прототипу фиксированное значение, заданное метаданными встраивающего проекта."
        },
        "/section_forms/@id=prototype-format.section.fixed-type/resolves_to": {
          "source_sha256": "5dd8ca76c3e4b7d74b46e3e6411639bb3a722451740ffb16c7976f67a63e65eb",
          "translation": "Тип метаданных, объявленный через ///@ FixedType"
        },
        "/section_forms/@id=prototype-format.section.fomap-proto-map/description": {
          "source_sha256": "f736ba2a1843571c0920033b045bbb81a84bea00758727cc07169bcbc58e4238",
          "translation": "Каждая верхнеуровневая секция ProtoMap объявляет прототип Map. Вложенные секции размещения $Name/Item и $Name/Critter пропускаются ProtoBaker и обрабатываются MapBaker."
        },
        "/section_forms/@id=prototype-format.section.fomap-proto-map/resolves_to": {
          "source_sha256": "be176b0015c424b78e9f343f8bc3014a7a701cc2eb9000b6acbc04d67dbecb8f",
          "translation": "Map",
          "preserve_source": true
        },
        "/section_forms/@id=prototype-format.section.proto-entity/description": {
          "source_sha256": "2ebf8283c65528d01a5d504b46ab727c900113a289d854dde04bf905f2ae0fc8",
          "translation": "Объявляет прототип встроенного или проектного типа сущности, в метаданных которого включены прототипы."
        },
        "/section_forms/@id=prototype-format.section.proto-entity/resolves_to": {
          "source_sha256": "6753cd36a218d5a6bdfbfcffea370f97f38d19f423e90df73859fa67f8dea9f6",
          "translation": "Метаданные сущности типа <Type> с HasProtos"
        },
        "/rules/@id=prototype-format.rule.property-migration/name": {
          "source_sha256": "da829260a47d3ceac8d95d856dd36e7e5c1952ae88ce84774643cd9c68af7c48",
          "translation": "Действия миграции свойств"
        },
        "/rules/@id=prototype-format.rule.property-migration/requirement": {
          "source_sha256": "93855f298e8d67ba0a54283730f0d572ef298728ef77d62149220fc35c52d5ed",
          "translation": "Property Rename требует существующего назначения; Transform — существующего Persistent-свойства; Remove навсегда запрещает удалённое имя у того же владельца, включая поля RefType."
        },
        "/rules/@id=prototype-format.rule.property-migration/description": {
          "source_sha256": "bf453e3b2c1bf6121f5ff1bce4dda4cb683a5ea7a32db3dfc3d0413d554032ee",
          "translation": "Объявляйте MigrationRule Property <Owner> Rename <Old> <New>, Transform <Property> <Migrator> или Remove <Old>. Property и Proto имеют общие записи Rename/Transform из пяти частей и Remove из четырёх. Старые значения пропускаются при загрузке документа/текста; bake и финализация метаданных отклоняют повторное имя."
        }
      }
    },
    "text-format": {
      "entries": {
        "/description": {
          "source_sha256": "b3bad8b7e87c5e7cf49e8082be4dcd022c05e4a863494809e741b62ab99853d3",
          "translation": "Основанный на исходном коде контракт авторинга, запекания, нормализации, runtime-поиска и рендеринга для текстовых пакетов FOnline и локализованного текста прототипов."
        },
        "/language_rules/@id=text-format.language.bake-time-fallback/name": {
          "source_sha256": "fd7e6a0d89f75366706899389522cacdc68faa2c665eec6afbef5f3359f8e48d",
          "translation": "Fallback при запекании"
        },
        "/language_rules/@id=text-format.language.bake-time-fallback/rationale": {
          "source_sha256": "352099d301de5999118506a3d375be1559764501b5fc4f8b87dacc8118c44751",
          "translation": "Runtime lookup загружает уже нормализованные бинарные пакеты и не выполняет fallback."
        },
        "/language_rules/@id=text-format.language.bake-time-fallback/requirement": {
          "source_sha256": "9f36f08eaea6bc2187071ced41edc9f5bca7a56517f575bff021ba2c76c65050",
          "translation": "Отсутствующие пакеты и ключи копируются из настроенного fallback каждого языка во время запекания; пакеты и ключи, отсутствующие в этом fallback, удаляются."
        },
        "/language_rules/@id=text-format.language.base/name": {
          "source_sha256": "b599980060cae69f5e365e3da7a03b4169a7c85bd1150255ecd1612e93b46263",
          "translation": "Базовый язык"
        },
        "/language_rules/@id=text-format.language.base/rationale": {
          "source_sha256": "abddc37ae75651efa53fa3214066556cdcbac7f422ee35c7dfbca9530abd3043",
          "translation": "TextPack::ParseBakeLanguages проверяет упорядоченные declarations до их использования любым text baker."
        },
        "/language_rules/@id=text-format.language.base/requirement": {
          "source_sha256": "bee84be6fbcd68bc4bb0f9cc61ce1ad7cb41d4102a0b4200629527abbaa4ee3b",
          "translation": "Baking.BakeLanguages не может быть пустым, а его первый bare language является базой нормализации по умолчанию."
        },
        "/language_rules/@id=text-format.language.fallback-declaration/name": {
          "source_sha256": "f6efe1b291c9204040dd870ce92a59c971c363a3a8d0c6897b4e551a3802c2c2",
          "translation": "Объявление fallback"
        },
        "/language_rules/@id=text-format.language.fallback-declaration/rationale": {
          "source_sha256": "2f7a2d3b15cf95bc65b19e430c5ac1a5d985d9d78b8de76f4b9a0cc4ccba8ea4",
          "translation": "Явный parent создаёт упорядоченную bake-time fallback chain, а bare language после первого использует fallback на первый язык."
        },
        "/language_rules/@id=text-format.language.fallback-declaration/requirement": {
          "source_sha256": "976bab4149eed65aa614e5792dd9ce9a006453e0fe21947accc6d2344e58683d",
          "translation": "Каждая запись BakeLanguages имеет форму language или child:parent; имена уникальны, а parent обязан находиться раньше child."
        },
        "/language_rules/@id=text-format.language.binary-name/name": {
          "source_sha256": "bbb97ebc584ed556d259d0be9b3d1e2226d3bd65a4011669d6cf637b9c60b464",
          "translation": "Имя запечённого файла"
        },
        "/language_rules/@id=text-format.language.binary-name/rationale": {
          "source_sha256": "3a681619472364a96a0feaba65cbc6c0be8f6d7fbf6dd2e9983abf453853628e",
          "translation": "Позднее TextPack::LoadFromResources требует ровно три таких сегмента базового имени."
        },
        "/language_rules/@id=text-format.language.binary-name/requirement": {
          "source_sha256": "442fb7d774c680ad1aacca9a0e92f6519d56080a7a640ebd553d72a0af8f0a56",
          "translation": "Baker-ы исходного текста и текста прототипов создают <ResourcePack>.<TextPack>.<Language>.fotxt-bin."
        },
        "/language_rules/@id=text-format.language.default-source-required/name": {
          "source_sha256": "f5afde55d0d66e54c99b400d5e477a00d68484fe7ef211b6d7b1d72a848c7864",
          "translation": "Обязательный базовый исходник"
        },
        "/language_rules/@id=text-format.language.default-source-required/rationale": {
          "source_sha256": "1a2ee76206662dac1351769cf18acc9bbcda2b384e99c263ffb644a0cba94c21",
          "translation": "TextBaker не может нормализовать изменённый пакет без базового языка и вызывает исключение до разбора выхода."
        },
        "/language_rules/@id=text-format.language.default-source-required/requirement": {
          "source_sha256": "604c7f0da81bf0561e906f03dfc6c90050f2ad5bae8443563b35855995223eda",
          "translation": "Для каждого изменённого исходного текстового пакета выбранный набор файлов должен содержать исходник базового языка."
        },
        "/language_rules/@id=text-format.language.filename/name": {
          "source_sha256": "3fc6620c9672ff2eb08b49fac810300f7bf7ae5fa1cf7d1c7e707ca486f40ce2",
          "translation": "Имя исходного файла"
        },
        "/language_rules/@id=text-format.language.filename/rationale": {
          "source_sha256": "b65777c5339248f2b50e50e8d557715d6550900f24e0f035cd1f1e2ade0b3fe1",
          "translation": "TextBaker отклоняет любую другую форму базового имени."
        },
        "/language_rules/@id=text-format.language.filename/requirement": {
          "source_sha256": "f2e91425a34bb14ed06a734d01f745d7f133774eb5326f7d0b8bfe4a0ba387dc",
          "translation": "Базовое имя .fotxt содержит ровно два сегмента, разделённых точкой: имя текстового пакета и идентификатор языка."
        },
        "/language_rules/@id=text-format.language.identifier/name": {
          "source_sha256": "e5cecf3df64084422e5de32d5e65d0c94a202dafb4c931dfa8a9e749384fc730",
          "translation": "Идентификатор языка"
        },
        "/language_rules/@id=text-format.language.identifier/rationale": {
          "source_sha256": "c9e58987e8bf0f60648d241c3c61fc45834d4ff91cb383b72940aa529d8ffe7f",
          "translation": "Допустимость определяется равенством имени языка, разобранному из Baking.BakeLanguages; валидатора длины или формы локали нет."
        },
        "/language_rules/@id=text-format.language.identifier/requirement": {
          "source_sha256": "a8077b544a1c9c9e0f56fc8c579cc62ee5cac444ab97d5319d71a3a99f64f03b",
          "translation": "Engine рассматривает суффикс имени файла как непрозрачную настроенную строку и не накладывает фиксированного ограничения на число символов."
        },
        "/language_rules/@id=text-format.language.incremental-pack-set/name": {
          "source_sha256": "4b33f0ea5bac55fe5e06506c54fdf02177966b221895a1bc4899465dbe4dd18a",
          "translation": "Дополнение инкрементального набора"
        },
        "/language_rules/@id=text-format.language.incremental-pack-set/rationale": {
          "source_sha256": "624ab53e6316e3de97f9daa1309ad89ae4e534b02e1a9e155fb4e64159e99d8f",
          "translation": "Частичное обновление языка всё равно должно пройти нормализацию полного пакета."
        },
        "/language_rules/@id=text-format.language.incremental-pack-set/requirement": {
          "source_sha256": "a24927f55c259d47f0759ed13556ecd3f2ffee9b7987c0ae58a88693b2aea277",
          "translation": "При изменении одного языкового файла текстового пакета TextBaker включает в повторное запекание все настроенные языковые файлы того же пакета."
        },
        "/language_rules/@id=text-format.language.unsupported/name": {
          "source_sha256": "6d3ffecefc827c1e3cde052664fb0bd8b4ae0f79bd9d8c7c62db58532493748e",
          "translation": "Неподдерживаемый язык"
        },
        "/language_rules/@id=text-format.language.unsupported/rationale": {
          "source_sha256": "2777050885488c3ce0277d6773a11498b4f1a55f2d332cebf3a9d2baefa55d94",
          "translation": "Неподдерживаемые исходные языки не создают бинарных пакетов."
        },
        "/language_rules/@id=text-format.language.unsupported/requirement": {
          "source_sha256": "d296dadc732433dcfa0fb2ee9e396cca0b539942f999f03eb2683326eca5680c",
          "translation": "Для исходного текстового файла с суффиксом, отсутствующим в Baking.BakeLanguages, выводится предупреждение, а файл пропускается."
        },
        "/language_rules/@id=text-format.language.variant-cardinality/name": {
          "source_sha256": "5ff6ab275384d5ff54b401fb06e764f280bd65ec00b380c55788534da178904a",
          "translation": "Количество вариантов"
        },
        "/language_rules/@id=text-format.language.variant-cardinality/rationale": {
          "source_sha256": "eac708b02a1c76821e3801c368b7135c74881d1bd673e60ceae6aa617f3d4e06",
          "translation": "FixStr проверяет только нулевое количество ключа и сохраняет все существующие варианты, когда ключ существует."
        },
        "/language_rules/@id=text-format.language.variant-cardinality/requirement": {
          "source_sha256": "febff281059f020c5c82aa2afcc9f938037ba4e4f10c272c76944fd6e73ac440",
          "translation": "Нормализация выравнивает наличие ключей, но не количество или порядок повторяющихся вариантов существующего ключа."
        },
        "/proto_text_rules/@id=text-format.proto.complete-output-set/name": {
          "source_sha256": "a37de73ffbd9eba838bb883a4a71731eb8f17e3418dd1f574083f849adcf0c63",
          "translation": "Полный набор выходов"
        },
        "/proto_text_rules/@id=text-format.proto.complete-output-set/rationale": {
          "source_sha256": "a245a460f824920fb16a1b229b505c83df367880a4b1c49c8145f6dc2c2c1504",
          "translation": "Форма бинарного выхода детерминирована для разных проектов и наборов языков."
        },
        "/proto_text_rules/@id=text-format.proto.complete-output-set/requirement": {
          "source_sha256": "46db8f8ae5ef210ff7379259db1d8579fd9f39f44b557f9da693acb4bd3dc20a",
          "translation": "ProtoTextBaker создаёт все пять генерируемых пакетов для каждого настроенного языка, включая пустые пакеты."
        },
        "/proto_text_rules/@id=text-format.proto.default-language/name": {
          "source_sha256": "b758802d7220ba401cfdbb43d19aa38f2a51ba6161d647bcec04a94cc768227b",
          "translation": "Опущенный язык"
        },
        "/proto_text_rules/@id=text-format.proto.default-language/rationale": {
          "source_sha256": "f53d5688446780136a95febb56e2de06917cfe05eac69fd6f582290cd777cbe9",
          "translation": "С исходными текстовыми пакетами используется один упорядоченный контракт базового языка."
        },
        "/proto_text_rules/@id=text-format.proto.default-language/requirement": {
          "source_sha256": "54bfb616c5142e95c519fbc518c643ee5a8711f7acdd66f5dd067adc434d8655",
          "translation": "Если токен языка опущен, поле $Text принадлежит первому элементу Baking.BakeLanguages."
        },
        "/proto_text_rules/@id=text-format.proto.escape-decoding/name": {
          "source_sha256": "bb0b0d3ccb29c5af5f0edbc0c10b49097a9a422fb20f1c1e4a37f7dc1b6f140d",
          "translation": "Декодирование escape-последовательностей"
        },
        "/proto_text_rules/@id=text-format.proto.escape-decoding/rationale": {
          "source_sha256": "05e052b41b381846bb8bdae140d363657ba7adb4afba87378e06e56b1912a19a",
          "translation": "Последовательности наподобие \\n становятся настоящими символами новой строки в запечённом значении."
        },
        "/proto_text_rules/@id=text-format.proto.escape-decoding/requirement": {
          "source_sha256": "ee0d1580e166704aa0f39d76e578ff989842d537c6123b63df8ef841322e85b5",
          "translation": "Значения $Text прототипов проходят через StringEscaping::DecodeString до добавления в текстовый пакет."
        },
        "/proto_text_rules/@id=text-format.proto.inheritance/name": {
          "source_sha256": "f55db203c795aeadb2f3c2811f398494d6c7536f2cee2dea2a16d594f41d45d7",
          "translation": "Унаследованный текст"
        },
        "/proto_text_rules/@id=text-format.proto.inheritance/rationale": {
          "source_sha256": "601fe867d3995733a5e7e217be8747298f556a20d7d03f3c3a4bcbddbd2bca45",
          "translation": "Потомок наследует отсутствующие точные текстовые ключи, а его собственное присваивание точного ключа заменяет унаследованное значение."
        },
        "/proto_text_rules/@id=text-format.proto.inheritance/requirement": {
          "source_sha256": "a2cadf71d4af9f27126c1b8b6fc96b56d2dc7eab546678f5b443dddff3241f9b",
          "translation": "Родительские поля $Text рекурсивно объединяются до полей потомка."
        },
        "/proto_text_rules/@id=text-format.proto.intersections/name": {
          "source_sha256": "9538bb3a092de552cdad9c6fc3e1044353c96697737622a1b7d3882b34ec725b",
          "translation": "Межтиповые пересечения"
        },
        "/proto_text_rules/@id=text-format.proto.intersections/rationale": {
          "source_sha256": "3997af335ddf70ef03c1906cf7dba0a186b038558d7cd7617a4acd8612c82a4b",
          "translation": "Пересечения считаются ошибками и прерывают запекание текста прототипов."
        },
        "/proto_text_rules/@id=text-format.proto.intersections/requirement": {
          "source_sha256": "648a8188b4c36725da10f5e48e82c02bef0b1c20728e23da9ac0021e5237f495",
          "translation": "Два исходника прототипов не могут создать один полный ключ в одном сгенерированном пакете и языке."
        },
        "/proto_text_rules/@id=text-format.proto.pack-routing/name": {
          "source_sha256": "9a6744c4c312689c7b666772f925915ce851f148c3550989e8301f24a3e24926",
          "translation": "Маршрутизация генерируемого пакета"
        },
        "/proto_text_rules/@id=text-format.proto.pack-routing/rationale": {
          "source_sha256": "ab27938d7c04164733d45335fc544a84cceb836b63858cd385cf1694ec0d4672",
          "translation": "Эти пять имён образуют переиспользуемый набор текстовых пакетов прототипов, генерируемых Engine."
        },
        "/proto_text_rules/@id=text-format.proto.pack-routing/requirement": {
          "source_sha256": "1f1984ebaeb9e387216240e0b9eda20efb20f422c72e3202b22c7210c343307c",
          "translation": "Прототипы Item, Critter, Map и Location направляются в Items, Critters, Maps и Locations; другие неэкспортируемые entity или fixed type с HasProtos направляются в Protos."
        },
        "/proto_text_rules/@id=text-format.proto.syntax/name": {
          "source_sha256": "8f62d1bb1b504dc86a56e5104e145a94ce711c32f23dc3898053b926e10e5093",
          "translation": "Ключ текста прототипа"
        },
        "/proto_text_rules/@id=text-format.proto.syntax/rationale": {
          "source_sha256": "e084827d650ffb7870ac9d81140603473c887b5ce74715cb119893cb04a83d3a",
          "translation": "Id прототипа становится Key1, а необязательные последующие токены становятся Key2 и Key3."
        },
        "/proto_text_rules/@id=text-format.proto.syntax/requirement": {
          "source_sha256": "0306b5d14f5e94092f0957e7b9221ded4cc5ee25712ef13378bd20e07b387d5c",
          "translation": "Текст прототипа использует $Text [Language] [Key2] [Key3] = Value и принимает не более четырёх токенов ключа вместе с $Text."
        },
        "/proto_text_rules/@id=text-format.proto.unsupported-language/name": {
          "source_sha256": "6603ec3bf248c1762d57155affd9013bb4fd80f7d2d8ece55ef90d16d9e46f9a",
          "translation": "Неподдерживаемый язык прототипа"
        },
        "/proto_text_rules/@id=text-format.proto.unsupported-language/rationale": {
          "source_sha256": "3456669e90bd6e6469c39f0aa16951b0084a6fbf626c8461e43b526011f6e952",
          "translation": "Локализованный текст прототипов следует настроенному набору выходных языков."
        },
        "/proto_text_rules/@id=text-format.proto.unsupported-language/requirement": {
          "source_sha256": "c11f2b74cb39b7a406d49fb548881d62c50355b914853ab37365d9c4c0fd4f61",
          "translation": "Для языка $Text, отсутствующего в Baking.BakeLanguages, выводится предупреждение, и поле пропускается."
        },
        "/rendering_rules/@id=text-format.rendering.inline-color/name": {
          "source_sha256": "327aab12e61b97d71092abc79f8376e9363482a003598223870582981f09d007",
          "translation": "Встроенные цветовые теги"
        },
        "/rendering_rules/@id=text-format.rendering.inline-color/rationale": {
          "source_sha256": "c1fdf86cd4b2a8a2d0b4adcf1c672585c9f62587c826b18e3a1a0b628eea1e8f",
          "translation": "Цветовые теги являются синтаксисом рендерера, независимым от разбора текстового пакета и проектного форматирования lexem."
        },
        "/rendering_rules/@id=text-format.rendering.inline-color/requirement": {
          "source_sha256": "7d34c8083ae85f370570120a46f93c5e77af0a17b03c92f813931889286f27f1",
          "translation": "Клиентский рендерер шрифтов распознаёт @color:HEX@ для добавления цвета из шести или восьми шестнадцатеричных цифр и @color@ для восстановления предыдущего цвета."
        },
        "/rendering_rules/@id=text-format.rendering.no-colorize/name": {
          "source_sha256": "d83a2423cf5a57981d68e5cecc6a49f417d8e9c441d5a468735403d3d07683b9",
          "translation": "NoColorize",
          "preserve_source": true
        },
        "/rendering_rules/@id=text-format.rendering.no-colorize/rationale": {
          "source_sha256": "263e5bc2cc71ee6e6d51057ef5fecae6d7726124e11b0c4773bbb49ff8c30b98",
          "translation": "Проход форматирования всегда удаляет распознанные теги, но записывает цвета отдельных глифов только при включённой колоризации."
        },
        "/rendering_rules/@id=text-format.rendering.no-colorize/requirement": {
          "source_sha256": "b96e89bdea590e8d71686f6af87bddcd26bb9993b6638d3e4c6c9210b82b1c8f",
          "translation": "FontFlag.NoColorize удаляет допустимые встроенные цветовые теги, отрисовывая все глифы базовым цветом."
        },
        "/runtime_methods/@id=text-format.runtime.change-language/behavior": {
          "source_sha256": "67ea5e78e3b5084452126c0ca155774dd1153d66f0eb15bd4b0a3ba4ec5aac73",
          "translation": "Загружает langName в текущий пакет клиента и обновляет текущее состояние языка, принадлежащее движку, не изменяя настроенную стартовую настройку Client.Language."
        },
        "/runtime_methods/@id=text-format.runtime.change-language/missing_behavior": {
          "source_sha256": "a6e187e4ae5c531fa7894033116e8ec7279c3e206bf696897eabffc17fac55df",
          "translation": "Engine не проверяет идентификатор, не применяет другой fallback и не вызывает callback проекта для обновления GUI."
        },
        "/runtime_methods/@id=text-format.runtime.get-count/behavior": {
          "source_sha256": "3003287dc1387e4c24663f441f5fefafd8ccf254b4ab73052f85150394c2989e",
          "translation": "Возвращает число вариантов, сохранённых под полным ключом."
        },
        "/runtime_methods/@id=text-format.runtime.get-count/missing_behavior": {
          "source_sha256": "28b3f381dc044a0eaabdcb945f72b5f98d65daf6a5ce0bba138b8fb5defd0750",
          "translation": "Возвращает ноль при отсутствии ключа."
        },
        "/runtime_methods/@id=text-format.runtime.get-current-text/behavior": {
          "source_sha256": "911e0920196df3deb80c1e055c255d2e6e6bd4b6ea75e115c4e7025d8664c05e",
          "translation": "Возвращает первый вариант из текущего языка клиента."
        },
        "/runtime_methods/@id=text-format.runtime.get-current-text/missing_behavior": {
          "source_sha256": "ff62b56c2cd974242c614b4579c9c1ec2e8a306601577182a4b463a62d48f247",
          "translation": "Отсутствующий ключ возвращает пустую строку."
        },
        "/runtime_methods/@id=text-format.runtime.get-indexed-text/behavior": {
          "source_sha256": "647c6f2a539ff22c2fdf51472b07e0bc4e89fd14740103f58f0837300a1d9f88",
          "translation": "Возвращает вариант из текущего языка клиента, выбранный textIndex по индексу с нуля."
        },
        "/runtime_methods/@id=text-format.runtime.get-indexed-text/missing_behavior": {
          "source_sha256": "54eee424a2977efb7666049f37c687d97f7b4dabc4ed3b0856413ffe7383d01c",
          "translation": "Отсутствующий ключ или выход за диапазон возвращает пустую строку; отрицательный индекс вызывает исключение."
        },
        "/runtime_methods/@id=text-format.runtime.get-language-text/behavior": {
          "source_sha256": "d3c92c778d4e54ac93931c93700449813774b2f545646599df1177a96fe9e635",
          "translation": "Пустой langName или текущий язык использует текущий пакет; другой langName загружает либо повторно использует кешированный пакет и возвращает первый вариант."
        },
        "/runtime_methods/@id=text-format.runtime.get-language-text/missing_behavior": {
          "source_sha256": "b00677854a19946bff0e20f017fc8cd74f9c35a646e4bb8c5317cc6f055e8e0b",
          "translation": "Для отсутствующего или неподдерживаемого непустого языка нет автоматического fallback, поэтому ключ даёт пустую строку."
        },
        "/runtime_methods/@id=text-format.runtime.get-language/behavior": {
          "source_sha256": "5e96cdcfe275dde5719a8b787e3226b8bae922e9b1fde94c5c53d34c66058c37",
          "translation": "Возвращает текущий язык экземпляра движка в строгой обёртке LanguageName; настроенное значение Client.Language служит только стартовым значением."
        },
        "/runtime_methods/@id=text-format.runtime.get-language/missing_behavior": {
          "source_sha256": "a3014a36534d5612e7e04f74fc455b30bd0101d370991d349923efd6cc69ebc0",
          "translation": "Неприменимо."
        },
        "/runtime_methods/@id=text-format.runtime.is-present/behavior": {
          "source_sha256": "327d1896ea7b6b88a4b949ff73f2ca4c6ba854ed5c874227663b53468d65d630",
          "translation": "Сообщает, существует ли хотя бы один вариант под полным ключом."
        },
        "/runtime_methods/@id=text-format.runtime.is-present/missing_behavior": {
          "source_sha256": "3734e4e75ad3686ed176db9deb245e3ca98264ed8d237f309bebcbedab719e19",
          "translation": "Возвращает false при отсутствии ключа."
        },
        "/runtime_methods/@id=text-format.runtime.server-boundary/behavior": {
          "source_sha256": "3454ae43ddcafaaab70d9b4bb5be1037595305b2b9962bef1a53d619e499f648",
          "translation": "Сервер загружает один пакет из настроенного стартового значения Client.Language и предоставляет запросы наличия и количества."
        },
        "/runtime_methods/@id=text-format.runtime.server-boundary/missing_behavior": {
          "source_sha256": "f1350da944cd659524deffe68cc4a32a2618d6dfaccce27632b88881c47563a9",
          "translation": "В API Engine нет server script overload Game.GetText."
        },
        "/scope/excluded": {
          "source_sha256": "b9ad4823d09d0268b4086bcca46bc5f03b7de00db2a5a92a1fe62d9df86dfcc4",
          "translation": [
            "языковые приоритеты проекта, владение переводами, терминология и политика готовности релиза",
            "проектные lexem, подстановка аргументов, синтаксис случайного выбора, форматирование диалогов и обёртки чата",
            "конкретные имена пакетов кроме пяти пакетов текста прототипов, генерируемых движком",
            "выбор шрифта, layout, shaping и общий GUI authoring"
          ]
        },
        "/scope/included": {
          "source_sha256": "f5be3e628876976a93afae151be0797f3f6b5126ad4a6d140355d55321fb41e9",
          "translation": [
            "имена файлов .fotxt, синтаксис полей в фигурных скобках, многострочные значения, структурированные ключи и повторяющиеся варианты",
            "порядок BakeLanguages, инкрементальное повторное запекание, нормализация языков при запекании и имена бинарных выходов",
            "поля $Text прототипов, наследование, маршрутизация выходных пакетов, декодирование escape-последовательностей и валидация",
            "клиентские и серверные поверхности script lookup, переключение языка и встроенные цветовые теги рендерера"
          ]
        },
        "/scope/support_note": {
          "source_sha256": "caf604dbdca9aab2e6a64df38d2adcd6826f039beeca4b7acc4a4861050d12f2",
          "translation": "Контракт генерируется для закреплённой ревизии движка. Проекты владеют языковой политикой, каталогами пакетов, процессом перевода, семантическими соглашениями о ключах и любым игровым formatter-ом lexem или аргументов."
        },
        "/syntax_rules/@id=text-format.syntax.comment-boundary/name": {
          "source_sha256": "99018a0c473abf83803993377d4caa712330e5cb0d81bfe8f63248982ceea4f8",
          "translation": "Нет грамматики комментариев"
        },
        "/syntax_rules/@id=text-format.syntax.comment-boundary/rationale": {
          "source_sha256": "2dd8ede7893cfc3e236cdc8b8f0a01e1f972ce569f40c71ac68b96ad60282305",
          "translation": "В LoadFromString нет ветки токенов комментария, и разбор начинается с первой открывающей фигурной скобки в любом месте строки."
        },
        "/syntax_rules/@id=text-format.syntax.comment-boundary/requirement": {
          "source_sha256": "f55e6760daefaf617588c779059c22f4d8a7b3c44687efddbf45e05928384b09",
          "translation": "Парсер пропускает физическую строку только тогда, когда не может найти первую открывающую фигурную скобку; соглашения о комментариях являются политикой проекта, а текст комментария не должен содержать разбираемые поля в фигурных скобках."
        },
        "/syntax_rules/@id=text-format.syntax.empty-fields/name": {
          "source_sha256": "1c02596c03981cdfad877832022fb4b57313ca03cace56e24a571e1df3781fb6",
          "translation": "Обязательные и необязательные поля"
        },
        "/syntax_rules/@id=text-format.syntax.empty-fields/rationale": {
          "source_sha256": "ccab1d86252e6dd00f74d6a04c5bfc4b6ea89f6c96cf1ed19ec391b6ebf9c66c",
          "translation": "После извлечения всех трёх полей парсер отклоняет только пустую коллекцию или первый ключ."
        },
        "/syntax_rules/@id=text-format.syntax.empty-fields/requirement": {
          "source_sha256": "716b06ae0de8320be76cf3a09a707642b3317c1f312c8914ca99352b7b8b4eac",
          "translation": "Collection и Key1 не могут быть пустыми; Key2 и Text могут быть пустыми."
        },
        "/syntax_rules/@id=text-format.syntax.entry/name": {
          "source_sha256": "aaa4d93a79d32a1e0c334ce44888fa2ceb9ea41191e8a98ca7f5f7c7b2cafae9",
          "translation": "Форма исходной записи"
        },
        "/syntax_rules/@id=text-format.syntax.entry/rationale": {
          "source_sha256": "ff105c9be4a4e1164fa56b9191bb572a82c5789494cdc84de5b851d92f9cf56f",
          "translation": "LoadFromString получает коллекцию отдельно и создаёт TextPackKey из двух заданных полей ключа."
        },
        "/syntax_rules/@id=text-format.syntax.entry/requirement": {
          "source_sha256": "023b543b6d6e2f5cbf0b6127bfc1ed8d23c48b75743ad23c16af26205fa3ed47",
          "translation": "Разобранная запись .fotxt содержит Key1, Key2 и Text в трёх полях, ограниченных фигурными скобками; коллекцию задаёт сегмент имени файла текстового пакета."
        },
        "/syntax_rules/@id=text-format.syntax.key-tuple/name": {
          "source_sha256": "679658140c90f45ceffad33b4ddc5323254c1c25fbcd8962bb769edd6b4b7ad8",
          "translation": "Идентичность структурированного ключа"
        },
        "/syntax_rules/@id=text-format.syntax.key-tuple/rationale": {
          "source_sha256": "62d0dd0ccf6251f9c25b1fe238044aa484d0c6d6c8f43fbf17c9ba88cf322102",
          "translation": "Исходные записи .fotxt оставляют Key3 пустым, а поля $Text прототипов могут заполнять Key2 и Key3."
        },
        "/syntax_rules/@id=text-format.syntax.key-tuple/requirement": {
          "source_sha256": "26f806bfb107e18efa8dff80cdcb4608e5a300993b1a5d0a1fbf7a487ffe77f0",
          "translation": "Идентичность TextPackKey состоит из Collection, Key1, Key2 и Key3, каждое из которых представлено обёрткой хешированной строки."
        },
        "/syntax_rules/@id=text-format.syntax.multiline-text/name": {
          "source_sha256": "3bddebd1616977bdd5145185ee92db41a1dc24e8c36c07823c40e93fae7ece50",
          "translation": "Многострочное значение"
        },
        "/syntax_rules/@id=text-format.syntax.multiline-text/rationale": {
          "source_sha256": "dc59ac79ad402d5d7640f78bbe0099e0b037be4ac7328af354323d675fc59b51",
          "translation": "Первые два вызова ExtractBraceToken запрещают многострочный ввод, а третий разрешает его."
        },
        "/syntax_rules/@id=text-format.syntax.multiline-text/requirement": {
          "source_sha256": "e0d48bf23479456dc3a9b972aa9be9b545e09b7c7a001f46f417a9807afcce4a",
          "translation": "Только третье поле может продолжаться на физических строках; объединённые строки сохраняют переводы строк до первой закрывающей фигурной скобки."
        },
        "/syntax_rules/@id=text-format.syntax.no-closing-brace-escape/name": {
          "source_sha256": "76e889b356833098742da5144729a49c8c939d0711b830e2a2bdc7b18d9ced0c",
          "translation": "Граница закрывающей скобки"
        },
        "/syntax_rules/@id=text-format.syntax.no-closing-brace-escape/rationale": {
          "source_sha256": "25be19df24f16d6529b44fc9a337b7449bcc484075608dbdae565706f437679b",
          "translation": "ExtractBraceToken напрямую ищет следующую закрывающую скобку и не декодирует escape-последовательности."
        },
        "/syntax_rules/@id=text-format.syntax.no-closing-brace-escape/requirement": {
          "source_sha256": "8a5cc45505bad5f72f7aa63c73df80bca4051aa137fadca2877b8a55e5b2b2d7",
          "translation": "Первая закрывающая фигурная скобка завершает каждое поле; в исходном формате нет escape-последовательности для литеральной закрывающей скобки внутри Text."
        },
        "/syntax_rules/@id=text-format.syntax.variants/name": {
          "source_sha256": "7646bf474a0731262faa5f11ee42c3abb5764c3ce8038b9db039134cec9cf721",
          "translation": "Варианты повторяющегося ключа"
        },
        "/syntax_rules/@id=text-format.syntax.variants/rationale": {
          "source_sha256": "81914a4a82550155ff6384ef21e90d4fd60147a9cc348cacb0eec743b43f1465",
          "translation": "Количество вариантов и выбор по индексу используют один binary-search range; нормализация языков не выравнивает количество дубликатов, а read paths никогда не исправляют разделяемое состояние."
        },
        "/syntax_rules/@id=text-format.syntax.variants/requirement": {
          "source_sha256": "71af492d6b6565fc9f27bed9de6f72cadb05a6912e59ab97f07c185c1d11e5ae",
          "translation": "Несколько записей могут использовать один полный TextPackKey и оставаться соседними упорядоченными вариантами в отсортированном backing vector."
        },
        "/validation_rules/@id=text-format.validation.empty-languages/name": {
          "source_sha256": "943645405467d854f91a78bb3838c4ff2d921ef0c81f9caaf48570000bb10c14",
          "translation": "Пустой BakeLanguages"
        },
        "/validation_rules/@id=text-format.validation.empty-languages/rationale": {
          "source_sha256": "cfbaf94563a92edc24e0f72733e87b1dc3a7bacd85ff9763d557f3a3b73ab1c3",
          "translation": "Невозможно детерминированно выбрать базовый язык."
        },
        "/validation_rules/@id=text-format.validation.empty-languages/requirement": {
          "source_sha256": "aea2a3f93d77af6cbf78046840b864cf14b2115679972fa3d830ebb0a8751b43",
          "translation": "TextBaker, ProtoTextBaker и нормализация TextPack отклоняют пустой список Baking.BakeLanguages."
        },
        "/validation_rules/@id=text-format.validation.malformed-raw/name": {
          "source_sha256": "7b88d3c46416774e6af7d2050120eea9afc0386c1b2d7f9ec4d2f78d093184f3",
          "translation": "Некорректный исходный текст"
        },
        "/validation_rules/@id=text-format.validation.malformed-raw/rationale": {
          "source_sha256": "3abac713fb58fdb0daf361a3531bee29a3bc5eec5df620e028479a85b6e6a4ba",
          "translation": "LoadFromString сообщает совокупную ошибку, а TextBaker отклоняет исходный файл целиком."
        },
        "/validation_rules/@id=text-format.validation.malformed-raw/requirement": {
          "source_sha256": "e444705716433416d68d3dd7f06719b023353a2165ecba06e0eae6d790e8c98d",
          "translation": "Исходник без обязательного поля или с незавершённым значением приводит к ошибке text bake, даже если остальные записи разобрались успешно."
        },
        "/validation_rules/@id=text-format.validation.proto-intersection/name": {
          "source_sha256": "c43a8adbae1a9475f2daef3a2f83f07ef60bcb2d4080f642b416b628166623da",
          "translation": "Пересечение выходов прототипов"
        },
        "/validation_rules/@id=text-format.validation.proto-intersection/rationale": {
          "source_sha256": "421a9a1e392d4fc46c3c60cb3db1cb4f623ab682982a24a73ebda284b5544e0c",
          "translation": "Сгенерированный пакет не должен зависеть от порядка обхода каталогов типов."
        },
        "/validation_rules/@id=text-format.validation.proto-intersection/requirement": {
          "source_sha256": "03ea67a5b90a13d0bdea9ff3cccd87e33e76b69605917ff1e6752ce13f04496f",
          "translation": "Повторяющиеся полные ключи, созданные исходниками разных типов прототипов в одном выходном пакете, приводят к ошибке запекания."
        },
        "/validation_rules/@id=text-format.validation.proto-token-count/name": {
          "source_sha256": "a5663729c7a4627f86dd05452d34da427e7271dde400dbd8ede33c05990a8e3f",
          "translation": "Число токенов ключа прототипа"
        },
        "/validation_rules/@id=text-format.validation.proto-token-count/rationale": {
          "source_sha256": "2d34cbe00cdf8801878b2f7b86cfaf04fa528cdc1cabda54a3b9da17b5eca247",
          "translation": "У TextPackKey нет дополнительного поля ключа."
        },
        "/validation_rules/@id=text-format.validation.proto-token-count/requirement": {
          "source_sha256": "9c25ab8c89612a99eae2e67802eae817161437fb071c74eea8fae60fd560d3fb",
          "translation": "Ключ $Text прототипа, содержащий после $Text больше Language, Key2 и Key3, приводит к ошибке запекания."
        },
        "/validation_rules/@id=text-format.validation.raw-unsupported-warning/name": {
          "source_sha256": "c4ecd1a355d750720bd2b3be44d22e3521604ed6ab08319f6f473bc9bb4f87e5",
          "translation": "Предупреждение о неподдерживаемом исходном языке"
        },
        "/validation_rules/@id=text-format.validation.raw-unsupported-warning/rationale": {
          "source_sha256": "46e043270dd09d4047bee9880141ffa558895eace00d52d1138d373a6808257b",
          "translation": "Проекты могут хранить несвязанные исходники в более широком дереве входов, не публикуя их молча."
        },
        "/validation_rules/@id=text-format.validation.raw-unsupported-warning/requirement": {
          "source_sha256": "d76964659bc744dd6a42358fa1c868afd175b8866f8be399e54092f11f8889ff",
          "translation": "Файлы неподдерживаемого исходного языка создают предупреждение и не создают выход для этого языка."
        }
      }
    },
    "support-matrix": {
      "entries": {
        "/platforms/@id=android-arm-clients/limitations": {
          "source_sha256": "011f82f296ef71e437685209ca098d2ba1d26132e089702b921688f724f3b871",
          "translation": "За сборку APK, подписание, доставку через магазины, GPU, ввод и звук на устройстве, приостановку и возобновление, а также приёмку сети отвечает проект."
        },
        "/platforms/@id=android-arm-clients/runtime_evidence": {
          "source_sha256": "99d371dae23b1151f6a793188b6c20bb7e5f4c37094cab16f5d71b57b4c87387",
          "translation": "Smoke-маршрут на эмуляторе или физическом устройстве не требуется."
        },
        "/platforms/@id=android-x86-client/limitations": {
          "source_sha256": "9ae997c1c587fe028e8ae38093ac1b10f39a931b0ff5cedb347d12ef0e1deb09",
          "translation": "Не объявляйте Android x86 поддерживаемой релизной целью без проектной проверки сборки и устройства или эмулятора."
        },
        "/platforms/@id=android-x86-client/runtime_evidence": {
          "source_sha256": "64ab21a448088cbe5dc1a48586da01797ce3670a3202343545b236b577c7f8fb",
          "translation": "Обязательная линия CI или runtime отсутствует."
        },
        "/platforms/@id=ios-client/limitations": {
          "source_sha256": "d31b61a5d8228d718ec23810bae5bfbe64359b68e74b73f7163251084b293310",
          "translation": "За provisioning, подписание, доставку через App Store, ввод и звук на устройстве, сеть и приёмку lifecycle отвечает проект."
        },
        "/platforms/@id=ios-client/runtime_evidence": {
          "source_sha256": "a675a173fec8ea573da1e521d0676c7fffbeb572d4dfe6bbd9e7771e796693f2",
          "translation": "Smoke-маршрут на симуляторе или устройстве не требуется."
        },
        "/platforms/@id=linux-x64-clang/limitations": {
          "source_sha256": "f03786568b253d3aad79de51fc3b977c8d3d235e8e6b5e1da1864100f7a2f464",
          "translation": "Текущая матрица квалифицирует только конфигурацию и компиляцию на Ubuntu 24.04; runtime, другие дистрибутивы, установщики, подписание, магазины, развёртывание и откат требуют проектной приёмки."
        },
        "/platforms/@id=linux-x64-clang/runtime_evidence": {
          "source_sha256": "bc4c9eca7f920efb63c901da4510a6c60e556f8b6a16b6e49ef7909385d44e5a",
          "translation": "Проверяемый реестр валидации BuildTools не требует процессного smoke-маршрута."
        },
        "/platforms/@id=linux-x64-gcc/limitations": {
          "source_sha256": "1d478a1f596aad18d61c6b829ccddd8946d49b60a384adb47ba089f842ac3bdb",
          "translation": "Runtime-квалификация обеспечивается линией Clang; проекту, который зависит от поведения GCC, нужна собственная smoke-линия."
        },
        "/platforms/@id=linux-x64-gcc/runtime_evidence": {
          "source_sha256": "616ff970f9eedbff523ccf5554ee02aa3ac16d04942191df874bf202b7ab55c6",
          "translation": "Отдельный процессный smoke-маршрут для GCC не требуется."
        },
        "/platforms/@id=macos-client/limitations": {
          "source_sha256": "3c2a2ed829a6fa64cb2c10d8b9e76f9d8120cb211fc8471166a9bbd4f4cd2c9d",
          "translation": "Публичная матрица не квалифицирует сервер, Mapper, инструменты, упаковку, подписание или notarization для macOS."
        },
        "/platforms/@id=macos-client/runtime_evidence": {
          "source_sha256": "703ac788c7b77f7a492795b1a63b61cc3af7447e37fb9135e64fade6c1c774a5",
          "translation": "Процессный smoke-маршрут клиента не требуется."
        },
        "/platforms/@id=web-client/limitations": {
          "source_sha256": "ace456af947eefced39ca4c5410ac8b03d940b771e954298003cdee224e26ca2",
          "translation": "Штатная Web-цель поддерживает только клиент WebGL 2. Линия сборки не квалифицирует пары браузеров и GPU либо production hosting, заголовки, хранение, активацию звука, развёртывание, CDN, подписание или откат; эти приёмочные gates остаются ответственностью проекта."
        },
        "/platforms/@id=web-client/runtime_evidence": {
          "source_sha256": "8deaffd8bbe65c727205735168b5f68b2f3623f52761217cc3d5a9ee05beb0f8",
          "translation": "Проверяемый реестр валидации BuildTools не требует браузерного процессного smoke-маршрута."
        },
        "/platforms/@id=windows-x64-clangcl/limitations": {
          "source_sha256": "007bb0e1a07d9a2550ca4d272784e674f5dced7fcc60123da156ed3b62bceb0f",
          "translation": "Используйте MSVC для квалифицированного маршрута Windows, если встраивающий проект не добавил собственную проверку ClangCL."
        },
        "/platforms/@id=windows-x64-clangcl/runtime_evidence": {
          "source_sha256": "64ab21a448088cbe5dc1a48586da01797ce3670a3202343545b236b577c7f8fb",
          "translation": "Обязательная линия CI или runtime отсутствует."
        },
        "/platforms/@id=windows-x64-msvc/limitations": {
          "source_sha256": "f8ee591ee091ed2592adda0fe4a89a1b789db4b0e8fcd7b589b4fad328124166",
          "translation": "Обязательная линия подтверждает конфигурацию и компиляцию, но не поведение рендерера, драйвера, базы данных, установщика, подписания, магазина, развёртывания, отката или runtime lifecycle."
        },
        "/platforms/@id=windows-x64-msvc/runtime_evidence": {
          "source_sha256": "bc4c9eca7f920efb63c901da4510a6c60e556f8b6a16b6e49ef7909385d44e5a",
          "translation": "Проверяемый реестр валидации BuildTools не требует процессного smoke-маршрута."
        },
        "/platforms/@id=windows-x86-msvc/limitations": {
          "source_sha256": "76fefaa7769e0d813106d1fb882e0d18074cb2d8cc11a20259fd76dada42ba05",
          "translation": "Серверные и инструментальные приложения не входят в опубликованную поверхность проверки x86."
        },
        "/platforms/@id=windows-x86-msvc/runtime_evidence": {
          "source_sha256": "8c019fd9d7ee8f6615bc4aec939d1aab330c3034ea40a64e3a4813bc0a02dd8e",
          "translation": "Процессный smoke-маршрут не требуется."
        },
        "/policy/build_gated": {
          "source_sha256": "030970cc514382c2c8b0c4dd3210bd2eb476d62519b2ed5a2479321544c4205b",
          "translation": "Конфигурируется и компилируется обязательным workflow проверки при каждом изменении."
        },
        "/policy/not_in_public_matrix": {
          "source_sha256": "fa9093c6c1e23d3a7cd0d80ac1d7720b1f0a25fb9074d6644fa78654865590c9",
          "translation": "Для этой комбинации приложения и платформы не опубликована поддерживаемая цель проверки."
        },
        "/policy/smoke_gated": {
          "source_sha256": "06dd943a7b90e72fe151be4cf542d69c5fc4d62ca07ea824f673b51fd9aa560b",
          "translation": "Проходит проверку сборки и автоматический процессный smoke-тест starter-, native-extension-, многопользовательского проекта или Content Showcase."
        },
        "/policy/source_capable": {
          "source_sha256": "a83cc63a53eee3258eface1ab23295b7e2a3f6878eb8e6e1d62370349a785299",
          "translation": "Проверяемый реестр BuildTools предоставляет цель, но обязательный workflow её не запускает."
        },
        "/renderer_policy/@platforms=Android%20and%20iOS/compiled_backends": {
          "source_sha256": "015e9de5e0afbc80a72b4bddc7e3ef6f984257cd13010cafb8ed944d9a9d841e",
          "translation": "OpenGL ES и возможности платформы; Vulkan и SDL_GPU вне Web остаются опциональными на этапе компиляции"
        },
        "/renderer_policy/@platforms=Android%20and%20iOS/qualification": {
          "source_sha256": "5c79aa172af0992f6b0650f44536c67cf9b3863425006f13ccdbccbb1f110555",
          "translation": "Требуется приёмка на устройстве."
        },
        "/renderer_policy/@platforms=Web/compiled_backends": {
          "source_sha256": "83d3fbfd290e7355b3a04b690d34c65c4ab0b3f8098b90b29c9d1d4b6252b322",
          "translation": "WebGL 2",
          "preserve_source": true
        },
        "/renderer_policy/@platforms=Web/qualification": {
          "source_sha256": "8ced349bd0399a748f4570a90e4bbca7b23bf1cbd5b8506211f4770850845c83",
          "translation": "Vulkan и SDL_GPU исключены этапом платформы; требуется приёмка в браузере."
        },
        "/renderer_policy/@platforms=Windows%2C%20Linux%2C%20macOS/compiled_backends": {
          "source_sha256": "c38411fdba74adaf73cf66d04a94579399d148cfd3df8c2376849cda7d7ea400",
          "translation": "платформенный OpenGL, а также отключаемые Vulkan и SDL_GPU, если исходный backend может инициализироваться"
        },
        "/renderer_policy/@platforms=Windows%2C%20Linux%2C%20macOS/qualification": {
          "source_sha256": "e84d9586b79bac5ecceebc411c314945c124541a23521dff0a64917eee0230e3",
          "translation": "Покрытие сборки не означает покрытие рендерера, runtime или драйвера; каждому поставляемому backend нужна видимая проектная сцена."
        },
        "/renderer_policy/@platforms=headless%20applications/compiled_backends": {
          "source_sha256": "1d4f1c3ff1d52220a78e69a2b3bc4bc6b9851ca05af0786ae22635b35120fc8b",
          "translation": "frontend null/headless"
        },
        "/renderer_policy/@platforms=headless%20applications/qualification": {
          "source_sha256": "c112665b40a162d5e65fdee0726cdf02f6d899743ac839002a57dd20b0315164",
          "translation": "Не делайте вывод о поддержке видимого рендеринга или звука по headless smoke-тесту."
        },
        "/platforms/@id=android-arm-clients/applications": {
          "source_sha256": "a41dea1e2edd649e2ea650e8b149c6ef78ae378140c13b230935d4ac1d2badb3",
          "translation": [
            "входные данные динамической библиотеки или пакета клиента"
          ]
        },
        "/platforms/@id=android-arm-clients/compiler": {
          "source_sha256": "c4ad472b34d4877ce2759074ba6c63507493a49aebc8156b35fd043f5360d13c",
          "translation": "Android NDK Clang",
          "preserve_source": true
        },
        "/platforms/@id=android-arm-clients/host": {
          "source_sha256": "154b05b164ebc0dfd381aa476e63aed23daf95f603ff7c580671600917d824a1",
          "translation": "хост кросс-сборки Ubuntu 24.04"
        },
        "/platforms/@id=android-arm-clients/target": {
          "source_sha256": "1711622632e550bb3567cb7ff4c073b57c7def6b4dbbf66b93d3c17adb6cfe17",
          "translation": "Android armeabi-v7a и arm64-v8a"
        },
        "/platforms/@id=android-x86-client/applications": {
          "source_sha256": "a41dea1e2edd649e2ea650e8b149c6ef78ae378140c13b230935d4ac1d2badb3",
          "translation": [
            "входные данные динамической библиотеки или пакета клиента"
          ]
        },
        "/platforms/@id=android-x86-client/compiler": {
          "source_sha256": "c4ad472b34d4877ce2759074ba6c63507493a49aebc8156b35fd043f5360d13c",
          "translation": "Android NDK Clang",
          "preserve_source": true
        },
        "/platforms/@id=android-x86-client/host": {
          "source_sha256": "3839c7250ae97171fbcd65ffd59e03d916d6fd9d5e8167b79243d041c4a92b50",
          "translation": "хост кросс-сборки"
        },
        "/platforms/@id=android-x86-client/target": {
          "source_sha256": "f186e93da44327f649ff33b2c0ed2b7dddebd2cab788eb4bb83db83030a5eb49",
          "translation": "Android x86",
          "preserve_source": true
        },
        "/platforms/@id=ios-client/applications": {
          "source_sha256": "96d7b76b5f74b2f35e0f2b61a9c2cac7caf381a28969fc21aa2f1eb1aaeab2d9",
          "translation": [
            "входные данные библиотеки клиента или пакета приложения"
          ]
        },
        "/platforms/@id=ios-client/compiler": {
          "source_sha256": "8cad4368acf2e09467e16f73fb5c4ffd771a0270117d6d654d93f09178394d6a",
          "translation": "AppleClang",
          "preserve_source": true
        },
        "/platforms/@id=ios-client/host": {
          "source_sha256": "5ebbaecac7121ccb2cc024fbe553e6946b50a870c911d45ad7a70b4a09b52326",
          "translation": "runner-ы macOS 26 для Intel и Apple Silicon"
        },
        "/platforms/@id=ios-client/target": {
          "source_sha256": "a2bde82c01a19aed73290c9d61a8c8e4bb4d4f770b39230e81413047da8d3a45",
          "translation": "клиент iOS"
        },
        "/platforms/@id=linux-x64-clang/applications": {
          "source_sha256": "536c6c987d6744afb3c76c1a5b2cfbdbf6e7b75cdf9c54ab23b3c760b31bd170",
          "translation": [
            "настольный и headless-клиент",
            "сервер, headless-сервер и daemon",
            "Mapper, AnimationViewer и ParticleViewer",
            "компилятор AngelScript",
            "Baker ресурсов"
          ]
        },
        "/platforms/@id=linux-x64-clang/compiler": {
          "source_sha256": "4e3d40d2b63b6cd4666b7009f3ad22293aa303347dbff00f3e6149b86bb29e67",
          "translation": "Clang 20 или новее"
        },
        "/platforms/@id=linux-x64-clang/host": {
          "source_sha256": "f62cbb2d1c9fc506fce3c8988d30ff746dd3b91dd3a0a88852b39eef48b105dc",
          "translation": "Ubuntu 24.04",
          "preserve_source": true
        },
        "/platforms/@id=linux-x64-clang/target": {
          "source_sha256": "0b89754e2450f9d4e963b32bf6ea1475c55bd3b4620dcebd0576e7785379d314",
          "translation": "Linux x64",
          "preserve_source": true
        },
        "/platforms/@id=linux-x64-gcc/applications": {
          "source_sha256": "536c6c987d6744afb3c76c1a5b2cfbdbf6e7b75cdf9c54ab23b3c760b31bd170",
          "translation": [
            "настольный и headless-клиент",
            "сервер, headless-сервер и daemon",
            "Mapper, AnimationViewer и ParticleViewer",
            "компилятор AngelScript",
            "Baker ресурсов"
          ]
        },
        "/platforms/@id=linux-x64-gcc/compiler": {
          "source_sha256": "50f1526da53f14906ec268c5a3c97a4c805ac6ba27bf67960683ec0be0a8c830",
          "translation": "GCC 13 или новее"
        },
        "/platforms/@id=linux-x64-gcc/host": {
          "source_sha256": "f62cbb2d1c9fc506fce3c8988d30ff746dd3b91dd3a0a88852b39eef48b105dc",
          "translation": "Ubuntu 24.04",
          "preserve_source": true
        },
        "/platforms/@id=linux-x64-gcc/target": {
          "source_sha256": "0b89754e2450f9d4e963b32bf6ea1475c55bd3b4620dcebd0576e7785379d314",
          "translation": "Linux x64",
          "preserve_source": true
        },
        "/platforms/@id=macos-client/applications": {
          "source_sha256": "f0e05e48c11c13a93d18f7a5edd02dfd6b88e4780caf594e61adee6c5468480f",
          "translation": [
            "настольный клиент"
          ]
        },
        "/platforms/@id=macos-client/compiler": {
          "source_sha256": "8cad4368acf2e09467e16f73fb5c4ffd771a0270117d6d654d93f09178394d6a",
          "translation": "AppleClang",
          "preserve_source": true
        },
        "/platforms/@id=macos-client/host": {
          "source_sha256": "5ebbaecac7121ccb2cc024fbe553e6946b50a870c911d45ad7a70b4a09b52326",
          "translation": "runner-ы macOS 26 для Intel и Apple Silicon"
        },
        "/platforms/@id=macos-client/target": {
          "source_sha256": "6251e3df09ecda30103ab5665f83e66e93cc96b2dee00338cc8460164897399c",
          "translation": "macOS x64 и arm64"
        },
        "/platforms/@id=web-client/applications": {
          "source_sha256": "5695009f5f9d9f139d48eea79b5ad931bd7167cab589a662464dad2429bc43c0",
          "translation": [
            "браузерный клиент"
          ]
        },
        "/platforms/@id=web-client/compiler": {
          "source_sha256": "77f1c128336aa26eac646af3f4f1facb64882c78a38418190197c83d67739365",
          "translation": "Emscripten Clang",
          "preserve_source": true
        },
        "/platforms/@id=web-client/host": {
          "source_sha256": "154b05b164ebc0dfd381aa476e63aed23daf95f603ff7c580671600917d824a1",
          "translation": "хост кросс-сборки Ubuntu 24.04"
        },
        "/platforms/@id=web-client/target": {
          "source_sha256": "3cc64514d3abed3dc3b2e415611859ab78d3b9603db4ea43cea997437a1d3c94",
          "translation": "WebAssembly",
          "preserve_source": true
        },
        "/platforms/@id=windows-x64-clangcl/applications": {
          "source_sha256": "77768aaccc065b658d44a8a26466730932538f19c041f158702960d481d52129",
          "translation": [
            "настольный клиент",
            "сервер",
            "компилятор AngelScript",
            "Baker ресурсов"
          ]
        },
        "/platforms/@id=windows-x64-clangcl/compiler": {
          "source_sha256": "b6226d6598e7f5cd2b7f5b85273a886d96159b30827bda75a081460c9c4b6317",
          "translation": "ClangCL 20 или новее"
        },
        "/platforms/@id=windows-x64-clangcl/host": {
          "source_sha256": "d598026a9cbc60505f138ce53ac78088d582100c196d0f70c7e2538d4a8d7e10",
          "translation": "Windows",
          "preserve_source": true
        },
        "/platforms/@id=windows-x64-clangcl/target": {
          "source_sha256": "e40abbc83ba24de80b8abec9aef47f03140b3b36695ea69db71bb4a9843afc91",
          "translation": "Windows x64",
          "preserve_source": true
        },
        "/platforms/@id=windows-x64-msvc/applications": {
          "source_sha256": "b8bcc6f7062ced90abdda51db169fec7a588d35c792d09dae8ac34a365926ee7",
          "translation": [
            "настольный и headless-клиент",
            "сервер, headless-сервер и Windows Service",
            "Mapper, AnimationViewer и ParticleViewer",
            "компилятор AngelScript",
            "Baker ресурсов"
          ]
        },
        "/platforms/@id=windows-x64-msvc/compiler": {
          "source_sha256": "a4b36114e3a904c4f7369bc8aab7680b7760fe6b2ce271e3b1606d834faa6610",
          "translation": "MSVC 19.44 или новее"
        },
        "/platforms/@id=windows-x64-msvc/host": {
          "source_sha256": "d598026a9cbc60505f138ce53ac78088d582100c196d0f70c7e2538d4a8d7e10",
          "translation": "Windows",
          "preserve_source": true
        },
        "/platforms/@id=windows-x64-msvc/target": {
          "source_sha256": "e40abbc83ba24de80b8abec9aef47f03140b3b36695ea69db71bb4a9843afc91",
          "translation": "Windows x64",
          "preserve_source": true
        },
        "/platforms/@id=windows-x86-msvc/applications": {
          "source_sha256": "f0e05e48c11c13a93d18f7a5edd02dfd6b88e4780caf594e61adee6c5468480f",
          "translation": [
            "настольный клиент"
          ]
        },
        "/platforms/@id=windows-x86-msvc/compiler": {
          "source_sha256": "a4b36114e3a904c4f7369bc8aab7680b7760fe6b2ce271e3b1606d834faa6610",
          "translation": "MSVC 19.44 или новее"
        },
        "/platforms/@id=windows-x86-msvc/host": {
          "source_sha256": "d598026a9cbc60505f138ce53ac78088d582100c196d0f70c7e2538d4a8d7e10",
          "translation": "Windows",
          "preserve_source": true
        },
        "/platforms/@id=windows-x86-msvc/target": {
          "source_sha256": "0e11b18f4686e5f8eda60cc052a7cfa76196252538632fad2eaa7a675f2e5dd8",
          "translation": "Windows x86",
          "preserve_source": true
        },
        "/renderer_policy/@platforms=Android%20and%20iOS/platforms": {
          "source_sha256": "eca2d740063bd7cc9238df265e11d7d2135db3b988fbd0509754fd948febd391",
          "translation": "Android и iOS"
        },
        "/renderer_policy/@platforms=Web/platforms": {
          "source_sha256": "2975104784a401e3880e2215550e9490eda7e67db5fc2b35e1a244acb092ced3",
          "translation": "Web",
          "preserve_source": true
        },
        "/renderer_policy/@platforms=Windows%2C%20Linux%2C%20macOS/platforms": {
          "source_sha256": "58d2747484a948f6e54b712994e86cb91376a5cf4d803adb6b1670ed0c88bb65",
          "translation": "Windows, Linux, macOS",
          "preserve_source": true
        },
        "/renderer_policy/@platforms=headless%20applications/platforms": {
          "source_sha256": "fa6962f37255a1280fd78ba205fa9b82a196b621cc98828bb3bba4d087cdc5f6",
          "translation": "headless-приложения"
        }
      }
    },
    "effect-format": {
      "entries": {
        "/baking_rules/@id=effect-format.baking.compiler-prelude/name": {
          "source_sha256": "55d2849d4e02fe1cff338f4ac21ceeab46a0047d63fe122eaadd5fa1fa41f7eb",
          "translation": "Сгенерированный пролог шейдера"
        },
        "/baking_rules/@id=effect-format.baking.compiler-prelude/rationale": {
          "source_sha256": "cda472001cba43a59bd21a1c9fd6718858d1287447ceb396445d133124984668",
          "translation": "Авторские шейдеры используют единый контракт compile-time формы и не должны дублировать эти директивы."
        },
        "/baking_rules/@id=effect-format.baking.compiler-prelude/requirement": {
          "source_sha256": "34478e9e7c0f9b3494aa9e136c61f5c4e5b6201294ce1705e3b257fbb5560c1b",
          "translation": "Перед ShaderCommon и текстом стадии baker добавляет '#version <Version> es', 'precision highp float', MAX_SCRIPT_VALUES, а в 3D-сборках также MAX_BONES и MAX_TEXTURES."
        },
        "/baking_rules/@id=effect-format.baking.compiler-target/name": {
          "source_sha256": "517bbe2258f968a524832cf9e7312296ffa9b74755b68f155e3bd1927e3d0dde",
          "translation": "Целевое окружение glslang"
        },
        "/baking_rules/@id=effect-format.baking.compiler-target/rationale": {
          "source_sha256": "902c5edf9095b4f4913342e1cac86063a74484bfe23530f40698c472139eef4b",
          "translation": "Все варианты backend-ов получаются из одной проверенной связанной программы."
        },
        "/baking_rules/@id=effect-format.baking.compiler-target/requirement": {
          "source_sha256": "1d5e069e32fcba6ef72731145c2946f85a78f3071d6823348427fd86c4db4032",
          "translation": "Обе стадии компилируются как GLSL для клиента Vulkan 1.0 и цели SPIR-V 1.0, затем один раз на проход связываются и строят reflection."
        },
        "/baking_rules/@id=effect-format.baking.incremental/name": {
          "source_sha256": "84640c7aadf326256e608a063279777148d60aafb6b9c2c91e88a7260a433882",
          "translation": "Набор инкрементальных выходов"
        },
        "/baking_rules/@id=effect-format.baking.incremental/rationale": {
          "source_sha256": "669cbc9da1399a812e6a246f8b3cd5dd1039269774b13e6b7139bce6f35a25ac",
          "translation": "Отсутствующий или устаревший вариант должен делать эффект кандидатом на повторное запекание."
        },
        "/baking_rules/@id=effect-format.baking.incremental/requirement": {
          "source_sha256": "fad88b13a9b8fc66ef0aa065df91213c4f867ce1a746d090a3511b27b6586c79",
          "translation": "Проверка запекания отслеживает копию исходника, метаданные проходов и каждый артефакт стадии/варианта для всех объявленных проходов."
        },
        "/baking_rules/@id=effect-format.baking.link-interface/name": {
          "source_sha256": "005bd1a4217b333d05842426c39b24786a28aa35b0ba8a1bc6cf7f76708a16eb",
          "translation": "Проверка интерфейса стадий"
        },
        "/baking_rules/@id=effect-format.baking.link-interface/rationale": {
          "source_sha256": "0a0fa844bcad80d234762c27f9f7d3d1e2ff8ca8f8d8b7468acfc04b25399f24",
          "translation": "Несоответствия location/type и синтаксические ошибки останавливают запекание ресурсов до runtime."
        },
        "/baking_rules/@id=effect-format.baking.link-interface/requirement": {
          "source_sha256": "b935a9b400adb2134bdda40a3f39743bbd08861e93116c7c7b5a5babbdef0506",
          "translation": "Вершинная и фрагментная стадии каждого прохода должны разбираться, связываться и предоставлять корректную reflection-модель."
        },
        "/baking_rules/@id=effect-format.baking.metadata/name": {
          "source_sha256": "ab9f9b343985b00a7a090f83c0dac6ff540fb05f5a7e25c42bf898b137abbc05",
          "translation": "Метаданные прохода"
        },
        "/baking_rules/@id=effect-format.baking.metadata/rationale": {
          "source_sha256": "3b4e9b8a29ec3593abd4507dcaf72dfeaf408191060730240619b645825c0490",
          "translation": "Runtime-backend-ы используют результаты reflection без запуска glslang."
        },
        "/baking_rules/@id=effect-format.baking.metadata/requirement": {
          "source_sha256": "c4ccc720a6d4edad968b630f1b93ad09eaa1195718f143c7231f209be6f4d230",
          "translation": "Каждый проход создаёт info-артефакт с нативными привязками [EffectInfo] и плотными слотами и числами ресурсов по стадиям в [EffectInfoSdl]."
        },
        "/baking_rules/@id=effect-format.baking.native-flavors/name": {
          "source_sha256": "c4a480f458576ddc9200ad3f9b96af06867660c25ace1f2202ae0b9c66890cb5",
          "translation": "Нативные и кросс-компилированные варианты"
        },
        "/baking_rules/@id=effect-format.baking.native-flavors/rationale": {
          "source_sha256": "3cd20f5de9f1e0760e02f46018bd120c9e5e1396558108244e585f2c40037326",
          "translation": "Один исходный эффект поддерживает активные backend-ы рендерера без проектных ответвлений шейдера."
        },
        "/baking_rules/@id=effect-format.baking.native-flavors/requirement": {
          "source_sha256": "8c36c6b55d24f3f2173891c57ce29122dd2b639bbf1fd9524f630ee99829f429",
          "translation": "Каждая стадия создаёт нативный Vulkan SPIR-V, desktop GLSL 330, GLSL ES 300, HLSL Shader Model 4.0 и исходный Metal для macOS и iOS."
        },
        "/baking_rules/@id=effect-format.baking.sdl-remap/name": {
          "source_sha256": "5af42c050b3123b37a815bec4ba7aa5c36669c9e123a182a7f35d3d75b7211a5",
          "translation": "Переназначение дескрипторов SDL_GPU"
        },
        "/baking_rules/@id=effect-format.baking.sdl-remap/rationale": {
          "source_sha256": "3bd22a0a4c1fafd9a5bb1befc7994107bc976c00ee185d2a62f08939738d022c",
          "translation": "Нативные привязки Vulkan остаются неизменными, а SDL_GPU получает плотные локальные слоты стадий."
        },
        "/baking_rules/@id=effect-format.baking.sdl-remap/requirement": {
          "source_sha256": "1ea1c11c3d938f49dbfb2c64939e215d3b94cd36ad46e48c3c828b1bb38f8f40",
          "translation": "Baker копирует нативный SPIR-V, переписывает descriptor set-ы и binding-и под соглашение SDL_GPU для отдельных стадий и сохраняет результат как spv_sdl. Исходный Metal компилируется из переназначенного модуля."
        },
        "/baking_rules/@id=effect-format.baking.source-copy/name": {
          "source_sha256": "89f6ff3d6f87130e7d9eaaac8a0e1e9fb2e5a893a30ddce6140c26de0d3554a2",
          "translation": "Запечённая копия исходника"
        },
        "/baking_rules/@id=effect-format.baking.source-copy/rationale": {
          "source_sha256": "8f44a825b6a9b35f6d181aa888571e8d77048b1e0f87ae723b067d459a2861b7",
          "translation": "RenderEffect повторно разбирает состояние [Effect] во время выполнения; исходный файл является частью набора runtime-артефактов."
        },
        "/baking_rules/@id=effect-format.baking.source-copy/requirement": {
          "source_sha256": "30e31431ca9afa1e2d24b2837159449f8c44e86b5d0447bf7e2abbcbd1d6e9c8",
          "translation": "После артефактов всех проходов исходный .fofx записывается в набор запечённых ресурсов."
        },
        "/compile_limits/@id=effect-format.limit.model-bones/description": {
          "source_sha256": "bacba0ce72f7842465792adc012357a6733373794d1ea56cc4c6d3a2adec4712",
          "translation": "Число записей WorldMatrices, предоставляемых 3D-эффектам через ModelBuf и шейдерный define MAX_BONES."
        },
        "/compile_limits/@id=effect-format.limit.model-textures/description": {
          "source_sha256": "0e2becb8c70fcca4573238fa5d797075c71d88710e6dedb2d5a465ac2e0a1910",
          "translation": "Число sampler-ов ModelTexN и записей ModelTexBuf, доступных 3D-эффектам."
        },
        "/compile_limits/@id=effect-format.limit.passes/description": {
          "source_sha256": "b5a38ce1d89598df55d99fd4c9c99707e5ec86090e88c14cb43d06391d362f2a",
          "translation": "Максимальное число проходов рендеринга в одном эффекте и исключительная верхняя граница хранилища состояния и backend-объектов отдельных проходов."
        },
        "/compile_limits/@id=effect-format.limit.script-values/description": {
          "source_sha256": "cb4f0ef6e77de8dae7faedf458f82f9dcbdae0023f33700a574a3e141f75e614",
          "translation": "Число float-слотов в ScriptValueBuf. Значение должно быть положительным и делиться на четыре, потому что объявление GLSL представляет собой массив vec4, а нативный buffer выровнен по 16 байтам."
        },
        "/description": {
          "source_sha256": "ab8af6544c5b2b40543dc3c7049f7f74df2ea6536f78df64bea1759ccf14d531",
          "translation": "Основанный на исходном коде контракт авторинга, запекания, ресурсов рендерера, runtime-загрузки и управления из скриптов для эффектов FOnline .fofx."
        },
        "/effect_options/@id=effect-format.option.blend-equation/rationale": {
          "source_sha256": "757bacc8ea6af89b4047a15ac61188726c4a45e109adfc26eb9b3e6ce08bdf64",
          "translation": "Неизвестные токены приводят к ошибке создания эффекта, а не к неявному fallback."
        },
        "/effect_options/@id=effect-format.option.blend-equation/requirement": {
          "source_sha256": "98bd61b854a724b75e7f207103f8ed5897ea7cd7acbd02c46f564fea50a18e88",
          "translation": "Значение выбирает одно допустимое уравнение смешивания. При отсутствии ключа конкретного прохода наследуется значение ключа без суффикса."
        },
        "/effect_options/@id=effect-format.option.blend-func/rationale": {
          "source_sha256": "8081edeb86f62528103df0c3bf11c4430accc8ddf4b342afa1c8ca336f675670",
          "translation": "Runtime разбирает коэффициенты до того, как каждый backend создаст состояние смешивания."
        },
        "/effect_options/@id=effect-format.option.blend-func/requirement": {
          "source_sha256": "92d4aa69194e7e5258267ef258299e686c3192c42864778680cdb1998809ba09",
          "translation": "Значение содержит ровно два допустимых токена: сначала исходный фактор, затем целевой. При отсутствии ключа конкретного прохода наследуется значение ключа без суффикса."
        },
        "/effect_options/@id=effect-format.option.cull-variants/rationale": {
          "source_sha256": "5123a9c1c8fa221be1553bf827dba58e4b40f8eebcd9dc0f30d5866b1706af88",
          "translation": "Модели и узлы emitter-а частиц могут иметь независимые настройки culling, при этом умножение числа backend pipeline/state остаётся явно включаемым."
        },
        "/effect_options/@id=effect-format.option.cull-variants/requirement": {
          "source_sha256": "40ec0454e65f63858bdc3451428acf1aef4dec154125b67233e5246fb04e570f",
          "translation": "Включайте только тогда, когда вызывающий код должен выбирать режим отсечения граней None, Back или Front для каждого вызова отрисовки. Без него эффект принимает только режим None по умолчанию."
        },
        "/effect_options/@id=effect-format.option.depth-func/rationale": {
          "source_sha256": "1b4959ee2417e1fd554305e1bb29cc3640b996d3d511d90f69eb95f463a9fc1e",
          "translation": "Зависящие от глубины эффекты должны задавать сравнение явно, потому что значение по умолчанию никогда не отклоняет фрагмент."
        },
        "/effect_options/@id=effect-format.option.depth-func/requirement": {
          "source_sha256": "da2e53b658dd0d304362785ea03c477ae21b20fa7e51454d6e17c1867778cdcf",
          "translation": "Значение выбирает одно допустимое сравнение глубины. При отсутствии ключа конкретного прохода наследуется значение ключа без суффикса."
        },
        "/effect_options/@id=effect-format.option.depth-variants/rationale": {
          "source_sha256": "f6c0f39931ee2634e0a5a288f5f366c68cf37b416b9fdc8560c41cd2778cca0a",
          "translation": "Узлы emitter-а частиц несут настройки глубины независимо от шейдера, а обычные эффекты не должны оплачивать неиспользуемые backend-объекты и pipeline-ы."
        },
        "/effect_options/@id=effect-format.option.depth-variants/requirement": {
          "source_sha256": "527c26f2ac1aca4d443482c4e276de5d19e3012baa0bb1a4eef689d6fc5f3f3c",
          "translation": "Включайте только тогда, когда вызывающий код должен выбирать проверку и запись глубины для каждого вызова отрисовки. Рендерер создаёт все четыре комбинации test/write; иначе существует только состояние, объявленное DepthWrite и DepthFunc."
        },
        "/effect_options/@id=effect-format.option.depth-write/rationale": {
          "source_sha256": "dab03aadc0bf5b2cfd5c02f95dfa0bdcdf8a02617d79ab2adb522276b002309c",
          "translation": "У целей UI, primitive и flush может не быть depth attachment, хотя состояние остаётся в эффекте; учитывающие варианты backend-ы выбирают нужный слот, а не читают значение по умолчанию напрямую."
        },
        "/effect_options/@id=effect-format.option.depth-write/requirement": {
          "source_sha256": "1e2eb5998bc005ed6496769e7efbee1ee40ceb4056590c8e7ef588aac626885b",
          "translation": "Значение разбирается как boolean и задаёт состояние записи глубины по умолчанию для QuadSprite и Model, когда активная цель имеет depth attachment. Вызов отрисовки может выбрать другое состояние только при включённом DepthVariants."
        },
        "/effect_options/@id=effect-format.option.pass-overrides/rationale": {
          "source_sha256": "c1c6b4037e2a17e080408bc61612a64b717c419696e6995f825059b066126bad",
          "translation": "Переопределения состояния и стадий намеренно используют разное написание в конфигурации."
        },
        "/effect_options/@id=effect-format.option.pass-overrides/requirement": {
          "source_sha256": "aa796f6183a7013bd1b76702e61d33f0972a21841ffc79ee7b40afff843dbf58",
          "translation": "BlendFunc, BlendEquation, DepthWrite и DepthFunc поддерживают точный суффикс _PassN с индексом от единицы. В секциях шейдеров перед PassN вместо этого ставится пробел."
        },
        "/effect_options/@id=effect-format.option.passes/rationale": {
          "source_sha256": "91866b5cd9583766a450cecaed957b6aeeefec01159bb7bf488edc44e7eb66a1",
          "translation": "Runtime выделяет фиксированные массивы проходов и проверяет заданное число перед загрузкой метаданных."
        },
        "/effect_options/@id=effect-format.option.passes/requirement": {
          "source_sha256": "d7b92a9fc603d02d3f618b67066188fce36399e5691068700d458b2a20f14382",
          "translation": "Passes должен находиться во включительном диапазоне 1..EFFECT_MAX_PASSES. Индексы проходов в именах секций и суффиксах состояния начинаются с единицы."
        },
        "/effect_options/@id=effect-format.option.shadow-pass/rationale": {
          "source_sha256": "3391c239ed471bb7336d0e57a36635252f6758e95e2011e4cdd8e422d2f4c54c",
          "translation": "При runtime-выполнении 3D-отрисовки теневой проход можно отключить отдельно."
        },
        "/effect_options/@id=effect-format.option.shadow-pass/requirement": {
          "source_sha256": "e904409fbe2eab82c8665474771743eb8cc74cb914116c352c2ec68ef62ceb52",
          "translation": "ShadowPass равен -1 при отсутствии теневого прохода либо содержит начинающийся с единицы индекс в диапазоне 1..EFFECT_MAX_PASSES. Он помечает этот проход как теневой проход модели."
        },
        "/effect_options/@id=effect-format.option.version/rationale": {
          "source_sha256": "03ac657cc0ba40e3caa67263aaef26ad208f485d4b5d9bde44a79d44215f1e61",
          "translation": "В авторском исходнике нет собственной директивы версии, потому что её добавляет baker."
        },
        "/effect_options/@id=effect-format.option.version/requirement": {
          "source_sha256": "5341ad587f7ffd47c271f4c31f3182deb694aaa2b02dfe0867db28cf20c9e2fe",
          "translation": "Version разбирается как целое число и выводится в форме '#version <Version> es' для входа glslang."
        },
        "/resources/@id=effect-format.resource.camera/name": {
          "source_sha256": "920ff15b89aa936dd1b43c9e3449d40bf78d0932b13509c8184d405561f6c817",
          "translation": "Аффинные базисы CameraBuf"
        },
        "/resources/@id=effect-format.resource.camera/rationale": {
          "source_sha256": "9e7a92ed0838f7c15a476c482d845b0a7ce190974b49d0ea319564ee4164bb36",
          "translation": "Масштабные компоненты сохраняют непрерывность на дополненных/разбитых на chunks render target-ах и при zoom."
        },
        "/resources/@id=effect-format.resource.camera/requirement": {
          "source_sha256": "70a8fb8a1723bbc1749f3740e4eddad00f00e8e4190ab8aa7df6bfcc75b47470",
          "translation": "CameraBuf содержит MapAnchorScreenPos и ChunkScreenAnchor. Шейдеры вычисляют любой базис как '.xy + TexCoord * .zw', получая координаты, привязанные к миру или экрану."
        },
        "/resources/@id=effect-format.resource.explicit-bindings/name": {
          "source_sha256": "f272454f73d3bda8d733f2ec14aaf5ebf961f6522e8197db8811069ecc20dde9",
          "translation": "Явные binding-и"
        },
        "/resources/@id=effect-format.resource.explicit-bindings/rationale": {
          "source_sha256": "406b1d0e1340f28c511909142c9f9fbe7d95853e2a2675b71fee4a14898ba0bd",
          "translation": "Назначение слотов SDL_GPU сортирует авторские binding-и и переназначает их в плотные слоты каждой стадии."
        },
        "/resources/@id=effect-format.resource.explicit-bindings/requirement": {
          "source_sha256": "81a2e41ea003a42021cc870d56f005fba8dfb157161b0b08ed187f9131905768",
          "translation": "Каждый живой sampler и uniform block должен объявлять явный binding. Номера binding-ов должны быть уникальны внутри каждой стадии шейдера и класса ресурсов."
        },
        "/resources/@id=effect-format.resource.general-buffers/name": {
          "source_sha256": "6fd8f1065e38e89680864605c9d1850ca52a2d1ffd5943ff143df8349d4aae7b",
          "translation": "Общие uniform buffer-ы"
        },
        "/resources/@id=effect-format.resource.general-buffers/rationale": {
          "source_sha256": "05cd4b9b3c30017858d8c5f24f8cc64f81758a345fe15e230573e77371ed5a21",
          "translation": "EffectBaker проверяет отражённые размеры байтов относительно buffer-структур RenderEffect."
        },
        "/resources/@id=effect-format.resource.general-buffers/requirement": {
          "source_sha256": "c4b304f3cd910b6971878d92ce109487bd865c66b99662af302c2a41017e2f19",
          "translation": "Распознаются ProjBuf, MainTexBuf, EggBuf, SpriteBorderBuf, ParticleSamplingBuf, TimeBuf, RandomValueBuf, ScriptValueBuf и CameraBuf. ParticleSamplingBuf задаётся вызывающим кодом для каждого вызова отрисовки и управляет выборкой текстур частиц и искажением. Объявления должны точно соответствовать нативным std140-совместимым layout-ам."
        },
        "/resources/@id=effect-format.resource.model-buffers/name": {
          "source_sha256": "1ee10d17bd4c63d0f9b309691ea6f58adbb99927621dc5dd859419c6a4253762",
          "translation": "3D uniform buffer-ы"
        },
        "/resources/@id=effect-format.resource.model-buffers/rationale": {
          "source_sha256": "a844160d0d636d2242a448c9b9ca319c5920df6c5d959f5d5c7329eae28f990c",
          "translation": "Эти layout-ы передают skinning, освещение, данные текстурного атласа и тайминги анимации модельным эффектам."
        },
        "/resources/@id=effect-format.resource.model-buffers/requirement": {
          "source_sha256": "fddf9424cce0a3632633da2e41738b2fae8704b216359e8955e32e191666c770",
          "translation": "Распознаются модельные buffer-ы ModelBuf, ModelTexBuf и ModelAnimBuf; MAX_BONES и MAX_TEXTURES предоставляет пролог baker-а."
        },
        "/resources/@id=effect-format.resource.native-descriptor-sets/name": {
          "source_sha256": "861ad13794f0d4004ba0b9fec02d1fc46f1e9a74f0bebed94cf66dcd44c2c26f",
          "translation": "Нативное соглашение дескрипторов Vulkan"
        },
        "/resources/@id=effect-format.resource.native-descriptor-sets/rationale": {
          "source_sha256": "3fc5cc51cafd73d140d7c7acf68af7e81ff24325fded8a252dd6381ac23c1758",
          "translation": "Rendering-Vulkan использует нативный SPIR-V без изменений; он же служит источником кросс-компиляции в GLSL, GLSL ES и HLSL."
        },
        "/resources/@id=effect-format.resource.native-descriptor-sets/requirement": {
          "source_sha256": "8eb9ac796962e9c3c61405dee5424700971d812dcd21145254de4a7dc2c8e639",
          "translation": "Авторские нативные ресурсы шейдеров должны размещать uniform buffer-ы в descriptor set 0, а combined image sampler-ы в descriptor set 1."
        },
        "/resources/@id=effect-format.resource.samplers/name": {
          "source_sha256": "abff2c2d9cc74b30ceeeb354c4a6e17d94f3de6919d3326b9990ee7a152fd1aa",
          "translation": "Sampler-ы рендерера"
        },
        "/resources/@id=effect-format.resource.samplers/rationale": {
          "source_sha256": "0a4dde7213dc947d753035fc38baf4c3990ab7c1674ad645e9d414b573675a8d",
          "translation": "Шейдер с другим именем sampler-а может скомпилироваться, но не получит текстурную привязку от Engine."
        },
        "/resources/@id=effect-format.resource.samplers/requirement": {
          "source_sha256": "e3f54674334bbe060c449c524d54c3f38939130a098ab7f1f2ea9cd2ad346855",
          "translation": "Runtime предоставляет MainTex, IndoorMaskTex и BackgroundTex, а в 3D-сборках также ModelTex0..ModelTexN-1. BackgroundTex является переданным вызывающим кодом снимком сцены для рефракции. Другие отражённые имена sampler-ов RenderEffect не заполняет."
        },
        "/resources/@id=effect-format.resource.script-values/name": {
          "source_sha256": "8a99f3fe1eb75b544f5ce62caea85f4077cd89c3c3a528c1e64ef823ccc6c805",
          "translation": "ScriptValueBuf",
          "preserve_source": true
        },
        "/resources/@id=effect-format.resource.script-values/rationale": {
          "source_sha256": "94c9e9c9f22f91940e56bcc17c1de4ef666143e8ef84edd70d1e0c6f59dfb13e",
          "translation": "Baker предоставляет MAX_SCRIPT_VALUES, а клиентский API записывает диапазоны float в тот же нативный buffer."
        },
        "/resources/@id=effect-format.resource.script-values/requirement": {
          "source_sha256": "9af4298c93a4e66f734630e1cc97144c6c3b329043e7cf8b933e1d2f874cd804",
          "translation": "Внутри ScriptValueBuf объявите 'vec4 ScriptValue[MAX_SCRIPT_VALUES / 4]'. Плоский диапазон индексов для скриптов равен 0..EFFECT_SCRIPT_VALUES-1."
        },
        "/resources/@id=effect-format.resource.sdl-limits/name": {
          "source_sha256": "0d5a3b1199e8b6569999dc21aacb386406fb0a517d54e7fca74b65b425f4d359",
          "translation": "Ограничения SDL_GPU на стадию"
        },
        "/resources/@id=effect-format.resource.sdl-limits/rationale": {
          "source_sha256": "52d1914980fd7db9886dd3012668003a01e057941d0c7ffc306ec4ce16e3fd39",
          "translation": "SDL_CreateGPUShader требует количества для каждой стадии, а соглашение backend-а о дескрипторах отличается от нативного Vulkan."
        },
        "/resources/@id=effect-format.resource.sdl-limits/requirement": {
          "source_sha256": "9743830a6037d576f99fcc2b94501aa10e5777af5195dcde6c109d26eac37ec3",
          "translation": "Каждая стадия шейдера может использовать не более 16 sampler-ов и 4 uniform buffer-ов. Слоты уплотняются независимо для sampler-ов вершинной стадии, vertex UBO, sampler-ов фрагментной стадии и fragment UBO."
        },
        "/resources/@id=effect-format.resource.time-random/name": {
          "source_sha256": "21963f068d5a7e78c1026a498bfcdd974a260f000366b1eec4f4a0b6c98ec2dd",
          "translation": "Buffer-ы кадра"
        },
        "/resources/@id=effect-format.resource.time-random/rationale": {
          "source_sha256": "db5541bef178d37505c497f618ee1c07fa5ebcf05262f230750f9d3e18dbe98d",
          "translation": "Эти buffer-ы обновляются для каждого загруженного эффекта только тогда, когда reflection сообщает, что они ему нужны."
        },
        "/resources/@id=effect-format.resource.time-random/requirement": {
          "source_sha256": "386c991de17c1482b2deecf6ba33b51d02716218a99199739b3292a25b4585f2",
          "translation": "TimeBuf предоставляет FrameTime.x и GameTime.x как секунды от начала сессии с оборачиванием на 8192; RandomValueBuf предоставляет четыре независимых значения [0,1], обновляемых каждый кадр."
        },
        "/resources/@id=effect-format.resource.unsupported/name": {
          "source_sha256": "ca99def1bd137aee120a336ef23ec7bacf44c5925878f181a09a36d0596da2df",
          "translation": "Неподдерживаемые ресурсы шейдера"
        },
        "/resources/@id=effect-format.resource.unsupported/rationale": {
          "source_sha256": "d0079b1fb057381394c8181182204b84c8df1c27291968030347d10dc9995c79",
          "translation": "Рендерер привязывает только фиксированный словарь buffer-ов и sampled textures."
        },
        "/resources/@id=effect-format.resource.unsupported/requirement": {
          "source_sha256": "09722e0a3e2226bc5903caeecc48cad2320fa4dd72d79d259db1fdd6cd55964b",
          "translation": "Неизвестные uniform block-и, storage buffer-ы и storage image отклоняются. Объявленные, но неиспользуемые descriptor resource отклоняются при патчинге SDL SPIR-V."
        },
        "/resources/@id=effect-format.resource.vertex-2d/name": {
          "source_sha256": "106c1a27c9e36df51af43465f0187041573b550156b9ee971aceef0aa5518819",
          "translation": "Входной формат Vertex2D"
        },
        "/resources/@id=effect-format.resource.vertex-2d/rationale": {
          "source_sha256": "a790792326da34f14ebc2279de23944f20b6a24e34cf17553adf9d0a813fc55c",
          "translation": "Не-модельные usage совместно используют одну нативную вершинную структуру, даже если шейдер игнорирует часть входов."
        },
        "/resources/@id=effect-format.resource.vertex-2d/requirement": {
          "source_sha256": "f36efd8026e883223150a694cefa0f5a49984064e2d831df25e95c1e7bdcffd2",
          "translation": "Эффекты ImGui, QuadSprite и Primitive получают из Vertex2D locations 0..3: позицию vec3, нормализованный цвет, текстурные координаты vec2 и egg/вспомогательные данные vec2."
        },
        "/resources/@id=effect-format.resource.vertex-model/name": {
          "source_sha256": "cf72680d0e196304cae0822e060b04dad03b5854b08dbe213c07e62c17327d1a",
          "translation": "Входной формат Vertex3D"
        },
        "/resources/@id=effect-format.resource.vertex-model/rationale": {
          "source_sha256": "968fb1334e4ebbf34de98cb8ed62b6ceea899160b79ab6dbabdfa8ba13fc06f2",
          "translation": "Все модельные шейдеры должны соответствовать фиксированному формату Vertex3D, настроенному каждым активным backend-ом."
        },
        "/resources/@id=effect-format.resource.vertex-model/requirement": {
          "source_sha256": "c05edc4ab7fd03740c3fdd9160261e8d9803ebe5b2d0134ad1f00d5d56fcd8cf",
          "translation": "Эффекты Model получают locations 0..8: позицию, нормаль, основной UV, базовый UV, tangent, bitangent, веса смешивания, индексы смешивания и цвет."
        },
        "/runtime_rules/@id=effect-format.runtime.cache-key/name": {
          "source_sha256": "11ae1df22a35b5022438f06aa00190f43b8efc4c31640048815b9ad6fbff67b5",
          "translation": "Кеш эффекта только по пути"
        },
        "/runtime_rules/@id=effect-format.runtime.cache-key/rationale": {
          "source_sha256": "ee23faa8a54cb12b5abd4abd6b9ce0e7367b5d34cb1ff2490c936323ef4d8876",
          "translation": "ScriptValueBuf и необязательные buffer-ы кадра принадлежат кешированному объекту, а не слоту эффекта."
        },
        "/runtime_rules/@id=effect-format.runtime.cache-key/requirement": {
          "source_sha256": "85fea548f1f233dbf9c422b4b0b32328b002bba603076c1531cc7d7714fbc1b9",
          "translation": "EffectManager кеширует один изменяемый объект RenderEffect для каждого пути ресурса. Повторная загрузка того же пути возвращает существующий объект."
        },
        "/runtime_rules/@id=effect-format.runtime.default-selection/name": {
          "source_sha256": "24480bf0b62d8a83b8215ff0f9fc247605a9c06f484047d534eb97fdf16c5625",
          "translation": "Разрешение эффекта по умолчанию"
        },
        "/runtime_rules/@id=effect-format.runtime.default-selection/rationale": {
          "source_sha256": "6e93c3448d941f8ce25451bf51ca779d987871ce7a14a371aa7bb9abfec55813",
          "translation": "Проекты могут временно переопределить слот и восстановить значение Engine/проекта по умолчанию, не указывая его путь."
        },
        "/runtime_rules/@id=effect-format.runtime.default-selection/requirement": {
          "source_sha256": "e3c1f2f25baad5e823eccd61f72053285c592720830f5297fbcda76f37816dc2",
          "translation": "Пустой путь SetEffect возвращает эффект слота по умолчанию; непустой путь загружается с EffectUsage эффекта по умолчанию."
        },
        "/runtime_rules/@id=effect-format.runtime.first-usage/name": {
          "source_sha256": "d5267f3121801379c68c4ebead6ff56f445a93ece7adc6fe1e33ed57f9ccc70a",
          "translation": "EffectUsage первой загрузки"
        },
        "/runtime_rules/@id=effect-format.runtime.first-usage/rationale": {
          "source_sha256": "76de88676ea7f160f7fd2b775939389ed54ad5990d39cedcdcefe64c4092ee4c",
          "translation": "Ключ кеша не включает EffectUsage, поэтому последующие загрузки возвращают первый объект без перестройки его вершинного layout или допущений pipeline."
        },
        "/runtime_rules/@id=effect-format.runtime.first-usage/requirement": {
          "source_sha256": "a7df8930cf8939b93c0b3923b4fea48f2972d9cc7c2143c98f8862bd666c5c53",
          "translation": "Первая загрузка пути фиксирует EffectUsage объекта RenderEffect. Не используйте один путь для несовместимых категорий ImGui, QuadSprite, Primitive или Model."
        },
        "/runtime_rules/@id=effect-format.runtime.per-frame-update/name": {
          "source_sha256": "6e9fa713e2601a2820df3a6b8f9311171e5040f95a29f9843a37ed3b69044585",
          "translation": "Обновления buffer-ов кадра"
        },
        "/runtime_rules/@id=effect-format.runtime.per-frame-update/rationale": {
          "source_sha256": "6b6eb0e1a6245f0e564b59553110849c00d2796c1db1857304c95ca696bf0830",
          "translation": "Объявление встроенного buffer-а подключает эффект к его producer-у Engine."
        },
        "/runtime_rules/@id=effect-format.runtime.per-frame-update/requirement": {
          "source_sha256": "fc53690bd42e47f1fa824f17d02929bde124c704ab74a54e32d1aa007d8cf266",
          "translation": "Каждый загруженный эффект посещается в каждом кадре; TimeBuf и RandomValueBuf создаются/обновляются только тогда, когда reflection помечает их необходимыми."
        },
        "/runtime_rules/@id=effect-format.runtime.script-value-lifetime/name": {
          "source_sha256": "3e81e2657684d717a7097bf21b3d54ba27846a5afa1e45cddccc216b67ce0e80",
          "translation": "Сохранение ScriptValue"
        },
        "/runtime_rules/@id=effect-format.runtime.script-value-lifetime/rationale": {
          "source_sha256": "184c3eb8f8b83d7f58c4e5c5fcf6b4a37229ee0935a72c259cc75c177fd804ce",
          "translation": "Переход на другой путь выбирает buffer другого объекта, а возврат к ранее загруженному пути восстанавливает прежние значения этого объекта."
        },
        "/runtime_rules/@id=effect-format.runtime.script-value-lifetime/requirement": {
          "source_sha256": "360865d07fe1df0bd806e538a61ad808a8e3902d3888304a04785ff66c3460a8",
          "translation": "При первой загрузке эффект, объявляющий ScriptValueBuf, получает обнулённый buffer. Значения сохраняются у кешированного пути до перезаписи или явной очистки; SetEffect их не очищает."
        },
        "/runtime_rules/@id=effect-format.runtime.script-value-target/name": {
          "source_sha256": "7a3b67d35868d2db0ba68a5bd976bb9ee99ba4a957c08d6a8c989161ca73fdfd",
          "translation": "Разрешение цели script value"
        },
        "/runtime_rules/@id=effect-format.runtime.script-value-target/rationale": {
          "source_sha256": "217c8bc2e1d1c8dad412d8875a7a7955e68cf7d51e6283fef59b9b5bbcd145d2",
          "translation": "Запись слота в passthrough/эффект по умолчанию без ScriptValueBuf является скриптовой ошибкой."
        },
        "/runtime_rules/@id=effect-format.runtime.script-value-target/requirement": {
          "source_sha256": "6857cc525647718a9bdd54d1bffe6a21f2e3425065ea6d49ba5d1ab1b44073a1",
          "translation": "Скриптовая запись разрешает выбранный сейчас эффект для одного EffectType/subtype, требует его загрузки и объявления ScriptValueBuf."
        },
        "/runtime_rules/@id=effect-format.runtime.state-and-metadata/name": {
          "source_sha256": "ad4da8afe7e62dfd0df49fca207bc333989df0b07f596cd0695a505dcc43d50c",
          "translation": "Пара runtime-артефактов"
        },
        "/runtime_rules/@id=effect-format.runtime.state-and-metadata/rationale": {
          "source_sha256": "881a808fbdaf7548bb6e22a697f34b429dcee557f24b5b67186f781a6b5e9159",
          "translation": "Изменение только бинарного файла шейдера не может изменить число проходов или состояние смешивания/глубины."
        },
        "/runtime_rules/@id=effect-format.runtime.state-and-metadata/requirement": {
          "source_sha256": "e01d7043f12ca74268e78b8cb9266953d95a95fc7d959672efe3e2910461e464",
          "translation": "RenderEffect загружает запечённый исходник .fofx для состояния проходов/рендеринга и один артефакт .fofx-N-info на проход для отражённых позиций ресурсов."
        },
        "/scope/excluded": {
          "source_sha256": "e22a5d3cdeb8a91c8e8108d4a6fe233ffc2a3bbb99f9233e03d5131f99672b19",
          "translation": [
            "проектные каталоги эффектов, художественные правила шейдеров, уровни качества и конкретная политика перекрытия ресурсов",
            "определяемые проектом индексы, диапазоны, владельцы, значения по умолчанию и игровая семантика ScriptValue",
            "общий справочник языка GLSL, оптимизация производительности GPU и отладка шейдеров конкретных производителей",
            "авторинг систем частиц, форматы изображений, запекание спрайтов, грамматика описаний моделей и компоновка GUI"
          ]
        },
        "/scope/included": {
          "source_sha256": "6071a8b5faf67dceb0f109037730c91e369cf974bd3b9135c7844578df86067f",
          "translation": [
            "секции конфигурации .fofx, fallback стадий шейдера, объявления проходов, состояние рендеринга, необязательные варианты глубины/culling для отдельных вызовов отрисовки и пролог компилятора шейдеров",
            "форматы входных вершин, распознаваемые sampler-ы, встроенные uniform buffer-ы, соглашения о дескрипторах, reflection и ограничения backend-ов",
            "запечённые артефакты каждого прохода для Vulkan, SDL_GPU, OpenGL, OpenGL ES, Direct3D и Metal",
            "runtime-загрузка, идентичность кеша по пути, выбор EffectUsage, сохранение script value, скриптовые методы и проверка"
          ]
        },
        "/scope/support_note": {
          "source_sha256": "76249e9f46587f5fbb840821005c1534381ec026fc59fb319800017aef148bdc",
          "translation": "Контракт генерируется для закреплённой ревизии Engine. Проекты владеют каталогами эффектов, визуальной политикой, профилями качества, конкретными путями переопределений и значениями слотов ScriptValue."
        },
        "/script_methods/@id=effect-format.script.clear-values/behavior": {
          "source_sha256": "79f7cc5cdb487fd8880fb00c1e9d78e823ad48997e38903bed362405c08bdaec",
          "translation": "Обнуляет весь ScriptValueBuf выбранного кешированного объекта эффекта."
        },
        "/script_methods/@id=effect-format.script.clear-values/rationale": {
          "source_sha256": "6845a29418d60501d9e45942c78384ea21c03c38a0b358f518ebde250976b875",
          "translation": "Очистка выполняется явно, потому что SetEffect не сбрасывает кешированные значения."
        },
        "/script_methods/@id=effect-format.script.clear-values/requirement": {
          "source_sha256": "c66b5b3a7098d00a88dace0ec15d57f1d1dbffd1303b3217035fb665936a2771",
          "translation": "Выбранный эффект должен быть загружен и объявлять ScriptValueBuf."
        },
        "/script_methods/@id=effect-format.script.set-effect/behavior": {
          "source_sha256": "df4ed7274e7474fb574ec2a7f26ca592cffa2ad5c0286a7b84d5f7e73c753003",
          "translation": "Выбирает путь для запрошенного слота эффекта или восстанавливает значение по умолчанию при пустом effectPath."
        },
        "/script_methods/@id=effect-format.script.set-effect/rationale": {
          "source_sha256": "d859ea728273f3ca63cdbbb9f2cbd88c2978b760d4d307a9555dda54b5997d26",
          "translation": "Выбор эффекта является состоянием клиентского рендерера и не входит в серверный API."
        },
        "/script_methods/@id=effect-format.script.set-effect/requirement": {
          "source_sha256": "a6816c820b8651fcc98af471d47bb22efaa0e61407807028075a01b63cf6d0e4",
          "translation": "Некорректные subtype и отсутствующие/повреждённые эффекты вызывают исключение. Выбранный путь должен быть совместим с EffectUsage слота."
        },
        "/script_methods/@id=effect-format.script.set-value/behavior": {
          "source_sha256": "ab4a8954736a92439840d4c27ba8a66e4ecda994feb5686d6e4112811087727d",
          "translation": "Записывает один float в ScriptValueBuf выбранного кешированного объекта эффекта."
        },
        "/script_methods/@id=effect-format.script.set-value/rationale": {
          "source_sha256": "19e0b41d1d5dd3b1358cba8bc658569d7f621d071038996883730dbef93f2c2b",
          "translation": "Запись одного значения подходит для нечастой настройки скалярных параметров."
        },
        "/script_methods/@id=effect-format.script.set-value/requirement": {
          "source_sha256": "96db6b4d3d4557e238c70ee274d7dbfe2fd01668fa8266e2512bd85be7d63fc8",
          "translation": "Индекс должен находиться в диапазоне, а выбранный эффект должен быть загружен и объявлять ScriptValueBuf."
        },
        "/script_methods/@id=effect-format.script.set-values/behavior": {
          "source_sha256": "14c44faf986cd4052aa0bc898bff86bf9abad73eff23476f8dc2250cf6d8c263",
          "translation": "Записывает непрерывный срез значений одним нативным вызовом; valuesCount -1 выбирает оставшуюся часть входного диапазона."
        },
        "/script_methods/@id=effect-format.script.set-values/rationale": {
          "source_sha256": "3e9de78e1bd9fcda5cb5b7d9b15552f1ea301d643ab05f416f923e8f1abec627",
          "translation": "Пакетная запись исключает повторные нативные вызовы для совместно обновляемых блоков параметров."
        },
        "/script_methods/@id=effect-format.script.set-values/requirement": {
          "source_sha256": "fade9e77b75e739c9d8a2f47d5ff186333e0b15ebc1c11cab8a3e82127f5087e",
          "translation": "Входные offset/count и целевой диапазон проверяются до разрешения и записи эффекта."
        },
        "/sections/@id=effect-format.section.effect/name": {
          "source_sha256": "fa6c4d7fab7f0288a85b7f14415ee0fb8cd73d81c6a93b6773d1434289240bf5",
          "translation": "[Effect]",
          "preserve_source": true
        },
        "/sections/@id=effect-format.section.effect/rationale": {
          "source_sha256": "92ae25cb7e862a91c1c0b4c44a1d98af101d579ec7ac802ab5389c4dd283b8b7",
          "translation": "И baker, и runtime-загрузчик отклоняют исходный файл без этой секции."
        },
        "/sections/@id=effect-format.section.effect/requirement": {
          "source_sha256": "804da268c7bfd904faa00023a3ee4e37ce952c022e29373adb70a150567bc1e3",
          "translation": "Каждый исходный файл .fofx должен содержать секцию Effect. В ней хранятся число проходов, версия шейдера, выбор теневого прохода и состояние рендеринга по умолчанию или для отдельных проходов."
        },
        "/sections/@id=effect-format.section.fragment/name": {
          "source_sha256": "1cc252bb4f54e2eceab8629b96040b7a1184d68e3445e22a2c46b90427f7f2b1",
          "translation": "[FragmentShader] and [FragmentShader PassN]",
          "preserve_source": true
        },
        "/sections/@id=effect-format.section.fragment/rationale": {
          "source_sha256": "0a5a69a5b288a85703857260ed593b84ad68ee6d8eb4e7247bdd842271cbfddd",
          "translation": "Многопроходные эффекты часто совместно используют обработку геометрии и различаются только фрагментной стадией."
        },
        "/sections/@id=effect-format.section.fragment/requirement": {
          "source_sha256": "61777bbb7310929d9854494c95396d39f1dd9573e4a8baa5a48a74efc2899a98",
          "translation": "Для каждого объявленного прохода нужен непустой текст фрагментного шейдера. Baker сначала читает FragmentShader PassN, а при пустой секции прохода использует общую секцию FragmentShader."
        },
        "/sections/@id=effect-format.section.shader-common/name": {
          "source_sha256": "4f2ddf262e542dcecd58060081b7fdef10a1723d8b588387d79ea5eb8016a9a1",
          "translation": "[ShaderCommon]",
          "preserve_source": true
        },
        "/sections/@id=effect-format.section.shader-common/rationale": {
          "source_sha256": "4c311fdb7cf19418d5274eb643704640aa0a4f68474ed2f9d95d87cf21fbaa5f",
          "translation": "Это единственный блок повторного использования на уровне формата; parser .fofx не поддерживает директиву include."
        },
        "/sections/@id=effect-format.section.shader-common/requirement": {
          "source_sha256": "773abb118ae5fd7c177c932edf1ee80b80dfae91653e89324f5ce14676f6da91",
          "translation": "ShaderCommon содержит необязательный исходный текст шейдера, добавляемый после пролога Engine перед обеими стадиями каждого прохода."
        },
        "/sections/@id=effect-format.section.vertex/name": {
          "source_sha256": "7e42b10240c6b35cfb7c309a7b8cbec1cb5ced160375107d38342172edf27815",
          "translation": "[VertexShader] and [VertexShader PassN]",
          "preserve_source": true
        },
        "/sections/@id=effect-format.section.vertex/rationale": {
          "source_sha256": "c8c8d970dbec6ba60aba032d896ddea3bb37dec7ce1060e6ac69a028b00e2991",
          "translation": "Общая вершинная стадия может обслуживать все проходы, а выбранные проходы могут её переопределять."
        },
        "/sections/@id=effect-format.section.vertex/requirement": {
          "source_sha256": "f408774c96a0e7d04caa47d835c823be932110a4f95f723f69fd10947f1e3188",
          "translation": "Для каждого объявленного прохода нужен непустой текст вершинного шейдера. Baker сначала читает VertexShader PassN, а при пустой секции прохода использует общую секцию VertexShader."
        },
        "/validation_rules/@id=effect-format.validation.bindings/name": {
          "source_sha256": "8d0316ac7acd705e6117b249495c0085910502a5e9509fd32bd8b5325a343a42",
          "translation": "Привязки дескрипторов"
        },
        "/validation_rules/@id=effect-format.validation.bindings/rationale": {
          "source_sha256": "2c4790db1d0498093f10f7b1212e9fa7fc7a00d05818b52a0886c92f933bf90c",
          "translation": "Плотное переназначение слотов SDL должно быть полным и детерминированным."
        },
        "/validation_rules/@id=effect-format.validation.bindings/requirement": {
          "source_sha256": "14baf4cd3b08ab2360a3424bcd7b3308e72023fc8fe9f9c5387f88c896b6c735",
          "translation": "Отклоняйте отсутствующие явные binding-и, повторяющиеся binding-и одной стадии, мёртвые объявления descriptor-ов и превышение лимита стадии SDL_GPU."
        },
        "/validation_rules/@id=effect-format.validation.buffer-layout/name": {
          "source_sha256": "3d5f66f12ed83dfde49a03e4fa90d0b0a76a251ac71540df1a0b39fb80b812d0",
          "translation": "Layout uniform buffer-а"
        },
        "/validation_rules/@id=effect-format.validation.buffer-layout/rationale": {
          "source_sha256": "ed9bb59dffaa77b96f56576758f882ebe66780250e52693a60d0158938be398f",
          "translation": "Все backend-ы загружают фиксированные нативные структуры без адаптации layout под отдельный шейдер."
        },
        "/validation_rules/@id=effect-format.validation.buffer-layout/requirement": {
          "source_sha256": "803fdd11110254aaec311f524fad4db4315cfd0e94a40317fd79730913fbb54d",
          "translation": "Отклоняйте известные uniform buffer-ы, отражённый размер которых отличается от соответствующей структуры RenderEffect, и любой неизвестный uniform block."
        },
        "/validation_rules/@id=effect-format.validation.compiler-diagnostics/name": {
          "source_sha256": "674e9062fcf2ef0ea0e6f76548a55196d4ace43e25153a298f26717c24c024fd",
          "translation": "Диагностика компилятора"
        },
        "/validation_rules/@id=effect-format.validation.compiler-diagnostics/rationale": {
          "source_sha256": "210d9536984e605bb2b2a30d34a848c97650f80f09a32ee345d256a9c5e759dd",
          "translation": "Логи сборки остаются машиночитаемыми и сохраняют сообщение компилятора шейдера."
        },
        "/validation_rules/@id=effect-format.validation.compiler-diagnostics/requirement": {
          "source_sha256": "036e6eaeebd762eb78d2a20802e26ba33651704bf86c8afd97f1299ec700233d",
          "translation": "Ошибки разбора, связывания или reflection шейдера останавливают запекание эффекта и нормализуют диагностику компилятора до одной строки лога."
        },
        "/validation_rules/@id=effect-format.validation.cross-backend/name": {
          "source_sha256": "cda8ea6d2665b006a3be20d1b837c001857927bcf72d437e55a49bf596edba73",
          "translation": "Видимая кросс-backend проверка"
        },
        "/validation_rules/@id=effect-format.validation.cross-backend/rationale": {
          "source_sha256": "c8b9e629224fa2654c71c66e7c4d4165798c775fd782a56103625da4f2f6bc81",
          "translation": "Кросс-компиляция не доказывает поведение драйвера, поддержку feature level, визуальный результат или производительность."
        },
        "/validation_rules/@id=effect-format.validation.cross-backend/requirement": {
          "source_sha256": "1a354705c27ccdf8ebc81d8a89482b0e37949840f8419c12bcbc804aacdad18f",
          "translation": "Проверяйте проектные эффекты на каждом профиле рендерера/backend-а, поставляемом проектом, включая сцены, чувствительные к depth/blend, и минимальный поддерживаемый профиль шейдера."
        },
        "/validation_rules/@id=effect-format.validation.metadata-bindings/name": {
          "source_sha256": "78fec614c97379dc40cf11848a32e8e8aa63471ed5aad5ab2927414172c388f1",
          "translation": "Метаданные reflection"
        },
        "/validation_rules/@id=effect-format.validation.metadata-bindings/rationale": {
          "source_sha256": "04fc14509b6e3f034bf7b5794b24956721a9f5fd5333f26bbf0841d433ce7630",
          "translation": "Backend-ы зависят от идентичности метаданных даже при успешной компиляции самого шейдера."
        },
        "/validation_rules/@id=effect-format.validation.metadata-bindings/requirement": {
          "source_sha256": "26bb39873fb8662623b6758a55f5ea58a1b509a90e57f2a4536b9c6722a5fe90",
          "translation": "Проверяйте значения нативных binding-ов [EffectInfo] и числа/слоты SDL [EffectInfoSdl] на репрезентативных эффектах."
        },
        "/validation_rules/@id=effect-format.validation.output-flavors/name": {
          "source_sha256": "d3782bd291b232820d7dddb46b2a4b10a56e9ed3e289622337542d1ee3583b3f",
          "translation": "Полнота запечённых вариантов"
        },
        "/validation_rules/@id=effect-format.validation.output-flavors/rationale": {
          "source_sha256": "42b5be26a1c2722933fe40e1c79055b7c52d2026c3c1b1c46e6be135df78298a",
          "translation": "Ресурс может пройти один backend и остаться неполным для другого пакета."
        },
        "/validation_rules/@id=effect-format.validation.output-flavors/requirement": {
          "source_sha256": "f4c2ee516d0cbd7544022660152674dec4e4d7fe8dddb202cbb20bcc30f1c31e",
          "translation": "Проверяйте исходник, метаданные, нативный SPIR-V, SDL SPIR-V, GLSL, GLSL ES, HLSL и оба выхода MSL для каждой стадии/прохода."
        },
        "/validation_rules/@id=effect-format.validation.project-ownership/name": {
          "source_sha256": "d52090d2a9280f2b2f57fe8b6fc0c34ba2210417d1c7189bc005a72197ae0f70",
          "translation": "Проверка проектного контракта"
        },
        "/validation_rules/@id=effect-format.validation.project-ownership/rationale": {
          "source_sha256": "314c2c74c4dda49482d8d9c7c6f2fbedf895332696c7f7b9e198d873df15ad7f",
          "translation": "Engine может проверить механику формата, но не способен вывести проектную семантику шейдеров или художественный замысел."
        },
        "/validation_rules/@id=effect-format.validation.project-ownership/requirement": {
          "source_sha256": "dc00b34fd83ea6e498130a897bd57b6e1f283088a70f715b796417719805d875",
          "translation": "Подключаемый проект должен проверять каждый путь эффекта, назначение EffectType/subtype, реестр слотов ScriptValue, writer buffer-а, переопределение resource pack и видимый fallback, которыми он владеет."
        },
        "/validation_rules/@id=effect-format.validation.required-sections/name": {
          "source_sha256": "8fd5c10fc134422cd4a7ae52734013a5f296f37b9d2f802082b0c1cf14a96d42",
          "translation": "Обязательное содержимое исходника"
        },
        "/validation_rules/@id=effect-format.validation.required-sections/rationale": {
          "source_sha256": "b2d8175b9566c2bdb5ab065af96de05bb7b8481df98391abdd1c2985f075fdc3",
          "translation": "Частичный исходник не может создать полную связанную программу или runtime-состояние."
        },
        "/validation_rules/@id=effect-format.validation.required-sections/requirement": {
          "source_sha256": "28f0e884e7bf31b5dab190c66caf15ad46fd3705ff98baf287b870745d77e083",
          "translation": "Отклоняйте отсутствующую секцию Effect или проход без пригодного вершинного либо фрагментного текста."
        }
      }
    },
    "font-format": {
      "entries": {
        "/binding_rules/@id=font-format.binding.bind-time-scale/name": {
          "source_sha256": "1f5094833fd46338b8988f4b50d204a697cdc2971dfdf26211f98b2adbc31306",
          "translation": "Уменьшение при привязке"
        },
        "/binding_rules/@id=font-format.binding.bind-time-scale/rationale": {
          "source_sha256": "4075a124a417eb0aff953dee6adea8a70e94c3cd763be4471e351f5c1a14ae54",
          "translation": "При привязке пиксели усредняются по площади, а метрики округляются один раз; значения выше единицы, неположительные и неконечные отклоняются."
        },
        "/binding_rules/@id=font-format.binding.bind-time-scale/requirement": {
          "source_sha256": "d20eb70ce7e48218db9b1449f85f30b593328ce8544717d575c75089d86396ab",
          "translation": "Передавайте конечный defaultScale в (0, 1]; используйте больший исходный растр и уменьшайте его вместо runtime-увеличения."
        },
        "/binding_rules/@id=font-format.binding.extension-dispatch/name": {
          "source_sha256": "a981cceb6bc578716cc367f0ec857fc0f44323489a4547589b91785c5cdae160",
          "translation": "Точная диспетчеризация расширения"
        },
        "/binding_rules/@id=font-format.binding.extension-dispatch/rationale": {
          "source_sha256": "42b2ab8d982eb35dfa5a7e56ed3cb67ca428db89f71e36da1315c6d9d24e3002",
          "translation": "Диспетчеризация использует регистрозависимые проверки ends_with и не определяет формат по содержимому."
        },
        "/binding_rules/@id=font-format.binding.extension-dispatch/requirement": {
          "source_sha256": "672a815324ec31cd5c241b7e53eacd05ad6519d240d35eb0a2b9e8d28660c3f4",
          "translation": "Вызывайте Game.BindFont с точным путём в нижнем регистре с суффиксом .fofnt или .fnt; любой другой суффикс создаёт скриптовое исключение."
        },
        "/binding_rules/@id=font-format.binding.font-slots/name": {
          "source_sha256": "41b5f068872c3aba76d415681cdec868d56dfa73149c48d81703505ce495d7cf",
          "translation": "Расширяемые проектом слоты"
        },
        "/binding_rules/@id=font-format.binding.font-slots/rationale": {
          "source_sha256": "700adba7dcb2b7a97aed82f6429d9c9c4f4fd4f571e291656ff5e4e69ae756e3",
          "translation": "FontType является индексированной таблицей загруженных шрифтов; незагруженные и выходящие за границы слоты создают исключение."
        },
        "/binding_rules/@id=font-format.binding.font-slots/requirement": {
          "source_sha256": "a5a0e45d49e79e0ab14e0fb574fe5f7e87a7240a0de1f2b28c5b4ae568edefc2",
          "translation": "Привяжите каждый слот FontType до измерения или отрисовки; Engine называет только Default = 0, а встраивающие скрипты могут расширить enum через аннотации codegen."
        },
        "/binding_rules/@id=font-format.binding.iface-atlas/name": {
          "source_sha256": "812a41c9a80a3f212cbe650af6b200c421077bcc29aa50c3c63838c6c98addf0",
          "translation": "Атлас спрайтов интерфейса"
        },
        "/binding_rules/@id=font-format.binding.iface-atlas/rationale": {
          "source_sha256": "4df500f6cb63a529164c98fb4fd80fd92d715cf174278fc17f6502b322487c0c",
          "translation": "Обе ветви дескрипторов Game.BindFont передают один тип атласа интерфейса."
        },
        "/binding_rules/@id=font-format.binding.iface-atlas/requirement": {
          "source_sha256": "3dc965380aefef54159ede89a899f291ce60cdbda5a469fc14eff8d420e415a5",
          "translation": "Привязанные скриптом шрифты размещают обычные и необязательные обведённые текстуры в AtlasType::IfaceSprites."
        },
        "/binding_rules/@id=font-format.binding.image-resource/name": {
          "source_sha256": "559edea976b5efb53e85d65b486ebf0718007ca0636d40ca945029d081b0fad9",
          "translation": "Отдельно запечённое изображение"
        },
        "/binding_rules/@id=font-format.binding.image-resource/rationale": {
          "source_sha256": "f223e1735f55aae5f18283eca1a4f47b687a9295b247ca6b93923151e27659f7",
          "translation": "Дескриптор копируется raw-copy, а изображение загружается через SpriteManager и обычный конвейер image-format."
        },
        "/binding_rules/@id=font-format.binding.image-resource/requirement": {
          "source_sha256": "df7cea84870a53353570a2072ed5a22bcab46da76649f8bd466392c9083d5798",
          "translation": "Поставляйте связанное изображение как независимо поддерживаемый ресурс в том же пакете и сохраняйте его относительный путь."
        },
        "/binding_rules/@id=font-format.binding.raw-copy/name": {
          "source_sha256": "8dcd1bf00560de4d2729360f2e6a50f3b3cdb8bd12fa2c010b24abd84184e369",
          "translation": "Граница raw-copy для дескриптора"
        },
        "/binding_rules/@id=font-format.binding.raw-copy/rationale": {
          "source_sha256": "ff911c077271cf2ed11de2a795ef9d948c850ceb6aee5e5d49c0d0ffca63d4e6",
          "translation": "Отдельного baker дескрипторов шрифтов нет; RawCopyBaker сохраняет путь и байты."
        },
        "/binding_rules/@id=font-format.binding.raw-copy/requirement": {
          "source_sha256": "92ca8c1d82ebbecdfe75aa6f213e8626c1cbd0965b1a68f9d3a4a47796e03f7b",
          "translation": "Оставьте fofnt и fnt в Baking.RawCopyFileExtensions, чтобы байты дескриптора без изменений попали в запечённые ресурсы."
        },
        "/binding_rules/@id=font-format.binding.rebind/name": {
          "source_sha256": "1137938b999e75dfe47a3052a44745261ecd1ec42395efffed85e33b992dec1e",
          "translation": "Замена слота и сброс кэша"
        },
        "/binding_rules/@id=font-format.binding.rebind/rationale": {
          "source_sha256": "792e3d39d262542763598e1e8ad2761fb6f66159d94140143f3b3cafecc159e3",
          "translation": "StoreFont заменяет необязательную запись таблицы, перестраивает атлас и очищает кэш форматов."
        },
        "/binding_rules/@id=font-format.binding.rebind/requirement": {
          "source_sha256": "bd2d20e7ca05aa9f664e0970f9f1c76e7cd5f97507f08a239f0df4bf11c911d0",
          "translation": "Считайте повторную привязку того же слота заменой; все кэшированные компоновки удаляются до использования перестроенного шрифта."
        },
        "/binding_rules/@id=font-format.binding.updater-default/name": {
          "source_sha256": "23124eb82fb3f77c6395e2cc8b13e655d70667ab43dfce9446c1d895c3d768bb",
          "translation": "Запасной шрифт обновлятора"
        },
        "/binding_rules/@id=font-format.binding.updater-default/rationale": {
          "source_sha256": "3f62671965c85275abded06b157bf154c53b3e83efc1c8ba79aa397725c7da5d",
          "translation": "Обновлятор привязывает слот Default из точного пути и пропускает уже загруженный слот."
        },
        "/binding_rules/@id=font-format.binding.updater-default/requirement": {
          "source_sha256": "c43ed032103137e4d6898a69950e1528a2a93da99781b4b7b95cee35c40c2113",
          "translation": "Сохраняйте Fonts/Default.fofnt доступным для встроенного обновлятора, если хост намеренно не заменяет этот контракт ресурса."
        },
        "/bmfont_rules/@id=font-format.bmfont.binary-v3-signature/name": {
          "source_sha256": "388d324ac16cbff31f2e22064253d9cb8f8f65f2583c17554817f7b6878a810f",
          "translation": "Сигнатура binary v3"
        },
        "/bmfont_rules/@id=font-format.bmfont.binary-v3-signature/rationale": {
          "source_sha256": "afa7bc6a6bbc13f662c4b9b408e126052a7c47eb39968af20c7589f3caa6653f",
          "translation": "Любая другая сигнатура или версия BMFont отклоняется до разбора блоков."
        },
        "/bmfont_rules/@id=font-format.bmfont.binary-v3-signature/requirement": {
          "source_sha256": "e2abbe4ae415a8ed6e47f4a55b5b8919b30b45aa666de377372f36a217a5a5d3",
          "translation": "Первые четыре байта должны быть B, M, F и версией бинарного формата 3."
        },
        "/bmfont_rules/@id=font-format.bmfont.block-order/name": {
          "source_sha256": "228cf5021835c11ec9a55aa82774c3bb7950c1e464baf5af85a1c7c4b4ca9bf7",
          "translation": "Фиксированный порядок блоков"
        },
        "/bmfont_rules/@id=font-format.bmfont.block-order/rationale": {
          "source_sha256": "8189b0969e8648a09d594ba951e713eeb3dd74ea549d223e26cba3b32378ec66",
          "translation": "Парсер продвигается на размер каждого блока и напрямую читает полезную нагрузку следующего; он не ищет блок по типу."
        },
        "/bmfont_rules/@id=font-format.bmfont.block-order/requirement": {
          "source_sha256": "887f4be1b45b7cb391500793c9cdefe91c3e6a28a707d6c9936151606cf625d7",
          "translation": "Экспортируйте Info, Common, Pages и Chars в стандартном бинарном порядке без необязательных блоков между ними."
        },
        "/bmfont_rules/@id=font-format.bmfont.char-records/name": {
          "source_sha256": "cc806b66d32b747d6db51fdca0ca21fb2c7ea40c24a94543d65b781aaf88fb47",
          "translation": "Двадцатибайтные записи символов"
        },
        "/bmfont_rules/@id=font-format.bmfont.char-records/rationale": {
          "source_sha256": "2edb337751f913c7a9343f3324fa85e1906405308b545b235dfb59357044b10f",
          "translation": "В поставляемых шрифтах встречаются отрицательные выносы, поэтому это подтверждённое исходным кодом ограничение должно быть явно указано, а не описано как корректное знаковое декодирование."
        },
        "/bmfont_rules/@id=font-format.bmfont.char-records/requirement": {
          "source_sha256": "54d8b84cbcb72233ba593319c0fce7b075c87d1b96f2e893a7791e4421954b56",
          "translation": "Кодируйте каждую запись Chars в 20-байтной раскладке BMFont v3. Формат определяет xoffset, yoffset и xadvance как знаковые поля, но текущий загрузчик читает все три как беззнаковые little-endian uint16; избегайте отрицательных метрик, пока этот дефект runtime не будет исправлен отдельно."
        },
        "/bmfont_rules/@id=font-format.bmfont.gray-bordered/name": {
          "source_sha256": "0b22e93f033df5beb0ec8ab3edcd3b256b1f90e11fa9afbd681bbeb5943141c3",
          "translation": "Подготовка серого и обводки"
        },
        "/bmfont_rules/@id=font-format.bmfont.gray-bordered/rationale": {
          "source_sha256": "31dec7cbad7d1d8e2c4053ab749eb86048b3451a17b74e26f81400a37620a1c6",
          "translation": "Это обеспечивает runtime-тонирование и FontFlag::Bordered без переключателей в дескрипторе."
        },
        "/bmfont_rules/@id=font-format.bmfont.gray-bordered/requirement": {
          "source_sha256": "0662f58b61df5ef5447d02defbddf4ec8bb84bd71acd9316e4ba0e42605548ca",
          "translation": "Бинарные привязки BMFont всегда нормализуют непрозрачные пиксели в серый и создают вторую копию атласа с обводкой."
        },
        "/bmfont_rules/@id=font-format.bmfont.info-padding/name": {
          "source_sha256": "3376773bd430502b17e8ec2c2ef38b9bb69d9ae95120b4784405eba42c879f53",
          "translation": "Однопиксельный отступ экспортёра"
        },
        "/bmfont_rules/@id=font-format.bmfont.info-padding/rationale": {
          "source_sha256": "5013dee24a4bcc43dcd708b0bd0ff85115f754dd0b959390c3207ee317553f39",
          "translation": "Загрузчик требует четыре байта отступа 0x01010101, затем удаляет по одному пикселю с каждой стороны прямоугольника глифа."
        },
        "/bmfont_rules/@id=font-format.bmfont.info-padding/requirement": {
          "source_sha256": "ece01ae534f9b58692473fdd8997315f172a40ebc6bf29285c0881149b63f0db",
          "translation": "Установите отступы BMFont Info сверху, справа, снизу и слева ровно в один пиксель."
        },
        "/bmfont_rules/@id=font-format.bmfont.line-metrics/name": {
          "source_sha256": "a6b563c286bd26074ea1c59a74722b983f40c60970323ed2878e7dde006ac062",
          "translation": "Производные метрики строки"
        },
        "/bmfont_rules/@id=font-format.bmfont.line-metrics/rationale": {
          "source_sha256": "1ceff2a93d927d65fe39520c92611df28e034c3bf7d34d5b86a45ca0af346fa0",
          "translation": "Поле BMFont Common.lineHeight участвует в преобразовании выноса, но не копируется напрямую в высоту строки Engine."
        },
        "/bmfont_rules/@id=font-format.bmfont.line-metrics/requirement": {
          "source_sha256": "9238dcbe64d9afc440b69eb0390f6790b79d765deb63352b57175a9dfe075a79",
          "translation": "Ожидайте, что Engine LineHeight использует видимую высоту глифа W, когда он есть, иначе Common.base; YAdvance равен половине результата."
        },
        "/bmfont_rules/@id=font-format.bmfont.metric-conversion/name": {
          "source_sha256": "6addb0c2a3a6fb5986e4fabc67ebf54eb18947dee4b17ff96eb3e56a2c7b2f10",
          "translation": "Преобразование метрик Engine"
        },
        "/bmfont_rules/@id=font-format.bmfont.metric-conversion/rationale": {
          "source_sha256": "5fb2688835f6d99996e1bd8310f2b359f93b7b9e01212e84ed6e85528228de31",
          "translation": "Engine выбирает расширенный прямоугольник для сглаживания и необязательной обводки, сохраняя видимые метрики глифа отдельно."
        },
        "/bmfont_rules/@id=font-format.bmfont.metric-conversion/requirement": {
          "source_sha256": "5d762a74c8669e37912d8b51f6c78f7344d94f24916a00e32253ccf328cfa88e",
          "translation": "Оставляйте прозрачный пиксель вокруг каждого глифа; загрузчик сдвигает x/y внутрь, удаляет два пикселя из ширины/высоты, меняет знак выносов и добавляет пиксель к xadvance."
        },
        "/bmfont_rules/@id=font-format.bmfont.relative-page-image/name": {
          "source_sha256": "87adc102b3da9352f3709500e42fdbc8e7a2c814cbe00f5ab1c2c7b037cb0bbb",
          "translation": "Относительное изображение страницы"
        },
        "/bmfont_rules/@id=font-format.bmfont.relative-page-image/rationale": {
          "source_sha256": "76a57150803ff46bb1367ebda7f3a5d3d04b3ba4dc1d7b908cd9bbac1cedddd8",
          "translation": "Полезная нагрузка Pages читается как одна строка и объединяется с каталогом дескриптора до загрузки спрайта."
        },
        "/bmfont_rules/@id=font-format.bmfont.relative-page-image/requirement": {
          "source_sha256": "6c39baa35f763d6e7dcf1ff60dc6b7d8ffe7d2acbfb549bc6be59602a827b58d",
          "translation": "Храните завершённое NUL имя страницы, разрешаемое относительно каталога дескриптора .fnt."
        },
        "/bmfont_rules/@id=font-format.bmfont.single-page/name": {
          "source_sha256": "4a6c2912d3785978dd6665d9a47b9b57921a9679c56d4e85c547c522296725e4",
          "translation": "Одна страница текстуры"
        },
        "/bmfont_rules/@id=font-format.bmfont.single-page/rationale": {
          "source_sha256": "402ae9658bbc85aa903fe16044ac9ceca3e1aa0168f8bd019514e270a228db8c",
          "translation": "Число страниц в Common должно быть равно одному; многостраничные дескрипторы BMFont отклоняются."
        },
        "/bmfont_rules/@id=font-format.bmfont.single-page/requirement": {
          "source_sha256": "f68ef1e2f678a797baf7f9ffcb95fad5efbacfd3bc7aa485aa2eafe31be65b1b",
          "translation": "Экспортируйте ровно одну страницу текстуры."
        },
        "/description": {
          "source_sha256": "0a5ccfa8eb78f3a7b592efbb9a57646622856485fd5f4fee71f81dc7a2c7e5a7",
          "translation": "Основанный на исходном коде контракт форматов ресурсов шрифтов, привязки, метрик, компоновки, отрисовки и проверки клиентского текста FOnline."
        },
        "/fofnt_fields/@id=font-format.fofnt.end-and-comments/name": {
          "source_sha256": "4e59d280b90503f292d4d9927e086a7a40d34461e57ad1f58f9340eee99bc2cd",
          "translation": "End and comments",
          "preserve_source": true
        },
        "/fofnt_fields/@id=font-format.fofnt.end-and-comments/rationale": {
          "source_sha256": "24e4a83dd922b1be87cc1e8a9c5cb93d3e70babae188b84ca9fbed8be62826ef",
          "translation": "End останавливает разбор, а парсер удаляет маркеры комментариев из текущего токена ключа вместо реализации построчной грамматики комментариев."
        },
        "/fofnt_fields/@id=font-format.fofnt.end-and-comments/requirement": {
          "source_sha256": "76957c8619a44b46143aa8d3c2804c99f0851976d38cb02218a99828e25f4a6f",
          "translation": "Завершите полезную часть дескриптора через End; # и ; начинают комментарий только внутри ключа, отделённого пробелами."
        },
        "/fofnt_fields/@id=font-format.fofnt.height/name": {
          "source_sha256": "bfe2eca401797325bc268f93c7397554551de4274d5d73ed421ee36fe9cd3ae0",
          "translation": "Height",
          "preserve_source": true
        },
        "/fofnt_fields/@id=font-format.fofnt.height/rationale": {
          "source_sha256": "aab9b373e663dcba14a37554d7c4dcba5baa1ae43334b9f0bad3ed5db5e44ade",
          "translation": "Отрисовка выбирает Height плюс два пикселя, а максимальная высота может задать отсутствующий LineHeight."
        },
        "/fofnt_fields/@id=font-format.fofnt.height/requirement": {
          "source_sha256": "8d89846af4ba3e95feed9e0030a8bd84e178e50c270b93d239886d4643bde5ba",
          "translation": "Задайте высоту видимого прямоугольника глифа без однопиксельной рамки выборки."
        },
        "/fofnt_fields/@id=font-format.fofnt.image/name": {
          "source_sha256": "1aa4cb0bcca76e92e30677e809bb3d4b5c066715ef4d558184e319496bcc5125",
          "translation": "Image",
          "preserve_source": true
        },
        "/fofnt_fields/@id=font-format.fofnt.image/rationale": {
          "source_sha256": "ecf0e8f842c7b6b7730639120d25a5906fcb058f35b12d37435c5ec98abf4034",
          "translation": "Текущий загрузчик обращается к image_name.back() без проверки на пустоту, поэтому авторская валидация должна требовать это поле до запуска; завершающий маркер удаляется до разрешения относительного ресурса."
        },
        "/fofnt_fields/@id=font-format.fofnt.image/requirement": {
          "source_sha256": "681edfa346c78de64c311caba1d291c31af1faa06db795f3e2edcf647d30f7c8",
          "translation": "Укажите непустой ресурс изображения относительно дескриптора; добавьте * для нормализации серого и runtime-тонирования."
        },
        "/fofnt_fields/@id=font-format.fofnt.letter/name": {
          "source_sha256": "1bf163f269ae847bcc1f7d9fe26c27cbe20e5416ba8d6e6e8347324c428795d2",
          "translation": "Letter",
          "preserve_source": true
        },
        "/fofnt_fields/@id=font-format.fofnt.letter/rationale": {
          "source_sha256": "bf77e1fc37fa33087e3a0b0dd8eb27335efcb18b0c1a3fa096c44b1643692102",
          "translation": "Парсер декодирует ровно одну кодовую точку для выбора записи карты глифов; поздние дубликаты заменяют ранние метрики."
        },
        "/fofnt_fields/@id=font-format.fofnt.letter/requirement": {
          "source_sha256": "3d2d082cd773fed92929bf450eb37d28657041fae2428fc5698e6703801519b8",
          "translation": "Начинайте запись каждого глифа с Letter и одной корректной кодовой точки UTF-8 после первого апострофа."
        },
        "/fofnt_fields/@id=font-format.fofnt.line-height/name": {
          "source_sha256": "a6cbd7ab061ed3101c5e6e57bfa68720de01039b947e1175e5b6630cd98a7a31",
          "translation": "LineHeight",
          "preserve_source": true
        },
        "/fofnt_fields/@id=font-format.fofnt.line-height/rationale": {
          "source_sha256": "8d37dd3a640856302e909e63a94340444f7eb665efa7cb0865a46446d6b35324",
          "translation": "После необязательного масштабирования BuildFont заменяет нулевой LineHeight максимальной высотой глифа."
        },
        "/fofnt_fields/@id=font-format.fofnt.line-height/requirement": {
          "source_sha256": "b3f813bc350524adb8f16a561812b91f33951e30fa8d95036db8808be4ee2e8d",
          "translation": "Задайте высоту строки глифов в пикселях или оставьте ноль/не задавайте, чтобы вывести максимальную высоту авторских глифов."
        },
        "/fofnt_fields/@id=font-format.fofnt.offset-x/name": {
          "source_sha256": "90c34dc86b2e4be21b60e6899ae08595b0d096a69e3b6e463ab47a49ee81bbcb",
          "translation": "OffsetX",
          "preserve_source": true
        },
        "/fofnt_fields/@id=font-format.fofnt.offset-x/rationale": {
          "source_sha256": "292631aedd839704e71574da5dc1c9827376e50bf2c24a37441769352b41116f",
          "translation": "Значение дескриптора хранится без изменений и вычитается при создании вершин глифа."
        },
        "/fofnt_fields/@id=font-format.fofnt.offset-x/requirement": {
          "source_sha256": "2de193b8d8650f1a8a5ddaa7ea4e6f722ead81763458889bdca2b00d83e49d12",
          "translation": "Задайте знаковый горизонтальный вынос в координатах Engine; отрисовка размещает quad в позиции курсора X минус OffsetX."
        },
        "/fofnt_fields/@id=font-format.fofnt.offset-y/name": {
          "source_sha256": "04780034bd7d3a0bbffb52e61cc01fd124edbb1f43d092086923fdebb79b5e64",
          "translation": "OffsetY",
          "preserve_source": true
        },
        "/fofnt_fields/@id=font-format.fofnt.offset-y/rationale": {
          "source_sha256": "292631aedd839704e71574da5dc1c9827376e50bf2c24a37441769352b41116f",
          "translation": "Значение дескриптора хранится без изменений и вычитается при создании вершин глифа."
        },
        "/fofnt_fields/@id=font-format.fofnt.offset-y/requirement": {
          "source_sha256": "99a0547ed402e1579c7378b1dab63fb1cc4034648053791d3fd5dd3925efe63c",
          "translation": "Задайте знаковый вертикальный вынос в координатах Engine; отрисовка размещает quad в позиции курсора Y минус OffsetY."
        },
        "/fofnt_fields/@id=font-format.fofnt.position-x/name": {
          "source_sha256": "5fb879043910349bf64bda5fb748459a2abcbfe1163ec27280baf8e6e114f0bb",
          "translation": "PositionX",
          "preserve_source": true
        },
        "/fofnt_fields/@id=font-format.fofnt.position-x/rationale": {
          "source_sha256": "7ae62cbfe9e14aa975c047b6e8636cd6c86f1a65c2ef66c31cd0c7349f0b57fa",
          "translation": "BuildFont преобразует эту позицию, расширенную на один пиксель отступа, в текстурные координаты."
        },
        "/fofnt_fields/@id=font-format.fofnt.position-x/requirement": {
          "source_sha256": "2e8e0a2f80207a12551113b557758e832ba3599ff0cda8ea3a07c7a3bf25069b",
          "translation": "Задайте левую координату прямоугольника глифа в изображении."
        },
        "/fofnt_fields/@id=font-format.fofnt.position-y/name": {
          "source_sha256": "7dd0605fb089286dbffe7ae7a78ae273c473ff2818e816e3d6e6f0d86ab92f79",
          "translation": "PositionY",
          "preserve_source": true
        },
        "/fofnt_fields/@id=font-format.fofnt.position-y/rationale": {
          "source_sha256": "7ae62cbfe9e14aa975c047b6e8636cd6c86f1a65c2ef66c31cd0c7349f0b57fa",
          "translation": "BuildFont преобразует эту позицию, расширенную на один пиксель отступа, в текстурные координаты."
        },
        "/fofnt_fields/@id=font-format.fofnt.position-y/requirement": {
          "source_sha256": "9b0d757089c1dd81636d06a67fab738ee715d813a27a103e415272f43665a388",
          "translation": "Задайте верхнюю координату прямоугольника глифа в изображении."
        },
        "/fofnt_fields/@id=font-format.fofnt.version/name": {
          "source_sha256": "dd167905de0defcaf72de673ee44c07431770d129ccffab286bd2edfdaf62396",
          "translation": "Version",
          "preserve_source": true
        },
        "/fofnt_fields/@id=font-format.fofnt.version/rationale": {
          "source_sha256": "419105395e79b4c43574bbff9b1ca5fd9d21a4f34fab0e62760ebaf97f20a989",
          "translation": "Парсер требует Version первым ключом и принимает текущую максимальную версию 2."
        },
        "/fofnt_fields/@id=font-format.fofnt.version/requirement": {
          "source_sha256": "0d51e5c8ad80e5eb5ea111f6a1e18c97c80c1c827d63730af8e8b0c786b92387",
          "translation": "Сделайте Version первым разбираемым ключом; для текущих ресурсов задавайте версию 2. Значения больше 2 отклоняются."
        },
        "/fofnt_fields/@id=font-format.fofnt.width/name": {
          "source_sha256": "3019947b6daf18b0534a15d8c7ac30ab587e36cc93fb45a6e7b750348006d620",
          "translation": "Width",
          "preserve_source": true
        },
        "/fofnt_fields/@id=font-format.fofnt.width/rationale": {
          "source_sha256": "f8af9f05c18aaef11b98bb63822d5147d0937b741f35751a3c351e7d0845a435",
          "translation": "Отрисовка выбирает Width плюс два пикселя, а масштабирование при привязке перезаписывает видимый размер."
        },
        "/fofnt_fields/@id=font-format.fofnt.width/requirement": {
          "source_sha256": "d4a6178e356efb9da0e9ebd30c679ec561a72bcddaa1562b6542b5e57982eab5",
          "translation": "Задайте ширину видимого прямоугольника глифа без однопиксельной рамки выборки."
        },
        "/fofnt_fields/@id=font-format.fofnt.x-advance/name": {
          "source_sha256": "0e0118c464db8899b0d227d045fe954c20a4fe0719cb2873aa51e5287c4eb37b",
          "translation": "XAdvance",
          "preserve_source": true
        },
        "/fofnt_fields/@id=font-format.fofnt.x-advance/rationale": {
          "source_sha256": "034b19341f57a8894f7c05347d0dd533309d33aa804db6edfdfeed4100e8cb42",
          "translation": "Продвижение глифа управляет переносом и отрисовкой, а XAdvance глифа пробела становится SpaceWidth."
        },
        "/fofnt_fields/@id=font-format.fofnt.x-advance/requirement": {
          "source_sha256": "732c30c00c7dcaf05eb7da1f62300bace6ef1b32df301f8db7f40882474b5106",
          "translation": "Задайте горизонтальное продвижение курсора после глифа; добавьте явный глиф пробела, если пробелы должны занимать ширину."
        },
        "/fofnt_fields/@id=font-format.fofnt.y-advance/name": {
          "source_sha256": "d93206fecf6fcab91f11275e3f4102fdd860353a08dc7678bb6b8956408725cd",
          "translation": "YAdvance",
          "preserve_source": true
        },
        "/fofnt_fields/@id=font-format.fofnt.y-advance/rationale": {
          "source_sha256": "2d7f1d9a15c63151e041081d845d994f4a54860b515bb0c5db8c064c1ff3573c",
          "translation": "Компоновка продвигается на LineHeight плюс YAdvance и масштабирует значение при привязке."
        },
        "/fofnt_fields/@id=font-format.fofnt.y-advance/requirement": {
          "source_sha256": "700f3f264e414eb9fcc62b585eb45d41c316409e512628948d19a029a5604560",
          "translation": "Задайте дополнительный вертикальный интервал между последовательными строками текста."
        },
        "/formats/@id=font-format.format.bmfc-sidecar/rationale": {
          "source_sha256": "29367880a7973669430cd45782fcc880d418ce176dde16cbaf9254122b6b0d4f",
          "translation": "Стандартный список raw-copy содержит bmfc, но runtime-диспетчеризация расширений содержит только fofnt и fnt."
        },
        "/formats/@id=font-format.format.bmfc-sidecar/requirement": {
          "source_sha256": "ceee4c42d9df40c346930fe786155a709fdebb247cf5f447a13e92822b4aa00b",
          "translation": "Считайте .bmfc необязательной конфигурацией инструмента BMFont и никогда не передавайте её в Game.BindFont."
        },
        "/formats/@id=font-format.format.bmfc-sidecar/role": {
          "source_sha256": "04a34b490f48fbb5119a4bf761934dc15f4fa3d6cd9c326496df64318f3b6d3a",
          "translation": "Вспомогательный файл авторинга, копируемый raw-copy; не runtime-дескриптор"
        },
        "/formats/@id=font-format.format.bmfont-binary-v3/rationale": {
          "source_sha256": "35b655d5201829132a9c76fb89c8d156662a8ed86df4682018c0a14a75450b49",
          "translation": "Клиент читает бинарный заголовок BMF и фиксированную раскладку блоков; текстовые и XML-файлы BMFont не принимаются."
        },
        "/formats/@id=font-format.format.bmfont-binary-v3/requirement": {
          "source_sha256": "7664b9afd4193096f72b8a586c5c4933c90ce27624c76c9f1b8c9c5102dfdab0",
          "translation": "Экспортируйте BMFont binary версии 3 с одной страницей текстуры и однопиксельным отступом с каждой стороны глифа."
        },
        "/formats/@id=font-format.format.bmfont-binary-v3/role": {
          "source_sha256": "a838a25280894b79b60a04024f25c4ae7cdc0a5605e2c939cdff36ccdeb734e3",
          "translation": "Runtime-дескриптор"
        },
        "/formats/@id=font-format.format.fofnt/rationale": {
          "source_sha256": "83884849dfc4785e76624156263229b98afaf570b6d46a64345f2c164e32ab70",
          "translation": "Game.BindFont направляет точный суффикс .fofnt в нижнем регистре в FontManager::BindFoFont."
        },
        "/formats/@id=font-format.format.fofnt/requirement": {
          "source_sha256": "881ea1ca3af1847b67d1c86ab9b0dcf7d56bde8c849a412dca2dffe4c248a19d",
          "translation": "Используйте текстовый дескриптор Engine для явного задания изображения, строки и метрик глифа каждой кодовой точки."
        },
        "/formats/@id=font-format.format.fofnt/role": {
          "source_sha256": "a838a25280894b79b60a04024f25c4ae7cdc0a5605e2c939cdff36ccdeb734e3",
          "translation": "Runtime-дескриптор"
        },
        "/layout_rules/@id=font-format.layout.horizontal-alignment/name": {
          "source_sha256": "8049d5b162341b2e1d1e435586768f5be0f09c6a6527049eb91840b6a98eff6c",
          "translation": "Горизонтальное выравнивание"
        },
        "/layout_rules/@id=font-format.layout.horizontal-alignment/rationale": {
          "source_sha256": "eabc66cbdd64acae41be7b5e985e69dd1b8bddc1d18e56402c47c98571b69d9f",
          "translation": "Начальная и каждая следующая после перевода строки координата X пересчитывается по измеренной ширине этой строки."
        },
        "/layout_rules/@id=font-format.layout.horizontal-alignment/requirement": {
          "source_sha256": "63bf7737ee301135e1f3cca46faa6fcb662629b54447c146d40df69f350019f4",
          "translation": "CenterX и AlignRight независимо размещают каждую строку в прямоугольнике; не сочетайте противоречащие флаги выравнивания."
        },
        "/layout_rules/@id=font-format.layout.justification/name": {
          "source_sha256": "c24c06c3f7fd49d74eda48d43093d4347e42c0fce89bfe0056499b4f267b39dc",
          "translation": "Выравнивание по ширине"
        },
        "/layout_rules/@id=font-format.layout.justification/rationale": {
          "source_sha256": "4b65f3ec0cb33d8208792660425a2f6ed7516840b34903195c2d17615d783e97",
          "translation": "Табуляции фиксированы на четырёх SpaceWidth и не участвуют в выравнивании по ширине."
        },
        "/layout_rules/@id=font-format.layout.justification/requirement": {
          "source_sha256": "9e79eb2be7453ff5902eb958599f2f6d7567fd3418e29b621f6cb5e1dffc5ebd",
          "translation": "Justify распределяет остаток конечной ширины по доступным для разрыва пробелам перенесённых и не пропущенных строк."
        },
        "/layout_rules/@id=font-format.layout.measurement/name": {
          "source_sha256": "634504fba956fc4ff0e75adceaf73ea7715d3617e4872208cea9336ee415c4e7",
          "translation": "Измерение соответствует компоновке"
        },
        "/layout_rules/@id=font-format.layout.measurement/rationale": {
          "source_sha256": "4a66d13452f18667b5d36055c25d02b191b46240e8e05f1ecc92db657d663cd1",
          "translation": "Измерение и отрисовка используют GetOrFormat, пропуски, метрики строк и масштаб привязки; обрезка NoWrap намеренно включена только в режиме Draw."
        },
        "/layout_rules/@id=font-format.layout.measurement/requirement": {
          "source_sha256": "9e3de71fb1ad8b72b9b61d2cd3bfb331b0cd05cba5b0310eab53aeed38b6c7e9",
          "translation": "Используйте Game.GetTextInfo и функции строк с тем же прямоугольником и TextFormat, что и при отрисовке, но не выводите обрезку NoWrap только для отрисовки из измерений."
        },
        "/layout_rules/@id=font-format.layout.no-wrap-and-truncate/name": {
          "source_sha256": "c5c2c6b73fdcc8e61d6ae59a58dbe747ca12a7a0d9b453948058b0583ab5d8aa",
          "translation": "NoWrap и TruncateLine"
        },
        "/layout_rules/@id=font-format.layout.no-wrap-and-truncate/rationale": {
          "source_sha256": "6988f6d02acef088cd4b6191b8d83632f1b6c2483066cd661bde2780d971386c",
          "translation": "Эти флаги намеренно выбирают разное поведение потери текста и не являются синонимами."
        },
        "/layout_rules/@id=font-format.layout.no-wrap-and-truncate/requirement": {
          "source_sha256": "7c9aea65c2ee1148f5e6769248968acb36f44d821ba2de05f6850ec17b64c7a6",
          "translation": "NoWrap завершает отрисовку при первом переполнении; TruncateLine удаляет переполняющие глифы до следующего авторского перевода строки."
        },
        "/layout_rules/@id=font-format.layout.skip-lines-and-tail/name": {
          "source_sha256": "64be2dbe9a221eb1ca8310087c87ba84947ef7f29ac7c84bec20baf616f5e268",
          "translation": "SkipLines и KeepTail"
        },
        "/layout_rules/@id=font-format.layout.skip-lines-and-tail/rationale": {
          "source_sha256": "4ad37a3d12e76c1e1f04eaea982bbcdcc2a26dce81ac7624dafa78f1dea85a2e",
          "translation": "Механизмы обслуживают постраничный вывод и хвост журнала, но используют разные счётчики и условия переполнения."
        },
        "/layout_rules/@id=font-format.layout.skip-lines-and-tail/requirement": {
          "source_sha256": "782dfe82606a16be99acd88b1f7ecdc01df309d3c3b4e49c64ef3c0bbb1eace6",
          "translation": "SkipLines обычно удаляет начальные строки, а с AlignBottom конечные; KeepTail отбрасывает начальное переполнение, сохраняя новые видимые строки."
        },
        "/layout_rules/@id=font-format.layout.text-format/name": {
          "source_sha256": "34d129562b67ae694bf49460ff11c1913a850e6a90b88c37d6894787c21469c8",
          "translation": "Значение TextFormat"
        },
        "/layout_rules/@id=font-format.layout.text-format/rationale": {
          "source_sha256": "2e77233c1a21a182d624fa9df606855da1cec82e21ad278511246fe598f0c687",
          "translation": "Экспортируемый тип имеет фиксированную 12-байтную раскладку, используемую измерением и отрисовкой."
        },
        "/layout_rules/@id=font-format.layout.text-format/requirement": {
          "source_sha256": "9d96c39203068857af506b801df70016f25fbe535304d648d692f1d2abcaef66",
          "translation": "Передавайте слот Font, битовую маску FontFlag и неотрицательное число SkipLines в TextFormat."
        },
        "/layout_rules/@id=font-format.layout.utf8-and-missing-glyphs/name": {
          "source_sha256": "fd6f3348ea4205c93045261aed77334d90c4fcffa7d553cee138748ccf056742",
          "translation": "UTF-8 и отсутствующие глифы"
        },
        "/layout_rules/@id=font-format.layout.utf8-and-missing-glyphs/rationale": {
          "source_sha256": "3720fe776f9d85d9a31afe97b4e2a0d331f50d2e1bc24448a884ccb92b5bca8e",
          "translation": "Компоновка сопоставляет некорректные последовательности с кодовой точкой ноль, а неизвестные точки с нулевым продвижением; отрисовка пропускает отсутствующие записи."
        },
        "/layout_rules/@id=font-format.layout.utf8-and-missing-glyphs/requirement": {
          "source_sha256": "558650e8f6607b79d4a3d61646a7ab41c2dfa44926558d7519059098f74f32a7",
          "translation": "Добавляйте каждую требуемую кодовую точку Unicode; некорректный UTF-8 и отсутствующие глифы не занимают ширину и не отображают запасной символ."
        },
        "/layout_rules/@id=font-format.layout.vertical-alignment/name": {
          "source_sha256": "81804c3d1be9002cbbc1577354a620427f2036ce4339712ee40cbf2f30daf935",
          "translation": "Вертикальное выравнивание"
        },
        "/layout_rules/@id=font-format.layout.vertical-alignment/rationale": {
          "source_sha256": "ea0f37d8fbbfcdaed37ba502b7703e2036c1302d99d21e10f66fdd722707b94f",
          "translation": "Вертикальное положение зависит от числа помещающихся строк, а не от длины исходной строки в байтах."
        },
        "/layout_rules/@id=font-format.layout.vertical-alignment/requirement": {
          "source_sha256": "f2db2166e1df96a27bbaeb49a8b7d67668d532e4e49690d0944c2b786e71cc7d",
          "translation": "CenterY центрирует видимый блок, а AlignBottom размещает его у низа прямоугольника с учётом LineHeight и YAdvance."
        },
        "/layout_rules/@id=font-format.layout.wrap-overflow/name": {
          "source_sha256": "10e3e364dcc882597071230ab7d24130cb0d5c4c2869c8b1e89317e9e7c0f8b4",
          "translation": "Переполнение ширины и перенос"
        },
        "/layout_rules/@id=font-format.layout.wrap-overflow/rationale": {
          "source_sha256": "3b0c6375a0d4141c7c1ff418cb8b9d8c38a3ec6df67a7ef9550f82e8e5ac684a",
          "translation": "Компоновка изменяет свою кэшированную копию текста, задавая границы строк, но не меняет исходную строку вызывающего кода."
        },
        "/layout_rules/@id=font-format.layout.wrap-overflow/requirement": {
          "source_sha256": "2faccfb7c2aa6bcb80ee49214d88eba67b7b67363df65c5ad4845e31f8f41645",
          "translation": "При конечной ширине обычная компоновка переносит по последнему пробелу или табуляции и вставляет разрыв перед слишком длинным токеном, когда точки разрыва нет."
        },
        "/outputs/font_flags/@name=AlignBottom/description": {
          "source_sha256": "513d7201eea78346ce4030103c06ca2991b9d080d8ce025946d1c148f39d42b9",
          "translation": "Выравнивает текстовый блок по нижнему краю и заставляет SkipLines считать от последних строк."
        },
        "/outputs/font_flags/@name=AlignRight/description": {
          "source_sha256": "74880511cbb07441c8cf9481f73561a82ce031b4072488daa49ae801bd92a4d0",
          "translation": "Выравнивает каждую отрисованную строку по правому краю целевого прямоугольника."
        },
        "/outputs/font_flags/@name=Bordered/description": {
          "source_sha256": "94d7f3ce88ec56bf93cdc0c74cde5b9ffc87daf67a281068e619a0adb3375c8c",
          "translation": "Использует для отрисовки глифов вариант текстуры шрифта с рамкой или контуром."
        },
        "/outputs/font_flags/@name=CenterX/description": {
          "source_sha256": "be5a016a0b1884ae287fd0d0eaf02ed1905cbe743a9d89de5b0bbc555e91bc94",
          "translation": "Горизонтально центрирует каждую отрисованную строку в целевом прямоугольнике."
        },
        "/outputs/font_flags/@name=CenterY/description": {
          "source_sha256": "2aecbbbfd0a49701a67a08b8ff5f7551491ec40aa41c06d055c299553ea61bf8",
          "translation": "Вертикально центрирует весь текстовый блок в целевом прямоугольнике."
        },
        "/outputs/font_flags/@name=Justify/description": {
          "source_sha256": "3049ebc7d74dbd529492e1c3f45d5a94a95482bccd8acb9fbcfb10ba8a881104",
          "translation": "Распределяет дополнительные интервалы между словами, чтобы заполнить целевую ширину строки."
        },
        "/outputs/font_flags/@name=KeepTail/description": {
          "source_sha256": "ff65b0059e9d2448bf57bdccf1e3a7275efaa218fd1d2d4fd33a8635a9ddb6e8",
          "translation": "Отрисовывает конец текстового блока, высота которого превышает целевой прямоугольник."
        },
        "/outputs/font_flags/@name=NoColorize/description": {
          "source_sha256": "d0f8573e60475155327a341aa2a04301162aa5376889afee63865a7fc7d52c18",
          "translation": "Удаляет встроенные цветовые теги, сохраняя заданный базовый цвет текста."
        },
        "/outputs/font_flags/@name=NoWrap/description": {
          "source_sha256": "3db8d394413fd609166b9247a9843990220fac89d125529b7ca6528ffcb8f4be",
          "translation": "Обрезает оставшийся текст при переполнении ширины прямоугольника вместо переноса."
        },
        "/outputs/font_flags/@name=None/description": {
          "source_sha256": "11355563da99f242b04c37a32ac97244bc567c0f80e51bb170defad333369aff",
          "translation": "Не применяет дополнительные флаги компоновки текста или отрисовки глифов."
        },
        "/outputs/font_flags/@name=TruncateLine/description": {
          "source_sha256": "b02ef1429a24fd98dd060e4892f5ce16d02f829be5a2c8496bd25895ec7140e8",
          "translation": "Пропускает вышедшие за границу глифы до следующего перевода строки вместо переноса текущей строки."
        },
        "/outputs/font_slots/@name=Default/description": {
          "source_sha256": "1540de2e20060c310daa1e3f4faa6abf72dbce39df7189d3394189193d69420b",
          "translation": "Встроенный стандартный слот шрифта, используемый, когда не выбран проектный слот."
        },
        "/rendering_rules/@id=font-format.rendering.bind-time-resampling/name": {
          "source_sha256": "9c27199d0e42ee43034237fc5e39a37f7ef81a90c722c02819382d79a2380af7",
          "translation": "Уменьшение усреднением площади"
        },
        "/rendering_rules/@id=font-format.rendering.bind-time-resampling/rationale": {
          "source_sha256": "9b788b61faf44c2c7f6427c6951668ed957754871cb956d9fb53438dea502333",
          "translation": "Масштабировщик использует усреднение площади с весом альфа-канала, очищает исходный прямоугольник и сохраняет верхнюю левую позицию."
        },
        "/rendering_rules/@id=font-format.rendering.bind-time-resampling/requirement": {
          "source_sha256": "b86f0d26edc457df7069652bc36fa588f9bec705718d74949c8af423bb010d04",
          "translation": "Ожидайте, что defaultScale ниже единицы один раз перепишет область привязанного атласа и целочисленные метрики, без масштаба шрифта для виджета."
        },
        "/rendering_rules/@id=font-format.rendering.bordered-copy/name": {
          "source_sha256": "73b8b3fe3af9865228806c7e25f7afb4cfc1397825ca0354bece3e74ecb750a6",
          "translation": "Копия атласа с обводкой"
        },
        "/rendering_rules/@id=font-format.rendering.bordered-copy/rationale": {
          "source_sha256": "e93a160d66fcca63b3c67537536e503d4e5ed2677a616337d4852376c779593e",
          "translation": "Загрузчик дублирует изображение и заполняет прозрачных соседей видимых пикселей до расчёта UV обводки."
        },
        "/rendering_rules/@id=font-format.rendering.bordered-copy/requirement": {
          "source_sha256": "1f072eae8b6b445c6f7dedce8f8c3f759cdcca77f4272c74f85712f5c6a13e37",
          "translation": "Резервируйте прозрачный отступ для однопиксельного чёрного расширения; FontFlag::Bordered выбирает сгенерированную вторую текстуру."
        },
        "/rendering_rules/@id=font-format.rendering.font-effect/name": {
          "source_sha256": "6d12ca2c259d76a4c6a780eb7150706d25abf49f40469aa4e6f6b78c3293f7c5",
          "translation": "Общий эффект и эффект слота"
        },
        "/rendering_rules/@id=font-format.rendering.font-effect/rationale": {
          "source_sha256": "19e55da5efd86464e5ea9978f3d497b2491e81587614cb96ba38f254bfbb82ad",
          "translation": "Ключ пакетирования отрисовки включает выбранную текстуру и указатель RenderEffect."
        },
        "/rendering_rules/@id=font-format.rendering.font-effect/requirement": {
          "source_sha256": "7af7d80903444e3c279bba38b1ecd5f8a98b7e24e1883a5b042877047e97bd1c",
          "translation": "Шрифты начинают с общего эффекта Engine; переопределение EffectType::Font для слота заменяет его, а null возвращает общий эффект."
        },
        "/rendering_rules/@id=font-format.rendering.grayscale-tint/name": {
          "source_sha256": "06405063b8fcd472596d269331c465ee443cb8fd5f3ce10daac5543fcc5f06a4",
          "translation": "Нормализация серого и тонирование"
        },
        "/rendering_rules/@id=font-format.rendering.grayscale-tint/rationale": {
          "source_sha256": "c7deade4eee0ded3908ca92ef8f13c146a8215601bce9e012004e4e978c20813",
          "translation": "RGB непрозрачных пикселей становится 128/128/128 при сохранении альфа-канала; прозрачные пиксели очищаются."
        },
        "/rendering_rules/@id=font-format.rendering.grayscale-tint/requirement": {
          "source_sha256": "3e55ad21411a0cc16836f5555f41bff22e7a7b477ae6a5e967e5d6d15ce4ec4e",
          "translation": "Используйте завершающий * в FOFNT Image или бинарный BMFont, когда растр должен нормализоваться в средне-серый и тонироваться цветом отрисовки."
        },
        "/rendering_rules/@id=font-format.rendering.inline-color/name": {
          "source_sha256": "327aab12e61b97d71092abc79f8376e9363482a003598223870582981f09d007",
          "translation": "Встроенные теги цвета"
        },
        "/rendering_rules/@id=font-format.rendering.inline-color/rationale": {
          "source_sha256": "2916d33cfeec6cff41eed2644d2f8f4643c95f2fd8648355e91319b02f96ab2c",
          "translation": "Форматирование удаляет корректные маркеры до переноса и записывает переходы цвета по смещению байтов результата."
        },
        "/rendering_rules/@id=font-format.rendering.inline-color/requirement": {
          "source_sha256": "4dbeed2dc1cf2f4fc3ffe07a8dcd5b6c1c592b5bff0831ca8cd73e66447b3834",
          "translation": "Используйте @color:BBGGRR@ или @color:AABBGGRR@ с необязательным 0x для добавления цвета и @color@ для возврата предыдущего; NoColorize удаляет корректные теги без их применения."
        },
        "/rendering_rules/@id=font-format.rendering.layout-cache/name": {
          "source_sha256": "c366c228c284ff9b7616c774e449d0100294d9e29583526c614a532d29b8bf2c",
          "translation": "Кэш компоновки на три кадра"
        },
        "/rendering_rules/@id=font-format.rendering.layout-cache/rationale": {
          "source_sha256": "b7026c186d5487ba231eb435fc0fd10fcd6cb92530455a35b10f3fe30c792cd6",
          "translation": "Кэш является деталью реализации клиента и очищается при сохранении или удалении шрифтов."
        },
        "/rendering_rules/@id=font-format.rendering.layout-cache/requirement": {
          "source_sha256": "5dbc0f6d76ac67995462832e8f9d15d9e692c9b94de3fa94c987db686a5c5597",
          "translation": "Не полагайтесь на идентичность или срок жизни кэша; ключ включает текст, шрифт, флаги, пропуски, размер прямоугольника, цвет и режим, а запись истекает после трёх неиспользованных кадров."
        },
        "/rendering_rules/@id=font-format.rendering.one-pixel-sampling-border/name": {
          "source_sha256": "61da84a325e9b5e68973e9098827b2eb28a56f28b9064c7187a297c431a79595",
          "translation": "Однопиксельная рамка выборки"
        },
        "/rendering_rules/@id=font-format.rendering.one-pixel-sampling-border/rationale": {
          "source_sha256": "e4dc3c7e639de1e000c14a3f2bc4dac2a64c7ddd4b631c2adf604a90a372d27e",
          "translation": "Координаты текстуры и передаваемые quad расширяют каждый видимый глиф на один пиксель со всех сторон."
        },
        "/rendering_rules/@id=font-format.rendering.one-pixel-sampling-border/requirement": {
          "source_sha256": "5e443b37014057f6855df791cf79c3713510e4a2cc6e7bf4f1191855cff1e421",
          "translation": "Оставляйте не менее одного пикселя корректного прозрачного отступа вокруг каждого прямоугольника глифа и по краю изображения."
        },
        "/scope/excluded": {
          "source_sha256": "81efb67d98235f441ef251a1ba52b81de037fed8250198cc9723bc75e71707ab",
          "translation": [
            "имена шрифтов, каталоги слотов, назначения GUI и типографическая политика подключаемого проекта",
            "лицензирование шрифтов, права на распространение и приёмка покрытия глифов для конкретных языков",
            "текстовые и XML-дескрипторы BMFont, которые runtime не разбирает",
            "семантика конфигурации инструмента авторинга .bmfc",
            "векторные шрифты и runtime-растеризация TTF/OTF, отсутствующая в клиенте",
            "проектные пакеты локализации и авторские отображаемые строки"
          ]
        },
        "/scope/included": {
          "source_sha256": "c0bbc8e1361fa6fa3abb0108dd54fa0281d400589d196311a312b5a884e73f05",
          "translation": [
            "текстовые дескрипторы .fofnt и их метрики глифов",
            "дескрипторы binary BMFont v3 .fnt, принимаемые клиентом",
            "доставка raw-copy и отдельно запечённые изображения шрифтов",
            "диспетчеризация Game.BindFont, слоты шрифтов, размещение в атласе и startup-fallback",
            "уменьшение при привязке, преобразование в оттенки серого, создание обводки и эффекты",
            "флаги TextFormat, перенос, выравнивание, измерение, встроенные цвета и кеширование",
            "основанная на исходниках диагностика и маршрутизация проверки"
          ]
        },
        "/scope/support_note": {
          "source_sha256": "fcfb17899dba5004f336bb7e70a7b3bd53956ee88621fa0551901cebc9527122",
          "translation": "Два runtime-формата дескрипторов и поведение клиентской компоновки поддерживаются, но остаются экспериментальными; подключаемые проекты владеют выбором шрифтов, покрытием глифов, типографикой, слотами GUI и визуальной приёмкой."
        },
        "/validation_rules/@id=font-format.validation.bmfont-header/name": {
          "source_sha256": "c2b0d78eeeda11d17039d9a535d943c396b267845966908752dd9901f724819d",
          "translation": "Заголовок, отступы и страницы BMFont"
        },
        "/validation_rules/@id=font-format.validation.bmfont-header/rationale": {
          "source_sha256": "7ed179752e708231b7e9a78d1e94c55447c89ac03c28948f2dad2e8596ff4e2a",
          "translation": "Runtime имеет явные исключения для всех трёх несовместимостей."
        },
        "/validation_rules/@id=font-format.validation.bmfont-header/requirement": {
          "source_sha256": "469f9f2afd409cc0d48f5bdb671ef0443cd8fcc4fbbcb25a54866d3aad0dc994",
          "translation": "Отклоняйте дескрипторы BMFont не binary v3, без отступов 1/1/1/1 или с числом страниц не равным одному."
        },
        "/validation_rules/@id=font-format.validation.descriptor-and-image-presence/name": {
          "source_sha256": "7b60a2e10c50d15feeedd51f04d653f826e124d03ca2294ac09c313616ea3b54",
          "translation": "Наличие дескриптора и изображения"
        },
        "/validation_rules/@id=font-format.validation.descriptor-and-image-presence/rationale": {
          "source_sha256": "290b1628f7cbd81d621759b470fbeb8fefc657f684743922f55bd655606dec8a",
          "translation": "Проверка до запуска должна покрывать отсутствие Image, потому что загрузчик достигает image_name.back() раньше, чем может выдать диагностическое сообщение."
        },
        "/validation_rules/@id=font-format.validation.descriptor-and-image-presence/requirement": {
          "source_sha256": "d6325ace5203f3e4cfe1807ba76ec7d2b34e809c480a02d2a6a9402c083f32c1",
          "translation": "Считайте ресурс непрошедшим gate, если дескриптор отсутствует, FOFNT не содержит Image или относительное изображение не загружается как спрайт атласа. Runtime сообщает об отсутствующем дескрипторе и файле изображения, но сейчас не имеет явной проверки пустого Image."
        },
        "/validation_rules/@id=font-format.validation.embedding-project/name": {
          "source_sha256": "21b41cc4347ff9504b6877471380ab6c28d76a79a80817827f2c5b8a9b29f337",
          "translation": "Запекание и видимая проверка проекта"
        },
        "/validation_rules/@id=font-format.validation.embedding-project/rationale": {
          "source_sha256": "2806e88940365fe93f023597fc40e19ca5353da51060877add4e65f2afc62718",
          "translation": "Успешный raw-copy не доказывает покрытие глифов, отступ атласа, типографику, backend отрисовки или посадку GUI."
        },
        "/validation_rules/@id=font-format.validation.embedding-project/requirement": {
          "source_sha256": "0f0078606020f8b1979f92aca488df68c42e6969a47429eab6ac88f192299c68",
          "translation": "Запекайте дескриптор и изображение, запускайте измерения каждого масштаба и визуально проверяйте обычные, обведённые, перенесённые, выровненные, локализованные случаи и отсутствующие глифы."
        },
        "/validation_rules/@id=font-format.validation.engine-tests/name": {
          "source_sha256": "cd843cc7ada17d7b366d2d22ad53839bd5ad1986f4b8ae6ea2c98df7f99156c2",
          "translation": "Регрессионные gate Engine"
        },
        "/validation_rules/@id=font-format.validation.engine-tests/rationale": {
          "source_sha256": "b5dae4ea4b620fd78cb8ece6b81a6db047fb76149422a7b8b618776fc7f6166d",
          "translation": "Структурные проверки фиксируют выведенные из исходников контракты, а нативные тесты покрывают пути ресурсов и создания клиента."
        },
        "/validation_rules/@id=font-format.validation.engine-tests/requirement": {
          "source_sha256": "fa8ab60bf8e85d45f9467e81f5357aff79da8f5f2ae996ee21f7aaa4610e65eb",
          "translation": "После изменений FontManager или дескрипторов запускайте целевой тест документации и полный сгенерированный target модульных тестов Engine."
        },
        "/validation_rules/@id=font-format.validation.fofnt-header/name": {
          "source_sha256": "4b0cf246aeb530be34756f0283e59f74eecdd8e6f5dd5c5409bb54dc20e1b571",
          "translation": "Заголовок FOFNT и UTF-8"
        },
        "/validation_rules/@id=font-format.validation.fofnt-header/rationale": {
          "source_sha256": "e76594783ab03da52b6c0031747d7610a9e7c44bbe15dfd6592c87ebd982ceae",
          "translation": "Это жёсткие ошибки парсера, а не восстанавливаемые случаи отсутствующего глифа."
        },
        "/validation_rules/@id=font-format.validation.fofnt-header/requirement": {
          "source_sha256": "ba9a98c04328056c09eadd6310ec33dfcf41db8871023db9defdd357a0a5e148",
          "translation": "Отклоняйте FOFNT, у которого первый ключ не Version, версия выше 2 или строка Letter не содержит одной корректной кодовой точки UTF-8."
        },
        "/validation_rules/@id=font-format.validation.generated-contract/name": {
          "source_sha256": "2625bea9b9bc28288102c50aff48f4d3324178931b0f68431cb5a6d03fda6039",
          "translation": "Расхождение сгенерированного контракта"
        },
        "/validation_rules/@id=font-format.validation.generated-contract/rationale": {
          "source_sha256": "109f1fec6bd9794c118de08da98b90047a18a63439b97d0ad70ffa8771aca2de",
          "translation": "Проверяемая модель заставляет CI отклонить незаметное расхождение исходников и документации."
        },
        "/validation_rules/@id=font-format.validation.generated-contract/requirement": {
          "source_sha256": "2474840edcf3fb40e850ef7efc05a970f7345c735450113837d2a4e21c7fc254",
          "translation": "Перегенерируйте и проверяйте модель font-format при изменении ключей парсера, бинарных констант, enum шрифтов, диспетчеризации привязки, raw-copy, масштаба, кэша или поставляемых дескрипторов."
        },
        "/validation_rules/@id=font-format.validation.scale-range/name": {
          "source_sha256": "e7e1b3ad44ba29534d232eed1c79a459cb384eb892795bf467a18fa0bdac0bcc",
          "translation": "Диапазон масштаба"
        },
        "/validation_rules/@id=font-format.validation.scale-range/rationale": {
          "source_sha256": "1c87bf5dd1ea9338738fae15340198e0b2828b9df982f0055fb0574abd45922c",
          "translation": "Engine поддерживает детерминированное уменьшение при привязке, а не увеличение растра."
        },
        "/validation_rules/@id=font-format.validation.scale-range/requirement": {
          "source_sha256": "e11102f0dd92d15bbbbcc12db9f2eab0cfba2e2f144da07da00a659c2011594c",
          "translation": "Отклоняйте NaN, бесконечность, ноль, отрицательные значения и значения больше единицы до изменения таблицы шрифтов или атласа."
        },
        "/validation_rules/@id=font-format.validation.signed-bmfont-metrics/name": {
          "source_sha256": "7ebe0ab56d7ee12efacd1093318ce858a2b6a5d5c0f7226481ff38f26ec84f8f",
          "translation": "Ограничение беззнаковых метрик BMFont"
        },
        "/validation_rules/@id=font-format.validation.signed-bmfont-metrics/rationale": {
          "source_sha256": "b979d4df8a02863f12222f278012bba6c677a338bf4c24679668dd2a4502b2f3",
          "translation": "Значения вроде -2 сейчас интерпретируются как 65534 и могут смещать отрисованный глиф далеко от ожидаемой позиции; исправление runtime должно быть отдельным изменением кода."
        },
        "/validation_rules/@id=font-format.validation.signed-bmfont-metrics/requirement": {
          "source_sha256": "3d66e13d231f5a82addd560733a0fb847a6ed44d870ca68d42a2886f2bdb8dcf",
          "translation": "Учитывайте, что текущий загрузчик читает xoffset, yoffset и xadvance через GetLEUInt16, хотя поставляемые бинарные шрифты содержат отрицательные выносы."
        }
      }
    },
    "particle-format": {
      "entries": {
        "/description": {
          "source_sha256": "734ab1ad61c0c614cdcf7b72bceec3cdbb567a2da3f397a4412f76653d80376c",
          "translation": "Основанный на исходном коде контракт авторинга, запекания, runtime, отрисовки, инструментов и интеграции частиц SPARK и Effekseer в FOnline."
        },
        "/integration_rules/@id=particle-format.integration.client-script/name": {
          "source_sha256": "60b2ee2d720b775a1d974f13afd1b111a37caa1dda21572185898cf4b37f2eeb",
          "translation": "Клиентское управление из скрипта"
        },
        "/integration_rules/@id=particle-format.integration.client-script/rationale": {
          "source_sha256": "b2144bb4b1c308b7f709b73f710fbccb7692f46f8150cefb5acdaddb458ffc9d",
          "translation": "Экспортированные методы сужают универсальные спрайты до спрайтов частиц перед применением независимого от подсистемы управления."
        },
        "/integration_rules/@id=particle-format.integration.client-script/requirement": {
          "source_sha256": "f82cda32ef7c8ee00e205b2527c3f70d16ed173b37c811888a94cceaf8dd0a26",
          "translation": "Используйте клиентский API для воспроизведения с seed, prewarm, масштаба или активных эффектов на кости криттера и обрабатывайте результат false там, где API его возвращает."
        },
        "/integration_rules/@id=particle-format.integration.critter-run-particle/name": {
          "source_sha256": "65f2256b786395feb6aa80a69fbf72efdb9a4e2d7de25740e676911329ada321",
          "translation": "Частица на модели криттера"
        },
        "/integration_rules/@id=particle-format.integration.critter-run-particle/rationale": {
          "source_sha256": "a6f4a3caaba6f42f08bd7309eb0769149bc0cb28023be0122a8517daac022d24",
          "translation": "Скриптовый метод требует активный ModelInstance и не является запасным маршрутом для 2D-спрайта криттера."
        },
        "/integration_rules/@id=particle-format.integration.critter-run-particle/requirement": {
          "source_sha256": "2495b2628b4cd5137127d8f08f0ada001ccb1a661b273f8d6c003f19154f72e1",
          "translation": "Critter.RunParticle создаёт именованную частицу на кости модели только в сборках FO_ENABLE_3D; иначе экспорт ничего не делает."
        },
        "/integration_rules/@id=particle-format.integration.model-attachment/name": {
          "source_sha256": "4ff2d5a184d1211d78147f32d3af8e4de4f5c98433ad15c4b98c9944ab7bd13b",
          "translation": "AttachParticles в .fo3d"
        },
        "/integration_rules/@id=particle-format.integration.model-attachment/rationale": {
          "source_sha256": "aa4bfc44bfa6538d8cd1f8050cb680e16995a8e3e9a396c57280dafaf5fd608f",
          "translation": "ModelInfoBaker проверяет ресурс и кость, а runtime создаёт и удаляет частицу вместе с композицией модели."
        },
        "/integration_rules/@id=particle-format.integration.model-attachment/requirement": {
          "source_sha256": "75e9effcfea76608b900dfc0da70456143e14f41c4fa41caa97640aa69becea9",
          "translation": "Выбранная слоем и значением связь .fo3d хранит глобальный путь запечённого .spk или .efk и требует допустимую целевую кость; частица существует, только пока выбранная связь активна."
        },
        "/integration_rules/@id=particle-format.integration.model/name": {
          "source_sha256": "b9e6467fa7767a914b8367e0cf98052b70fbedbebc70fcb44d6f29ecf73cba93",
          "translation": "Привязка к модели"
        },
        "/integration_rules/@id=particle-format.integration.model/rationale": {
          "source_sha256": "a9ac68d1428f637ffb698ddf6dd21eb825aa29a7fc406ce4a09f709616cb80b1",
          "translation": "Бейкер модели проверяет ресурс, а runtime создаёт частицу на целевом сочленении."
        },
        "/integration_rules/@id=particle-format.integration.model/requirement": {
          "source_sha256": "91a319068de852ab119bd238831c967b07499ae810b3598860597608a2ba6fa7",
          "translation": "Используйте AttachParticles с запечённым runtime-ресурсом и допустимой костью модели, затем проверяйте трансформации и время жизни в видимой сцене."
        },
        "/integration_rules/@id=particle-format.integration.project-boundary/name": {
          "source_sha256": "4cf76ef47eaad3078ccbb182cd4fc98c1533e973dc89cf697c2ba3f5762001d5",
          "translation": "Ответственность встраивающего проекта"
        },
        "/integration_rules/@id=particle-format.integration.project-boundary/rationale": {
          "source_sha256": "fc18239ea9a0f59cc0a51aae41579c1fc9683e4442132fe802b993ded1672ddc",
          "translation": "Движок документирует переиспользуемую механику, но не может определять игровые ресурсы или производственные цели."
        },
        "/integration_rules/@id=particle-format.integration.project-boundary/requirement": {
          "source_sha256": "1819d9f6a9f3142d3cdc4842120c4feeabf3853feeaebd4ddbeb8498448689c7",
          "translation": "Храните каталоги частиц, визуальную политику, выбор подсистем, происхождение ресурсов, бюджеты производительности и приёмочные сцены в документации проекта."
        },
        "/integration_rules/@id=particle-format.integration.sprite/name": {
          "source_sha256": "ae28f03ab60d16deec970a71b1d5f4dd18a82b2765f0807a546c34ff11d4a30e",
          "translation": "Интеграция спрайтов"
        },
        "/integration_rules/@id=particle-format.integration.sprite/rationale": {
          "source_sha256": "66a68afc135dce158ad7d6f2819c7229451fc80743f22202a7a2a71869c06b94",
          "translation": "Фабрика предоставляет включённые runtime-расширения и создаёт ParticleSprite из ParticleManager."
        },
        "/integration_rules/@id=particle-format.integration.sprite/requirement": {
          "source_sha256": "1d164df13cbbb66b57d744d03868bdfc8b1b92640d36e071f94f9ce6082fa55c",
          "translation": "Загружайте спрайты частиц через ParticleSpriteFactory и позволяйте подсистеме выбирать рендеринг через атлас или напрямую в сцену."
        },
        "/object_families/@id=particle-format.family.actions/name": {
          "source_sha256": "ff8059dc6752afdd30d275932b1d5031a2ec854b387a8c57ecc6689915293a43",
          "translation": "Actions",
          "preserve_source": true
        },
        "/object_families/@id=particle-format.family.actions/rationale": {
          "source_sha256": "48d3fb573fb5d17b7732f8a7c7b9f25724b3236532b6d94ec363959ea94973cd",
          "translation": "Это единственные теги action-объектов, зарегистрированные vendored-сборкой SPARK."
        },
        "/object_families/@id=particle-format.family.actions/requirement": {
          "source_sha256": "82045e5922ef16c6fc78c7afb43ad90441730cae5692881e1174824eab1ee742",
          "translation": "Ссылки действий рождения и смерти могут использовать ActionSet и SpawnParticlesAction."
        },
        "/object_families/@id=particle-format.family.core/name": {
          "source_sha256": "70ea1983c983deacc1b61805aea3d43648afd932f346fb2e5d9b15facd4035c2",
          "translation": "Core",
          "preserve_source": true
        },
        "/object_families/@id=particle-format.family.core/rationale": {
          "source_sha256": "7681364f252a03c3aa2e94a59e425128fd468546ad07e8bc8e36c8513e78d585",
          "translation": "Loader SPARK принимает ровно один System, а runtime- и render-маршруты потребляют его groups."
        },
        "/object_families/@id=particle-format.family.core/requirement": {
          "source_sha256": "bcad5dfffe354ba14e493dee8452b157bd93a3ff4809f9c96688901bde26042a",
          "translation": "Создавайте ровно один корневой объект System и включайте под его атрибутом groups один или несколько объектов Group."
        },
        "/object_families/@id=particle-format.family.effekseer/name": {
          "source_sha256": "99138381e7a246590be4c396c31f1afa1820417d0a7a2a1cdf2daf849fb47c4e",
          "translation": "Effekseer backend",
          "preserve_source": true
        },
        "/object_families/@id=particle-format.family.effekseer/rationale": {
          "source_sha256": "b080552ba9fb9c9f7f59f6c6edaac655f401d8182300ac3ff570ee8050ee6d21",
          "translation": "Выбор backend-а выполняется явно и независимо от SPARK."
        },
        "/object_families/@id=particle-format.family.effekseer/requirement": {
          "source_sha256": "0abf631e1b99b6d6f7f37b17780f71a4d6dc55e1ed4b605ee5f6cf7478391167",
          "translation": "Включите FO_EFFEKSEER_PARTICLES, чтобы собрать компилятор проектов с фиксированным профилем и runtime-подсистему Effekseer."
        },
        "/object_families/@id=particle-format.family.emitters/name": {
          "source_sha256": "b024842ed6364750562e78d0121ca7ce82eea7af2a79aa6189595ca89c169c9b",
          "translation": "Emitters",
          "preserve_source": true
        },
        "/object_families/@id=particle-format.family.emitters/rationale": {
          "source_sha256": "3beb0cff368100953ea420b4def3f516b6fb344688e3a5f679a36bd570182eaf",
          "translation": "Регистрация и элементы создания в редакторе определяют переносимый набор авторских emitter-ов."
        },
        "/object_families/@id=particle-format.family.emitters/requirement": {
          "source_sha256": "03677eadcbd82293cf9963a7c95a0a26fab081e186b94fec86a092de31eccdf6",
          "translation": "Группы могут содержать пять зарегистрированных тегов эмиттеров."
        },
        "/object_families/@id=particle-format.family.interpolators/name": {
          "source_sha256": "69567eaba190631a3c1db5effc7fafbc8ef6324b35587e1b954430a1a96f8739",
          "translation": "Interpolators",
          "preserve_source": true
        },
        "/object_families/@id=particle-format.family.interpolators/rationale": {
          "source_sha256": "451bcfcd02a61b4c14e97733624da271ce262a996b0a08172781fb106c243a1d",
          "translation": "XML-loader создаёт теги объектов через реестр IOManager."
        },
        "/object_families/@id=particle-format.family.interpolators/requirement": {
          "source_sha256": "27579f66e3b18ff52e3a4b10ed493c15d36d3750df4d16e3c554006d2cbc296a",
          "translation": "Для изменения параметров частиц используйте только зарегистрированные теги инициализаторов и интерполяторов типов float и color."
        },
        "/object_families/@id=particle-format.family.modifiers/name": {
          "source_sha256": "072da57facdcc631f41c5d886717e71197314fb5518d7c4b51033dbe11f7ffff",
          "translation": "Modifiers",
          "preserve_source": true
        },
        "/object_families/@id=particle-format.family.modifiers/rationale": {
          "source_sha256": "b61943e29b844cc0da81bccfbace1683a35fec707baa6d045e725e7b939fd4b1",
          "translation": "Список является полной поверхностью modifier-ов, распознаваемой loader-ом и штатным редактором."
        },
        "/object_families/@id=particle-format.family.modifiers/requirement": {
          "source_sha256": "106b53612cf63656c13299c7f6606c54ba5910807dbd4569f5f473db6890b979",
          "translation": "Группы могут содержать одиннадцать зарегистрированных тегов модификаторов."
        },
        "/object_families/@id=particle-format.family.renderer/name": {
          "source_sha256": "9deb780b4331c60e997ac3b4855911f7e0fc8c432d7607992e566cb0087e7ca2",
          "translation": "Renderer",
          "preserve_source": true
        },
        "/object_families/@id=particle-format.family.renderer/rationale": {
          "source_sha256": "c314172baa66b2debe8e62415719bb567627172a38791dd28f6e8b7c6ce6345a",
          "translation": "Engine регистрирует этот custom renderer один раз до загрузки ресурсов частиц и не предоставляет редактору другие renderer-ы SPARK."
        },
        "/object_families/@id=particle-format.family.renderer/requirement": {
          "source_sha256": "3bc21154f4f96baf56a741a041106ee080ac8fee98ce94f2dcf17a2c4c53a28a",
          "translation": "Для рендеринга частиц используйте принадлежащий движку тег SparkQuadRenderer."
        },
        "/object_families/@id=particle-format.family.spark/name": {
          "source_sha256": "ba36567f0f58e7bbaf3608ec300aa5b40bd7dd52f3c117c946c0fc48e739a5d6",
          "translation": "SPARK backend",
          "preserve_source": true
        },
        "/object_families/@id=particle-format.family.spark/rationale": {
          "source_sha256": "1c4c87694247a36e68310858e6bdac9e4dba27268793274797586bd6b8861a1c",
          "translation": "Выбор backend-а выполняется явно и независимо от Effekseer."
        },
        "/object_families/@id=particle-format.family.spark/requirement": {
          "source_sha256": "fee1cf90ba33a0d40bcd7781303c3aebb6ec241d26d8a9ce071b418c0711e487",
          "translation": "Включите FO_SPARK_PARTICLES, чтобы собрать бейкер SPARK, runtime-подсистему и встроенный редактор частиц в Mapper."
        },
        "/object_families/@id=particle-format.family.zones/name": {
          "source_sha256": "a53aa373c5e23e694a5498ab4d49bb604e15c7c77ba1aab4bc1423fc7fce7fe6",
          "translation": "Zones",
          "preserve_source": true
        },
        "/object_families/@id=particle-format.family.zones/rationale": {
          "source_sha256": "4891344753515509f24bbaf335e192ec0caef647bad9edc396c53d8f9977b56d",
          "translation": "Другие реализации зон SPARK недоступны авторским ресурсам Engine без регистрации и поддержки редактором."
        },
        "/object_families/@id=particle-format.family.zones/requirement": {
          "source_sha256": "41fc6b3228dec0ca1b6910c2cb4c2fa19533cdc95ca9218cbdbc87cc6e660e3d",
          "translation": "Ссылки эмиттеров и зональных модификаторов могут использовать шесть зарегистрированных тегов геометрических зон."
        },
        "/objects/@id=particle-format.object.action-set/family": {
          "source_sha256": "ff8059dc6752afdd30d275932b1d5031a2ec854b387a8c57ecc6689915293a43",
          "translation": "Actions",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.action-set/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.action-set/requirement": {
          "source_sha256": "e1a125a93568a9967770f3b44018f3f6c1f938978854e2be59400adaa3609adc",
          "translation": "XML-тег <ActionSet> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.box/family": {
          "source_sha256": "a53aa373c5e23e694a5498ab4d49bb604e15c7c77ba1aab4bc1423fc7fce7fe6",
          "translation": "Zones",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.box/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.box/requirement": {
          "source_sha256": "65a2ebc9205658eaf503371e23823cb9aa2982a90fe783b76f4fce93f5fb26d1",
          "translation": "XML-тег <Box> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.collider/family": {
          "source_sha256": "072da57facdcc631f41c5d886717e71197314fb5518d7c4b51033dbe11f7ffff",
          "translation": "Modifiers",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.collider/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.collider/requirement": {
          "source_sha256": "83a67727ce53f9976523caeb920bc7afeb5ac9489752960c25484ffb583aec37",
          "translation": "XML-тег <Collider> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.color-default-initializer/family": {
          "source_sha256": "69567eaba190631a3c1db5effc7fafbc8ef6324b35587e1b954430a1a96f8739",
          "translation": "Interpolators",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.color-default-initializer/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.color-default-initializer/requirement": {
          "source_sha256": "4a911161ddd12ea29a6af1ed298f3c19f6dc26617b70e83bb36192056a70ed3e",
          "translation": "XML-тег <ColorDefaultInitializer> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.color-graph-interpolator/family": {
          "source_sha256": "69567eaba190631a3c1db5effc7fafbc8ef6324b35587e1b954430a1a96f8739",
          "translation": "Interpolators",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.color-graph-interpolator/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.color-graph-interpolator/requirement": {
          "source_sha256": "4c2696fe5823ae82fa353bcf043061e9b2d499baf5e72b6eb4950ddfc09735bf",
          "translation": "XML-тег <ColorGraphInterpolator> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.color-random-initializer/family": {
          "source_sha256": "69567eaba190631a3c1db5effc7fafbc8ef6324b35587e1b954430a1a96f8739",
          "translation": "Interpolators",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.color-random-initializer/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.color-random-initializer/requirement": {
          "source_sha256": "c2c77b914915b7b575da29452af52d35d8b104f64414c041103fd6eefce36cab",
          "translation": "XML-тег <ColorRandomInitializer> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.color-random-interpolator/family": {
          "source_sha256": "69567eaba190631a3c1db5effc7fafbc8ef6324b35587e1b954430a1a96f8739",
          "translation": "Interpolators",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.color-random-interpolator/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.color-random-interpolator/requirement": {
          "source_sha256": "4410fb42cb78c623a59142eb8526422965383a87a8e1bd7171507206f432af4e",
          "translation": "XML-тег <ColorRandomInterpolator> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.color-simple-interpolator/family": {
          "source_sha256": "69567eaba190631a3c1db5effc7fafbc8ef6324b35587e1b954430a1a96f8739",
          "translation": "Interpolators",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.color-simple-interpolator/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.color-simple-interpolator/requirement": {
          "source_sha256": "79f0328cca59bd50a8f345f5250ee2fec887960d3ffa37b9fe4469ad4f6268e9",
          "translation": "XML-тег <ColorSimpleInterpolator> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.cylinder/family": {
          "source_sha256": "a53aa373c5e23e694a5498ab4d49bb604e15c7c77ba1aab4bc1423fc7fce7fe6",
          "translation": "Zones",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.cylinder/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.cylinder/requirement": {
          "source_sha256": "7faa55d053e1e0d94827b877ff6a3422f40fb84311481a2c54482a6091b62e6c",
          "translation": "XML-тег <Cylinder> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.destroyer/family": {
          "source_sha256": "072da57facdcc631f41c5d886717e71197314fb5518d7c4b51033dbe11f7ffff",
          "translation": "Modifiers",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.destroyer/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.destroyer/requirement": {
          "source_sha256": "c1da407d52f33f435837a1961833fd80675981410a2b78da6e3e175f3c449881",
          "translation": "XML-тег <Destroyer> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.effekseer-runtime/rationale": {
          "source_sha256": "f9f5987f4ee1afda4e6827e262ebcbfe47a47cc535ec34486dff1e28b666a4a2",
          "translation": "ParticleBaker отклоняет авторские .efk, проверяет вывод SKFE, а runtime backend объявляет только efk."
        },
        "/objects/@id=particle-format.object.effekseer-runtime/requirement": {
          "source_sha256": "583fb5e0ad41e575145aa5c7d1385bbcd5d7260b7b7b0823ca331c645b23a504",
          "translation": "Считайте .efk сгенерированным результатом бейкинга и никогда не помещайте его в исходные авторские ресурсы."
        },
        "/objects/@id=particle-format.object.effekseer-source/rationale": {
          "source_sha256": "826da42288d5fee1805e1f2e1db897627a85e8de0d65364704fe88cec1a2f342",
          "translation": "Во время запекания компилятор фиксированного профиля преобразует XML-проект в runtime-бинарник."
        },
        "/objects/@id=particle-format.object.effekseer-source/requirement": {
          "source_sha256": "94f8db53949019475fa1916170fc0be1e36aa1aae1f65c47049fc0708457eef5",
          "translation": "Создавайте эффекты Effekseer как текстовые проекты .efkproj, а из игрового контента ссылайтесь на соответствующий путь .efk."
        },
        "/objects/@id=particle-format.object.emitter-attacher/family": {
          "source_sha256": "072da57facdcc631f41c5d886717e71197314fb5518d7c4b51033dbe11f7ffff",
          "translation": "Modifiers",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.emitter-attacher/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.emitter-attacher/requirement": {
          "source_sha256": "8677f75a066de49221eaa2d5d06c3ebea5c6cb9e3adea506847a2e6fdfa7d78f",
          "translation": "XML-тег <EmitterAttacher> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.float-default-initializer/family": {
          "source_sha256": "69567eaba190631a3c1db5effc7fafbc8ef6324b35587e1b954430a1a96f8739",
          "translation": "Interpolators",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.float-default-initializer/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.float-default-initializer/requirement": {
          "source_sha256": "48f83c18c4fa56c278355c5b123ca56b50f04127c426618c2beb828d178ec0f2",
          "translation": "XML-тег <FloatDefaultInitializer> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.float-graph-interpolator/family": {
          "source_sha256": "69567eaba190631a3c1db5effc7fafbc8ef6324b35587e1b954430a1a96f8739",
          "translation": "Interpolators",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.float-graph-interpolator/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.float-graph-interpolator/requirement": {
          "source_sha256": "e8f9ee8812b100f542a90870479795c1eedc473efb5583a82f3fc02e87d366be",
          "translation": "XML-тег <FloatGraphInterpolator> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.float-random-initializer/family": {
          "source_sha256": "69567eaba190631a3c1db5effc7fafbc8ef6324b35587e1b954430a1a96f8739",
          "translation": "Interpolators",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.float-random-initializer/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.float-random-initializer/requirement": {
          "source_sha256": "f4cfa9908f1b7eb7e4b3c21b633cec9e22fec42bed6ce673cccb9bb9b3bcb04a",
          "translation": "XML-тег <FloatRandomInitializer> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.float-random-interpolator/family": {
          "source_sha256": "69567eaba190631a3c1db5effc7fafbc8ef6324b35587e1b954430a1a96f8739",
          "translation": "Interpolators",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.float-random-interpolator/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.float-random-interpolator/requirement": {
          "source_sha256": "c8bb48c9ab9c440cf984c38ecf30b00ff776021f13d2f59dd163e5c64bc06798",
          "translation": "XML-тег <FloatRandomInterpolator> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.float-simple-interpolator/family": {
          "source_sha256": "69567eaba190631a3c1db5effc7fafbc8ef6324b35587e1b954430a1a96f8739",
          "translation": "Interpolators",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.float-simple-interpolator/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.float-simple-interpolator/requirement": {
          "source_sha256": "bad94b4b19a62e2be7332d7f6813ee5195aa5406be786717e36caf324fa00713",
          "translation": "XML-тег <FloatSimpleInterpolator> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.friction/family": {
          "source_sha256": "072da57facdcc631f41c5d886717e71197314fb5518d7c4b51033dbe11f7ffff",
          "translation": "Modifiers",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.friction/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.friction/requirement": {
          "source_sha256": "33ed134787ebe170514e39fff14bbb553ec76610594ebcc3a86b140223990fad",
          "translation": "XML-тег <Friction> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.gravity/family": {
          "source_sha256": "072da57facdcc631f41c5d886717e71197314fb5518d7c4b51033dbe11f7ffff",
          "translation": "Modifiers",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.gravity/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.gravity/requirement": {
          "source_sha256": "a01e2106ffbb889a2e2abe9c323df6483929fc2895b267480b3f59178bacffa5",
          "translation": "XML-тег <Gravity> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.group/family": {
          "source_sha256": "70ea1983c983deacc1b61805aea3d43648afd932f346fb2e5d9b15facd4035c2",
          "translation": "Core",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.group/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.group/requirement": {
          "source_sha256": "367d137115e639ca5cf252d3ab6ea6952ff4224853ec66b6fbe187ed302ba9c7",
          "translation": "XML-тег <Group> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.linear-force/family": {
          "source_sha256": "072da57facdcc631f41c5d886717e71197314fb5518d7c4b51033dbe11f7ffff",
          "translation": "Modifiers",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.linear-force/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.linear-force/requirement": {
          "source_sha256": "c261913e644abce5783b2bca36545dc921c96da4f49d6f8e03eacf2f9467fe85",
          "translation": "XML-тег <LinearForce> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.normal-emitter/family": {
          "source_sha256": "b024842ed6364750562e78d0121ca7ce82eea7af2a79aa6189595ca89c169c9b",
          "translation": "Emitters",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.normal-emitter/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.normal-emitter/requirement": {
          "source_sha256": "4e07bce24453f8186008d39b1ca78710ec0120e3e884e8440e261eda972cc916",
          "translation": "XML-тег <NormalEmitter> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.obstacle/family": {
          "source_sha256": "072da57facdcc631f41c5d886717e71197314fb5518d7c4b51033dbe11f7ffff",
          "translation": "Modifiers",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.obstacle/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.obstacle/requirement": {
          "source_sha256": "973125e35b9e2115f3e41932201f61bc1382de4a4e9fe5a1e9b1b9a8fd86ae51",
          "translation": "XML-тег <Obstacle> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.plane/family": {
          "source_sha256": "a53aa373c5e23e694a5498ab4d49bb604e15c7c77ba1aab4bc1423fc7fce7fe6",
          "translation": "Zones",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.plane/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.plane/requirement": {
          "source_sha256": "51b15733eb3e18ca5e743cdbb8713a4a62ffd3eb0ef648ff9eb465180bd82451",
          "translation": "XML-тег <Plane> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.point-mass/family": {
          "source_sha256": "072da57facdcc631f41c5d886717e71197314fb5518d7c4b51033dbe11f7ffff",
          "translation": "Modifiers",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.point-mass/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.point-mass/requirement": {
          "source_sha256": "a5e8fc2ec4f8214ada2b4e8632a0530d95994093a2223278ce2d5314d7245c50",
          "translation": "XML-тег <PointMass> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.point/family": {
          "source_sha256": "a53aa373c5e23e694a5498ab4d49bb604e15c7c77ba1aab4bc1423fc7fce7fe6",
          "translation": "Zones",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.point/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.point/requirement": {
          "source_sha256": "b49c18ad48571a0e749e131a4bbb0ff5b7221378a08f7d457dddf0145c890190",
          "translation": "XML-тег <Point> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.random-emitter/family": {
          "source_sha256": "b024842ed6364750562e78d0121ca7ce82eea7af2a79aa6189595ca89c169c9b",
          "translation": "Emitters",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.random-emitter/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.random-emitter/requirement": {
          "source_sha256": "2a12c0247dfab2e1ac9100f520384f8bfbaa8cb7dd5a2a59c56f53f2014392f2",
          "translation": "XML-тег <RandomEmitter> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.random-force/family": {
          "source_sha256": "072da57facdcc631f41c5d886717e71197314fb5518d7c4b51033dbe11f7ffff",
          "translation": "Modifiers",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.random-force/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.random-force/requirement": {
          "source_sha256": "34d0fad0cf3e49ef9b9055c93caba19ec57afd3aa0fee637662b6eb9f35d604c",
          "translation": "XML-тег <RandomForce> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.ring/family": {
          "source_sha256": "a53aa373c5e23e694a5498ab4d49bb604e15c7c77ba1aab4bc1423fc7fce7fe6",
          "translation": "Zones",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.ring/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.ring/requirement": {
          "source_sha256": "6e857dfaacd31fe13a814835a6461d1eea6f93fcdc444ac19d73ab7fcb615afc",
          "translation": "XML-тег <Ring> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.rotator/family": {
          "source_sha256": "072da57facdcc631f41c5d886717e71197314fb5518d7c4b51033dbe11f7ffff",
          "translation": "Modifiers",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.rotator/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.rotator/requirement": {
          "source_sha256": "470f63a7a2da5195ba016326716c3b9c34c2f19297c534e8c8e3eb397f26ab7e",
          "translation": "XML-тег <Rotator> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.spark-quad-renderer/family": {
          "source_sha256": "9deb780b4331c60e997ac3b4855911f7e0fc8c432d7607992e566cb0087e7ca2",
          "translation": "Renderer",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.spark-quad-renderer/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.spark-quad-renderer/requirement": {
          "source_sha256": "0a5dcbb37481afb07fc2f20d8389894ff43c8d8ca48b1313b22a61c29730ce01",
          "translation": "XML-тег <SparkQuadRenderer> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.spark-runtime/rationale": {
          "source_sha256": "b912be8ca087783baa91b88a89b1ccf4565da564b9cd6da65e0b2f74a041ddf2",
          "translation": "ParticleBaker отклоняет авторские .spk, а runtime backend объявляет только spk."
        },
        "/objects/@id=particle-format.object.spark-runtime/requirement": {
          "source_sha256": "91552cfd3839deb07e69fb25c7b74b8b67977fe3cd252e66a562ef05b19c3dce",
          "translation": "Считайте .spk сгенерированным результатом бейкинга и никогда не помещайте его в исходные авторские ресурсы."
        },
        "/objects/@id=particle-format.object.spark-source/rationale": {
          "source_sha256": "858d4b9c38c082c3a038dd244f93622df1ac4c94573d2c618ec746ed357ba5ea",
          "translation": "ParticleBaker разбирает XML и создаёт runtime-бинарник; runtime никогда не загружает исходный файл."
        },
        "/objects/@id=particle-format.object.spark-source/requirement": {
          "source_sha256": "c4de7606f69858c6f775f4a8ecc5ef1acc87298dc235c271167b1f6492f7f334",
          "translation": "Создавайте системы SPARK как XML в файлах .spark, а из игрового контента ссылайтесь на соответствующий путь .spk."
        },
        "/objects/@id=particle-format.object.spawn-particles-action/family": {
          "source_sha256": "ff8059dc6752afdd30d275932b1d5031a2ec854b387a8c57ecc6689915293a43",
          "translation": "Actions",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.spawn-particles-action/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.spawn-particles-action/requirement": {
          "source_sha256": "48dbeda24ef1ab5ef2a1a4c3a74a2dd4bd8948097d72f38c0c26cd13db916385",
          "translation": "XML-тег <SpawnParticlesAction> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.sphere/family": {
          "source_sha256": "a53aa373c5e23e694a5498ab4d49bb604e15c7c77ba1aab4bc1423fc7fce7fe6",
          "translation": "Zones",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.sphere/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.sphere/requirement": {
          "source_sha256": "c1c153d4c740155185287183577c7e26a35a8a5160f8b50b3ff640cbf2fd9943",
          "translation": "XML-тег <Sphere> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.spheric-emitter/family": {
          "source_sha256": "b024842ed6364750562e78d0121ca7ce82eea7af2a79aa6189595ca89c169c9b",
          "translation": "Emitters",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.spheric-emitter/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.spheric-emitter/requirement": {
          "source_sha256": "6b21404cbf22197654effe47bde31adab2848ecdf6069bc3e38661c1557bae0b",
          "translation": "XML-тег <SphericEmitter> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.static-emitter/family": {
          "source_sha256": "b024842ed6364750562e78d0121ca7ce82eea7af2a79aa6189595ca89c169c9b",
          "translation": "Emitters",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.static-emitter/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.static-emitter/requirement": {
          "source_sha256": "5c888a238ed2793c3fe9de8fef54a334580250e914e7133ac0693736730b1e42",
          "translation": "XML-тег <StaticEmitter> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.straight-emitter/family": {
          "source_sha256": "b024842ed6364750562e78d0121ca7ce82eea7af2a79aa6189595ca89c169c9b",
          "translation": "Emitters",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.straight-emitter/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.straight-emitter/requirement": {
          "source_sha256": "1cef09b987057a3a73d80a8f9a00893dee58fd0c0dd467f9d82c54b25c2824c2",
          "translation": "XML-тег <StraightEmitter> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.system/family": {
          "source_sha256": "70ea1983c983deacc1b61805aea3d43648afd932f346fb2e5d9b15facd4035c2",
          "translation": "Core",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.system/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.system/requirement": {
          "source_sha256": "07d2ba3a41b813f320349dc1a2dd8cef428adf691261459c3ec5acbfdca4af49",
          "translation": "XML-тег <System> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/objects/@id=particle-format.object.vortex/family": {
          "source_sha256": "072da57facdcc631f41c5d886717e71197314fb5518d7c4b51033dbe11f7ffff",
          "translation": "Modifiers",
          "preserve_source": true
        },
        "/objects/@id=particle-format.object.vortex/rationale": {
          "source_sha256": "bc2c4073b709105a0aebc0a38111937dfbcac3f6f9aec7962023d497103b5e08",
          "translation": "Незарегистрированные теги объектов приводят к ошибке загрузки графа SPARK."
        },
        "/objects/@id=particle-format.object.vortex/requirement": {
          "source_sha256": "eb123c71689e5edf516a3ff94b21bd0ec9a11d78983f7a2ad4087336770273ec",
          "translation": "XML-тег <Vortex> зарегистрирован и доступен для редактирования в штатном редакторе частиц."
        },
        "/renderer_fields/@id=particle-format.renderer.atlas-dimensions/default": {
          "source_sha256": "ac4750dbb83d4a51542912ea8135f5e1107464ecc7892381c90b21d02d1b9d35",
          "translation": "1;1",
          "preserve_source": true
        },
        "/renderer_fields/@id=particle-format.renderer.atlas-dimensions/rationale": {
          "source_sha256": "e8dac3c4befd2c12806ee02bcd4759fdd53266af0dc936c9d6f8aa24a62af733",
          "translation": "Размеры атласа управляют разбиением UV, а не allocator-ом TextureAtlas Engine."
        },
        "/renderer_fields/@id=particle-format.renderer.atlas-dimensions/requirement": {
          "source_sha256": "86b5ffac03d8f1f4d5b1f29ba44010a493f6bdb79e8230b7a8ccd7b1dade4d39",
          "translation": "Одно значение задаёт число ячеек по X, два — по X и Y. Параметр индекса текстуры частицы выбирает ячейки атласа."
        },
        "/renderer_fields/@id=particle-format.renderer.blend-mode/default": {
          "source_sha256": "febe1d741b49e5a9c31526728d8c5134a803adfc4c04c4f052673722ed85597e",
          "translation": "не используется"
        },
        "/renderer_fields/@id=particle-format.renderer.blend-mode/rationale": {
          "source_sha256": "467126f8cd6910933c2c109521f0dddbf656c3fe0bfeed5e717c946642c31752",
          "translation": "Если считать это поле активным, внешний вид ресурсов будет зависеть от параметра, игнорируемого runtime."
        },
        "/renderer_fields/@id=particle-format.renderer.blend-mode/requirement": {
          "source_sha256": "8acecf8a09f6377a6da79e13436d458304e2a298b7db7cfb1c08d3108ac533ce",
          "translation": "Не задавайте blend mode: дескриптор объявляет его, но SparkQuadRenderer не импортирует, не экспортирует и не применяет поле. Выбирайте смешивание в эффекте .fofx."
        },
        "/renderer_fields/@id=particle-format.renderer.draw-in-scene/default": {
          "source_sha256": "fcbcf165908dd18a9e49f7ff27810176db8e9f63b4352213741664245224f8aa",
          "translation": "false",
          "preserve_source": true
        },
        "/renderer_fields/@id=particle-format.renderer.draw-in-scene/rationale": {
          "source_sha256": "2523e98bc9e95a5cfe1ab174d850e98fd1987487de8c0edd0bbc1bd3ae5312cf",
          "translation": "ParticleSprite имеет один маршрут отрисовки, выбираемый после просмотра всех groups."
        },
        "/renderer_fields/@id=particle-format.renderer.draw-in-scene/requirement": {
          "source_sha256": "f0eee77cd09771b1c78b6aabd73564642c5de53c496962fedb91c29836f0bc6c",
          "translation": "Когда рендерер любой группы включает отрисовку в сцене, весь ParticleSprite использует прямой маршрут сцены карты вместо обновления атласа."
        },
        "/renderer_fields/@id=particle-format.renderer.effect/default": {
          "source_sha256": "2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d",
          "translation": "пусто"
        },
        "/renderer_fields/@id=particle-format.renderer.effect/rationale": {
          "source_sha256": "ff6fc921bc8f4b7a4b95379e56816c45b2ef2ac2f1cd62e244cb56b86966a714",
          "translation": "Поведение blend, depth и шейдера определяется выбранным эффектом Engine."
        },
        "/renderer_fields/@id=particle-format.renderer.effect/requirement": {
          "source_sha256": "ec54b6b8d2e9ca557366a64c974f7386048cf406946b65795801c2139d7cf5a7",
          "translation": "Укажите запечённый ресурс .fofx, совместимый с EffectUsage::QuadSprite; рендерер загружает его через EffectManager."
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-depth-cull-sort/default": {
          "source_sha256": "9282b360f6d71c7cc378e17fa5d0946aed8ab5fe0857292947034fad6fc7ae5e",
          "translation": "задаётся для узла"
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-depth-cull-sort/rationale": {
          "source_sha256": "2dcc628972e6cebb7885b5acd2c52692f9025c914d3e15a9772dfe7abb2a26c0",
          "translation": "Состояние и порядок отрисовки сохраняются только там, где callback-геометрия может реализовать их без нарушения топологии strip или модели."
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-depth-cull-sort/requirement": {
          "source_sha256": "18376f451c012019d62fa61e05ff421a438420911fc99f96e4fe63d0b3b0bdfe",
          "translation": "Sprite и Ring могут использовать стабильную сортировку по глубине камеры; Ribbon, Track и Model не допускают Z-sort. ZTest/ZWrite каждого узла выбирают вариант эффекта по глубине, а отсечение граней Model выбирает режим отсечения отрисовки движка."
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-direct-scene/default": {
          "source_sha256": "b5bea41b6c623f7c09f1bf24dcae58ebab3c0cdd90ad966bc43a45b44867e12b",
          "translation": "true",
          "preserve_source": true
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-direct-scene/rationale": {
          "source_sha256": "bd7db56e26544324d229384b82b961217e1c6b5be67f491b1bcf082614e6cb1c",
          "translation": "Runtime Effekseer передаёт FOnline callback-геометрию вместо использования маршрута через атлас."
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-direct-scene/requirement": {
          "source_sha256": "83325c2b412b56d7e2d1af6c634b704d860731f972de5207daf3bc29614d9064",
          "translation": "Считайте эффекты Effekseer частицами прямого рендеринга в сцену и проверяйте поддерживаемые возможности их рендерера в клиенте FOnline."
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-distortion/default": {
          "source_sha256": "17eb3c0168d0d7b21ede5481150f17233427d89833ec121b4dbc4fb96cfab71e",
          "translation": "отключено"
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-distortion/rationale": {
          "source_sha256": "7d4000e091041aea40394c9d8e1ec2c57100425a254b9c0d53b62ba9dce0fd11",
          "translation": "Только геометрия спрайтов предоставляет преломляющую плоскость, необходимую эффекту distortion Engine."
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-distortion/requirement": {
          "source_sha256": "80a6b0fb7cc5f6684f782da03b7980754bd5e7ad690942dffbd456431970d89c",
          "translation": "Используйте искажение сцены только на узлах Sprite с текстурой искажения и конечной интенсивностью; отрисовка читает отложенный снимок фона сцены через BackgroundTex и ParticleSamplingBuf."
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-geometry/default": {
          "source_sha256": "4f0cd17f7369cd6f76ad23586db661e4c601cc1fa89dfb3dbd0491ccfe47e5b0",
          "translation": "Рендереры движка"
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-geometry/rationale": {
          "source_sha256": "c0e5b98740bb1a03690ca635d0e2da5c6fcb3d1c47d7937620f807f848fc4485",
          "translation": "Runtime FOnline не использует графический backend Effekseer и завершает работу с ошибкой для нереализованных семейств узлов."
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-geometry/requirement": {
          "source_sha256": "d6ac150f9c14753d50426520a62f21bc21e9341180d4893ac9345c05a9d55508",
          "translation": "Используйте только узлы Root, None, Sprite, Ring, Ribbon, Track и Model; пять рисуемых семейств преобразуются в callback-геометрию движка."
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-global-exclusions/default": {
          "source_sha256": "60945d49535300be8e42108658dba31fcd5d665fc40d6f186798e7e0682320ae",
          "translation": "не поддерживается"
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-global-exclusions/rationale": {
          "source_sha256": "e4b6dcbbec24cee0cfaf67ccf01898daaad7a41f4da1e60e7e110af5101e0cb2",
          "translation": "Runtime отклоняет неподдерживаемые глобальные ресурсы до принятия эффекта."
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-global-exclusions/requirement": {
          "source_sha256": "bbdd350ab12f2190758f447871490faf94f365bf6b8799baf30a3c2eefecf09f",
          "translation": "Не используйте GPU-частицы, normal-текстуры, звуки, пользовательские материалы, внешние кривые или процедурные модели. Ссылочные ресурсы статических моделей должны загружаться и проходить проверку FOnline."
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-material-profile/default": {
          "source_sha256": "7fff3920794b9ca28e2c1baad5cb42f8bd1be31e7a79f4e08e1481c1afbf228b",
          "translation": "Материал Default; заданный сэмплинг"
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-material-profile/rationale": {
          "source_sha256": "e6da025ae5115ae1414bf5fa63a0341692b9140f50fd73aac9f2c201cb103f5a",
          "translation": "Callback-renderer-ы реализуют намеренно ограниченный профиль материалов и проверяют его перед отрисовкой."
        },
        "/renderer_fields/@id=particle-format.renderer.effekseer-material-profile/requirement": {
          "source_sha256": "8ebf5df41d73be85b6d6d0151547b7c388afe25886b3793b89ec7c129e7ccb90",
          "translation": "Используйте материал Default, смешивание Normal/Add/Sub, фильтрацию nearest или linear и адресацию Clamp или Repeat. Смешивание Multiply, зеркальная адресация, дополнительные слоты текстур, пользовательские материалы, soft particles, falloff и интерполяция flipbook отклоняются."
        },
        "/renderer_fields/@id=particle-format.renderer.locked-axis/default": {
          "source_sha256": "3868b9b6608cd4114727cc4b9c82a6d181b593d36953fd528eba9211926d1ba8",
          "translation": "LOCK_UP",
          "preserve_source": true
        },
        "/renderer_fields/@id=particle-format.renderer.locked-axis/rationale": {
          "source_sha256": "021b9856ec91874189dfa4bdfbb6c236a7c8271ae3531321ac41ca320d720b61",
          "translation": "Импортируются и экспортируются только эти два имени."
        },
        "/renderer_fields/@id=particle-format.renderer.locked-axis/requirement": {
          "source_sha256": "40fe31e92a0363f735a15d1258fb8a76196d2e551702e3e8a8c2dea64801359b",
          "translation": "Используйте LOCK_LOOK или LOCK_UP, когда режиму ориентации по оси требуется зафиксировать один вектор."
        },
        "/renderer_fields/@id=particle-format.renderer.locked-look-vector/default": {
          "source_sha256": "8d82467b7686f652efdcf792dff0763f739cb8fc051f68d968b4e53cbc5d0387",
          "translation": "(0,0,1)",
          "preserve_source": true
        },
        "/renderer_fields/@id=particle-format.renderer.locked-look-vector/rationale": {
          "source_sha256": "2c6f3a1f7449e4c7b992a30ec78e3d8c5c5aaeebdf69d8098418c1565d6f6c6a",
          "translation": "Значение импортируется напрямую в lookVector SPARK."
        },
        "/renderer_fields/@id=particle-format.renderer.locked-look-vector/requirement": {
          "source_sha256": "b10591cbbd0b321dca789e77e9e8911fccf292c44e5e3ba11b009369f6d3ed00",
          "translation": "Укажите мировой или локальный вектор взгляда для выбранного режима ориентированного четырёхугольника."
        },
        "/renderer_fields/@id=particle-format.renderer.locked-up-vector/default": {
          "source_sha256": "de66332d4f7284a3fb59f87ec95d0976ebe86ee643587d76f9762158ed7ea8c5",
          "translation": "(0,1,0)",
          "preserve_source": true
        },
        "/renderer_fields/@id=particle-format.renderer.locked-up-vector/rationale": {
          "source_sha256": "641168786e7cb5e6f851cc51745aabce743c71a63896beff4229c9a03c845392",
          "translation": "Значение импортируется напрямую в upVector SPARK."
        },
        "/renderer_fields/@id=particle-format.renderer.locked-up-vector/requirement": {
          "source_sha256": "ccabfabf7b6d607d5b8e0d1653146a5901ecf8fd5d4a788810615e91088d1506",
          "translation": "Укажите мировой или локальный вектор вверх для выбранного режима ориентированного четырёхугольника."
        },
        "/renderer_fields/@id=particle-format.renderer.look-orientation/default": {
          "source_sha256": "a3e6e81dcd6e2b7565d71b2c45672808fdb0c8d79c0a6ad428786c4aee38f550",
          "translation": "LOOK_CAMERA_PLANE",
          "preserve_source": true
        },
        "/renderer_fields/@id=particle-format.renderer.look-orientation/rationale": {
          "source_sha256": "83044f93d37eeb4d869d65aa1a7299350779a008c25706df2ce8423a66ee44e8",
          "translation": "Разбор строки является явной закрытой ветвью импорта SparkQuadRenderer."
        },
        "/renderer_fields/@id=particle-format.renderer.look-orientation/requirement": {
          "source_sha256": "109eb66dc2007422157fe1a5050d9eff2817e2a75ff8f6c68c2f3d03c472e3e5",
          "translation": "Используйте одно из четырёх распознаваемых имён ориентации взгляда; другие строки не меняют ориентацию по умолчанию."
        },
        "/renderer_fields/@id=particle-format.renderer.scale/default": {
          "source_sha256": "ac4750dbb83d4a51542912ea8135f5e1107464ecc7892381c90b21d02d1b9d35",
          "translation": "1;1",
          "preserve_source": true
        },
        "/renderer_fields/@id=particle-format.renderer.scale/rationale": {
          "source_sha256": "b30a292f0a5331b0a006615c6d2349b2836c230019c530dc70863dcc17b679ad",
          "translation": "Engine напрямую сопоставляет поле масштабу QuadRenderBehavior SPARK."
        },
        "/renderer_fields/@id=particle-format.renderer.scale/requirement": {
          "source_sha256": "bc1a2cb8fca252e6e986176da148d3253590c0a336994fbddeacaacb206a86b9",
          "translation": "Одно значение изменяет X, сохраняя Y по умолчанию; два значения задают масштаб X и Y четырёхугольника частицы."
        },
        "/renderer_fields/@id=particle-format.renderer.spark-draw-route/default": {
          "source_sha256": "fcbcf165908dd18a9e49f7ff27810176db8e9f63b4352213741664245224f8aa",
          "translation": "false",
          "preserve_source": true
        },
        "/renderer_fields/@id=particle-format.renderer.spark-draw-route/rationale": {
          "source_sha256": "37452d37af983936402102f31aadae2e9d79dfaa9fe9835891dba09bfc1ea473",
          "translation": "По запросу renderer-а runtime SPARK переводит всю систему частиц на прямую отрисовку в сцене."
        },
        "/renderer_fields/@id=particle-format.renderer.spark-draw-route/requirement": {
          "source_sha256": "bc1f3b604c27bf1de9e50f96f165b7fc8238638d8be1cda7ec10a51e75da9699",
          "translation": "Для обычных спрайтов частиц используйте рендеринг в атлас; включайте DrawInScene, когда эффект должен использовать сцену карты и её контур глубины."
        },
        "/renderer_fields/@id=particle-format.renderer.spark-resources/default": {
          "source_sha256": "2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d",
          "translation": "пусто"
        },
        "/renderer_fields/@id=particle-format.renderer.spark-resources/rationale": {
          "source_sha256": "82d6c426a709a7f300a3cfff558ea7817ea92409f15be12928fcd95702e4690e",
          "translation": "SparkQuadRenderer импортирует оба значения и использует ресурсы отрисовки FOnline."
        },
        "/renderer_fields/@id=particle-format.renderer.spark-resources/requirement": {
          "source_sha256": "6e1213a2f6e24692bd667f9036b6fa45480a9052c4de0c80cb27e7c6478870fe",
          "translation": "Выберите запечённый эффект FOnline и путь текстуры, допустимый для исходного ресурса частиц."
        },
        "/renderer_fields/@id=particle-format.renderer.texture/default": {
          "source_sha256": "2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d",
          "translation": "пусто"
        },
        "/renderer_fields/@id=particle-format.renderer.texture/rationale": {
          "source_sha256": "cba137a3cb2a03863ff737d6cf5d80d9b875884a83e9a8bcc4edee2f9975c019",
          "translation": "Относительные имена текстур сохраняют переносимость пакетов частиц и повторно используют image pipeline Engine."
        },
        "/renderer_fields/@id=particle-format.renderer.texture/requirement": {
          "source_sha256": "f9c54ae54fdbb70ae6423563825d042d03f1a6f1bc4786791ee842dd6ad71a89",
          "translation": "Разрешите поддерживаемый ресурс спрайта относительно каталога исходного .spark и загрузите его текстуру атласа через предоставленный загрузчик текстур."
        },
        "/renderer_fields/@id=particle-format.renderer.up-orientation/default": {
          "source_sha256": "f4ec58aaed5bec18833a9cf511b25985f21388b64385bb4633d1082f366744a3",
          "translation": "UP_CAMERA",
          "preserve_source": true
        },
        "/renderer_fields/@id=particle-format.renderer.up-orientation/rationale": {
          "source_sha256": "c81e45b6d7a97fd4fa059e5cd99925c76a91d0d8fa383643f6ba626ccc479e82",
          "translation": "Renderer сопоставляет эти точные имена режимам oriented quad SPARK."
        },
        "/renderer_fields/@id=particle-format.renderer.up-orientation/requirement": {
          "source_sha256": "c994b91f1b0b5846ddbcc5c03ab59fda501052eac4082fd14a26f3cc19c343c8",
          "translation": "Используйте одно из четырёх распознаваемых имён верхней ориентации; другие строки не меняют ориентацию по умолчанию."
        },
        "/runtime_rules/@id=particle-format.runtime.atlas-path/name": {
          "source_sha256": "aaa4bb471a973d499bc300d8e931a2967753640d19f31d3d48431400facc8923",
          "translation": "Стандартный маршрут через внеэкранный атлас"
        },
        "/runtime_rules/@id=particle-format.runtime.atlas-path/rationale": {
          "source_sha256": "8050f57e74dd02fea9d5f65e37928047c344ffae382a3003e2ed43889b64eb2a",
          "translation": "Стандартный маршрут сохраняет обычный порядок и пакетирование спрайтов ценой уплощения глубины частиц."
        },
        "/runtime_rules/@id=particle-format.runtime.atlas-path/requirement": {
          "source_sha256": "55551e493301623b54c1f88354970c193bec9dc6704163932225047832893db0",
          "translation": "При выключенном draw in scene обновления рисуют систему SPARK в промежуточную render target и копируют её в атлас спрайтов; обычный пакетный рендеринг спрайтов рисует полученный четырёхугольник."
        },
        "/runtime_rules/@id=particle-format.runtime.backend-composition/name": {
          "source_sha256": "ab2199495dfa99615a941c2b720581218d9465df14cb76f2addc5429cf2705ee",
          "translation": "Компоновка подсистем"
        },
        "/runtime_rules/@id=particle-format.runtime.backend-composition/rationale": {
          "source_sha256": "0a0779a8acccfd24085511bab10494a01c943004fa58b56ddd63fd356bd854a6",
          "translation": "CreateParticleRuntimeBackends — единая точка компоновки, учитывающая включённые возможности."
        },
        "/runtime_rules/@id=particle-format.runtime.backend-composition/requirement": {
          "source_sha256": "41bb290a304b383ec2b97f39e24ddc9b8bb05f995844396f804afc072efc57bd",
          "translation": "Собирайте только подсистемы частиц, выбранные FO_SPARK_PARTICLES и FO_EFFEKSEER_PARTICLES."
        },
        "/runtime_rules/@id=particle-format.runtime.baked-bounds/name": {
          "source_sha256": "f0696a9ade885c3fe9e727e94a1fdf8e696facf34b9d61dc1489499e75c21065",
          "translation": "Обязательные запечённые границы"
        },
        "/runtime_rules/@id=particle-format.runtime.baked-bounds/rationale": {
          "source_sha256": "f1dae483e1dc422d0b350ca11d37793d13bdd537f5865ad0ca7198fe0bf297c9",
          "translation": "Статически измеренные границы заменяют ручные размеры отрисовки и не требуют пересчитывать AABB частиц каждый кадр."
        },
        "/runtime_rules/@id=particle-format.runtime.baked-bounds/requirement": {
          "source_sha256": "460a5cda7929b7b55f4e3e26ab1e2daa52c1bce28568ff853c67c1d28cac2536",
          "translation": "Запекайте для каждой системы частиц смоделированный параллелепипед позиций и максимальный радиус billboard в runtime-ресурс. SPARK отклоняет систему, которая ни разу не показала частицу; Effekseer добавляет и проверяет обязательный trailer границ."
        },
        "/runtime_rules/@id=particle-format.runtime.bounds-semantics/name": {
          "source_sha256": "84d8592be0066dd21e6c04bac2dc3805c7c132ad93ef592dc15622c7ce98c509",
          "translation": "Параллелепипед позиций и радиус billboard"
        },
        "/runtime_rules/@id=particle-format.runtime.bounds-semantics/rationale": {
          "source_sha256": "425eb41fb506cc627526f8e64fa11e6072f28e91e9b48319310ca058649d70ce",
          "translation": "Вращение или перемещение радиуса billboard как мировой точки завышает кадр и всё равно может неверно описывать его экранный размер."
        },
        "/runtime_rules/@id=particle-format.runtime.bounds-semantics/requirement": {
          "source_sha256": "8f6031bcc99d4c4f2c0151f6629acefaeb4948d1dcbaef85e30909433ba6e6c1",
          "translation": "Считайте ParticleBounds3D.PositionMin/PositionMax мировыми позициями, преобразованными полной матрицей размещения, а BillboardRadius — ориентированным к камере запасом, преобразованным только масштабом размещения."
        },
        "/runtime_rules/@id=particle-format.runtime.extension-routing/name": {
          "source_sha256": "97c3da94e448c91b354aa0f8b5c7ef53d2754f59960c30039c005fdbccbef9e4",
          "translation": "Маршрутизация по расширению"
        },
        "/runtime_rules/@id=particle-format.runtime.extension-routing/rationale": {
          "source_sha256": "10e9659df100a83d4d4dec0a0c339698d202bdbe94e1da8c71e7991125777340",
          "translation": "Расширения исходных авторских файлов не являются runtime-форматами спрайтов."
        },
        "/runtime_rules/@id=particle-format.runtime.extension-routing/requirement": {
          "source_sha256": "f8a0a1147feecffdb89154035e708253210a8fa7480b6bf76bf8e12b6866f404",
          "translation": "Ссылайтесь на пути запечённых .spk или .efk; ParticleManager выбирает подсистему по объявленному ею расширению."
        },
        "/runtime_rules/@id=particle-format.runtime.live-bounds/name": {
          "source_sha256": "991d6cf3b959e68f5da1e6823e835069df0bd4ddade4cbd5cfc8c086b844613e",
          "translation": "Активные границы"
        },
        "/runtime_rules/@id=particle-format.runtime.live-bounds/rationale": {
          "source_sha256": "a94fdafd79ce455e98fed7aa747d1354a0df08c34e0a0b8697b3ffc3d816976f",
          "translation": "Периодические прикреплённые эффекты должны расширять содержащую их модель только во время видимости."
        },
        "/runtime_rules/@id=particle-format.runtime.live-bounds/requirement": {
          "source_sha256": "de21a3048bbf72b3ea7069208027372c253f2d57472ac52f0f6c2d9508b6d22d",
          "translation": "GetLiveBounds возвращает преобразованные запечённые границы, только пока в подсистеме есть активные частицы или экземпляры; неактивные и завершённые системы не резервируют пространство кадра модели."
        },
        "/runtime_rules/@id=particle-format.runtime.prewarm/name": {
          "source_sha256": "aa3007c02fc4b5c35552d56bbdf8a5d4187733dc6d17a86bf36bfcee644039ac",
          "translation": "Prewarm",
          "preserve_source": true
        },
        "/runtime_rules/@id=particle-format.runtime.prewarm/rationale": {
          "source_sha256": "66012978e33b93c2ff14953d44613f93f8be64b910b1a8fd98aa1635d297eeef",
          "translation": "Runtime продвигает выбранную подсистему и сбрасывает время фасада к сообщённому прошедшему времени."
        },
        "/runtime_rules/@id=particle-format.runtime.prewarm/requirement": {
          "source_sha256": "45682af5a4e640d5d9140e37777161a950d717aac7982f55cf10afae7dc512c0",
          "translation": "Используйте prewarm, только когда эффект должен появиться уже смоделированным, и учитывайте его стоимость в проектном пороге производительности."
        },
        "/runtime_rules/@id=particle-format.runtime.scale/name": {
          "source_sha256": "b699bdc2365aaec04344f9d8a1efccda99a3bb4795954d18ee8964d9c024eea6",
          "translation": "Runtime-масштаб"
        },
        "/runtime_rules/@id=particle-format.runtime.scale/rationale": {
          "source_sha256": "cdba316a1b41b1bdb57c1dd398d929455376aa3f39b4242bffd6f2310919633f",
          "translation": "Масштаб входит в независимую от подсистемы runtime-настройку и принудительно обновляет трансформацию."
        },
        "/runtime_rules/@id=particle-format.runtime.scale/requirement": {
          "source_sha256": "cd876c7311b3c2619aa259520cb44df5f86c1b46e4672e8f1002dc2455c1ebf6",
          "translation": "Применяйте конечный положительный масштаб через ParticleSystem и повторно проверяйте границы, глубину и размещение привязок."
        },
        "/runtime_rules/@id=particle-format.runtime.scene-path/name": {
          "source_sha256": "c52b3ba496c5e338dcac913786ad7af0143fd69cc8500a1b8b9c46f5864b54cc",
          "translation": "Прямой маршрут сцены карты"
        },
        "/runtime_rules/@id=particle-format.runtime.scene-path/rationale": {
          "source_sha256": "bd91f285ecb4d02944851c507b4064293163337c9e243224100e8648af9aaf7d",
          "translation": "Частицы мирового пространства могут перекрываться стоящими спрайтами и моделями согласно состоянию глубины выбранного .fofx."
        },
        "/runtime_rules/@id=particle-format.runtime.scene-path/requirement": {
          "source_sha256": "3afce3e2fb8dce834ba795d5155d1ad4faa072172642f08c47ff059455e33a04",
          "translation": "При включённом draw in scene ParticleSprite рисуется напрямую и выводит геометрию SPARK в проекции карты с общей целью глубины вместо обновления своей области атласа."
        },
        "/runtime_rules/@id=particle-format.runtime.seed/name": {
          "source_sha256": "8b22184cdac0c857e26cc9036e3d0db2b40a635a56668de715d531d23e801bda",
          "translation": "Повторное создание с seed"
        },
        "/runtime_rules/@id=particle-format.runtime.seed/rationale": {
          "source_sha256": "f55be7b87213b1cd9631f76b2fbb791a5d80003e8ae34a9599c65cd6074fab51",
          "translation": "Нейтральный фасад передаёт seed выбранной подсистеме."
        },
        "/runtime_rules/@id=particle-format.runtime.seed/requirement": {
          "source_sha256": "3c8f749aef91464bec4f4ec693a618c4181b976d50a6e39b07e0b4d848155909",
          "translation": "Используйте явный seed, когда требуется детерминированное воспроизведение или сравнение."
        },
        "/runtime_rules/@id=particle-format.runtime.sprite-frame/name": {
          "source_sha256": "8db057520e3fb5ff5f18627bbec6d31df4333e2c565d97dcf129f6dc9a00513d",
          "translation": "Автоматический кадр спрайта частиц"
        },
        "/runtime_rules/@id=particle-format.runtime.sprite-frame/rationale": {
          "source_sha256": "35c36cf31d18272f5c5acc9139470623870f7c5bedc6303c6f262de6e4f92d06",
          "translation": "Выделение ParticleSprite следует измеренному содержимому эффекта без авторского поля размера отрисовки."
        },
        "/runtime_rules/@id=particle-format.runtime.sprite-frame/requirement": {
          "source_sha256": "27a3cb6c53772e3012a4937134de650a1a7e814e70ede7644718db70dd98e75d",
          "translation": "ParticleSystem проецирует запечённые границы с учётом наклона камеры карты, добавляет запасы billboard и сглаживания и автоматически вычисляет размер атласа, смещение эмиттера и мировую трансформацию. При недопустимых или недоступных границах используются Render.DefaultParticleDrawWidth/Height."
        },
        "/runtime_rules/@id=particle-format.runtime.sprite-semantics/name": {
          "source_sha256": "5a7df04ae0e3ba3c02f90b4847996a1379c613d30383761a3e4683bfb13ce0ab",
          "translation": "Семантика анимации ParticleSprite"
        },
        "/runtime_rules/@id=particle-format.runtime.sprite-semantics/rationale": {
          "source_sha256": "e7197c480a5d0df54a5034bca58cd3e065526aff70f257105ab2159170f88262",
          "translation": "Универсальные элементы управления анимацией Sprite не соответствуют временной шкале SPARK или выбору направления."
        },
        "/runtime_rules/@id=particle-format.runtime.sprite-semantics/requirement": {
          "source_sha256": "34f5c8fbd28837f1751c7e6649c24b49093ff6648a02e5b3f6b91f108e0d8578",
          "translation": "ParticleSprite нельзя копировать и он никогда не участвует в hit test; Play пересоздаёт систему, Stop ничего не делает, SetTime и SetDir игнорируются, а IsPlaying отражает активное состояние SPARK."
        },
        "/runtime_rules/@id=particle-format.runtime.update-cadence/name": {
          "source_sha256": "fcf4ceb9053d713e20dd4bde9b336fcc9a7cebc8f8ca0f5d87f6c74ec14b7cda",
          "translation": "Частота обновления"
        },
        "/runtime_rules/@id=particle-format.runtime.update-cadence/rationale": {
          "source_sha256": "af2d2a1d10f660f03477dc8f1de50fad5f558890d8688ed32488e07f12259da3",
          "translation": "Симуляция частиц использует общую настройку 3D-анимации, а не отдельный FPS частиц."
        },
        "/runtime_rules/@id=particle-format.runtime.update-cadence/requirement": {
          "source_sha256": "61829bdc1bb9b2f5b748de3b1325ceca4b78676413e87bf57adeeae3eb9d8829",
          "translation": "Render.Animation3dFPS задаёт порог обновления частиц в миллисекундах; ноль оставляет нулевой порог и тем самым допускает обновление каждый кадр."
        },
        "/runtime_rules/@id=particle-format.runtime.world-scale/name": {
          "source_sha256": "d7279f62766bcc3c71a20f73f9a37e80de59c4d50f56db94b42fa8790bb7ba2d",
          "translation": "Общий масштаб моделей и частиц"
        },
        "/runtime_rules/@id=particle-format.runtime.world-scale/rationale": {
          "source_sha256": "cc85eeeaafe45242871fb368b26617b7c70a0d2ea50ee66acd81cae831f8b79f",
          "translation": "ParticleSprite и проекция модели используют одну настройку масштаба, поэтому проектные переопределения влияют на оба типа."
        },
        "/runtime_rules/@id=particle-format.runtime.world-scale/requirement": {
          "source_sha256": "d71d78324b2c1221eda07fd6cff199df8222c5689472c054cb218f50d92feaa2",
          "translation": "Render.ModelProjFactor задаёт число экранных пикселей на единицу трёхмерного мира для моделей и частиц в сцене. Значение движка по умолчанию — 40.0; встраивающий проект может согласованно его переопределить."
        },
        "/scope/excluded": {
          "source_sha256": "e5f12d6bd4f566cff3d5b098361a3679202e3c82e2e250da1c282c736807ba9a",
          "translation": [
            "каталоги частиц, имена файлов, визуальная политика и бюджеты подключаемого проекта",
            "выбранные проектом эффекты, текстуры, модели и сцены приёмки",
            "неподдерживаемые семейства renderer-ов и расширенные возможности Effekseer",
            "поведение upstream-редакторов, отсутствующее в поставляемых инструментах",
            "сгенерированные файлы .spk и .efk как авторские исходники"
          ]
        },
        "/scope/included": {
          "source_sha256": "bc9381195187318bd56430b6d75f3be63fe2dfbb3bfdd05ee27ec59444ef40b0",
          "translation": [
            "авторинг SPARK .spark и доставка запечённых .spk",
            "авторинг Effekseer .efkproj и доставка запечённых .efk",
            "независимый от backend runtime частиц и интеграция спрайтов",
            "предпросмотр Mapper и инструменты авторинга SPARK",
            "интеграция ресурсов, моделей и клиентских скриптов",
            "основанные на исходниках проверки и production-gate"
          ]
        },
        "/scope/support_note": {
          "source_sha256": "59f89383d2db0c0ac6e83d531c679cb0d83612fe0014bf7eeab08d532d7c212a",
          "translation": "SPARK и Effekseer являются независимыми необязательными backend-ами. Подключаемые проекты должны закреплять ревизию Engine и явно включать, проверять и поддерживать поставляемые ими форматы."
        },
        "/tooling_rules/@id=particle-format.tooling.effekseer-editor/name": {
          "source_sha256": "362907c13faf3155ee955f83aacf33171becce172e77e818a72d34c4634e77bd",
          "translation": "Отдельный Effekseer Editor"
        },
        "/tooling_rules/@id=particle-format.tooling.effekseer-editor/rationale": {
          "source_sha256": "2ebe4ebb066805ce5cacc3a7aaa5597497cd80f802ec1832e96096fbe7e587cf",
          "translation": "У редактора изолированная вспомогательная сборка и отдельный размещаемый payload."
        },
        "/tooling_rules/@id=particle-format.tooling.effekseer-editor/requirement": {
          "source_sha256": "97dd72fa8aecd375d7e02ae5eae32bcea32dbf43091655c5a21046dda87b9065",
          "translation": "Собирайте и размещайте Windows-инструмент авторинга Effekseer командой buildtools.py build-auxiliary; не поставляйте его как runtime-зависимость игры."
        },
        "/tooling_rules/@id=particle-format.tooling.incremental-effekseer/name": {
          "source_sha256": "ee2347022c60f7b3e1d6eebebe2cc779926af44a551b8505cd34371fc8511b1b",
          "translation": "Кеш зависимостей Effekseer"
        },
        "/tooling_rules/@id=particle-format.tooling.incremental-effekseer/rationale": {
          "source_sha256": "b034436272027c312887610db53795e726902be13fea463dbb1dd7e5d0fc34e6",
          "translation": "Кеш инвалидирует эффект при изменении его проекта или зависимостей."
        },
        "/tooling_rules/@id=particle-format.tooling.incremental-effekseer/requirement": {
          "source_sha256": "83a0a9ebce6be13c777706e308ebf08373449e5c357f9706f04f7a81d4529d5d",
          "translation": "Позвольте ParticleBaker отслеживать сообщаемые компилятором снимки зависимостей; после изменения поведения компилятора принудительно выполните полный повторный бейкинг."
        },
        "/tooling_rules/@id=particle-format.tooling.mapper-preview/name": {
          "source_sha256": "1f9c11aee850fe8b6ad4143985590df34123d162eefed0d6ab4c025264e40a69",
          "translation": "Независимый от подсистемы предпросмотр в Mapper"
        },
        "/tooling_rules/@id=particle-format.tooling.mapper-preview/rationale": {
          "source_sha256": "d10ff59fdec9a6e491197fa51c603cb4a637904a3958a77166b21021d76cfd05",
          "translation": "Предпросмотр использует тот же фасад ParticleSystem и те же runtime-расширения, что и игра."
        },
        "/tooling_rules/@id=particle-format.tooling.mapper-preview/requirement": {
          "source_sha256": "ad271b538c0c00381b43695c6685e20e1f7227bcb57d4be40959260d735253f6",
          "translation": "Просматривайте запечённые ресурсы .spk и .efk через окно частиц Mapper, явно задавая размещение, seed, масштаб, смещение и необязательный prewarm."
        },
        "/tooling_rules/@id=particle-format.tooling.normalized-round-trip/name": {
          "source_sha256": "12bc12ce71bfc6ef24c65d59fe17de047e3a80a355bfa6744100e98938adc060",
          "translation": "Нормализованный сериализатором round trip"
        },
        "/tooling_rules/@id=particle-format.tooling.normalized-round-trip/rationale": {
          "source_sha256": "6605d96db7f38fd54d9de728f2e123a3db93f3b175f2fa62a4ca98d318a82ce6",
          "translation": "Редактор сохраняет граф объектов, а не сохраняющее токены синтаксическое дерево XML."
        },
        "/tooling_rules/@id=particle-format.tooling.normalized-round-trip/requirement": {
          "source_sha256": "1f620895e48d3d900d2130aa3a914600ed268803b85766d811912fb75078795d",
          "translation": "Учитывайте, что Save переписывает порядок объектов, необязательные поля и поля по умолчанию, вложенность, ссылки и форматирование по правилам сериализатора графа SPARK; проверяйте семантический diff."
        },
        "/tooling_rules/@id=particle-format.tooling.spark-editor/name": {
          "source_sha256": "0f122cd8f74840888cad0dd7baa046207a9e99a2562680f20e300544d9087c94",
          "translation": "Редактор SPARK в Mapper"
        },
        "/tooling_rules/@id=particle-format.tooling.spark-editor/rationale": {
          "source_sha256": "78017c48ca7b9926f83f3620b81b663f0f5895e2a7323d69ed152b5f1ba0f1b3",
          "translation": "Редактор читает исходные ресурсы, а предпросмотр показывает запечённую runtime-форму."
        },
        "/tooling_rules/@id=particle-format.tooling.spark-editor/requirement": {
          "source_sha256": "85ec27d75a9c9a7fb60d370d12545ca7d730280cafa3d000eff97fc09c915bf4",
          "translation": "Редактируйте исходные ресурсы .spark в Mapper, сохраняйте их через XML-сериализатор SPARK, затем повторно запекайте и пересоздавайте предпросмотр .spk."
        },
        "/validation_rules/@id=particle-format.validation.baker-tests/name": {
          "source_sha256": "4dcc797aee7d4c318ad28b0f13f36faf702ee40e0ab7f5d4f32c23d4963e2cba",
          "translation": "Тесты бейкера частиц"
        },
        "/validation_rules/@id=particle-format.validation.baker-tests/rationale": {
          "source_sha256": "95d8c2b25c7a3f2a80a941af66b894f1713ac6bb3365665567f03a71037822e1",
          "translation": "Нативный набор проверяет границы бейкинга обеих подсистем."
        },
        "/validation_rules/@id=particle-format.validation.baker-tests/requirement": {
          "source_sha256": "58c168fddeeeb4fd725b1eb1b07f7543a22af8e22e82cf44ee4f35c6f5fe0d97",
          "translation": "После изменения исходных форматов, трансформаций, проверки путей, вывода компилятора или инвалидации зависимостей запускайте модульные тесты ParticleBaker."
        },
        "/validation_rules/@id=particle-format.validation.documentation/name": {
          "source_sha256": "b332a213cf4d245ca73848868307505e3e6b53863da3f8852074a7d0ad680c0a",
          "translation": "Контракт документации"
        },
        "/validation_rules/@id=particle-format.validation.documentation/rationale": {
          "source_sha256": "159560643b63c8c109159f62a0c4659502d02d386a1c2b07d194d7d5a2c98465",
          "translation": "Манифест проверяет каждый якорь исходника и сгенерированную страницу."
        },
        "/validation_rules/@id=particle-format.validation.documentation/requirement": {
          "source_sha256": "182a20a3539a4fc4e057d53c37e15733c2f28f886581e4ca4adb8af2a04b9e5b",
          "translation": "После изменения форматов частиц, подсистем, инструментов или интеграций запускайте docs_particle_format.py --check и его сфокусированный модульный тест."
        },
        "/validation_rules/@id=particle-format.validation.effekseer-runtime/name": {
          "source_sha256": "3d64926eb20442e033596888e00e5b4bb1bac6cc3e0c90af6562a587ac0e4792",
          "translation": "Runtime-тесты Effekseer"
        },
        "/validation_rules/@id=particle-format.validation.effekseer-runtime/rationale": {
          "source_sha256": "c039cb5251dd3e090984a70a27f40f587203cec7e4f5a9f789bc514ebd469201",
          "translation": "Набор проверяет детерминированную callback-геометрию и поддерживаемое runtime-поведение."
        },
        "/validation_rules/@id=particle-format.validation.effekseer-runtime/requirement": {
          "source_sha256": "db62aac2443832be32762f1d91134518216f24109ec977c68880a140d2519b1f",
          "translation": "После изменения геометрии компилятора или runtime, сортировки, пакетирования, текстур, seed или масштаба запускайте сфокусированные runtime-тесты Effekseer."
        },
        "/validation_rules/@id=particle-format.validation.model-route/name": {
          "source_sha256": "6322ee071b1b8b354c794899258282fe5bef9d34abcdf50fb3c7d251d2ab8cf0",
          "translation": "Маршрут привязки к модели"
        },
        "/validation_rules/@id=particle-format.validation.model-route/rationale": {
          "source_sha256": "93a8370a2e88870684660ef264d726d29eab9cf3a2b4e61953c4fc003218d44f",
          "translation": "Тесты ParticleSprite не проверяют владение привязкой к кости модели или проекцию."
        },
        "/validation_rules/@id=particle-format.validation.model-route/requirement": {
          "source_sha256": "f3d0c5ece8208ac6b3e0fb831a8f577331bfe2841b53977032133618a633a6de",
          "translation": "Для изменений AttachParticles или Critter.RunParticle визуально проверяйте целевую кость, смещение, время жизни активного слоя, анимацию и профиль FO_ENABLE_3D."
        },
        "/validation_rules/@id=particle-format.validation.project-bake/name": {
          "source_sha256": "b29502214f82b6db2149775337e6ae7c14c8d5319b675aa06410800c5cbb83af",
          "translation": "Бейкинг встраивающего проекта"
        },
        "/validation_rules/@id=particle-format.validation.project-bake/rationale": {
          "source_sha256": "c5bb982f1479b11f838aa2981b9836f887104eae49f79085f1a9aa4bbb9020f8",
          "translation": "Только проектный бейкинг видит полный граф ресурсов и выбранные возможности проекта."
        },
        "/validation_rules/@id=particle-format.validation.project-bake/requirement": {
          "source_sha256": "3ec73d420701724b1455655c3ebfae6c2f8dc04c31d36e75d3a9623c5118ef01",
          "translation": "Повторно запеките затронутый встраивающий проект и отклоняйте авторские .spk/.efk, некорректные исходники, отсутствующие зависимости и устаревшие сгенерированные ресурсы."
        },
        "/validation_rules/@id=particle-format.validation.render-routes/name": {
          "source_sha256": "a962f9af27d5ee63ab15f0b0fe293f178a4323bb5978ad4d38c67a92d6997f0f",
          "translation": "Оба маршрута рендеринга"
        },
        "/validation_rules/@id=particle-format.validation.render-routes/rationale": {
          "source_sha256": "02c428701d9c20d279f8cb4c5dd02dc04fc81cc63279ff61aa3d15e12db8a63e",
          "translation": "Headless-разбор не доказывает правильность кадрирования, альфа-канала, смешивания, глубины, ориентации или мирового масштаба."
        },
        "/validation_rules/@id=particle-format.validation.render-routes/requirement": {
          "source_sha256": "98b89a8322b46cd6063a6db33620d503a55dd31e00accf8e0747b1aea203c861",
          "translation": "Визуально проверяйте частицы в атласе и непосредственно в сцене с реальным порядком отрисовки, углом камеры, масштабом, перекрывающей геометрией глубины и поддерживаемыми backend-рендерерами."
        },
        "/validation_rules/@id=particle-format.validation.visible-scene/name": {
          "source_sha256": "aea545a9a6e5b18a0445bcab8b303907e3a1c96ac42ba650e0ce3ef51694c767",
          "translation": "Видимая runtime-проверка"
        },
        "/validation_rules/@id=particle-format.validation.visible-scene/rationale": {
          "source_sha256": "5da7940f47fd9dae8da9b9aebed1a2a41e9ca0571cacd8f5c495dc4fb91344df",
          "translation": "Успешная компиляция не доказывает визуальную корректность или правильное игровое время."
        },
        "/validation_rules/@id=particle-format.validation.visible-scene/requirement": {
          "source_sha256": "8d551c1e3364aa3b1c3f8d73637b5a1baec0863ac024005f3e6eaae10e990881",
          "translation": "Проверяйте каждую затронутую подсистему и маршрут интеграции в Mapper и репрезентативной клиентской сцене, включая глубину, отсечение, время жизни, трансформации и производительность."
        },
        "/xml_rules/@id=particle-format.xml.arrays/name": {
          "source_sha256": "aa220564417e9b8c374136e5cf2c20bce175317cfd12bd2f1a1a6095e302cb40",
          "translation": "Массивы через точку с запятой"
        },
        "/xml_rules/@id=particle-format.xml.arrays/rationale": {
          "source_sha256": "ea1f73b50c3c6f293abca47a823ed9327c5fcb907e1d05772517ef7d218c8e89",
          "translation": "convert2Array разделяет только по точкам с запятой и возвращает false для пустого результата преобразования."
        },
        "/xml_rules/@id=particle-format.xml.arrays/requirement": {
          "source_sha256": "4b466faad56504b3f29bbed34d3fa7bebade343a8e1c360baf13c3e661902e93",
          "translation": "Разделяйте значения массива точками с запятой; каждый элемент преобразуется независимо, а до присваивания требуется хотя бы одно преобразованное значение."
        },
        "/xml_rules/@id=particle-format.xml.attributes/name": {
          "source_sha256": "5507a89edb548a285b0bdf170d65ebacba73448ab5c61ca6fd4e82b26a2d304f",
          "translation": "Элементы атрибутов"
        },
        "/xml_rules/@id=particle-format.xml.attributes/rationale": {
          "source_sha256": "a94faf09802bc9b4780b0ee19b7a776d69c9b29a6bad36c5689d88002d90ad59",
          "translation": "Loader игнорирует дочерние элементы не attrib на уровне атрибутов и ищет каждый id в descriptor."
        },
        "/xml_rules/@id=particle-format.xml.attributes/requirement": {
          "source_sha256": "7c10f32020050a7d466774b54a78c0e90f177c3d68fc726b7120094687ce0741",
          "translation": "Сериализуйте значения descriptor как дочерние attrib с непустым id, совпадающим с именем атрибута descriptor объекта."
        },
        "/xml_rules/@id=particle-format.xml.effekseer-dependencies/name": {
          "source_sha256": "364e86b02281e118e07f856254a107d866221989635d50eeaba216218a130416",
          "translation": "Пути зависимостей Effekseer"
        },
        "/xml_rules/@id=particle-format.xml.effekseer-dependencies/rationale": {
          "source_sha256": "0de47d7a19ba3fb4fa7046daa5c975a82a50fd8b560b72a6ede51ed321910c71",
          "translation": "Snapshots зависимостей и компиляция разрешают пути относительно физической директории проекта и отклоняют escapes."
        },
        "/xml_rules/@id=particle-format.xml.effekseer-dependencies/requirement": {
          "source_sha256": "5394ad27edf040c9cb880ed8df14c0ea4694e7451482919b64ed6f7b3838050c",
          "translation": "Оставляйте сообщаемые компилятором зависимости относительными и внутри directory resource source, владеющего проектом."
        },
        "/xml_rules/@id=particle-format.xml.effekseer-project/name": {
          "source_sha256": "97957b888513c09cdef9f77f506b1963a45c559fe779fa4275fdfa1ed82dfcb9",
          "translation": "XML-проект Effekseer"
        },
        "/xml_rules/@id=particle-format.xml.effekseer-project/rationale": {
          "source_sha256": "b4f58e5708cf2c95dcdbee65a92c78975cfee2d100bba487b5a2928c48e9cb6f",
          "translation": "Native-компилятор отклоняет malformed XML и неподдерживаемые функции профиля во время запекания."
        },
        "/xml_rules/@id=particle-format.xml.effekseer-project/requirement": {
          "source_sha256": "094f86ae4d4d6cfe8a8d884594837f9ddff7972845edaabcbd3c1bf767bef26d",
          "translation": "Исходник .efkproj должен быть непустым XML-документом EffekseerProject, поддерживаемым фиксированным профилем компилятора."
        },
        "/xml_rules/@id=particle-format.xml.names-and-unknowns/name": {
          "source_sha256": "0467a43805112c0ce57391831b56c5cdd77a7bdf82cb2c27110e83f8131c165d",
          "translation": "Имена и неизвестные атрибуты"
        },
        "/xml_rules/@id=particle-format.xml.names-and-unknowns/rationale": {
          "source_sha256": "b347e7c81d82ae3bcdca3283fe1924bcec3505943ca6db82635de80faf1cf839",
          "translation": "Имена имеют отдельный descriptor path, а опечатки в атрибутах не влияют на загруженный объект."
        },
        "/xml_rules/@id=particle-format.xml.names-and-unknowns/requirement": {
          "source_sha256": "9aabd9206e5448c8faa84710dad102f30f38e4f833fa290db099fcb42cbbdee5",
          "translation": "Запишите опциональное display name объекта в его XML-атрибут name. Неизвестные непустые attrib id логируются как warnings и пропускаются, а не становятся custom data."
        },
        "/xml_rules/@id=particle-format.xml.object-tags/name": {
          "source_sha256": "73d82d1917f4ab5b3357408471386b30c10333c156271ce1c53a70d4aaea5a08",
          "translation": "Зарегистрированные теги объектов"
        },
        "/xml_rules/@id=particle-format.xml.object-tags/rationale": {
          "source_sha256": "5af5d7e90628545f23989ee8841c14d3dd02d1d8d0b36a0c9b85df34975b2e51",
          "translation": "Graph::addNode завершается ошибкой, когда IOManager не может создать объект с таким именем."
        },
        "/xml_rules/@id=particle-format.xml.object-tags/requirement": {
          "source_sha256": "a7f89dd68cd0ef0b8134d2f203ac42e406c83743eafd7f5306c88c09175367e1",
          "translation": "Имя каждого элемента объекта должно совпадать с одним из зарегистрированных тегов в generated-каталоге."
        },
        "/xml_rules/@id=particle-format.xml.references/name": {
          "source_sha256": "e0191257ef34a05102523bec35cdbb32c0ea0385948a094035c1fc530a92b798",
          "translation": "Вложенные объекты и ссылки"
        },
        "/xml_rules/@id=particle-format.xml.references/rationale": {
          "source_sha256": "71139c416abe31e16d6607d228c772b5ab2a7d370b92990a703e1d27781076b5",
          "translation": "Loader разрешает как inline-узлы графа, так и целочисленные ID ссылок, а saver записывает ссылки в соответствии с sharing графа."
        },
        "/xml_rules/@id=particle-format.xml.references/requirement": {
          "source_sha256": "9e867af4e2ddd215d1736dfa22c2e29f2d5c45096339cfaa96aa0bbc93103f0e",
          "translation": "Reference-атрибуты могут вкладывать объект напрямую или идентифицировать ранее описанный shared object через ref; массивы ссылок используют вложенные объекты и дочерние Ref."
        },
        "/xml_rules/@id=particle-format.xml.root/name": {
          "source_sha256": "056a9b7bacdce484648a30d26c06cb6380dc8ae33ba1f4776cf31f93fbda213b",
          "translation": "Корень документа SPARK"
        },
        "/xml_rules/@id=particle-format.xml.root/rationale": {
          "source_sha256": "43907600ec7c9ad571f58470366a26addc560e912e7a8c49e23214a20b715bc5",
          "translation": "XML-loader отклоняет отсутствующий или иначе названный корень до построения графа."
        },
        "/xml_rules/@id=particle-format.xml.root/requirement": {
          "source_sha256": "e918793ccde464569d0ef42ada82235ba769b3cbd633d6000c15cdad3a27abfa",
          "translation": "Корневой элемент должен точно называться SPARK."
        },
        "/xml_rules/@id=particle-format.xml.single-system/name": {
          "source_sha256": "157c430e47aec5f827c902fc90966d80f0dd2736128eed19509dfafc39131a81",
          "translation": "Ровно один System"
        },
        "/xml_rules/@id=particle-format.xml.single-system/rationale": {
          "source_sha256": "73ded39c814767e9e1a63f737f33044e720b7be5764f10e771e99b77814e42b9",
          "translation": "Проверка графа выбирает единственный System как результат загрузки."
        },
        "/xml_rules/@id=particle-format.xml.single-system/requirement": {
          "source_sha256": "f338cb408a999d5cd8ff3e04f1448d34f7736bc4493485740fdfdd7bec70b659",
          "translation": "Граф должен содержать ровно один объект System; вложенные вспомогательные объекты его не заменяют, а второй System невалиден."
        },
        "/xml_rules/@id=particle-format.xml.spark-graph/name": {
          "source_sha256": "c73f453a6be29201e192a83e928429136a3dbe36b25c025cfed326642e517a11",
          "translation": "XML-граф SPARK"
        },
        "/xml_rules/@id=particle-format.xml.spark-graph/rationale": {
          "source_sha256": "560b4fdbe91a32ab879a6a06bd5ad75e30327ee1151b86e87b4c39e3aac19645",
          "translation": "Запекание завершается ошибкой, когда loadFromBuffer(\"xml\", ...) не возвращает систему."
        },
        "/xml_rules/@id=particle-format.xml.spark-graph/requirement": {
          "source_sha256": "4c9135727c37245d0cd24ff5f84e849bae58162a39467d496a7e7cfc1bbb0537",
          "translation": "Исходник .spark должен приниматься vendored XML-loader SPARK и содержать рабочий граф System."
        },
        "/xml_rules/@id=particle-format.xml.spark-textures/name": {
          "source_sha256": "2a023df86a026af8a98974e8d2c552bf3b0844c46ec737b4d98be5862f072b89",
          "translation": "Пути текстур SPARK"
        },
        "/xml_rules/@id=particle-format.xml.spark-textures/rationale": {
          "source_sha256": "473498335320835f98d2e1a65c93ad547b04e1d4a8335853bcba21acc1a80d8a",
          "translation": "Baker отклоняет абсолютные и выходящие наружу пути до создания .spk."
        },
        "/xml_rules/@id=particle-format.xml.spark-textures/requirement": {
          "source_sha256": "15ddc107d6877b29f5633ee70f68b707668859f7fb3cc712858850f690259c38",
          "translation": "Пути текстур SPARK должны быть относительными, не содержать управляющих символов строки и оставаться внутри resource source частицы."
        },
        "/xml_rules/@id=particle-format.xml.values/name": {
          "source_sha256": "342dbb19874c4e1dbb04b19cb47cda8b864701db136144d119dfb8b336389d70",
          "translation": "XML-атрибут value или текст"
        },
        "/xml_rules/@id=particle-format.xml.values/rationale": {
          "source_sha256": "b7c6bf0ac120e3f14af75056f5b6100f180884afce1c05199e6646080bc398a0",
          "translation": "XMLLoader::getValue сначала проверяет атрибут value, а иначе читает текст дочернего элемента."
        },
        "/xml_rules/@id=particle-format.xml.values/requirement": {
          "source_sha256": "3257fb35e67b21d662740999b8fa795d0dbaaa223df89d748920cada167b8d60",
          "translation": "Скалярное или массивное значение можно записать в XML-атрибуте value элемента attrib или как текст элемента; при наличии обоих приоритет имеет value."
        }
      }
    },
    "api": {
      "entries": {
        "/scope/contract/notes": {
          "source_sha256": "0a5837615db1ac52964f25bff754d87473c2533c0ae678b8914e21b1f7c5e5b3",
          "translation": "Поверхность native-codegen предлагается только для оценки и остаётся привязанной к ревизии до появления поддерживаемых веток выпусков.\nSymbolCount и InventorySha256 требуют проверки владельцем каждого добавления, удаления или изменения стабильного ID."
        },
        "/symbols/@id=migration.Property.Critter.Cond/description": {
          "source_sha256": "a0725b1491c3936ba71164cc44987e1c4469b72a522b8b77afdcb2d6190b1890",
          "translation": "Сопоставляет устаревшее имя свойства Critter Cond с Condition при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Critter.IsControlledByPlayer/description": {
          "source_sha256": "9d90725abb538f2b9625a7d62ad75882261ebb986df8fafb5cca7a8ef823ad7b",
          "translation": "Сопоставляет устаревшее имя свойства Critter IsControlledByPlayer с ControlledByPlayer при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Critter.IsNoFlatten/description": {
          "source_sha256": "2d6fa9e283d0ab250e4c29f0f2dba09147e87d2ab3313fd2f934acdaa0b6c01a",
          "translation": "Сопоставляет устаревшее имя свойства Critter IsNoFlatten с DeadDrawNoFlatten при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Critter.ScriptId/description": {
          "source_sha256": "2b6dd1daa3cd0c7072a4ee3dcfcdae6ad7d36c5a693b2248e4d95f75a79ac706",
          "translation": "Сопоставляет устаревшее имя свойства Critter ScriptId с InitScript при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.Accessory/description": {
          "source_sha256": "cd6aef03da9f9022645140c2e4416519e20aa6f6693683f376287941b19ed47b",
          "translation": "Сопоставляет устаревшее имя свойства Item Accessory с Ownership при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.BlockLines/description": {
          "source_sha256": "ae9bb88aa6e867d9040ced802852b46d166af86e645aa8addbc8adad3c751b0b",
          "translation": "Сопоставляет устаревшее имя свойства Item BlockLines с MultihexLines при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.CritId/description": {
          "source_sha256": "79481cd90d0cceee6f801417908ffd72c410047b7715585ab21fe38765235504",
          "translation": "Сопоставляет устаревшее имя свойства Item CritId с CritterId при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.CritSlot/description": {
          "source_sha256": "f70ab0aac4f4228d0650dd84347f0e0decf2d36a4a805599fb91edbcbdf25166",
          "translation": "Сопоставляет устаревшее имя свойства Item CritSlot с CritterSlot при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.IsColorize/description": {
          "source_sha256": "3dd5e866bb9c3553c1ba260c5a5fb131dfdb3f3592130ce7e9ba6d93dc417a22",
          "translation": "Сопоставляет устаревшее имя свойства Item IsColorize с Colorize при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.IsFlat/description": {
          "source_sha256": "fa3b0b4a4fcbc1e6d821c4de7423b85c2469d3179998de1c41f9b80ce8d104f8",
          "translation": "Сопоставляет устаревшее имя свойства Item IsFlat с DrawFlatten при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.IsHidden/description": {
          "source_sha256": "bfa2d2d7dcd3ea8149b95d1d62b6f66ad300ceb70c2d0facd58cbeed8205de98",
          "translation": "Сопоставляет устаревшее имя свойства Item IsHidden с Hidden при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.IsHiddenPicture/description": {
          "source_sha256": "e722d963a7e5d0d23bb36d58ca6b7428ae6027c22085fed59a92361b4ff728d1",
          "translation": "Сопоставляет устаревшее имя свойства Item IsHiddenPicture с AlwaysHideSprite при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.IsLight/description": {
          "source_sha256": "c39f2ea299c321ec0e889e583cd71dd1799033541c620cd30f0dd94dc30cd85e",
          "translation": "Сопоставляет устаревшее имя свойства Item IsLight с LightSource при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.IsLightThru/description": {
          "source_sha256": "cb8d73c18d589d18449a701fb1049338e83b7c629c6810fe0dd474d68025d9fb",
          "translation": "Сопоставляет устаревшее имя свойства Item IsLightThru с LightThru при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.IsNoBlock/description": {
          "source_sha256": "c89763d9f8d9e9f2bfc5ebf59e39ea5e595b44d1b83f28f5caca9321d2b36889",
          "translation": "Сопоставляет устаревшее имя свойства Item IsNoBlock с NoBlock при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.IsNoHighlight/description": {
          "source_sha256": "f3ed116a4f831fb724de36b31ecd662c101bd70e931a312e1b63534a1c29509f",
          "translation": "Сопоставляет устаревшее имя свойства Item IsNoHighlight с NoHighlight при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.IsNoLightInfluence/description": {
          "source_sha256": "703fa572dc9e657718226671dc2ee59780348a854f5a9c711239938071400fb5",
          "translation": "Сопоставляет устаревшее имя свойства Item IsNoLightInfluence с NoLightInfluence при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.IsShootThru/description": {
          "source_sha256": "6cfcc8db25d8c515f05aa7adfb41445266cce5c791b407cfba9f866893317135",
          "translation": "Сопоставляет устаревшее имя свойства Item IsShootThru с ShootThru при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.IsStatic/description": {
          "source_sha256": "fcb5cfc1eb3d7c1d90b6b9b08e1faf4620fa0e04d200544b406e693ba524a55b",
          "translation": "Сопоставляет устаревшее имя свойства Item IsStatic с Static при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.SceneryScript/description": {
          "source_sha256": "cd0e0a16505552e18f9e51badb34f149c9884983fe5403015a58b73b0c3088ff",
          "translation": "Сопоставляет устаревшее имя свойства Item SceneryScript с StaticScript при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.ScriptId/description": {
          "source_sha256": "5545087d8ca800be6b88f20ad5eaa430ab7a618a2ea4887c0405eb954767442a",
          "translation": "Сопоставляет устаревшее имя свойства Item ScriptId с InitScript при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.Slot/description": {
          "source_sha256": "aa7b2d93d259f8c595f45ca6c35328f75abff0695b22ce3bdc53503692f4d032",
          "translation": "Сопоставляет устаревшее имя свойства Item Slot с CritterSlot при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Item.SubItemIds/description": {
          "source_sha256": "ea3fc3461b85b45ded7e478636444e5c7033b27ed9f1c7a590a345fea5c507af",
          "translation": "Сопоставляет устаревшее имя свойства Item SubItemIds с InnerItemIds при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Location.ScriptId/description": {
          "source_sha256": "6b9e6cf546397a87af5172f020045b42012d39080781065f4cd6782c01411f3d",
          "translation": "Сопоставляет устаревшее имя свойства Location ScriptId с InitScript при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Map.CurDayTime/description": {
          "source_sha256": "79124b4f9966b56331182be3b0a34f3c2564f62fe6949cf09edc867bb2fade1c",
          "translation": "Сопоставляет устаревшее имя свойства Map CurDayTime с FixedDayTime при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Map.DayTime/description": {
          "source_sha256": "733f571ddb488285bff84b8f8f3731d1cf4c30f9d0841e3a4f4d675e435a8463",
          "translation": "Сопоставляет устаревшее имя свойства Map DayTime с DayColorTime при поиске миграции Engine."
        },
        "/symbols/@id=migration.Property.Map.ScriptId/description": {
          "source_sha256": "6f0831e110215f5aed547f193cb1c311a9fe75609feaa5e193c68f9f4e3c2ec6",
          "translation": "Сопоставляет устаревшее имя свойства Map ScriptId с InitScript при поиске миграции Engine."
        },
        "/symbols/@id=migration.Version.0.0/description": {
          "source_sha256": "ba4f7c11defbf43d74cf397d5e07b0c9ce678507ca43e2a3fca80ac4228a5588",
          "translation": "Принудительно изменяет версию совместимости"
        },
        "/symbols/@id=script.entity.Critter/description": {
          "source_sha256": "bc1913ee2b18446e0f110a199ca81f96a741eb4d0ca009732c06667550c1d49a",
          "translation": "Сущность персонажа на основе прототипа, используемая для тел игроков и NPC и содержащая инвентарь, движение и состояние на карте или глобальной карте."
        },
        "/symbols/@id=script.entity.Game/description": {
          "source_sha256": "ba07b198cca626ec7269b10131c282a03878d14b85048c76d7137b0f90ea7040",
          "translation": "Глобальный singleton-получатель скриптов для текущего серверного, клиентского или Mapper-движка; он предоставляет сервисы движка, события и игровые свойства, а не постоянный объект мира."
        },
        "/symbols/@id=script.entity.ImGui/description": {
          "source_sha256": "6927080bed387b41c880f8cbbc35ff49d6344cea3c4958327202515bb4fdcb35",
          "translation": "Глобальный получатель скриптов, привязанный к контексту Dear ImGui текущего движка; требования активного кадра и сбалансированных областей задаются отдельными методами."
        },
        "/symbols/@id=script.entity.Item/description": {
          "source_sha256": "7c86f38f3320b4bbf1701c8631a4e4845b0680ae084d3cc99f0da3cad158f808",
          "translation": "Сущность предмета на основе прототипа, которая может принадлежать карте, инвентарю криттера, контейнеру или пользовательскому держателю и также предоставляет статические и абстрактные варианты."
        },
        "/symbols/@id=script.entity.Location/description": {
          "source_sha256": "c927e8e07ddb4758c8385b1f4d32e9cf5e93365f9c0c7c73ec161b2b3d23e830",
          "translation": "Сущность мировой локации на основе прототипа, которая владеет созданными экземплярами карт на сервере и представлена LocationView на клиентах."
        },
        "/symbols/@id=script.entity.Map/description": {
          "source_sha256": "69b5bb6eba44be0eb214039a577c0c3db45c7338fe576effdae0269ee2ed5917",
          "translation": "Созданный экземпляр карты на основе прототипа, содержащий runtime-криттеров и предметы; клиенты работают с его реплицированным MapView."
        },
        "/symbols/@id=script.entity.Player/description": {
          "source_sha256": "aec350e8e89734765aa13bbfa920e2b5c4fc27bca3394663d3a84599261f7125",
          "translation": "Сущность учётной записи и сеанса подключения игрока, отдельная от управляемого ею Critter; клиенты получают её реплицированный PlayerView."
        },
        "/symbols/@id=script.enum-value.CornerType.East/description": {
          "source_sha256": "23871ce2be9c49b6616578bab94ba1797c77607184cad65e3c60ad45764e0f21",
          "translation": "Выбирает восточную ориентацию угла стены."
        },
        "/symbols/@id=script.enum-value.CornerType.EastWest/description": {
          "source_sha256": "58fc12b5baad43bf7421fda2e40cfe53f3f9bc7117b54124cc11cc4e8fdd2d9f",
          "translation": "Выбирает объединённую ориентацию угла стены восток-запад."
        },
        "/symbols/@id=script.enum-value.CornerType.North/description": {
          "source_sha256": "21a4ab9a65af2554a7e40d086e25fa3f784f218df0d93144178e6162def1821d",
          "translation": "Выбирает северную ориентацию угла стены."
        },
        "/symbols/@id=script.enum-value.CornerType.NorthSouth/description": {
          "source_sha256": "3c40a4fc993bb498bfd931668a54f2418144e59f9f1b69ab482c8091eaaf361d",
          "translation": "Выбирает объединённую ориентацию угла стены север-юг."
        },
        "/symbols/@id=script.enum-value.CornerType.South/description": {
          "source_sha256": "1d1de747a385daa24827e85b6e613021806fcaaf97c9f4cbf7c05be069757c9b",
          "translation": "Выбирает южную ориентацию угла стены."
        },
        "/symbols/@id=script.enum-value.CornerType.West/description": {
          "source_sha256": "ca252e97fc89f734be9fe650ec2e8886668d806e14d64a0c27b4f832de6779ae",
          "translation": "Выбирает западную ориентацию угла стены."
        },
        "/symbols/@id=script.enum-value.CritterAction.Connect/description": {
          "source_sha256": "eca72e6cbae65ce22416fd6ffdb18595c1eddaa91915685be56d9c2457829532",
          "translation": "Уведомляет наблюдателей о подключении криттера, управляемого игроком."
        },
        "/symbols/@id=script.enum-value.CritterAction.Dead/description": {
          "source_sha256": "927e079fa644a0f280a40eac6282d1956ea74414456896b4a3a851ed6f356c96",
          "translation": "Уведомляет наблюдателей о переходе криттера в состояние смерти."
        },
        "/symbols/@id=script.enum-value.CritterAction.Disconnect/description": {
          "source_sha256": "20edd4bafa66cd2b41b40c6d854be0490560f1e820f4ebe48ad6b7de670acbd9",
          "translation": "Уведомляет наблюдателей об отключении криттера, управляемого игроком."
        },
        "/symbols/@id=script.enum-value.CritterAction.DropItem/description": {
          "source_sha256": "980f7aaf7388d7ec4b0c0f63718e22737a405773d6cfe68d3a1e6e9c55587fbe",
          "translation": "Уведомляет наблюдателей о том, что криттер выбросил предмет из слота."
        },
        "/symbols/@id=script.enum-value.CritterAction.Knockout/description": {
          "source_sha256": "ab521e7578c280ac2aee93ae755d9cd72ee9a0003a68239c6c78f8bfc9668e86",
          "translation": "Уведомляет наблюдателей о переходе криттера в состояние нокаута."
        },
        "/symbols/@id=script.enum-value.CritterAction.MoveItem/description": {
          "source_sha256": "6b5e02fb6855f06fba07d241833d13a7d0433e1e3e9df4b0e6adfb5d70ee72b6",
          "translation": "Уведомляет наблюдателей о перемещении предмета между слотами криттера."
        },
        "/symbols/@id=script.enum-value.CritterAction.None/description": {
          "source_sha256": "5803e754fa72d055e84e8be0b3696afd051cace355393112a5c762c91a3aa3af",
          "translation": "Не выбирает уведомление о действии криттера."
        },
        "/symbols/@id=script.enum-value.CritterAction.Refresh/description": {
          "source_sha256": "d9a644333b5d8cef29c869d033584cdcba89cf69cfe49ea17fd29aba6c4cb2fe",
          "translation": "Запрашивает у наблюдателей обновление визуального состояния действия криттера."
        },
        "/symbols/@id=script.enum-value.CritterAction.Respawn/description": {
          "source_sha256": "b8d498bccebea033df7372788cedc16ff55426934175ba4d75eb1ce7b05616b8",
          "translation": "Уведомляет наблюдателей о возвращении криттера в живое состояние не после восстановления из нокаута."
        },
        "/symbols/@id=script.enum-value.CritterAction.StandUp/description": {
          "source_sha256": "bb8a0efb2afdca82d9be3507828c3b3392760b173f56ec097f802feb7c6f1de7",
          "translation": "Уведомляет наблюдателей о восстановлении криттера из нокаута и подъёме."
        },
        "/symbols/@id=script.enum-value.CritterAction.SwapItems/description": {
          "source_sha256": "0c735c0a88d93f7f94e5085227cb52390023e457f830efb01411c390f8a90369",
          "translation": "Уведомляет наблюдателей о втором предмете, участвующем в обмене слотов."
        },
        "/symbols/@id=script.enum-value.CritterActionAnim.DeadFront/description": {
          "source_sha256": "4082fe09fbd60cb387e63aa43317c0876d8994c43f9ae48ceccf6fc78caef6aa",
          "translation": "Запрашивает анимацию смерти лицом вперёд."
        },
        "/symbols/@id=script.enum-value.CritterActionAnim.Idle/description": {
          "source_sha256": "169ed3e11bf079fac111071fa9b380b48616e37c4eb880eac8844933dda008e1",
          "translation": "Запрашивает анимацию бездействия стоя."
        },
        "/symbols/@id=script.enum-value.CritterActionAnim.IdleProneFront/description": {
          "source_sha256": "85f43644fb028c5823083002a95250a4330e94b872702d15a2228b92821ed9ef",
          "translation": "Запрашивает анимацию бездействия лёжа лицом вперёд."
        },
        "/symbols/@id=script.enum-value.CritterActionAnim.Limp/description": {
          "source_sha256": "657716073c33294e97f4c9e6d1990e92b651cc37b4419451eca8bc68911f52c3",
          "translation": "Запрашивает анимацию движения хромая."
        },
        "/symbols/@id=script.enum-value.CritterActionAnim.None/description": {
          "source_sha256": "91910a5c2dc605816747da99ce6acba6f2be1cf496a656fe39cea714686f1c64",
          "translation": "Не запрашивает анимацию действия."
        },
        "/symbols/@id=script.enum-value.CritterActionAnim.PanicRun/description": {
          "source_sha256": "c0df09781d42290bb78cccce7da5892ff699ff144946974d5e2f0601d7daa962",
          "translation": "Запрашивает анимацию панического бега."
        },
        "/symbols/@id=script.enum-value.CritterActionAnim.Run/description": {
          "source_sha256": "73c9b483babea250e295c9f8237c525c1792ec1ed9d05345fc8c4fd3a35c8a04",
          "translation": "Запрашивает бег вперёд."
        },
        "/symbols/@id=script.enum-value.CritterActionAnim.RunBack/description": {
          "source_sha256": "d6018c597b71630788f4d7a467526af83afc2f29eec3522a6921ce57b2b0f566",
          "translation": "Запрашивает бег назад."
        },
        "/symbols/@id=script.enum-value.CritterActionAnim.SneakRun/description": {
          "source_sha256": "fa35693c121833cfff4e630fd5c37391101fff847f38ccdacb89c3243a5e9220",
          "translation": "Запрашивает бег в крадущейся стойке."
        },
        "/symbols/@id=script.enum-value.CritterActionAnim.SneakWalk/description": {
          "source_sha256": "933176d920d5661d33e3efeb7fa19dda208892e71c3dd68ec91ce8f8de3b6974",
          "translation": "Запрашивает ходьбу в крадущейся стойке."
        },
        "/symbols/@id=script.enum-value.CritterActionAnim.TurnLeft/description": {
          "source_sha256": "5126c17bc6ee2f92332f00693d31d79dc74226a041c7660de88a79a29da72b76",
          "translation": "Запрашивает поворот на месте влево."
        },
        "/symbols/@id=script.enum-value.CritterActionAnim.TurnRight/description": {
          "source_sha256": "67e3dde1f5dfebd7d9edd46fb7ce0e2bd8fd82457b57e79edf4f97ce19778ef8",
          "translation": "Запрашивает поворот на месте вправо."
        },
        "/symbols/@id=script.enum-value.CritterActionAnim.Walk/description": {
          "source_sha256": "5d8c617868af65baf6c05962bc0df4d25fea802d1c093c38a5bb95c18cf64596",
          "translation": "Запрашивает ходьбу вперёд."
        },
        "/symbols/@id=script.enum-value.CritterActionAnim.WalkBack/description": {
          "source_sha256": "fbd03c7b7625e6923da9a1d6fd8dcde2286b074c5cd9baae92bbb02d0cbe0c3c",
          "translation": "Запрашивает ходьбу назад."
        },
        "/symbols/@id=script.enum-value.CritterCondition.Alive/description": {
          "source_sha256": "2c1a32828e06a34f43e0a500f03f06d6d7930b07f1211e7f1f579c37e4754407",
          "translation": "Криттер жив и может выполнять обычные игровые действия."
        },
        "/symbols/@id=script.enum-value.CritterCondition.Dead/description": {
          "source_sha256": "2171a4dd2100b66616945412b1cc3ce49ff96e57d1e806ad9cb6afb5e76add43",
          "translation": "Криттер мёртв и использует обработку и анимацию состояния смерти."
        },
        "/symbols/@id=script.enum-value.CritterCondition.Knockout/description": {
          "source_sha256": "2c6aea1aa29dbbf5bde42d8da6dcd332d6cae9fb4556180715e45c965bce69de",
          "translation": "Криттер жив, но недееспособен, пока не встанет или не изменит состояние."
        },
        "/symbols/@id=script.enum-value.CritterFindType.Any/description": {
          "source_sha256": "dec829a0dde3de257214c13ed05f53b56fced5a87b05f2b8909f2cc9aeaaa382",
          "translation": "Выбирает криттеров без фильтрации по состоянию жизни или принадлежности игроку."
        },
        "/symbols/@id=script.enum-value.CritterFindType.Dead/description": {
          "source_sha256": "542ff0b2b04948bd38b9bda51d5277525fa40da7510c6aaafa91afbbc4f1f667",
          "translation": "Выбирает мёртвых криттеров независимо от принадлежности игроку."
        },
        "/symbols/@id=script.enum-value.CritterFindType.DeadNpc/description": {
          "source_sha256": "c76f9e15f5788bb1fb841803579d4f8b4f177972f533a4c1fc7769a35f61a1f0",
          "translation": "Выбирает мёртвых криттеров, не принадлежащих игрокам."
        },
        "/symbols/@id=script.enum-value.CritterFindType.DeadPlayers/description": {
          "source_sha256": "bd94649c8adc574d35893cb10b9e6303b5c2b25a5efaa1180f24ed3217071484",
          "translation": "Выбирает мёртвых криттеров, управляемых игроками."
        },
        "/symbols/@id=script.enum-value.CritterFindType.NonDead/description": {
          "source_sha256": "a708420d02ec50c6eff0738a43ce7dc59f9db468bd97bb07a723bf442a8857ec",
          "translation": "Выбирает живых и находящихся в нокауте криттеров, исключая мёртвых."
        },
        "/symbols/@id=script.enum-value.CritterFindType.NonDeadNpc/description": {
          "source_sha256": "42cbf3d6468dbd157a8f88d39263bb6086c1612e72224043e49cbfaad1ff90b4",
          "translation": "Выбирает не принадлежащих игрокам криттеров, которые не мертвы."
        },
        "/symbols/@id=script.enum-value.CritterFindType.NonDeadPlayers/description": {
          "source_sha256": "f22fa2131e8d4a96ec4dace3e1b23866a6e6582929324b0f27a3beffb82edb34",
          "translation": "Выбирает управляемых игроками криттеров, которые не мертвы."
        },
        "/symbols/@id=script.enum-value.CritterFindType.Npc/description": {
          "source_sha256": "1c2ac0b4039d23ca32b6e68125606a51e2da8051f8d4a5f93f23c9391726cc1e",
          "translation": "Выбирает не принадлежащих игрокам криттеров независимо от состояния жизни."
        },
        "/symbols/@id=script.enum-value.CritterFindType.Players/description": {
          "source_sha256": "10cb5eb930b375f7def9ba121813c75865530696580dd0aa9cb548af1651551f",
          "translation": "Выбирает управляемых игроками криттеров независимо от состояния жизни."
        },
        "/symbols/@id=script.enum-value.CritterItemSlot.Inventory/description": {
          "source_sha256": "fbeaac27c1961ccb925aa9d64e78556633a908856d18012d16daa3644901d79f",
          "translation": "Помещает предмет в неэкипированный инвентарь криттера."
        },
        "/symbols/@id=script.enum-value.CritterItemSlot.Main/description": {
          "source_sha256": "7e4f3008f63f5f20ba7d8efb4aa46022225a679e81f292e85f41f8fc8e9c35ad",
          "translation": "Помещает предмет в основной экипированный слот криттера."
        },
        "/symbols/@id=script.enum-value.CritterItemSlot.Outside/description": {
          "source_sha256": "1522c8b5e577b92d1ee8fbd3426521a0973ac8ccd5851442d04a663058533987",
          "translation": "Помечает предмет как находящийся вне принадлежащих криттеру слотов инвентаря."
        },
        "/symbols/@id=script.enum-value.CritterProperty.None/description": {
          "source_sha256": "4b56eb71e21f78a70adf66e12cd1c4a95cbc0441226fd986530b8c4d42eb8d7d",
          "translation": "Признак того, что идентификатор свойства Critter не выбран."
        },
        "/symbols/@id=script.enum-value.CritterSeeType.Any/description": {
          "source_sha256": "b6a79fdabe4c1001b9e574da82c095924259539c3440d3205f2cc23d9c707def",
          "translation": "Возвращает объединение входящих и исходящих отношений видимости криттеров."
        },
        "/symbols/@id=script.enum-value.CritterSeeType.WhoISee/description": {
          "source_sha256": "fb489f7937a2c002c7d5061f929a8584374d4b35b5fcce5ba9e79ea56dfc5609",
          "translation": "Выбирает криттеров, которых сейчас видит этот криттер."
        },
        "/symbols/@id=script.enum-value.CritterSeeType.WhoSeeMe/description": {
          "source_sha256": "279a033da259bdb84f5e70779b052d81a48e82941f0e85730924cb3bf1763752",
          "translation": "Выбирает криттеров, в чьё текущее отношение видимости входит этот криттер."
        },
        "/symbols/@id=script.enum-value.CritterStateAnim.None/description": {
          "source_sha256": "3f3de3f7c648e0a869b491075db3d8610d87d361e7283fa236909e168e7ed088",
          "translation": "Не выбирает постоянную анимационную стойку криттера."
        },
        "/symbols/@id=script.enum-value.CritterStateAnim.Unarmed/description": {
          "source_sha256": "61e8349b4fd0aca8c55657b44a2b4a4b6b147df934aea94bf588a300cf0428e1",
          "translation": "Выбирает постоянную безоружную анимационную стойку."
        },
        "/symbols/@id=script.enum-value.CritterVisibilityMode.Full/description": {
          "source_sha256": "bcd79a19f2d2192204d82020d48484e286559d76b79b86b5dc2d1413c1d71641",
          "translation": "Принудительно включает полную видимость цели для выбранного отношения."
        },
        "/symbols/@id=script.enum-value.CritterVisibilityMode.None/description": {
          "source_sha256": "adfb7f2f14e6d14ba4734f98e2ea2feb581eab37b642193079555f172d0611ec",
          "translation": "Не применяет переопределение полной видимости и использует обычные правила восприятия."
        },
        "/symbols/@id=script.enum-value.DisconnectReason.ClientClosed/description": {
          "source_sha256": "83865f24c991402559f2c1fae25e51fe38937ab26ba1f76e974eac476a88c005",
          "translation": "Транспорт сообщил об исчезновении удалённой стороны; добровольный выход и потеря сети неразличимы."
        },
        "/symbols/@id=script.enum-value.DisconnectReason.InactivityTimeout/description": {
          "source_sha256": "4591d5f2daf43d9d7865770c4c541de58ee8a715331c2123b0580069be0f0fac",
          "translation": "До настроенного срока бездействия не поступило ни одного входящего сообщения."
        },
        "/symbols/@id=script.enum-value.DisconnectReason.LoginFailed/description": {
          "source_sha256": "509553e637cf3c6204dbf0f67d5695ae5845f2072aef4952fb1678cb9c62af1f",
          "translation": "Вход был отменён после ошибки на стороне сервера."
        },
        "/symbols/@id=script.enum-value.DisconnectReason.LoginTimeout/description": {
          "source_sha256": "3d8aa070dceee9b2e70958e8c791569fc9d6541335d94a0e41d0a7fa301adcd8",
          "translation": "Соединение до входа не продвинулось до истечения настроенного срока входа."
        },
        "/symbols/@id=script.enum-value.DisconnectReason.None/description": {
          "source_sha256": "3e69cdc59a58ca9a42e771e761bb1a070fabcacb83d764ff10eddfa71598f3c0",
          "translation": "Соединение ещё не записало причину закрытия."
        },
        "/symbols/@id=script.enum-value.DisconnectReason.PingTimeout/description": {
          "source_sha256": "28379bc8e1de43e5e6abd6977d8efe8cdd7b3e177fae4a88966d99f40b88754f",
          "translation": "Удалённая сторона не ответила на предыдущий ping сервера."
        },
        "/symbols/@id=script.enum-value.DisconnectReason.ProtocolError/description": {
          "source_sha256": "d1fb8805edbc1dc95bcef9b2bb51602118734c01a3434f866041abb2f0e175e0",
          "translation": "Получены повреждённые или неожиданные данные протокола либо не удалось опубликовать соединение."
        },
        "/symbols/@id=script.enum-value.DisconnectReason.ReplacedByReconnect/description": {
          "source_sha256": "ebd419983111f7906eff2205cb0db3ef0b2229bcfefbde6d510b415dc1d2fb1f",
          "translation": "Новый вход той же учётной записи заменил этот сеанс."
        },
        "/symbols/@id=script.enum-value.DisconnectReason.ScriptRequest/description": {
          "source_sha256": "9d53323ab89205ed876645b867fd9475a609890bf0b8ed501beddea97d595e53",
          "translation": "Серверный скрипт вызвал Player.HardDisconnect()."
        },
        "/symbols/@id=script.enum-value.DisconnectReason.ServerShutdown/description": {
          "source_sha256": "9b97c9ca040971e958c74273b3352411ccb747eade8441ec54d6aa099db2e89d",
          "translation": "Сервер штатно завершает работу."
        },
        "/symbols/@id=script.enum-value.DisconnectReason.UpdaterError/description": {
          "source_sha256": "343962a38db9bfc240e4476a974c632bf38515fa980b29e2655458ab568a1128",
          "translation": "Клиент запросил недопустимый файл обновления или диапазон."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.AfterLight/description": {
          "source_sha256": "52e4ba608d9289eed440a221d1c2acc68d32e316d02a207a0542e5c005d88ab2",
          "translation": "Слой примитивов, отрисовываемый сразу после накопления освещения карты."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.Critter/description": {
          "source_sha256": "c5f8f68567049d3ddbd89cf46ac00fc782b3522cbb934fbb085813a614508296",
          "translation": "Сортируемый по глубине слой криттеров."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.DeadCritter/description": {
          "source_sha256": "618bbcb95079a6ccf181f1bdfb195c370324e3591eb84bdf49ab98a66bfd55cf",
          "translation": "Плоский слой мёртвых криттеров, отрисовываемый после освещения."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.FlatEnd/description": {
          "source_sha256": "98dcc422bb2998250a885ee13a00c00e62ddf5a55715518ef94fcea7d73359bc",
          "translation": "Верхняя граница порядка плоских спрайтов после освещения."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.FlatItemAfterLight/description": {
          "source_sha256": "d135a431cb99710a32a91de2df6486d99d9f602a70a02a628e3e921ea7d46cb4",
          "translation": "Плоский слой предметов, отрисовываемый после освещения карты."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.FlatItemPreLight/description": {
          "source_sha256": "5a75dfa86873bd757345670b23a616c4e248ec4cc93a6e591af44543caa03fbe",
          "translation": "Плоский слой предметов, отрисовываемый до освещения карты."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.HexGrid/description": {
          "source_sha256": "953c10fce3597b25e4a17b5406ecccce6f2033b8ca8e6f978ef40c1810366848",
          "translation": "Слой наложения гекс-сетки, отрисовываемый до примитивов освещения."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.Item/description": {
          "source_sha256": "0bfa19c6c71c8e4372110d3c3322ffaea2378e31182161c735cd2e6623119862",
          "translation": "Сортируемый по глубине обычный слой предметов."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.Last/description": {
          "source_sha256": "5ea300647d06dd38e2316395a22302188c3a72e0e0e7c438ff2e9411ce463576",
          "translation": "Наибольший допустимый маркер порядка отрисовки, зарезервированный сортировщиком спрайтов карты."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.Light/description": {
          "source_sha256": "e3ba890aa6076eca1d7dffe58343bcd25b754316073f3799f878e10b3631b6a8",
          "translation": "Слой накопления освещения карты."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.NormalBegin/description": {
          "source_sha256": "a70992a63512d055225576632d19f512e73d04925a1d98d3154e6dab5ccf28a1",
          "translation": "Нижняя граница порядка обычных спрайтов, сортируемых по глубине."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.NormalEnd/description": {
          "source_sha256": "997314c35b9b6be2aa58c7dde5e02a2377c59b4d6edbbe56845bcf7ffbbc1df3",
          "translation": "Верхняя граница порядка обычных спрайтов, сортируемых по глубине."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.Particles/description": {
          "source_sha256": "4982424aae571316d68772c6041d5b7eb7d6ab87dbe4cfb543a7beda785fc4d6",
          "translation": "Сортируемый по глубине слой частиц карты."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.PreLight/description": {
          "source_sha256": "25568c62a19961851f9cf024e97d736a23c6f014d9739f04421ed219c3b18b50",
          "translation": "Слой примитивов, отрисовываемый сразу перед накоплением освещения карты."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.Roof/description": {
          "source_sha256": "c20d9fa470fdc1242a6078998ece26dd8cc13a84351eba4ea0db96589af49fc5",
          "translation": "Базовый слой спрайтов крыши."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.Roof1/description": {
          "source_sha256": "74d38e82321c69a26bea162f3294d2a0ae9b42bf4f297faeb5e3bcb129dfeed1",
          "translation": "Первый дополнительный слой спрайтов крыши."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.Roof2/description": {
          "source_sha256": "cee5b1396daec8107db260629641912be837447cbbe91de1a79d12336bc4583b",
          "translation": "Второй дополнительный слой спрайтов крыши."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.Roof3/description": {
          "source_sha256": "663532cf110a1e2acb7484e700c679c946aad480a93d24fce43a5f0e505a4055",
          "translation": "Третий дополнительный слой спрайтов крыши."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.Roof4/description": {
          "source_sha256": "bacbaa8d03903b2448fef49e052dbde6181ec113946d46561a37fb04d18f9a58",
          "translation": "Четвёртый дополнительный слой спрайтов крыши."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.RoofParticles/description": {
          "source_sha256": "658093a715c206f880fb55d1e512abcf1565431ccca7891bd8a7c8200f32ffff",
          "translation": "Слой частиц, отрисовываемый вместе со спрайтами крыши."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.Tile/description": {
          "source_sha256": "1b044f84d09d4bd276a824a25529cab6ded51f43982720ccefe4574efc7a06cd",
          "translation": "Базовый плоский слой тайлов, отрисовываемый до освещения карты."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.Tile1/description": {
          "source_sha256": "efc49f19287c4839e0dee3e095034a42563a0bc48ac35eabb0f6b5abc02af5e4",
          "translation": "Первый дополнительный плоский слой тайлов, отрисовываемый до освещения карты."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.Tile2/description": {
          "source_sha256": "cc0656a9c90f46b0fcc5445350bca3c9670596ff39290ed68981dc3f0aff695a",
          "translation": "Второй дополнительный плоский слой тайлов, отрисовываемый до освещения карты."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.Tile3/description": {
          "source_sha256": "9d064b188bd16459b2dca8b23bcee1a787120740470b9a1ea7f11191bb94622d",
          "translation": "Третий дополнительный плоский слой тайлов, отрисовываемый до освещения карты."
        },
        "/symbols/@id=script.enum-value.DrawOrderType.Tile4/description": {
          "source_sha256": "3b375c4ee12a86fecc8587f6998ba90cca215e0ddb619e5e71faea6affbcf707",
          "translation": "Четвёртый дополнительный плоский слой тайлов, отрисовываемый до освещения карты."
        },
        "/symbols/@id=script.enum-value.EffectType.CritterSprite/description": {
          "source_sha256": "308b366faf86ecfef278499d7c76e9c119b200c12316024045de27ed34fe6d17",
          "translation": "Заменяет стандартный эффект спрайтов криттеров либо эффект отрисовки одного криттера карты."
        },
        "/symbols/@id=script.enum-value.EffectType.FlushFog/description": {
          "source_sha256": "55f8c92c3032df82d70e045cab2b775b25ff7dc7a4446a01416fdf49e508a872",
          "translation": "Заменяет эффект композиции буфера тумана."
        },
        "/symbols/@id=script.enum-value.EffectType.FlushLight/description": {
          "source_sha256": "bfca97982763cc8e6d933cd27026c91f5c1e07f563921b8efb2985073c63e834",
          "translation": "Заменяет эффект композиции буфера освещения."
        },
        "/symbols/@id=script.enum-value.EffectType.FlushMap/description": {
          "source_sha256": "8f45f8d8e2dbcfe4bef5aa453bfbd19d930be7bcad373f2ce8f61daeb2184cea",
          "translation": "Заменяет эффект композиции отрисованной карты."
        },
        "/symbols/@id=script.enum-value.EffectType.FlushPrimitive/description": {
          "source_sha256": "fb350e7acb04985c64d86e73a659ad3750498e3ea9f7087d372995b91143aab1",
          "translation": "Заменяет эффект сброса отрисовки примитивов."
        },
        "/symbols/@id=script.enum-value.EffectType.FlushRenderTarget/description": {
          "source_sha256": "406801fdf39f2a2d97a50397708a016af1410e76e9b086dcaab14458932f401e",
          "translation": "Заменяет эффект сброса текстуры render target."
        },
        "/symbols/@id=script.enum-value.EffectType.Fog/description": {
          "source_sha256": "a3e899c15001b7a81eca01f5a8aafdf3abced72dc7eb3b4e91d5f8b6450b8a31",
          "translation": "Заменяет эффект примитивов, используемый для отрисовки тумана карты."
        },
        "/symbols/@id=script.enum-value.EffectType.Font/description": {
          "source_sha256": "3c321dfc321a0f7553374d3ec402c4253d7f9bee1e81015f93385623707e6dea",
          "translation": "Заменяет стандартный эффект шрифта либо эффект одного слота шрифта, выбранного subtype."
        },
        "/symbols/@id=script.enum-value.EffectType.GenericSprite/description": {
          "source_sha256": "7d64b3e121a5af5e838691f471de273b835e395ac09eaab6d1b1e818342e8e86",
          "translation": "Заменяет стандартный эффект обычных спрайтов либо эффект отрисовки одного предмета карты."
        },
        "/symbols/@id=script.enum-value.EffectType.Interface/description": {
          "source_sha256": "5227b893c6753d457c7b587ca3e03d66623d19a1e2312e1c5a883f6832633914",
          "translation": "Заменяет стандартный эффект спрайтов интерфейса."
        },
        "/symbols/@id=script.enum-value.EffectType.Light/description": {
          "source_sha256": "c0caeb146a30061950cd2a0b31d7923e95e4b727f4ad618cbc210b8450885ed3",
          "translation": "Заменяет эффект примитивов, используемый для накопления освещения карты."
        },
        "/symbols/@id=script.enum-value.EffectType.None/description": {
          "source_sha256": "6a843d69f37b27abefda344b11716fbcd678af0770c8a2e528da1e8fa84cd8bf",
          "translation": "Не выбирает категорию эффекта."
        },
        "/symbols/@id=script.enum-value.EffectType.Offscreen/description": {
          "source_sha256": "0e08b083a12b471ad8c239ec0bd337a3b289a366ba824f23ce410dc34b849900",
          "translation": "Регистрирует эффект в индексированном слоте offscreen-effect, выбранном subtype."
        },
        "/symbols/@id=script.enum-value.EffectType.Primitive/description": {
          "source_sha256": "d0bd44668007c09b4e3116bd40d05bf88c86ff6b01f1df32548531e10cc8d5c6",
          "translation": "Заменяет стандартный эффект обычных примитивов."
        },
        "/symbols/@id=script.enum-value.EffectType.RainSprite/description": {
          "source_sha256": "341dfb4997da499135264dddbedc571c55fdc82bf52013d3850865dde4e3525f",
          "translation": "Заменяет стандартный эффект спрайтов дождя."
        },
        "/symbols/@id=script.enum-value.EffectType.RoofSprite/description": {
          "source_sha256": "11d1d35f3d00ca19dbec72ab31f225de65d1fac69cb3c7d7e208340f05a80977",
          "translation": "Заменяет стандартный эффект спрайтов крыши."
        },
        "/symbols/@id=script.enum-value.EffectType.SkinnedMesh/description": {
          "source_sha256": "48a706e5d6efd3beae87cb6a3d2bd16c7f0671d1d8d5ed9e72093850c3353ca6",
          "translation": "Заменяет стандартный эффект skinned-модели, когда включена 3D-отрисовка."
        },
        "/symbols/@id=script.enum-value.EffectType.TileSprite/description": {
          "source_sha256": "90f6825666bec00c949c04c9cc7c55388db1d1f527cb2ef843b42959fdf5f9cf",
          "translation": "Заменяет стандартный эффект плоских спрайтов тайлов."
        },
        "/symbols/@id=script.enum-value.EggAppearenceType.Always/description": {
          "source_sha256": "0531945f80ac5d3d3a2c0fad7105500b9b25b57fc8abef10cb1244806429fe0d",
          "translation": "Применяет допустимую маску прозрачности вокруг игрока независимо от относительного гекса карты."
        },
        "/symbols/@id=script.enum-value.EggAppearenceType.ByX/description": {
          "source_sha256": "9ecfdc915f41fecb4878fc4780cf9a873ad50fb5b17e73696800d3de9eb786a4",
          "translation": "Применяет маску, когда X гекса спрайта не меньше X гекса маски."
        },
        "/symbols/@id=script.enum-value.EggAppearenceType.ByXAndY/description": {
          "source_sha256": "2f0c92386009d442572a55e1f4a782fcfa0bdda7757d8fd81e04dca5712d47a2",
          "translation": "Применяет маску, когда скорректированный X или Y не меньше соответствующей координаты маски."
        },
        "/symbols/@id=script.enum-value.EggAppearenceType.ByXOrY/description": {
          "source_sha256": "72452fc0194b9676ee4bd65092beafdd1cb15d5f6574228049fb898d00fd6ba2",
          "translation": "Применяет маску только тогда, когда скорректированные X и Y оба не меньше соответствующих координат маски."
        },
        "/symbols/@id=script.enum-value.EggAppearenceType.ByY/description": {
          "source_sha256": "9cc6ac5b71bcb76adcd44b164e0229d145b6226b0e1935d49fedac00796bfd96",
          "translation": "Применяет маску, когда Y гекса спрайта не меньше Y гекса маски."
        },
        "/symbols/@id=script.enum-value.EggAppearenceType.None/description": {
          "source_sha256": "09f0b5d515ec98285f34972915333c1c0a4c0d6b5b94112022ea52a8cc2cae6e",
          "translation": "Никогда не применяет к этому спрайту маску прозрачности вокруг игрока."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.KickedFromGame/description": {
          "source_sha256": "406317fa3b3e8785386eca5e748039f7cb66ea2ab42d45b72a6f6cdf074552a2",
          "translation": "Обозначает принудительное удаление игрока из активного игрового сеанса."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetBan/description": {
          "source_sha256": "cdbf0e5bc6fd1ad66ebc67f0ccd439c363dd072b1f30624d89da446a6d10377d",
          "translation": "Обозначает основное уведомление о блокировке игрока или аккаунта."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetBanReason/description": {
          "source_sha256": "ce44c7b4c6c20da34b545afe0ff3238797245b6c1b4e9d68e19da6f5e43066d1",
          "translation": "Обозначает подробные данные блокировки, передаваемые проектом, например инициатора, длительность и причину."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetBanned/description": {
          "source_sha256": "c379508c75e189132b3a048b4c0d8cb4ab3e67f92a120487f24d512ed95305e5",
          "translation": "Обозначает аккаунт, которому запрещен вход."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetBannedIp/description": {
          "source_sha256": "8c1542ac66f62043ece60cc21170c6cb1a47f2b7905ee2126b3f3bef64e6edbd",
          "translation": "Обозначает соединение, отклоненное из-за блокировки исходного IP-адреса."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetBdError/description": {
          "source_sha256": "bb3aba5856526335746a49ff79e07dc70afd6ac7ffd603270b99ce6854753164",
          "translation": "Обозначает ошибку базы данных backend при обработке запрошенной операции с аккаунтом или игрой."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetBeginEndSpaces/description": {
          "source_sha256": "0eee5840299bc045b003b1606f76a6bc78ee5454097c0b1d3e00bd7320d1d329",
          "translation": "Обозначает имя, отклоненное из-за пробела в начале или конце."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetConnError/description": {
          "source_sha256": "91b72819cfc46d098870cd01da698c38861bbf4ea34100dd26a6b7b252b30c4a",
          "translation": "Обозначает общую ошибку соединения после попытки подключения или сбоя активного сеанса."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetConnFail/description": {
          "source_sha256": "a51b16eccc1b67dfec8826315482a179fe3fcace76fc4299041859458254cded",
          "translation": "Обозначает невозможность установить соединение с игровым сервером."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetConnSuccess/description": {
          "source_sha256": "f6d0c65cdd56a42fdc7e45e0ad2a2a99a8adcebff11f8065f5f91c4d9807c3ad",
          "translation": "Обозначает успешное транспортное соединение перед аутентификацией или во время нее."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetConnection/description": {
          "source_sha256": "265deb91504a587b902920044ec9f8233d4f09be04650a50d4e06a6e2a559540",
          "translation": "Обозначает состояние клиента во время начала соединения с сервером."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetDataTransErr/description": {
          "source_sha256": "12859a3e45215aba0967c1de9c1f43c6a5ce78bffce6254930eab174041b930e",
          "translation": "Обозначает ошибку при передаче или декодировании данных соединения."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetDifferentLang/description": {
          "source_sha256": "29d20422c296574c15f038d3e8215442b878a3d634529b479184992fca24382f",
          "translation": "Обозначает имя, отклоненное за смешение символов из разных языковых алфавитов."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetDisconnByDemand/description": {
          "source_sha256": "375b010d69ad80753f8d7f216280772b4ac8bb0dffe7230f6df867b1c750f834",
          "translation": "Обозначает отключение, явно запрошенное игроком или клиентом."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetFailRunStartScript/description": {
          "source_sha256": "8d5dac1827bc31bfe743e0c68143c57e23c94e09708aa6f066761f9dd6cb7089",
          "translation": "Обозначает ошибку запуска клиента при выполнении стартового скрипта проекта."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetFailToLoadIface/description": {
          "source_sha256": "60b585dd1f1b5bbad81aad0b615bd0996eb88e1c23b8abfb879dc4e03b820c34",
          "translation": "Обозначает ошибку запуска клиента при загрузке пользовательского интерфейса."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetHexesBusy/description": {
          "source_sha256": "1963bc2568864668033ea71c9f4439f633aee883d5051ad7a4b9a5c749defa4b",
          "translation": "Обозначает отказ во входе или появлении, потому что необходимые гексы назначения заняты."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetKnockKnock/description": {
          "source_sha256": "45bf8646045ee94f5c9124ba856ba07afec2f5c2a583fc2140131c99a8a27a7d",
          "translation": "Резервирует прежний информационный слот knock-knock; встраивающие скрипты определяют его конкретное применение для проверки доступности или состояния."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetLanguageNotSupported/description": {
          "source_sha256": "facf027e3a6576b2a19791727e2a55895af78ff6314ad6453466d6b3bc44e1b8",
          "translation": "Обозначает неподдерживаемый выбранный язык и необходимость использовать fallback, определенный проектом."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetLoginOk/description": {
          "source_sha256": "f75c83e3147bc17541cedf11e3e66f2e026f12e8d88bcdb778684e42aab95506",
          "translation": "Обозначает успешную аутентификацию и переход к загрузке игрового состояния или карты."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetLoginScriptFail/description": {
          "source_sha256": "f927d6606f11a61d1cc682ba43169cae8d4d19646a3dd4ac73dd3fb5a9da62af",
          "translation": "Обозначает отказ в аутентификации из-за ошибки проектного скрипта входа."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetManySymbols/description": {
          "source_sha256": "2e61d26e79e1670bdd5c67eaf03e006efc733b76bf1b995831066b598da8b66c",
          "translation": "Обозначает имя, отклоненное из-за слишком большой доли символов, не являющихся буквами."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetNameWrongChars/description": {
          "source_sha256": "eaf37ab3774f46129f9615dffeecd1490a4974275082fd77fd37624148c4c1fb",
          "translation": "Обозначает имя с символами, запрещенными проектной политикой аккаунтов."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetNetMsgErr/description": {
          "source_sha256": "4effe640ee91ba23770af5aa9c531a1172f5d20215c5ba4b2aeca1fee639f814",
          "translation": "Обозначает malformed, недопустимое или иначе неприемлемое сетевое сообщение."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetPassWrongChars/description": {
          "source_sha256": "e9e9ed3b33d82adb6770650d821957d12a3f6b5a2a9244d8bbf5b6a0703b8763",
          "translation": "Обозначает пароль с символами, запрещенными проектной политикой аккаунтов."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetPermanentDeath/description": {
          "source_sha256": "f694b17f68cd25e085c66e5d08ba0fcbd1dc228c6d6b159544c051a99bfb63ec",
          "translation": "Обозначает определенное проектом состояние окончательной смерти, которое запрещает продолжать игру затронутым персонажем или аккаунтом."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetPlayerAlready/description": {
          "source_sha256": "23c7c421e3b472daf2a54a883eed7cb8888c52a6eb89ea21568b964ddc380876",
          "translation": "Обозначает отказ в создании аккаунта, потому что запрошенный логин уже существует."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetPlayerInGame/description": {
          "source_sha256": "17e47a0bb055c499a0887c3771c7c1a84bdf9b9d9010486b13902b4fb3d156af",
          "translation": "Обозначает отказ во входе, потому что у аккаунта уже есть активный игровой сеанс."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetSetProtoErr/description": {
          "source_sha256": "144e6d86eac5db865417020e84007d18ba6a33aa2efd04dd502c0a714023fc38",
          "translation": "Обозначает внутреннюю ошибку сервера при назначении или инициализации требуемого состояния прототипа."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetStartCoordFail/description": {
          "source_sha256": "9160718c42a92570408097286a66bccf6d9352a1427e1d3f91f216d13136b730",
          "translation": "Обозначает невозможность определить стартовые координаты карты при входе или создании игрока."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetStartLocFail/description": {
          "source_sha256": "c8bdd3f8abef88d8f563dc78275d814d247ad37478acf89ed383aa9150303efd",
          "translation": "Обозначает невозможность определить стартовую локацию при входе или создании игрока."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetStartMapFail/description": {
          "source_sha256": "cccbf7165681d73dca8aa147b37ffa340aa346ea9040027f04189f57202d27a6",
          "translation": "Обозначает невозможность определить стартовую карту при входе или создании игрока."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetTimeLeft/description": {
          "source_sha256": "ec06ea5fee438b9893c9231ef59a92a0c2e9a04b14943cee564d7539e49bd887",
          "translation": "Обозначает временное ограничение или таймер сеанса, оставшаяся длительность которого передается проектным текстом или дополнительными данными."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetTwoSpace/description": {
          "source_sha256": "9921992775c2e2fa54d02c5b16edb4a4ff462a3f32f9a24f52da007e28a1592d",
          "translation": "Обозначает имя, отклоненное из-за последовательных пробелов."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetWrongLogin/description": {
          "source_sha256": "9accd009c64135fab0bd362f5010ab8262af89fbdb5d63886544deb55856ca5a",
          "translation": "Обозначает отказ во входе из-за недопустимого идентификатора аккаунта или логина."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetWrongNetProto/description": {
          "source_sha256": "3ac085e5a374aa308192997dcc7705b9859d426f9c35fe8aa9c34856920612de",
          "translation": "Обозначает несовпадение версий сетевого протокола клиента и сервера."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetWrongPass/description": {
          "source_sha256": "b212b5d0189060924c3c03931ab78095de7e0024b05c0d4250f5b7bb031d0fb5",
          "translation": "Обозначает отказ во входе из-за неверного пароля или другого секрета аутентификации."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.NetWrongTagSkill/description": {
          "source_sha256": "c1125e2a85249573f64e6d4a38ecf3923f187fa3a4a2cb54f5a9ff80e54677d9",
          "translation": "Обозначает отказ в создании персонажа из-за недопустимого выбора обязательных tag skills."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.None/description": {
          "source_sha256": "217bcd08c3da2b86cf409d83064dad576d81a9ccb04971dfa3197b746fcd8166",
          "translation": "Не выбирает стандартный слот информационного сообщения движка."
        },
        "/symbols/@id=script.enum-value.EngineInfoMessage.ServerLog/description": {
          "source_sha256": "c6a51cb9c6d8a67cf3d3a8250ad6ca69e5a1259a19cc0ede9bcc04d0d9a17f61",
          "translation": "Обозначает сообщение серверного журнала, текст для читателя которого передается в extraText."
        },
        "/symbols/@id=script.enum-value.EventPriority.High/description": {
          "source_sha256": "e2a58642b258c377d35f95123c0000afb4cf2e2503fabb4a253bacaa3a361ff2",
          "translation": "Выполняется после обработчика с наивысшим приоритетом и перед обработчиками с нормальным приоритетом."
        },
        "/symbols/@id=script.enum-value.EventPriority.Highest/description": {
          "source_sha256": "55b66c613a6f78b210c0e7ba1fb7d63715a9965fa25e3d4663fb0709e3b54876",
          "translation": "Выполняется перед обработчиками с меньшим числовым приоритетом; наивысшую полосу может занимать только один обработчик."
        },
        "/symbols/@id=script.enum-value.EventPriority.Low/description": {
          "source_sha256": "ceeb82caeb1eb2419fc776c87a8a42cef874136bc4d94788a214df15961bae73",
          "translation": "Выполняется после обработчиков с нормальным приоритетом и перед обработчиком с наименьшим приоритетом."
        },
        "/symbols/@id=script.enum-value.EventPriority.Lowest/description": {
          "source_sha256": "48f1a38d75c08d77d25a7ec3aefb1cbd2c724548c8d4e40f7e94eb427cf6a4db",
          "translation": "Выполняется после обработчиков с большим числовым приоритетом; наименьшую полосу может занимать только один обработчик."
        },
        "/symbols/@id=script.enum-value.EventPriority.Normal/description": {
          "source_sha256": "64cf5b12b3a164e08634bd7d62b2ab9eac65b3c4fee01f552a0f9a793bf751f2",
          "translation": "Стандартный приоритет обработчика между низкой и высокой полосами."
        },
        "/symbols/@id=script.enum-value.EventResult.ContinueChain/description": {
          "source_sha256": "b9f31bda976bc625d018785e2cb763bbfad01c20c0949e5c7eaba1a4af595a00",
          "translation": "Продолжает диспетчеризацию обработчиков с меньшим приоритетом."
        },
        "/symbols/@id=script.enum-value.EventResult.StopChain/description": {
          "source_sha256": "8037b1ee3ed4e04b6baec6d7a074023b9de69385278c51aa509aeb457e8f6d2e",
          "translation": "Немедленно останавливает текущую цепочку обработчиков события."
        },
        "/symbols/@id=script.enum-value.FontFlag.AlignBottom/description": {
          "source_sha256": "513d7201eea78346ce4030103c06ca2991b9d080d8ce025946d1c148f39d42b9",
          "translation": "Выравнивает текстовый блок по нижнему краю и заставляет SkipLines считать от последних строк."
        },
        "/symbols/@id=script.enum-value.FontFlag.AlignRight/description": {
          "source_sha256": "74880511cbb07441c8cf9481f73561a82ce031b4072488daa49ae801bd92a4d0",
          "translation": "Выравнивает каждую отрисованную строку по правому краю целевого прямоугольника."
        },
        "/symbols/@id=script.enum-value.FontFlag.Bordered/description": {
          "source_sha256": "94d7f3ce88ec56bf93cdc0c74cde5b9ffc87daf67a281068e619a0adb3375c8c",
          "translation": "Использует для отрисовки глифов вариант текстуры шрифта с рамкой или контуром."
        },
        "/symbols/@id=script.enum-value.FontFlag.CenterX/description": {
          "source_sha256": "be5a016a0b1884ae287fd0d0eaf02ed1905cbe743a9d89de5b0bbc555e91bc94",
          "translation": "Горизонтально центрирует каждую отрисованную строку в целевом прямоугольнике."
        },
        "/symbols/@id=script.enum-value.FontFlag.CenterY/description": {
          "source_sha256": "2aecbbbfd0a49701a67a08b8ff5f7551491ec40aa41c06d055c299553ea61bf8",
          "translation": "Вертикально центрирует весь текстовый блок в целевом прямоугольнике."
        },
        "/symbols/@id=script.enum-value.FontFlag.Justify/description": {
          "source_sha256": "3049ebc7d74dbd529492e1c3f45d5a94a95482bccd8acb9fbcfb10ba8a881104",
          "translation": "Распределяет дополнительные интервалы между словами, чтобы заполнить целевую ширину строки."
        },
        "/symbols/@id=script.enum-value.FontFlag.KeepTail/description": {
          "source_sha256": "ff65b0059e9d2448bf57bdccf1e3a7275efaa218fd1d2d4fd33a8635a9ddb6e8",
          "translation": "Отрисовывает конец текстового блока, высота которого превышает целевой прямоугольник."
        },
        "/symbols/@id=script.enum-value.FontFlag.NoColorize/description": {
          "source_sha256": "d0f8573e60475155327a341aa2a04301162aa5376889afee63865a7fc7d52c18",
          "translation": "Удаляет встроенные цветовые теги, сохраняя заданный базовый цвет текста."
        },
        "/symbols/@id=script.enum-value.FontFlag.NoWrap/description": {
          "source_sha256": "3db8d394413fd609166b9247a9843990220fac89d125529b7ca6528ffcb8f4be",
          "translation": "Обрезает оставшийся текст при переполнении ширины прямоугольника вместо переноса."
        },
        "/symbols/@id=script.enum-value.FontFlag.None/description": {
          "source_sha256": "11355563da99f242b04c37a32ac97244bc567c0f80e51bb170defad333369aff",
          "translation": "Не применяет дополнительные флаги компоновки текста или отрисовки глифов."
        },
        "/symbols/@id=script.enum-value.FontFlag.TruncateLine/description": {
          "source_sha256": "b02ef1429a24fd98dd060e4892f5ce16d02f829be5a2c8496bd25895ec7140e8",
          "translation": "Пропускает вышедшие за границу глифы до следующего перевода строки вместо переноса текущей строки."
        },
        "/symbols/@id=script.enum-value.FontType.Default/description": {
          "source_sha256": "1540de2e20060c310daa1e3f4faa6abf72dbce39df7189d3394189193d69420b",
          "translation": "Встроенный стандартный слот шрифта, используемый, когда не выбран проектный слот."
        },
        "/symbols/@id=script.enum-value.GameProperty.None/description": {
          "source_sha256": "364b5adb2e1b04cb54a8d5b8ad9b38a20b18129bdd01a1c5f972564ea434db31",
          "translation": "Признак того, что идентификатор свойства Game не выбран."
        },
        "/symbols/@id=script.enum-value.ImGuiProperty.None/description": {
          "source_sha256": "67d9fe7e4ff4aa66cd1e2a89978d0ff5d564f9861afb8828a5331126b0faca3e",
          "translation": "Признак того, что идентификатор свойства ImGui не выбран."
        },
        "/symbols/@id=script.enum-value.ImGui_ButtonFlags.EnableNav/description": {
          "source_sha256": "3f9634633ea54bda5bd97a714252d86e940d551f3d43fd862c3c75c937c46ca9",
          "translation": "Для InvisibleButton() не отключает навигацию и переход по Tab, которые по умолчанию запрещены."
        },
        "/symbols/@id=script.enum-value.ImGui_ButtonFlags.MouseButtonLeft/description": {
          "source_sha256": "a7c2d8f71bdcfabeb8d1adea347507415e7d2c2b067f4b6d8977f4e3ff76598a",
          "translation": "Реагирует на левую кнопку мыши; это стандартный режим."
        },
        "/symbols/@id=script.enum-value.ImGui_ButtonFlags.MouseButtonMiddle/description": {
          "source_sha256": "be7476c52a888170f5da7a3d10810425fddb6e408792e6e164b217151e61a42e",
          "translation": "Реагирует на среднюю кнопку мыши."
        },
        "/symbols/@id=script.enum-value.ImGui_ButtonFlags.MouseButtonRight/description": {
          "source_sha256": "dca63ef01bd56be2bd8d7692ef6b98ef618ce8c775809a825a2186510c83882b",
          "translation": "Реагирует на правую кнопку мыши."
        },
        "/symbols/@id=script.enum-value.ImGui_ButtonFlags.None/description": {
          "source_sha256": "19ba357072bb2f5be4a93a1125c37c6e75b6bd42221181e3521dcfeed2c5b188",
          "translation": "Не применяет дополнительные флаги поведения низкоуровневой кнопки."
        },
        "/symbols/@id=script.enum-value.ImGui_ChildFlags.AlwaysAutoResize/description": {
          "source_sha256": "26a78d652f408ec4a6f5c5eca3eda05209d65572e367c0158f3304264856e728",
          "translation": "При включенном автоматическом размере измеряет скрытое содержимое, всегда сообщает о видимости дочернего окна и отключает оптимизацию отсечения; этот затратный режим не рекомендуется для обычного использования."
        },
        "/symbols/@id=script.enum-value.ImGui_ChildFlags.AlwaysUseWindowPadding/description": {
          "source_sha256": "865c15cc76099feb5df58dcd7f46da867847a02692baa9a8c8f18a46f8ee231c",
          "translation": "Использует style.WindowPadding, даже если у дочернего окна нет границы."
        },
        "/symbols/@id=script.enum-value.ImGui_ChildFlags.AutoResizeX/description": {
          "source_sha256": "657cb7dbfe654bb892d085e45d66f6b87730363291136d8840cf60ad4a3b9603",
          "translation": "Определяет ширину дочернего окна по измеренному содержимому."
        },
        "/symbols/@id=script.enum-value.ImGui_ChildFlags.AutoResizeY/description": {
          "source_sha256": "960b198dc85aa89307e3e229ee9660418cad7e8ff00baeb5ec69e1722406a6ea",
          "translation": "Определяет высоту дочернего окна по измеренному содержимому."
        },
        "/symbols/@id=script.enum-value.ImGui_ChildFlags.Border/description": {
          "source_sha256": "2152cb324e45b421eef718f7d14f427e3e81eadd54cfcb04dc5d19eafa476ec5",
          "translation": "Рисует внешнюю границу и включает стандартные внутренние отступы окна."
        },
        "/symbols/@id=script.enum-value.ImGui_ChildFlags.FrameStyle/description": {
          "source_sha256": "3d47cd192d36ced34cd15768e62e687bde388f2ad18a3541368c2e74ff862274",
          "translation": "Оформляет дочернее окно как элемент с рамкой, используя цвета, скругление, толщину границы и отступы рамки."
        },
        "/symbols/@id=script.enum-value.ImGui_ChildFlags.NavFlattened/description": {
          "source_sha256": "71c1bb9a490193236fe5fa6e5b09ff7ea0c27e78ea5151cae78fdb5bdb0175df",
          "translation": "Экспериментальный режим, который объединяет область фокуса и разрешает навигации с клавиатуры или геймпада пересекать границу родителя и переходить между соседними дочерними окнами."
        },
        "/symbols/@id=script.enum-value.ImGui_ChildFlags.None/description": {
          "source_sha256": "1e590ec5c06752b9211e5f37af70a0978a61955d6a83faa896ef5542bafe0c0a",
          "translation": "Не применяет дополнительные флаги поведения дочернего окна."
        },
        "/symbols/@id=script.enum-value.ImGui_ChildFlags.ResizeX/description": {
          "source_sha256": "164a9c39f36d886c2f186cec51c3da5f2543340d4bf15d85447089ec76b232a3",
          "translation": "Разрешает менять размер за правую границу компоновки и сохраняет ширину, если сохранение настроек окна не отключено."
        },
        "/symbols/@id=script.enum-value.ImGui_ChildFlags.ResizeY/description": {
          "source_sha256": "681fdb8ecf6fb3b68b4f3629f396dfcbffcb2956f9d575f4389ba3dbb0f9321d",
          "translation": "Разрешает менять размер за нижнюю границу компоновки и сохраняет высоту, если сохранение настроек окна не отключено."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.Border/description": {
          "source_sha256": "65bc8cb20315a6cecaa495928a520eb4161ea2df7659389dfe4fedffba8f8e66",
          "translation": "Выбирает слот цвета границ окон, дочерних окон, popup и виджетов с рамкой."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.Button/description": {
          "source_sha256": "a7cc68b98aab6fd6063ced5fadd5fcc8aa4e4ccfe201ca91aae26b631c233c27",
          "translation": "Выбирает слот обычного цвета кнопки."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.ButtonActive/description": {
          "source_sha256": "156c6b5e7f9ac70973011b0a1d0ea3872dbb498f78d432c3964198d8d5b3b40a",
          "translation": "Выбирает слот цвета активной кнопки."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.ButtonHovered/description": {
          "source_sha256": "e4e913db4d95362701f3a2b78c9839bc54e3db27937dca2fbf915d96f5b2706d",
          "translation": "Выбирает слот цвета кнопки при наведении."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.CheckMark/description": {
          "source_sha256": "fdf6d15ef4e100fc0e0cabb3d70ebd220f5fb77cb651db78ffd8720a0dcc9abf",
          "translation": "Выбирает цвет галочки checkbox и кружка RadioButton."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.ChildBg/description": {
          "source_sha256": "6159ed3b86695292c6ec7919df5a3706397c4529f54aac49f7071828e30b438f",
          "translation": "Выбирает цвет фона дочерних окон."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.FrameBg/description": {
          "source_sha256": "d1b04006d146e8d37ca51a6ee31f42f4e8b5984179a8b3165ba1509f5a47c03d",
          "translation": "Выбирает цвет фона checkbox, radio button, графика, слайдера и текстового поля."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.FrameBgActive/description": {
          "source_sha256": "6dbab7092e2963353c30002097706aa9924cc7d787d565994abcc652cc58262f",
          "translation": "Выбирает слот цвета фона активной рамки."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.FrameBgHovered/description": {
          "source_sha256": "5f7ea97942ca21d02eea8566aaf1abfb924b1d55ac5f80f663ba2196a0334b1f",
          "translation": "Выбирает слот цвета фона рамки при наведении."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.Header/description": {
          "source_sha256": "47926df2d73c0dda7ffad2759ffb60e7c0fb20f77e8b5a4cba8772ffff443a14",
          "translation": "Выбирает обычный цвет для CollapsingHeader, TreeNode, Selectable и MenuItem."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.HeaderActive/description": {
          "source_sha256": "9d9d3676904a30ea7f5cc9380b298babb7ffea4fb1bf4f5f27ea4f27de99340b",
          "translation": "Выбирает слот активного цвета заголовков, узлов дерева и выбираемых элементов."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.HeaderHovered/description": {
          "source_sha256": "d2a551d048fa70b7c96cbfd1db1bebe05466890eec24b0c693b46b03c5679e2c",
          "translation": "Выбирает слот цвета заголовков, узлов дерева и выбираемых элементов при наведении."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.MenuBarBg/description": {
          "source_sha256": "a6b72eb105a0e9ae74e4834a46eccf7ef3d345bf78e6bfaa9962f2ecfa3b2f44",
          "translation": "Выбирает слот цвета фона строки меню."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.PopupBg/description": {
          "source_sha256": "4cb222db67bdf6228ceb497cb25b09f426af9d4b2d1384474cebd73cb8929340",
          "translation": "Выбирает цвет фона popup, меню и окон подсказок."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.ResizeGrip/description": {
          "source_sha256": "c347473002c43da758e8779f389353ff5ad6412ea43fc5e6856d9d19693291e1",
          "translation": "Выбирает цвет маркера изменения размера в нижнем правом и нижнем левом углах окна."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.ResizeGripActive/description": {
          "source_sha256": "5232c4618ff5009e680716cebaebe305887c39f2130a9a3e92afb736c69820a3",
          "translation": "Выбирает слот цвета активного маркера изменения размера."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.ResizeGripHovered/description": {
          "source_sha256": "11cad3efa8b34051a91a13a6f10df08f110748828ef6490a6ddce5e97736d53e",
          "translation": "Выбирает слот цвета маркера изменения размера при наведении."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.ScrollbarBg/description": {
          "source_sha256": "8c1160664a97170a5b4a5f0d3cceb60e3bed5dc7f85364bc24edcb2f8785faa5",
          "translation": "Выбирает слот цвета фона дорожки полосы прокрутки."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.ScrollbarGrab/description": {
          "source_sha256": "0b751a6eb31581031e9026571cd1c45c25743869f6d5536f7cadc5bbed6c7499",
          "translation": "Выбирает слот обычного цвета ползунка полосы прокрутки."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.Separator/description": {
          "source_sha256": "7677875d15acd25acfc5f781e77fa83a821bc100a6fa5e5967e73a6750d4063e",
          "translation": "Выбирает слот обычного цвета разделителя."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.SeparatorActive/description": {
          "source_sha256": "f6466b4414da1b874025cbb104de13a6dc9808343e6ae46556b2b84ed12c40da",
          "translation": "Выбирает слот цвета активного разделителя."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.SeparatorHovered/description": {
          "source_sha256": "06e00dc8144e008b0f5efa10e7ac3523d3a4a856edb374de1e45983d44287e93",
          "translation": "Выбирает слот цвета разделителя при наведении."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.SliderGrab/description": {
          "source_sha256": "445fe4718415bad8479ca68bf16ba1f3952144efa518008d4232993264222c10",
          "translation": "Выбирает слот обычного цвета ползунка слайдера."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.SliderGrabActive/description": {
          "source_sha256": "8328dca9e0ada799d78a74421b522d9853bf0f57cd4a595bfd5f71cb3f9319c7",
          "translation": "Выбирает слот цвета активного ползунка слайдера."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.Tab/description": {
          "source_sha256": "82d25cbf4229c383e822669d95c19ed42981c755fb38d5ebc5b8bc79cad48e49",
          "translation": "Выбирает фон невыбранной вкладки, когда панель вкладок сфокусирована."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.TabDimmed/description": {
          "source_sha256": "9a840e431f74356e4ede29dde328500201ff029d96c97f18e38f944bde65d58f",
          "translation": "Выбирает фон невыбранной вкладки, когда панель вкладок не сфокусирована."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.TabDimmedSelected/description": {
          "source_sha256": "2d351af74ced07b80566d61c6892fa14d593adf83b9afc4c7ebf97532b539df6",
          "translation": "Выбирает фон выбранной вкладки, когда панель вкладок не сфокусирована."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.TabHovered/description": {
          "source_sha256": "58df13a45f62cdcc99f1487265ca4b0796caaa72daf78b74b3aba58a8b73672d",
          "translation": "Выбирает фон вкладки при наведении."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.TabSelected/description": {
          "source_sha256": "40459a6cf123702a8c43ff6ccd0571d82cee4ed75ffe5fabb904cec6001a5db5",
          "translation": "Выбирает фон выбранной вкладки, когда панель вкладок сфокусирована."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.TableHeaderBg/description": {
          "source_sha256": "d5319cebb48b58e1540b798f72ebf2fbcc014879593ad9e6a6380b1f6ab7af0d",
          "translation": "Выбирает цвет фона заголовка таблицы."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.TableRowBg/description": {
          "source_sha256": "96bf97c86908aed14ac3fde2e71f9fc86f9fda23deebb3dfa686edc1190027ca",
          "translation": "Выбирает цвет фона четных строк таблицы."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.TableRowBgAlt/description": {
          "source_sha256": "883865522cc61bfaa91627740762c0a4a746cf6ecffc8d4779e394bfbed2d61c",
          "translation": "Выбирает цвет фона нечетных строк таблицы."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.Text/description": {
          "source_sha256": "778ce81ae4f30f4435213a2ebc2610f20cf357d5f2c1add250dff14cede9ba3f",
          "translation": "Выбирает слот основного цвета текста."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.TextDisabled/description": {
          "source_sha256": "785f771853788a743a2bddef60ac64206af09897e96f6a5ca95ea5680a1bd80a",
          "translation": "Выбирает слот цвета отключенного текста."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.TitleBg/description": {
          "source_sha256": "11bca4ac3017172a7039971a9ce343f7b567715ba3fac7ceb4073fd872b644b7",
          "translation": "Выбирает цвет строки заголовка."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.TitleBgActive/description": {
          "source_sha256": "e1ffc8262d9c274ded6b4f5c98682810e152dd35b8f94bad4614959524b4e4b4",
          "translation": "Выбирает цвет строки заголовка сфокусированного окна."
        },
        "/symbols/@id=script.enum-value.ImGui_Col.WindowBg/description": {
          "source_sha256": "66a7c935ea32da09675187727b123726e1ea1dc14783cd8a289dfc22b147f664",
          "translation": "Выбирает цвет фона обычных окон."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.AlphaBar/description": {
          "source_sha256": "d966feb0cfbc9b4c8249bc80304dd1edaade6962746e9b0c0623819183040495",
          "translation": "Для ColorEdit и ColorPicker показывает в палитре вертикальную полосу или градиент альфа-канала."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.AlphaNoBg/description": {
          "source_sha256": "c61cabf784ddcb24843ccde652e1813cb4d5457591dc5ac876a397b4584eb029",
          "translation": "Для ColorEdit, ColorPicker и ColorButton не рисует шахматный фон за прозрачным цветом."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.AlphaOpaque/description": {
          "source_sha256": "db18ce96354fbbf8c61671b6d8e75eff7aa7a3bb2e1b5dcff4711f373d380ed0",
          "translation": "Скрывает альфа-канал в предпросмотре, но разрешает ColorEdit4 и ColorPicker4 редактировать его; для ColorButton эквивалентно NoAlpha."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.AlphaPreviewHalf/description": {
          "source_sha256": "ee9aabc98e80b8247bee45c87ba125486e11744e115e0cffcabcec8480b7faec",
          "translation": "Для ColorEdit, ColorPicker и ColorButton показывает предпросмотр, наполовину непрозрачный и наполовину прозрачный."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.DefaultOptions/description": {
          "source_sha256": "eb0c5c6ff096e53d8a2be2b0a4c74b09603f3c0db124f6a4533cfec6bd7aa626",
          "translation": "Выбирает 8-битное отображение и ввод RGB с полосой оттенка как стандартные параметры редактора цвета."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.DisplayHSV/description": {
          "source_sha256": "35d658fbfc4dfcca16e4f2566332bb97311191a5a395782f4885333e304db337",
          "translation": "Отображает и редактирует компоненты цвета в формате HSV."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.DisplayHex/description": {
          "source_sha256": "bde1057b15dde1738abde37bf87e482fff6f6ad754910fb4d55832220d560208",
          "translation": "Отображает и редактирует цвет как шестнадцатеричное значение."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.DisplayRGB/description": {
          "source_sha256": "173357ed45614b07facaf624919b2dcf103795b5bb173d331f60d40ea92d2359",
          "translation": "Для ColorEdit переопределяет формат отображения между RGB, HSV и Hex; для ColorPicker разрешает любую комбинацию этих форматов."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.Float/description": {
          "source_sha256": "aa9899495306607859637ccef8cfcc1184a145a9d8307cc3b1dea7303617e4f9",
          "translation": "Для ColorEdit, ColorPicker и ColorButton отображает значения как числа с плавающей точкой от 0.0f до 1.0f вместо целых от 0 до 255, не выполняя round-trip через целые числа."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.HDR/description": {
          "source_sha256": "897d272db5c160260bf127cbfe56ca2d16ad5b26f7b51ba436aedf1c579d7e51",
          "translation": "Незавершенный режим ColorEdit, который пока только снимает ограничения 0.0f..1.0f в RGBA; обычно также нужен ImGuiColorEditFlags_Float."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.InputHSV/description": {
          "source_sha256": "b667deb3590a5ad37b2e0e0789ba19f9bc76da102a72259990fe59a5374c5837",
          "translation": "Для ColorEdit и ColorPicker принимает и возвращает данные в формате HSV."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.InputRGB/description": {
          "source_sha256": "f05e60a4595ef2e9311e1bce658ba03cef194686844eee5c299c214b2b470265",
          "translation": "Для ColorEdit и ColorPicker принимает и возвращает данные в формате RGB."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.NoAlpha/description": {
          "source_sha256": "25947b746895da875a7cb79f6c9c93b17a03419e0750776cc4e7af365981451d",
          "translation": "Для ColorEdit, ColorPicker и ColorButton игнорирует компонент Alpha и читает из входного указателя только три компонента."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.NoBorder/description": {
          "source_sha256": "b026e9fef204a42b5437ebe6dce979af022ea2398eb8cfedc140544e28fc9a5b",
          "translation": "Для ColorButton отключает границу, которая по умолчанию обязательна."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.NoDragDrop/description": {
          "source_sha256": "bd619c655c7317ef4a751f6c689a223ca4228ece46a3573ac7a3fb9593b20de3",
          "translation": "Для ColorEdit отключает приемник и источник drag-and-drop, а для ColorButton отключает источник."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.NoInputs/description": {
          "source_sha256": "e916ec4aee433fd60255be67ec85a4db822bf6ec548b7f89e25ff87429bb0dc6",
          "translation": "Для ColorEdit и ColorPicker отключает слайдеры и текстовые поля ввода, например чтобы оставить только маленький квадрат предпросмотра."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.NoLabel/description": {
          "source_sha256": "6cf2fa28871bbb91846a4a42ee0a726b87a3c0c6c09acfb0f9df035dfd12cd61",
          "translation": "Для ColorEdit и ColorPicker скрывает встроенную текстовую метку, продолжая передавать ее подсказке и палитре."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.NoOptions/description": {
          "source_sha256": "e6aee0ec7e7d0d614ecf445e992dbf649d097172d38ed2165b2b98ac086ab25f",
          "translation": "Для ColorEdit запрещает переключать меню параметров правым щелчком по полям ввода или маленькому предпросмотру."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.NoPicker/description": {
          "source_sha256": "04237c34cd963d94d5395068103e1ec6d895cad1eaedd8524c6877ee19b2b460",
          "translation": "Для ColorEdit не открывает палитру при щелчке по цветному квадрату."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.NoSidePreview/description": {
          "source_sha256": "cd45e25be3713916dfd49da2259c1384cffa0e15c33250604f8e98cdd38a7822",
          "translation": "Для ColorPicker скрывает большой предпросмотр справа и использует вместо него маленький цветной квадрат."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.NoSmallPreview/description": {
          "source_sha256": "f768910cd6fa82a6b6a260af6b7175fad69b0dc4859ddb6e9706c797cb9de6a6",
          "translation": "Для ColorEdit и ColorPicker скрывает цветной квадрат рядом с полями ввода, например чтобы оставить только поля."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.NoTooltip/description": {
          "source_sha256": "32a67c72326037c0442a64e714a1ab8ffa81faf8139be00284d963c194868763",
          "translation": "Для ColorEdit, ColorPicker и ColorButton отключает подсказку при наведении на предпросмотр."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.None/description": {
          "source_sha256": "ffb5fe800b2f2032b5c7f8082ccba14c9257cbaa2d35a9731765b5a8283f6df3",
          "translation": "Не применяет дополнительные флаги поведения редактора цвета."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.PickerHueBar/description": {
          "source_sha256": "bd57aa1035a763559d8390d3070b20fbfcceb6a85c8d1dc97c86f04f2150316b",
          "translation": "Для ColorPicker показывает оттенок полосой, а насыщенность и яркость прямоугольником."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.PickerHueWheel/description": {
          "source_sha256": "b62997d2432cc54c25ea75d18486feb1dde92ae6717463ee0b96ae448bb86b9f",
          "translation": "Для ColorPicker показывает оттенок кругом, а насыщенность и яркость треугольником."
        },
        "/symbols/@id=script.enum-value.ImGui_ColorEditFlags.Uint8/description": {
          "source_sha256": "979b84b963c458c12c458e8dd5039a4731ca1424157bb319074ff48e21603293",
          "translation": "Для ColorEdit, ColorPicker и ColorButton отображает значения в диапазоне от 0 до 255."
        },
        "/symbols/@id=script.enum-value.ImGui_ComboFlags.HeightLarge/description": {
          "source_sha256": "cb17f6ab7bcaec41609b5595efc8ef006dfb0a278487e8433a853a5e55dc2def",
          "translation": "Показывает не более примерно 20 элементов."
        },
        "/symbols/@id=script.enum-value.ImGui_ComboFlags.HeightLargest/description": {
          "source_sha256": "40ca8886afd2f9af66f1a2d36725cf5b90f75bfacbc68cd352c850ef6b95775c",
          "translation": "Показывает столько элементов, сколько помещается."
        },
        "/symbols/@id=script.enum-value.ImGui_ComboFlags.HeightRegular/description": {
          "source_sha256": "4d10617561f0ce2fdead63250a146ed7ac93a1609c5f133a2626cabff243f55c",
          "translation": "Показывает не более примерно 8 элементов; это стандартный режим."
        },
        "/symbols/@id=script.enum-value.ImGui_ComboFlags.HeightSmall/description": {
          "source_sha256": "ec4ceb55bac04a62582d63dc30f49856cf0d6d401e6b49d92ac1299b84955c89",
          "translation": "Показывает не более примерно 4 элементов. Точный размер popup можно задать через SetNextWindowSizeConstraints() перед BeginCombo()."
        },
        "/symbols/@id=script.enum-value.ImGui_ComboFlags.NoArrowButton/description": {
          "source_sha256": "7ee1049bbaf08a9c633df4c03cdb2ac97f8df3a9ac0e9c4db7ef9fc04fba5572",
          "translation": "Показывает поле предпросмотра без квадратной кнопки со стрелкой."
        },
        "/symbols/@id=script.enum-value.ImGui_ComboFlags.NoPreview/description": {
          "source_sha256": "9d9c93df0b924b72122a5e9c42eac312dd4d3949b920a926cb1dd961f5793ddd",
          "translation": "Показывает только квадратную кнопку со стрелкой."
        },
        "/symbols/@id=script.enum-value.ImGui_ComboFlags.None/description": {
          "source_sha256": "56e5079f00e2b23183ca68d750f0d8cd02c33095034f89214b6f909e561516fd",
          "translation": "Не применяет дополнительные флаги поведения комбинированного списка."
        },
        "/symbols/@id=script.enum-value.ImGui_ComboFlags.PopupAlignLeft/description": {
          "source_sha256": "45dc6c82815dcc6eaeb3e420a478856082db4ab5d121fcd7b30e0bbbaa155b4f",
          "translation": "По умолчанию выравнивает всплывающий список по левому краю."
        },
        "/symbols/@id=script.enum-value.ImGui_ComboFlags.WidthFitPreview/description": {
          "source_sha256": "6bb9fc6cf45e8846843f03f8b54bdbb3e6b94e5ff076a5a0c3cbf62e801711a3",
          "translation": "Динамически вычисляет ширину по содержимому предпросмотра."
        },
        "/symbols/@id=script.enum-value.ImGui_Cond.Always/description": {
          "source_sha256": "26c466e6aef3ef1dc03314e5dfdfa90f72ea809a15b88d69475422b3ea5bdfc7",
          "translation": "Не задает условие и всегда присваивает переменную; эквивалентно _None."
        },
        "/symbols/@id=script.enum-value.ImGui_Cond.Appearing/description": {
          "source_sha256": "1cb2bcbb85f5eb32b45a9b33fee479f6c4318e987234fe6375a4303e80c3d38a",
          "translation": "Присваивает переменную, когда объект или окно появляется после скрытого либо неактивного состояния, а также при первом появлении."
        },
        "/symbols/@id=script.enum-value.ImGui_Cond.FirstUseEver/description": {
          "source_sha256": "8f3d2d9c6511bfec967c492f4fa0e7b1c2b1f6f374283fdf5c9bfdab460d5e5b",
          "translation": "Присваивает переменную, если для объекта или окна нет сохраненных данных в файле .ini."
        },
        "/symbols/@id=script.enum-value.ImGui_Cond.None/description": {
          "source_sha256": "9f054e98631f1d03720b9b3a03baa8ee8cfe0db71967984228a105d9f32d66f2",
          "translation": "Не задает условие и всегда присваивает переменную; эквивалентно _Always."
        },
        "/symbols/@id=script.enum-value.ImGui_Cond.Once/description": {
          "source_sha256": "fbaceccfe770099a97b360f2de203d8c830e4ac9f4750bdde332b012196eb420",
          "translation": "Присваивает переменную один раз за сеанс выполнения; срабатывает только первый вызов."
        },
        "/symbols/@id=script.enum-value.ImGui_Dir.Down/description": {
          "source_sha256": "6b636864b0d9d4ea3d25194b67bd77a1e02d19671437ea63dcca63ee34c70911",
          "translation": "Выбирает направление вниз."
        },
        "/symbols/@id=script.enum-value.ImGui_Dir.Left/description": {
          "source_sha256": "104823e95494e9396c662ee84ea64e845a56f468df224d13d1c7d01cbef7f50f",
          "translation": "Выбирает направление влево."
        },
        "/symbols/@id=script.enum-value.ImGui_Dir.None/description": {
          "source_sha256": "aa8c9873ef9abbaf40e3e085a647aa8766f30806e692f154cb9b1064d2e2e02f",
          "translation": "Указывает, что основное направление не выбрано."
        },
        "/symbols/@id=script.enum-value.ImGui_Dir.Right/description": {
          "source_sha256": "de65b8ba36fe91d8e9f86ab07fd0990eecc051c508a77b57004cfe65b6e82a8b",
          "translation": "Выбирает направление вправо."
        },
        "/symbols/@id=script.enum-value.ImGui_Dir.Up/description": {
          "source_sha256": "31d0c44e6b6c05d07ea1caa9c9d8a0602f9369ffafa81df151d13c7861c542f7",
          "translation": "Выбирает направление вверх."
        },
        "/symbols/@id=script.enum-value.ImGui_FocusedFlags.AnyWindow/description": {
          "source_sha256": "59a20b6b2920cecc54113c2dd1d13be70d47ab0299c06d727639fe1691f0f0a2",
          "translation": "Возвращает true, если сфокусировано любое окно. Не используйте этот запрос для маршрутизации низкоуровневого ввода; для этого предназначен io.WantCaptureMouse."
        },
        "/symbols/@id=script.enum-value.ImGui_FocusedFlags.ChildWindows/description": {
          "source_sha256": "ccbfa2d2eb90ded9d8e2f6b5bf42b1ceead88b0491bea0fae65e4d562a0f607b",
          "translation": "Возвращает true, если сфокусировано любое дочернее окно текущего окна."
        },
        "/symbols/@id=script.enum-value.ImGui_FocusedFlags.NoPopupHierarchy/description": {
          "source_sha256": "13e65d99f0ab026f2aa673deb474cc9bd8c29c637057f8ea3413c533856050ec",
          "translation": "Не учитывает иерархию всплывающих окон и не считает окно, открывшее popup, его родителем при использовании с _ChildWindows или _RootWindow."
        },
        "/symbols/@id=script.enum-value.ImGui_FocusedFlags.None/description": {
          "source_sha256": "969df81844b661584dc783cf8c86e4177f8d9a69a4980ac88ea8fd229ed4f0ca",
          "translation": "Проверяет фокус только текущего окна, не расширяя область запроса."
        },
        "/symbols/@id=script.enum-value.ImGui_FocusedFlags.RootAndChildWindows/description": {
          "source_sha256": "d217c065153bfc94cefe69576cebe715d6891d904471b30dae16935760aa0378",
          "translation": "Проверяет фокус корневого окна и всех его дочерних окон."
        },
        "/symbols/@id=script.enum-value.ImGui_FocusedFlags.RootWindow/description": {
          "source_sha256": "9769fc114c937761774e960c8b945bb491288b1ee9174e0da666dc1dfef32637",
          "translation": "Выполняет проверку от корневого окна, то есть самого верхнего родителя текущей иерархии."
        },
        "/symbols/@id=script.enum-value.ImGui_HoveredFlags.AllowWhenBlockedByActiveItem/description": {
          "source_sha256": "c30234e5aa9afd4bb76a15a1808a8845e212a7d4d3f4973d0ad979225f9ae297",
          "translation": "Возвращает true, даже если активный элемент перекрывает доступ к проверяемому элементу или окну; полезно для сценариев перетаскивания."
        },
        "/symbols/@id=script.enum-value.ImGui_HoveredFlags.AllowWhenBlockedByPopup/description": {
          "source_sha256": "89aef6f9a08283b692fbfd52fda4cee11834a365000b00ad3348244345c9f2ff",
          "translation": "Возвращает true, даже если всплывающее окно обычно блокирует доступ к проверяемому элементу или окну."
        },
        "/symbols/@id=script.enum-value.ImGui_HoveredFlags.AllowWhenDisabled/description": {
          "source_sha256": "27a674aa697bbdbf43154203111c17eb02dd603c64225174ce8a2db91895489c",
          "translation": "Только для IsItemHovered(): возвращает true, даже если элемент отключен."
        },
        "/symbols/@id=script.enum-value.ImGui_HoveredFlags.AllowWhenOverlapped/description": {
          "source_sha256": "b29ac988d9a40ebcd59e803ad27bcb556e2b9944c627f7e66f0583888d5fd437",
          "translation": "Разрешает положительный результат наведения, когда проверяемый прямоугольник перекрыт другим элементом или окном."
        },
        "/symbols/@id=script.enum-value.ImGui_HoveredFlags.AllowWhenOverlappedByItem/description": {
          "source_sha256": "f21c8649e6daca713c71f04d1eaa4ad39413523eed4ef95ae01fea8e2334a738",
          "translation": "Только для IsItemHovered(): возвращает true, даже если элемент использует режим AllowOverlap и перекрыт другим доступным для наведения элементом."
        },
        "/symbols/@id=script.enum-value.ImGui_HoveredFlags.AllowWhenOverlappedByWindow/description": {
          "source_sha256": "0543fc25c9e1c7253238705c348f782d6e09911a395063d8829cd660fd2e14a7",
          "translation": "Только для IsItemHovered(): возвращает true, даже если позиция заслонена или перекрыта другим окном."
        },
        "/symbols/@id=script.enum-value.ImGui_HoveredFlags.AnyWindow/description": {
          "source_sha256": "d193f8f0ad5c857048bc53d2582dd4aa3d87766dacb398058b497432e67ab5b9",
          "translation": "Только для IsWindowHovered(): возвращает true, если курсор наведен на любое окно."
        },
        "/symbols/@id=script.enum-value.ImGui_HoveredFlags.ChildWindows/description": {
          "source_sha256": "c34615f5ac0ad7b0cd4108e0ab159748ad247e046a8dd8a19ad9d5122a615003",
          "translation": "Только для IsWindowHovered(): возвращает true, если курсор наведен на любое дочернее окно текущего окна."
        },
        "/symbols/@id=script.enum-value.ImGui_HoveredFlags.ForTooltip/description": {
          "source_sha256": "355789a9af1f6d6f2874f2c21c70d4c9321947c2de23471ea71b33ef346a1f5b",
          "translation": "Стандартная комбинация флагов для последовательности IsItemHovered() и SetTooltip()."
        },
        "/symbols/@id=script.enum-value.ImGui_HoveredFlags.NoNavOverride/description": {
          "source_sha256": "525d6cb9fe4761589d72a22ca0508f26ee66210cdb0883bc144aa2dcdbcd65fb",
          "translation": "Только для IsItemHovered(): игнорирует активное состояние навигации с клавиатуры или геймпада и всегда проверяет мышь."
        },
        "/symbols/@id=script.enum-value.ImGui_HoveredFlags.NoPopupHierarchy/description": {
          "source_sha256": "3c7406f3f2ded2580f5e768a07d176250db88981295cb80cae48336709e42457",
          "translation": "Только для IsWindowHovered(): не учитывает иерархию всплывающих окон и не считает окно, открывшее popup, его родителем при использовании с _ChildWindows или _RootWindow."
        },
        "/symbols/@id=script.enum-value.ImGui_HoveredFlags.None/description": {
          "source_sha256": "6c7dd28868da42e9587533b9df240c1389239ec091a500ab2adf841681e69b9c",
          "translation": "Возвращает true только при непосредственном наведении на элемент или окно без перекрытия другим окном, активным popup или модальным окном, блокирующим ввод."
        },
        "/symbols/@id=script.enum-value.ImGui_HoveredFlags.RectOnly/description": {
          "source_sha256": "4dd696f0dba31897add28da5caf58ca2fe29457513a08008d54e437b27281c8b",
          "translation": "Использует прямоугольник элемента или окна, игнорируя блокировку всплывающим окном, активным элементом и перекрытием."
        },
        "/symbols/@id=script.enum-value.ImGui_HoveredFlags.RootWindow/description": {
          "source_sha256": "adae308effe99c6f8144c0577a460438a62ea6fed3b17626d94e75cfe7f691c3",
          "translation": "Только для IsWindowHovered(): выполняет проверку от корневого окна, то есть самого верхнего родителя текущей иерархии."
        },
        "/symbols/@id=script.enum-value.ImGui_InputTextFlags.AutoSelectAll/description": {
          "source_sha256": "93c6bc3523666d3745ccab44623d9bc4eed8451f9a9be5434f490cd1288bba30",
          "translation": "Выделяет весь текст при первом получении фокуса мышью."
        },
        "/symbols/@id=script.enum-value.ImGui_InputTextFlags.CharsDecimal/description": {
          "source_sha256": "a9d762629659822656bf4e65b0363512212617dc09b46d9031b3fdcd32223025",
          "translation": "Разрешает символы 0123456789.+-*/."
        },
        "/symbols/@id=script.enum-value.ImGui_InputTextFlags.CharsHexadecimal/description": {
          "source_sha256": "d6b9117e0f1a159e6aa59d4a14055bf1b0e7d6bbd3ac30111a1823b678937bfd",
          "translation": "Разрешает символы 0123456789ABCDEFabcdef."
        },
        "/symbols/@id=script.enum-value.ImGui_InputTextFlags.CharsNoBlank/description": {
          "source_sha256": "6f7965fc4297efaa86e3f11d3511b76171052ab1711bd9828a4efd3cda2f1293",
          "translation": "Отфильтровывает пробелы и знаки табуляции."
        },
        "/symbols/@id=script.enum-value.ImGui_InputTextFlags.CharsScientific/description": {
          "source_sha256": "bd0755f2d1b1a17dd26aab748b560e28b5fb62834ab64596980d4945fe79d310",
          "translation": "Разрешает символы 0123456789.+-*/eE для ввода в научной нотации."
        },
        "/symbols/@id=script.enum-value.ImGui_InputTextFlags.CharsUppercase/description": {
          "source_sha256": "fc43bd02d7b787b2d7401651ff1f076398ce5023d48b7a9e1761e18cabce51ff",
          "translation": "Преобразует символы a..z в A..Z."
        },
        "/symbols/@id=script.enum-value.ImGui_InputTextFlags.DisplayEmptyRefVal/description": {
          "source_sha256": "240959b5ca8d89048222cea8c72d725ff99346604d575b2e9cf99e5a3eb68aa1",
          "translation": "Только для InputFloat(), InputInt(), InputScalar() и подобных функций: не отображает нулевое значение; обычно используется вместе с ImGuiInputTextFlags_ParseEmptyRefVal."
        },
        "/symbols/@id=script.enum-value.ImGui_InputTextFlags.EnterReturnsTrue/description": {
          "source_sha256": "a2a4545291a20f86d94ded4e4764412876b42a0059cbe13b52648ad9ec654c8e",
          "translation": "Возвращает true при нажатии Enter, а не при каждом изменении значения. Рассмотрите отключение LiveEdit! или использование IsItemDeactivatedAfterEdit()."
        },
        "/symbols/@id=script.enum-value.ImGui_InputTextFlags.None/description": {
          "source_sha256": "7761499c5fbca7a2a7de895f27ce029106b1d5de3ea0edac14328a995e150e70",
          "translation": "Не применяет дополнительные флаги поведения текстового ввода."
        },
        "/symbols/@id=script.enum-value.ImGui_InputTextFlags.ParseEmptyRefVal/description": {
          "source_sha256": "3bcf9bff85fbdd3fb755aba9d098568f4d6909b56ab5aafd16a182206db9f560",
          "translation": "Только для InputFloat(), InputInt(), InputScalar() и подобных функций: разбирает пустую строку как нулевое значение."
        },
        "/symbols/@id=script.enum-value.ImGui_InputTextFlags.Password/description": {
          "source_sha256": "7a25462727dbe2f6e14307cdeb3d3fc7d45ffccb856269dcedd7253e5894c5e2",
          "translation": "Режим пароля: отображает все символы как '*', запрещает копирование."
        },
        "/symbols/@id=script.enum-value.ImGui_InputTextFlags.ReadOnly/description": {
          "source_sha256": "d06de4d3927da7ccbc6a5fd82f3afd3d644b5f48536398d6fa09ea86735be344",
          "translation": "Включает режим только для чтения."
        },
        "/symbols/@id=script.enum-value.ImGui_MouseButton.Left/description": {
          "source_sha256": "636553ac14756d8997026c2552494e1847ab73bfdd326843f56b3570d39f0d7c",
          "translation": "Обозначает левую кнопку мыши."
        },
        "/symbols/@id=script.enum-value.ImGui_MouseButton.Middle/description": {
          "source_sha256": "20f27ec378084f6f05fb9879950dff3fc98c243d6f3e6a4fce6572d267ff6251",
          "translation": "Обозначает среднюю кнопку мыши."
        },
        "/symbols/@id=script.enum-value.ImGui_MouseButton.Right/description": {
          "source_sha256": "59ca96da7bca2ee2981a8772fddd9605bc917d5c85f03b397fb1515290ea1d90",
          "translation": "Обозначает правую кнопку мыши."
        },
        "/symbols/@id=script.enum-value.ImGui_PopupFlags.AnyPopup/description": {
          "source_sha256": "aa4cc19a50b4faef495676bae890f53784a5cf39a14d7fad048119412cb608ad",
          "translation": "Проверяет любой идентификатор всплывающего окна на любом уровне стека."
        },
        "/symbols/@id=script.enum-value.ImGui_PopupFlags.AnyPopupId/description": {
          "source_sha256": "8dcab81a8836a9a6b27510060b981e58b76a3eb3ff018b52cce4de5eae04f1aa",
          "translation": "Для IsPopupOpen(): игнорирует параметр ImGuiID и проверяет любое всплывающее окно."
        },
        "/symbols/@id=script.enum-value.ImGui_PopupFlags.AnyPopupLevel/description": {
          "source_sha256": "47d62bcda9780d63b989fbf1857db0bfd04f61a74cdff520025d968682b45b07",
          "translation": "Для IsPopupOpen(): выполняет поиск на любом уровне стека всплывающих окон вместо стандартной проверки текущего уровня."
        },
        "/symbols/@id=script.enum-value.ImGui_PopupFlags.MouseButtonLeft/description": {
          "source_sha256": "47ee58b7be34efbc99cc8dcb7c0b54c64b719e63f36e47c1bf3582c531d50e51",
          "translation": "Для BeginPopupContext*(): открывает окно при отпускании левой кнопки мыши; разрешена только одна кнопка."
        },
        "/symbols/@id=script.enum-value.ImGui_PopupFlags.MouseButtonMiddle/description": {
          "source_sha256": "60fb770bdc787c11c7eda1e705697e26fda72cb1d1f3b404092dfe98364353d3",
          "translation": "Для BeginPopupContext*(): открывает окно при отпускании средней кнопки мыши; разрешена только одна кнопка."
        },
        "/symbols/@id=script.enum-value.ImGui_PopupFlags.MouseButtonRight/description": {
          "source_sha256": "88ab68fd55b4f30cfcf7e258878481158f5d1d093085e49821db3853eeb2d3de",
          "translation": "Для BeginPopupContext*(): открывает окно при отпускании правой кнопки мыши; это стандартный режим, и разрешена только одна кнопка."
        },
        "/symbols/@id=script.enum-value.ImGui_PopupFlags.NoOpenOverExistingPopup/description": {
          "source_sha256": "6cf6b73db0b59dbd46726653d4916a975812edb3d5f55c51b41c7ffa785d3b06",
          "translation": "Для OpenPopup*() и BeginPopupContext*(): не открывает окно, если на том же уровне стека уже есть popup."
        },
        "/symbols/@id=script.enum-value.ImGui_PopupFlags.NoOpenOverItems/description": {
          "source_sha256": "b27456722c98b0ecf13f181dc68064c04a30b21a7518d5f221c2260a7c18f949",
          "translation": "Для BeginPopupContextWindow(): возвращает true только над пустым пространством, но не над элементами."
        },
        "/symbols/@id=script.enum-value.ImGui_PopupFlags.NoReopen/description": {
          "source_sha256": "cf5ad592a9a1c54551063a03f8c0c411083ff78537cfe56f89c5a0c359e1b301",
          "translation": "Для OpenPopup*() и BeginPopupContext*(): не открывает заново уже открытый popup, не меняет его позицию и не инициализирует навигацию повторно."
        },
        "/symbols/@id=script.enum-value.ImGui_PopupFlags.None/description": {
          "source_sha256": "717504402e1f5421fb1818b03061a785b361792d066c2c96f27bdb35f7ddd4f7",
          "translation": "Применяет стандартное поведение кнопки мыши и уровня стека всплывающих окон."
        },
        "/symbols/@id=script.enum-value.ImGui_SelectableFlags.AllowDoubleClick/description": {
          "source_sha256": "b30bb442f3f818c409ce68dc93e8ab20056fc3306aaa43edf478fa542a32e8e5",
          "translation": "Также формирует событие нажатия при двойном щелчке."
        },
        "/symbols/@id=script.enum-value.ImGui_SelectableFlags.AllowOverlap/description": {
          "source_sha256": "1cf43190ed01a426273272dad0c32253492771e28388b42ed424d514f5a59534",
          "translation": "Разрешает следующим виджетам перекрывать этот элемент при hit testing. Перед использованием HoveredId предыдущего кадра должен совпадать; эквивалентно вызову SetNextItemAllowOverlap()."
        },
        "/symbols/@id=script.enum-value.ImGui_SelectableFlags.Disabled/description": {
          "source_sha256": "270e1837dfaab81af3aaca1a08d5aa6532c999bdace0ac256f348bb7ca6bbf10",
          "translation": "Запрещает выбор элемента и отображает его текст серым."
        },
        "/symbols/@id=script.enum-value.ImGui_SelectableFlags.NoAutoClosePopups/description": {
          "source_sha256": "40b2d5434a3144418098ed13adf9fbc7dcc404cded26b91939a57ccc8314c8d9",
          "translation": "Щелчок не закрывает родительское всплывающее окно и переопределяет ImGuiItemFlags_AutoClosePopups."
        },
        "/symbols/@id=script.enum-value.ImGui_SelectableFlags.None/description": {
          "source_sha256": "ee8ceae9af5f4988bf706e92e1c26169b2ace11b5e16a87f0b67f72cf86e8927",
          "translation": "Не применяет дополнительные флаги поведения выбираемого элемента."
        },
        "/symbols/@id=script.enum-value.ImGui_SelectableFlags.SpanAllColumns/description": {
          "source_sha256": "ca21e871983e95696c4ae0f58389f0acb8ab0410eab3ded1e90994f1649103aa",
          "translation": "Растягивает рамку на все столбцы таблицы-контейнера, оставляя текст в текущем столбце."
        },
        "/symbols/@id=script.enum-value.ImGui_SliderFlags.AlwaysClamp/description": {
          "source_sha256": "93da382390c381ddf9e5a94741ffc5913d7a27c2b64745cd4af10fd1faa14f2b",
          "translation": "Ограничивает ручной ввод и также ограничивает нулевой диапазон, в котором минимум и максимум равны нулю."
        },
        "/symbols/@id=script.enum-value.ImGui_SliderFlags.ClampOnInput/description": {
          "source_sha256": "b1a674b1b9c9196327770fb307c71f5e0f6302a1b2ed05717235460cb0f5740d",
          "translation": "Ограничивает вручную введенное через Ctrl+Click значение минимумом и максимумом; по умолчанию такой ввод может выходить за границы."
        },
        "/symbols/@id=script.enum-value.ImGui_SliderFlags.ClampZeroRange/description": {
          "source_sha256": "f5c080b273ba63505464771fad1d3981c1c947a19209d815ca59101a1af538af",
          "translation": "Ограничивает значение, даже если min и max равны 0.0f. Из-за прежнего поведения DragXXX обычно не ограничивает такой диапазон; для динамических границ этот флаг почти всегда нужен."
        },
        "/symbols/@id=script.enum-value.ImGui_SliderFlags.Logarithmic/description": {
          "source_sha256": "e972e21f77ce6502ecd21482eeaf2f84126f98a97a2e85dbbf3cb9de56c5ba0e",
          "translation": "Делает виджет логарифмическим вместо линейного. При формате с малым числом знаков рассмотрите совместное использование ImGuiSliderFlags_NoRoundToFormat."
        },
        "/symbols/@id=script.enum-value.ImGui_SliderFlags.NoInput/description": {
          "source_sha256": "e5072667aecc64c3a5a3b96b0c2ead9b6fff352236bab29940d532e05e8048e5",
          "translation": "Запрещает Ctrl+Click и Enter переводить виджет в режим прямого текстового ввода."
        },
        "/symbols/@id=script.enum-value.ImGui_SliderFlags.NoRoundToFormat/description": {
          "source_sha256": "0eb95b9937986c79938e40eae83d92f4998a3c2daeeed6ec789143f31a2203d7",
          "translation": "Не округляет внутреннее значение до точности строки отображения, например до трех знаков для %.3f."
        },
        "/symbols/@id=script.enum-value.ImGui_SliderFlags.NoSpeedTweaks/description": {
          "source_sha256": "65d71f1ec76b1e0e381e72e42f13be6ca4c2b3746da9fee817eb01c14e82e7a8",
          "translation": "Не позволяет клавишам-модификаторам менять скорость корректировки; полезно, когда приложение управляет скоростью само."
        },
        "/symbols/@id=script.enum-value.ImGui_SliderFlags.None/description": {
          "source_sha256": "c3ea830289d6e6262f16285b4cd0911c777e7df3a9719f6d76bb918ceb931330",
          "translation": "Не применяет дополнительные флаги поведения слайдера или drag-контрола."
        },
        "/symbols/@id=script.enum-value.ImGui_SliderFlags.WrapAround/description": {
          "source_sha256": "b2ea48010f9fe211235fe29e35128c64777237c0e8ab865c5b50b66476829657",
          "translation": "Разрешает циклический переход от максимума к минимуму и обратно; пока поддерживается только функциями DragXXX()."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.Alpha/description": {
          "source_sha256": "d62e05554972a07a1cfa4d2c3f9dfdccd4cca9bf585c4f53a474ce17c0a1501c",
          "translation": "Глобальная прозрачность, применяемая ко всему интерфейсу Dear ImGui."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.ButtonTextAlign/description": {
          "source_sha256": "ab2a142709cb0f39fc2321d310a7581d146ffda8492fa6e712b8b9e82fc5829b",
          "translation": "Выравнивание текста кнопки, когда кнопка больше текста; стандартное значение (0.5f, 0.5f) соответствует центру."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.CellPadding/description": {
          "source_sha256": "c8f6ce03b92f51241869088d3e631ddb69d2c3711b642b61784d321b77e70322",
          "translation": "Внутренние отступы ячейки таблицы. CellPadding.x фиксирован для всей таблицы, а CellPadding.y можно менять между строками."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.DisabledAlpha/description": {
          "source_sha256": "d41d60a29baed063006b91edf5d4b4f6b0faab257e0abbe0827a2baf27fe6f55",
          "translation": "Дополнительный множитель прозрачности для BeginDisabled(), умножаемый на текущее значение Alpha."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.FrameBorderSize/description": {
          "source_sha256": "c74814e5ac15635cf4932577edf5c86e3354a9cdeb3cfa5852773589ea53b186",
          "translation": "Толщина границы рамок. Обычно равна 0.0f или 1.0f; другие значения слабо протестированы и дороже для CPU и GPU."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.FramePadding/description": {
          "source_sha256": "5639862de92e653f2eec3a4976855fffefa56efd0df62f0f28329fb1e9e2fc24",
          "translation": "Внутренние отступы прямоугольника с рамкой, используемого большинством виджетов."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.FrameRounding/description": {
          "source_sha256": "9a9e229cc721d131183bb212de32de30fe87c986096125f510c545b07cd2f7fa",
          "translation": "Радиус скругления углов рамки большинства виджетов; 0.0f дает прямоугольную рамку."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.GrabMinSize/description": {
          "source_sha256": "3b03a99ccbb8b6836c6fc3697d8b211b114ecb3973671086d42bf92184fbec16",
          "translation": "Минимальная ширина или высота ползунка слайдера и полосы прокрутки."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.GrabRounding/description": {
          "source_sha256": "e8a3272ce397ea0712c0bc0a98545071dfbcaec1c846e99c599816e0bc2c0132",
          "translation": "Радиус скругления углов ползунка; 0.0f дает прямоугольный ползунок."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.IndentSpacing/description": {
          "source_sha256": "1dd01f9bbfd2a817299f14c5acc068d14bfacaeda711c4e6d4762d2d50f9a6aa",
          "translation": "Горизонтальный отступ, например при входе в узел дерева; обычно равен FontSize + FramePadding.x*2."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.ItemInnerSpacing/description": {
          "source_sha256": "a15eccddb49c71b61c105e6c1f37f2eb1ba2ad42bb0b61d36145e027cc0afe00",
          "translation": "Горизонтальное и вертикальное расстояние между частями составного виджета, например слайдером и его меткой."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.ItemSpacing/description": {
          "source_sha256": "4ca2f4be5e6c07e8fe9956d6c5c122f1597dbe125f86f348f5d81d58245151b8",
          "translation": "Горизонтальное и вертикальное расстояние между виджетами и строками."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.ScrollbarRounding/description": {
          "source_sha256": "a57cb6df81c036813105a08a496eefde352f804a23845643e07ccceced11191b",
          "translation": "Радиус скругления углов ползунка полосы прокрутки."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.ScrollbarSize/description": {
          "source_sha256": "0b70d0cc5bb6bda33a5f0c62c80380df8ab8d1c18c1fb3f042a0d05650af76d3",
          "translation": "Ширина вертикальной и высота горизонтальной полосы прокрутки."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.SelectableTextAlign/description": {
          "source_sha256": "869d589202ba1d1b5e908835f07c16a7faef314958df847feba4cfe295761a73",
          "translation": "Выравнивание текста выбираемого элемента. Стандартное значение (0.0f, 0.0f) соответствует левому верхнему углу; выравнивание слева важно при размещении нескольких элементов в одной строке."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.TabRounding/description": {
          "source_sha256": "6fb7eff4f989ae2d3598356fad49ed7dbcb8feb1b1e993f3cec7a5208186e985",
          "translation": "Радиус скругления верхних углов вкладки; 0.0f дает прямоугольную вкладку."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.WindowBorderSize/description": {
          "source_sha256": "aba60e5e2b65b14dec6261c215e29786cfa0ca59decf1759a0b2a321b9327bab",
          "translation": "Толщина границы окна. Обычно равна 0.0f или 1.0f; другие значения слабо протестированы и дороже для CPU и GPU."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.WindowPadding/description": {
          "source_sha256": "06d8e7f19a9957b89ad0fcd54a3975bccc65ce4339cbe55394d16321adb7cbde",
          "translation": "Внутренние отступы окна."
        },
        "/symbols/@id=script.enum-value.ImGui_StyleVar.WindowRounding/description": {
          "source_sha256": "17d0e786e5f0fe0b18a3709ca59e67e5d5d6a8cf488d44874a6ff1b1c5d1e2bf",
          "translation": "Радиус скругления углов окна; 0.0f дает прямоугольное окно, а большие значения могут вызывать визуальные артефакты и не рекомендуются."
        },
        "/symbols/@id=script.enum-value.ImGui_TabBarFlags.AutoSelectNewTabs/description": {
          "source_sha256": "97bfca0fda24f9325718d8ff59c4cb7c96154b2db5abab99c605c6ee4aaa15b6",
          "translation": "Автоматически выбирает новые вкладки при их появлении."
        },
        "/symbols/@id=script.enum-value.ImGui_TabBarFlags.DrawSelectedOverline/description": {
          "source_sha256": "32c9137e5e1d3ff7a16a7143aacdedacc1ed7577fa3c844ce930dcbc3bb4137a",
          "translation": "Рисует верхний маркер над выбранной вкладкой."
        },
        "/symbols/@id=script.enum-value.ImGui_TabBarFlags.FittingPolicyMixed/description": {
          "source_sha256": "5da360ead0e24be796f5003581b6fe1f76bec757b44d923f0f353db65c95819f",
          "translation": "Сначала сжимает не помещающиеся вкладки до style.TabMinWidthShrink, затем включает прокрутку. Значение TabMinWidthShrink, равное FLT_MAX, делает режим эквивалентным ImGuiTabBarFlags_FittingPolicyScroll."
        },
        "/symbols/@id=script.enum-value.ImGui_TabBarFlags.FittingPolicyScroll/description": {
          "source_sha256": "43012eba2bd9a73228962933f75a4e5349c137d40c91d0f61b5e71b6a6941b8e",
          "translation": "Включает кнопки прокрутки, когда вкладки не помещаются."
        },
        "/symbols/@id=script.enum-value.ImGui_TabBarFlags.FittingPolicyShrink/description": {
          "source_sha256": "dd9515d8c39114ff7b27e75f4ddf971ec6b6ece361045c65373b3fd072792aaa",
          "translation": "Сжимает вкладки, когда они не помещаются."
        },
        "/symbols/@id=script.enum-value.ImGui_TabBarFlags.NoCloseWithMiddleMouseButton/description": {
          "source_sha256": "fd1f15abad0390ae4e77f1ae217d6371ad6fea84dc8cdc8033e298a06778cb7a",
          "translation": "Не закрывает средней кнопкой мыши вкладки, переданные с p_open != NULL. Приложение может реализовать это само через IsItemHovered(), IsMouseClicked(2) и присваивание *p_open = false."
        },
        "/symbols/@id=script.enum-value.ImGui_TabBarFlags.NoTabListScrollingButtons/description": {
          "source_sha256": "3a304b646bd5ed1364223bee21d00e94594b873600e8322c2b120be34caee656",
          "translation": "Отключает кнопки прокрутки при политике ImGuiTabBarFlags_FittingPolicyScroll."
        },
        "/symbols/@id=script.enum-value.ImGui_TabBarFlags.NoTooltip/description": {
          "source_sha256": "107d52f2516ce1b729ee0933cf09d5e87b20a64cb8d0fcbbc861585317fc79e0",
          "translation": "Отключает подсказки при наведении на вкладку."
        },
        "/symbols/@id=script.enum-value.ImGui_TabBarFlags.None/description": {
          "source_sha256": "544b263efb544d602fb68e0e85a2311c8c193e42cf77344124244ec18d57f2ab",
          "translation": "Не применяет дополнительные флаги поведения панели вкладок."
        },
        "/symbols/@id=script.enum-value.ImGui_TabBarFlags.Reorderable/description": {
          "source_sha256": "887446d9c1ca8e62cde231281ea6dcfb8a46fc5f6a05936cce6c8a264ba7119c",
          "translation": "Разрешает вручную перетаскивать вкладки для изменения порядка и добавляет новые вкладки в конец списка."
        },
        "/symbols/@id=script.enum-value.ImGui_TabBarFlags.TabListPopupButton/description": {
          "source_sha256": "0e5add6a1c86e35112aaada7e219b3a1e41bc1523ae15dd437c4c472cb0a59c0",
          "translation": "Показывает кнопку, которая открывает список вкладок и позволяет пользователю выбрать вкладку."
        },
        "/symbols/@id=script.enum-value.ImGui_TabItemFlags.Leading/description": {
          "source_sha256": "85d4185276b497305a2a8ad3b0729efcb70f81e6e0e3dae3025861da4df80e0e",
          "translation": "Закрепляет вкладку слева на панели после кнопки всплывающего списка вкладок."
        },
        "/symbols/@id=script.enum-value.ImGui_TabItemFlags.NoAssumedClosure/description": {
          "source_sha256": "ed8b92d3823ff65f2bcd8f4e3bb3d60ff6b8ae4afc06876dd45bb0fa49c0e047",
          "translation": "При попытке закрытия выбирает вкладку и не считает ее немедленно закрытой, а ждет, пока приложение перестанет ее отправлять. Без флага нажатие X предполагает закрытие, поэтому продолжающая отправляться вкладка может появиться снова в конце панели."
        },
        "/symbols/@id=script.enum-value.ImGui_TabItemFlags.NoCloseWithMiddleMouseButton/description": {
          "source_sha256": "fd1f15abad0390ae4e77f1ae217d6371ad6fea84dc8cdc8033e298a06778cb7a",
          "translation": "Не закрывает средней кнопкой мыши вкладки, переданные с p_open != NULL. Приложение может реализовать это само через IsItemHovered(), IsMouseClicked(2) и присваивание *p_open = false."
        },
        "/symbols/@id=script.enum-value.ImGui_TabItemFlags.NoPushId/description": {
          "source_sha256": "d5e908905680ea9059de49f212717aa9225eae07e0cad31f968e7fd7f22ce969",
          "translation": "Не вызывает PushID() и PopID() внутри BeginTabItem() и EndTabItem()."
        },
        "/symbols/@id=script.enum-value.ImGui_TabItemFlags.NoReorder/description": {
          "source_sha256": "5e689ab9e9041c4be04542e684d8770e6218688fbca83afedcfa8678b622d642",
          "translation": "Запрещает менять порядок этой вкладки и не позволяет другой вкладке пересекать ее позицию."
        },
        "/symbols/@id=script.enum-value.ImGui_TabItemFlags.NoTooltip/description": {
          "source_sha256": "cc5bf6ad23529fc80b1e1bf79b6ec28d68396031d41a30b63b862abde74a8d69",
          "translation": "Отключает подсказку для этой вкладки."
        },
        "/symbols/@id=script.enum-value.ImGui_TabItemFlags.None/description": {
          "source_sha256": "661ba6ca5893284779abd8c956ffc4830585680bfde3aadec61c3a8c65b2930e",
          "translation": "Не применяет дополнительные флаги поведения отдельной вкладки."
        },
        "/symbols/@id=script.enum-value.ImGui_TabItemFlags.SetSelected/description": {
          "source_sha256": "b71f8456763ec0f9512af0c7971e973b6e07b45b1c7b08a10160d565a061761f",
          "translation": "Программно выбирает вкладку при вызове BeginTabItem()."
        },
        "/symbols/@id=script.enum-value.ImGui_TabItemFlags.Trailing/description": {
          "source_sha256": "009976cc05747bb7fe6ec77631bf218bb35f502d009bd6d61e75d793e648e2d4",
          "translation": "Закрепляет вкладку справа на панели перед кнопками прокрутки."
        },
        "/symbols/@id=script.enum-value.ImGui_TabItemFlags.UnsavedDocument/description": {
          "source_sha256": "441fc53269a99d91fe8c1474c6f4e3dd0eb3996e6913d3c0b9481dcaff2a7247",
          "translation": "Показывает точку рядом с заголовком и включает ImGuiTabItemFlags_NoAssumedClosure."
        },
        "/symbols/@id=script.enum-value.ImGui_TableBgTarget.CellBg/description": {
          "source_sha256": "82f4d56a2c88f97e9fbc1246daf3519d806ddee030866541c918d86c4185f1ac",
          "translation": "Задает цвет фона ячейки в самом верхнем слое."
        },
        "/symbols/@id=script.enum-value.ImGui_TableBgTarget.None/description": {
          "source_sha256": "ec432ec5cb4e9f1aa14d42c1b04a10c342321628299a0fb26f4b87da8c6319af",
          "translation": "Не выбирает цель для цвета фона таблицы."
        },
        "/symbols/@id=script.enum-value.ImGui_TableBgTarget.RowBg0/description": {
          "source_sha256": "ef4c18d3bd8b9acf17fb87d65a76945e603d528d73b4daaccb24a6260078ead4",
          "translation": "Задает основной цвет фона строки; обычно используется как фон и назначается автоматически при ImGuiTableFlags_RowBg."
        },
        "/symbols/@id=script.enum-value.ImGui_TableBgTarget.RowBg1/description": {
          "source_sha256": "f4a6cbbefbd1a5a79adabc7351ff2fb104808b5e19a2894fa5932e7fe5aac414",
          "translation": "Задает дополнительный цвет фона строки; обычно используется для отметки выбора."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.AngledHeader/description": {
          "source_sha256": "5872133bf4d960c2dc7bea3a79a198a202e7e89163a9804d68f747b767404c84",
          "translation": "Заставляет TableHeadersRow() создать для столбца наклонный заголовок и добавляет отдельную строку."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.DefaultHide/description": {
          "source_sha256": "0e3dff4d80ab33260aebe8e070eb6a50822ed123b892fa3567b26c9a6a7b7f3b",
          "translation": "По умолчанию делает столбец скрытым или отключенным."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.DefaultSort/description": {
          "source_sha256": "f9f71177b2336d3346d971263ade28ce01da4945ec1480bfb381f2b1fb60919d",
          "translation": "По умолчанию назначает столбец столбцом сортировки."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.Disabled/description": {
          "source_sha256": "a56b9f0458f00ba19878af6ed508aa47d17dafb1531d768d1243c6ae6da85325",
          "translation": "Принудительно отключает и скрывает столбец и удаляет его из контекстного меню, в отличие от TableSetColumnEnabled(), изменяющего доступное пользователю состояние."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.IndentDisable/description": {
          "source_sha256": "2177b0ee206f7c6b040b1ecc2ec50604969fb17cee1bab3620b95927a5b543d2",
          "translation": "Игнорирует текущий Indent при входе в ячейку; это стандартно для столбцов после нулевого. Изменения отступа внутри ячейки по-прежнему учитываются."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.IndentEnable/description": {
          "source_sha256": "c655649de363bcc55be21aae205f40adafd157f1be87e3fef470fe28a473a50c",
          "translation": "Использует текущий Indent при входе в ячейку; это стандартно для нулевого столбца."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.IsEnabled/description": {
          "source_sha256": "d2656e382707ac5f4d07d8c73a4b0db3660be4e3fd7051eecdf0680897aaa198",
          "translation": "Выходной признак: столбец включен, то есть не скрыт пользователем или API; этому состоянию соответствуют Hide во флагах _DefaultHide и _NoHide."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.IsHovered/description": {
          "source_sha256": "f8009d7bff1dc951e6b4a3ce366ff81c4c31db1c049ac1248a11f2fbeaa9b31f",
          "translation": "Выходной признак: курсор мыши наведен на столбец."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.IsSorted/description": {
          "source_sha256": "373237ef04952cc651813a54399b4c39f6148103c20eb574255a98e9d3989656",
          "translation": "Выходной признак: столбец входит в текущую спецификацию сортировки."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.IsVisible/description": {
          "source_sha256": "8d12e2020681314eda2111b713b551aa6081e01527f693c3560b4c9427ad7ee6",
          "translation": "Выходной признак: столбец включен и не отсечен прокруткой."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.NoClip/description": {
          "source_sha256": "971bd697c6c09003ffdbc6639e843342e5240bce77b3a45b2e454246a806097e",
          "translation": "Отключает отсечение для столбца; все столбцы с NoClip рисуются одной командой."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.NoHeaderLabel/description": {
          "source_sha256": "67cbbc243f26c690776f18642f9951aa3e098a64796ee02d64fc283417c2d946",
          "translation": "Передает в TableHeadersRow() пустую метку столбца. Имя остается в контекстном меню и наклонных заголовках; содержимое ячейки можно добавить вызовом TableSetColumnIndex() сразу после TableHeadersRow()."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.NoHeaderWidth/description": {
          "source_sha256": "9419f28acfdb0135f315c917ae4ca741e3a970b6febf0f7dd1fa56253cf0a7f8",
          "translation": "Исключает ширину текста заголовка из автоматического расчета ширины столбца."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.NoHide/description": {
          "source_sha256": "4a68b0d7799d8aa7e8e0404141bfc2e038fd62f85ff5e53a7475f8bed9b89646",
          "translation": "Запрещает скрывать или отключать столбец."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.NoReorder/description": {
          "source_sha256": "d46d9a6f26b509c93399b7f846d21a279df8244fa2be454d95fd3bdca9137614",
          "translation": "Запрещает ручное изменение порядка этого столбца и не позволяет другим столбцам пересекать его позицию."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.NoResize/description": {
          "source_sha256": "6972082f53f928f0893e39226de1ac375f9f93359e325e0d5765806250746ea9",
          "translation": "Запрещает ручное изменение ширины."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.NoSort/description": {
          "source_sha256": "be48aa9dbbc3eb1bf28e89cedac30a43107964fc99114a2c268503f2d5f03eac",
          "translation": "Запрещает сортировку по этому полю, даже если у таблицы задан ImGuiTableFlags_Sortable."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.NoSortAscending/description": {
          "source_sha256": "077f8b3fa50e301fef99589b3fca17b81b0ff476b2dcf8d3d31bd76cb3072436",
          "translation": "Запрещает сортировку по возрастанию."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.NoSortDescending/description": {
          "source_sha256": "8b9e82a6f9121e58fe1951b9de468179d6fe4003a84fd853feb16b70be5a0586",
          "translation": "Запрещает сортировку по убыванию."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.None/description": {
          "source_sha256": "87d2fee692d6d0e9edf645b8ef4ce6dfab89b96d288359fab783c41b90ca3826",
          "translation": "Не применяет дополнительные флаги поведения столбца таблицы."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.PreferSortAscending/description": {
          "source_sha256": "1e95a5a52f97200e4cadc2d88f5ebc796475ee96bb90102eb53655a2fe9eac31",
          "translation": "При первом включении сортировки этого столбца выбирает направление по возрастанию; это стандартный режим."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.PreferSortDescending/description": {
          "source_sha256": "7d70e4fd432156719215a9dbdea20b4410051274169759005e54d43076fe5087",
          "translation": "При первом включении сортировки этого столбца выбирает направление по убыванию."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.WidthFixed/description": {
          "source_sha256": "79cdf877c4ce3ee2326bbecb5b3c3b673fdb5d5280cf5672003723697436bbd7",
          "translation": "Не растягивает столбец; предпочтительно при горизонтальной прокрутке и используется по умолчанию для изменяемой таблицы с политикой _SizingFixedFit."
        },
        "/symbols/@id=script.enum-value.ImGui_TableColumnFlags.WidthStretch/description": {
          "source_sha256": "99ceea5041288f6441f97a4049bf2ee79654ca22cbf48d1cba6eace85b2a9201",
          "translation": "Растягивает столбец; предпочтительно без горизонтальной прокрутки и используется по умолчанию при политиках _SizingStretchSame и _SizingStretchProp."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.Borders/description": {
          "source_sha256": "e02829bb2d7ee0a5b21ba980d65d919f2268d77d2710f0f56386b7ad63a80212",
          "translation": "Рисует все границы таблицы."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.BordersH/description": {
          "source_sha256": "5635d46a2a629643290f979f9bd50be4c5defcedb36de01ee5762dcb7a8f0935",
          "translation": "Рисует все горизонтальные границы."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.BordersInner/description": {
          "source_sha256": "dc14cc432b93a0ac6df3c977a3eb96a285047e3d952914af0613cf1344760a61",
          "translation": "Рисует все внутренние границы."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.BordersInnerH/description": {
          "source_sha256": "d6d319408f19901ebded4f23a4d5c8dbc4326778e2347ab483e8c58df715e694",
          "translation": "Рисует горизонтальные границы между строками."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.BordersInnerV/description": {
          "source_sha256": "b92cba2dd872126a447f3fb2f2f3b59db9eab053fbf28043a07f2ab3b56b9b35",
          "translation": "Рисует вертикальные границы между столбцами."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.BordersOuter/description": {
          "source_sha256": "cd9fb18fb0f6c3071083bd72daebb12b9e07d5643ea03ce7dad45a1e13817b7f",
          "translation": "Рисует все внешние границы."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.BordersOuterH/description": {
          "source_sha256": "cb1b6f662e71e3927bf76b9c94ae844ba375f9c4d6d7635ed32b053cbefd2a8c",
          "translation": "Рисует горизонтальные границы сверху и снизу."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.BordersOuterV/description": {
          "source_sha256": "8ec6a235e1c56377500489dcd4093c50b0d2892e06f9cf904b96ebe040ff1e99",
          "translation": "Рисует вертикальные границы слева и справа."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.BordersV/description": {
          "source_sha256": "2257bfb1a143116b3887e67661fbf8a5ef04309e25b7873c8a04f4c6cad9243a",
          "translation": "Рисует все вертикальные границы."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.ContextMenuInBody/description": {
          "source_sha256": "01cb95b7bc3935b74cc4ba211cfd4f77b1e9e95ccc7e040f9dbebf064602e366",
          "translation": "Показывает контекстное меню таблицы также по правому щелчку в теле или содержимом столбцов; по умолчанию оно доступно в TableHeadersRow()."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.Hideable/description": {
          "source_sha256": "c4342b907c2aaeae4961cf2a04ec1e7daa505340ebd41ad1ef7143d11fc092c8",
          "translation": "Разрешает скрывать и отключать столбцы через контекстное меню."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.HighlightHoveredColumn/description": {
          "source_sha256": "f256a3bdf9f465dcfa461ca1d0edbed8ca3e6c6c192c4e07e2b0ef2fcb00171e",
          "translation": "Подсвечивает заголовок столбца при наведении."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.NoBordersInBody/description": {
          "source_sha256": "b5e8ddf09bd7c0c8c9a021765e33aa548d6974624ecbf7174f79c9c05afef0a8",
          "translation": "Экспериментально отключает вертикальные границы в теле столбцов, сохраняя их в заголовках; в будущем поведение может перейти в стиль."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.NoBordersInBodyUntilResize/description": {
          "source_sha256": "efdbc8e69b2ba9b098a0a20ac3efe36941928e9ec4b793f0f65536365b57f72c",
          "translation": "Экспериментально скрывает вертикальные границы в теле столбцов до наведения для изменения размера, сохраняя их в заголовках; в будущем поведение может перейти в стиль."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.NoClip/description": {
          "source_sha256": "87eae31ce679d1cc4af34ac6e24e0faa048e9f5a5668d10fc99377df6c0d03bf",
          "translation": "Отключает отдельный прямоугольник отсечения каждого столбца, сокращая число команд рисования и разрешая элементам выходить в соседние столбцы; обычно несовместимо с TableSetupScrollFreeze()."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.NoHostExtendX/description": {
          "source_sha256": "172913aa53293235d9327de876088c36f086dd53b1329c725336bdd3292f7871",
          "translation": "Подгоняет внешнюю ширину по столбцам, переопределяя outer_size.x. Доступно только без ScrollX, ScrollY и растягиваемых столбцов."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.NoHostExtendY/description": {
          "source_sha256": "92603335a33145d565ed93fd9277033676de245a80c2e5eece0458aedee8f5b7",
          "translation": "Останавливает внешнюю высоту точно на outer_size.y и не позволяет таблице расширяться ниже лимита. Доступно только без ScrollX и ScrollY; данные ниже границы отсекаются."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.NoKeepColumnsVisible/description": {
          "source_sha256": "46284e50d578c5f84826244128c70c444c0b0dc3e24fd988fec12949e879d73b",
          "translation": "Не удерживает столбец минимально видимым, когда ScrollX отключен и таблица становится слишком узкой; не рекомендуется для столбцов с изменяемой шириной."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.NoPadInnerX/description": {
          "source_sha256": "5c87f30f585c52d20d7b2be2472c75d9fbfbf19fc82499969c242bb31c1cfd34",
          "translation": "Отключает внутренние горизонтальные отступы между столбцами; при BordersOuterV остается удвоенный внутренний отступ, без него одинарный."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.NoPadOuterX/description": {
          "source_sha256": "afa90bf875118ac817c32d464758b121606f4c0454b1c92bd39ee226c257a11b",
          "translation": "Отключает крайние внешние отступы; это стандартный режим без BordersOuterV."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.NoSavedSettings/description": {
          "source_sha256": "4837eda23f157c97ce02226eebb7cab9fbf669e856aa34e9ca64ffef0b68dd04",
          "translation": "Не сохраняет в файле .ini порядок, ширину, видимость и параметры сортировки столбцов."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.None/description": {
          "source_sha256": "69eae6248d9533a6ba956666f49991318f5db671de06fcc656bc2849a163aecc",
          "translation": "Не применяет дополнительные флаги поведения таблицы."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.PadOuterX/description": {
          "source_sha256": "c7c513a8ac8d7243274eb3e92f2006a140b24ba6f68e2e986c255d76de76bfa4",
          "translation": "Включает крайние внешние отступы; это стандартный режим с BordersOuterV и обычно желателен при наличии заголовков."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.PreciseWidths/description": {
          "source_sha256": "152290c70be37b7699011bdd66f201c3a763ce5fa86c8d6cd037fe718f8f8cc3",
          "translation": "Не распределяет остаток ширины между растянутыми столбцами: например, вместо 33, 33, 34 дает 33, 33, 33. При большом числе столбцов изменение размера выглядит менее плавным."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.Reorderable/description": {
          "source_sha256": "92d75f7cc4dc58d8c3b696f6c6652d8b37568278240512998f9fc2fc5e18deb3",
          "translation": "Разрешает менять порядок столбцов в строке заголовка. Для заголовков нужны TableSetupColumn() и TableHeadersRow(); без заголовков доступ к меню дает ImGuiTableFlags_ContextMenuInBody."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.Resizable/description": {
          "source_sha256": "42b20976712e6ea923e38c6db60dab65c8fc82f0e65fafe5aab86cd019d09454",
          "translation": "Разрешает изменять ширину столбцов."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.RowBg/description": {
          "source_sha256": "a28f996c225bd1a8f0e386afccfb675da3fa45b014a920e9133e3e305592dc0f",
          "translation": "Задает каждой строке цвет ImGuiCol_TableRowBg или ImGuiCol_TableRowBgAlt; эквивалентно ручному TableSetBgColor с ImGuiTableBgFlags_RowBg0 для каждой строки."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.ScrollX/description": {
          "source_sha256": "e9614c2cf9bdef61d993f0f8b18b32cddf50a1ab4e8f4b40fa0924c3985e7826",
          "translation": "Включает горизонтальную прокрутку и требует размера контейнера в параметре outer_size функции BeginTable(). Меняет стандартную политику размеров; поскольку создается дочернее окно, обычно рекомендуется также ScrollY."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.ScrollY/description": {
          "source_sha256": "e8b5e04337b1d1ab659c3ea71b6d395d780c7e4e34f94c1087c0ba63c050b8b8",
          "translation": "Включает вертикальную прокрутку и требует размера контейнера в параметре outer_size функции BeginTable()."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.SizingFixedFit/description": {
          "source_sha256": "7bd03d6a5b6b2657dcc715f5275c8456afd97a723d23f7f6347383ebab75692b",
          "translation": "По умолчанию назначает столбцам _WidthFixed или _WidthAuto в зависимости от возможности изменения размера и подгоняет их под ширину содержимого."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.SizingFixedSame/description": {
          "source_sha256": "9597daf239dc7936afe683885ac9de7cb8f9d7384eb20c92f0360779f47bc2b5",
          "translation": "По умолчанию назначает столбцам _WidthFixed или _WidthAuto и подгоняет их под максимальную ширину содержимого среди всех столбцов; неявно включает ImGuiTableFlags_NoKeepColumnsVisible."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.SizingStretchProp/description": {
          "source_sha256": "76f10d47c0e85637e45cacd37a8076b1f0b9e9cd9143716a2656984b17e727e4",
          "translation": "По умолчанию назначает столбцам _WidthStretch с весами, пропорциональными ширине содержимого каждого столбца."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.SizingStretchSame/description": {
          "source_sha256": "0cc43b89c1aae145c13f0d2d1b83f15fe5cecddd54cdcd9a9933b1fb952b9adf",
          "translation": "По умолчанию назначает столбцам _WidthStretch с одинаковыми весами, если TableSetupColumn() не переопределяет их."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.SortMulti/description": {
          "source_sha256": "cb72671b9aaf1036189b18362aabb03600fae495e2c083171aa4d10d66c13ac4",
          "translation": "Разрешает сортировать по нескольким столбцам при щелчке по заголовкам с Shift; TableGetSortSpecs() может вернуть SpecsCount больше 1."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.SortTristate/description": {
          "source_sha256": "1f96f4da2112e9b32defab47b21a45ea21d5f7c55958e42c4edb50f573b937d8",
          "translation": "Разрешает состояние без сортировки и отключает сортировку по умолчанию; TableGetSortSpecs() может вернуть SpecsCount, равный 0."
        },
        "/symbols/@id=script.enum-value.ImGui_TableFlags.Sortable/description": {
          "source_sha256": "6c531c8981cef38d94a92917ce5e00aadb17cac0d50ff6921bd5ea0255488291",
          "translation": "Включает сортировку; спецификацию возвращает TableGetSortSpecs(). Дополнительные режимы задают ImGuiTableFlags_SortMulti и ImGuiTableFlags_SortTristate."
        },
        "/symbols/@id=script.enum-value.ImGui_TableRowFlags.Headers/description": {
          "source_sha256": "4e058a02510ac61bdcf609d575db6339076f681e41f294b973e8488f0274c742",
          "translation": "Помечает строку как заголовок, задает стандартный цвет фона и иначе учитывает ширину содержимого при автоматическом расчете столбцов."
        },
        "/symbols/@id=script.enum-value.ImGui_TableRowFlags.None/description": {
          "source_sha256": "a06939013aa568aae2e7285a24b2cfc40a1104d5a728c25eaf7940bd7d47bf1e",
          "translation": "Не применяет дополнительные флаги поведения строки таблицы."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.AllowOverlap/description": {
          "source_sha256": "1cf43190ed01a426273272dad0c32253492771e28388b42ed424d514f5a59534",
          "translation": "Разрешает следующим виджетам перекрывать этот элемент при hit testing. Перед использованием HoveredId предыдущего кадра должен совпадать; эквивалентно вызову SetNextItemAllowOverlap()."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.Bullet/description": {
          "source_sha256": "10667cb7044cc7bf49aa94e84655f6553b67970f9abf8d0ca33c1f8c8138c3e1",
          "translation": "Показывает маркер вместо стрелки. Без флага _Leaf узел по-прежнему может открываться и закрываться."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.CollapsingHeader/description": {
          "source_sha256": "ec126d59f0336d9093f69aaf318055faf2d4984ece3c2d4a0dcdfe65eeba63d9",
          "translation": "Сочетает рамку с отказом от помещения узла в стек дерева и автоматического открытия при журналировании."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.DefaultOpen/description": {
          "source_sha256": "e2ec50b47890e75591a1935e170c15dd1b30cf607bb2d4db1cedab9df1112f84",
          "translation": "По умолчанию отображает узел открытым."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.FramePadding/description": {
          "source_sha256": "71c3c711e8e31e744bbbaba44538fe2405ff3be3bdcda86b4201ee04ce1485a3",
          "translation": "Использует FramePadding даже для текстового узла без рамки, чтобы выровнять базовую линию текста по высоте обычного виджета; эквивалентно AlignTextToFramePadding() перед узлом."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.Framed/description": {
          "source_sha256": "778b3f230495df8f7ff73dcfe98a53df62d9e3466371af02d951590949ffca6e",
          "translation": "Рисует фоновую рамку, например для CollapsingHeader."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.Leaf/description": {
          "source_sha256": "de53ad3e57ca54b51533f50349cc6d7a54c04f53ec0e050c3afbbbb6683f69f0",
          "translation": "Отключает сворачивание и стрелку для листового узла. Узел всегда открывает область tree/id и возвращает true; если область не нужна, добавьте ImGuiTreeNodeFlags_NoTreePushOnOpen."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.NoAutoOpenOnLog/description": {
          "source_sha256": "a3f83ad1071eeac6e50540adf9c55c5abc5e2a3cfc0ef8a7042c73873afe9b3e",
          "translation": "Не открывает узел автоматически и временно во время журналирования."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.NoTreePushOnOpen/description": {
          "source_sha256": "52822825bd27adbf0c77160f87486bc98ee5a583ec3e8e8a78843b34263cb1f3",
          "translation": "Не вызывает TreePush() для открытого узла, поэтому не добавляет отступ и не помещает значение в стек ID."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.None/description": {
          "source_sha256": "b2c5daa31669c949beda40e4f49b4a92e0e6001dc0a9973ae5c007e24ce9771e",
          "translation": "Не применяет дополнительные флаги поведения узла дерева."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.OpenOnArrow/description": {
          "source_sha256": "0f5ea2da53871156862e9aebe03f6604f03538adb8cc04f93550a61380e07bf3",
          "translation": "Открывает узел щелчком по стрелке; это стандартный режим при множественном выборе, если явно не задан другой _OpenOnXXX. Режимы можно сочетать."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.OpenOnDoubleClick/description": {
          "source_sha256": "4131ca95b515914b8815c7daa9be4e3e8c140173cc30e4d873ae40a4e85d1e7e",
          "translation": "Открывает узел двойным, а не одиночным щелчком; это стандартный режим при множественном выборе, если явно не задан другой _OpenOnXXX. Режимы можно сочетать."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.Selected/description": {
          "source_sha256": "3b7ec3acaf1a7f3505c1923743663dd5e3af01b9e3d70d332de247cd769793f9",
          "translation": "Рисует узел выбранным."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.SpanAllColumns/description": {
          "source_sha256": "ed6db4bb2e36a0a656a238e5888b2ea82c6970b098b801cd2dce210ed021cb8b",
          "translation": "Растягивает рамку на все столбцы таблицы-контейнера, оставляя метку в текущем столбце."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.SpanAvailWidth/description": {
          "source_sha256": "30ed795ca0fcffa80f83b7d1c432e4552417f2e7f767dd993d946558e16dabb4",
          "translation": "Расширяет область попадания до крайнего правого края даже без рамки; по умолчанию это отключено, чтобы на той же строке можно было размещать другие элементы без AllowOverlap."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.SpanFullWidth/description": {
          "source_sha256": "a694b3fadf53bface429bfcd6d8acec2fd0d2b8416b1057c99132aff97f90649",
          "translation": "Расширяет область попадания до крайнего левого и правого краев, включая область отступа."
        },
        "/symbols/@id=script.enum-value.ImGui_TreeNodeFlags.SpanLabelWidth/description": {
          "source_sha256": "079074740ee0e90510545883179e812330eae803fd0119bc1a22012b4220d940",
          "translation": "Сужает область попадания и подсветку наведения до текста метки."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.AlwaysAutoResize/description": {
          "source_sha256": "4530d1ab61378512040682f7e8aff0191a09502a19750dbf8f61e757debe4d2a",
          "translation": "Каждый кадр подгоняет размер окна под его содержимое."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.AlwaysHorizontalScrollbar/description": {
          "source_sha256": "8ca90cc7e6244233ee83dd6d4291cc33530d99021dfbbc417324b3085742a717",
          "translation": "Всегда показывает горизонтальную полосу прокрутки, даже если ContentSize.x меньше Size.x."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.AlwaysVerticalScrollbar/description": {
          "source_sha256": "c775505b2bbf035e191f714f90282535f7c764d67f4ff14c1c504c44f6b50fd0",
          "translation": "Всегда показывает вертикальную полосу прокрутки, даже если ContentSize.y меньше Size.y."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.HorizontalScrollbar/description": {
          "source_sha256": "517a747a05326a07495f98ab5cf7057e49caebb19aaa7929b48ce8eab15ba1d5",
          "translation": "Разрешает появление горизонтальной полосы прокрутки, которая по умолчанию отключена. Ширину содержимого можно задать вызовом SetNextWindowContentSize(ImVec2(width,0.0f)) перед Begin()."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.MenuBar/description": {
          "source_sha256": "ff5d396fbe27dbcf1cc3a2d0dbab2f1a03ea8102a60b3e627dfe9dc81fb218f3",
          "translation": "Добавляет строку меню."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.NoBackground/description": {
          "source_sha256": "29e5d4795974a1ceee82bd42c1b285c9c4e139c3a7a38aacee7aab237aefb227",
          "translation": "Отключает отрисовку цвета фона WindowBg и внешней границы; аналогично SetNextWindowBgAlpha(0.0f)."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.NoBringToFrontOnFocus/description": {
          "source_sha256": "eba20ebf0507bdba159065d1775683386862d0d8cafcdbc9a21bbf0a910c2651",
          "translation": "Не перемещает окно на передний план при получении фокуса щелчком или программно."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.NoCollapse/description": {
          "source_sha256": "6019e8c777fef11fb118451309d734d0ea93dca3d1e20bd5fb7948070ac50b7f",
          "translation": "Запрещает пользователю сворачивать окно двойным щелчком и отключает соответствующую кнопку меню окна, в том числе в docking-узле."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.NoDecoration/description": {
          "source_sha256": "ec8bbb11a54a5f9f2199c3089eb0484e0661b22fa91d44c17a25df622960db1d",
          "translation": "Отключает заголовок, изменение размера, полосы прокрутки и элементы сворачивания."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.NoFocusOnAppearing/description": {
          "source_sha256": "0674293f17ca9e09c2ee7dbe308e9a9f65a0d3a9c27677c2c361b41e72f5b534",
          "translation": "Не получает фокус при переходе из скрытого состояния в видимое."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.NoInputs/description": {
          "source_sha256": "2cd9effe8ef7592e618e67af2d7a4773c50c70b473a68992fa53ea640f54d2f0",
          "translation": "Отключает ввод мышью, навигационный ввод и навигационный фокус для окна."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.NoMouseInputs/description": {
          "source_sha256": "74519b20cca752f302a28be6363d8045299643a28c0df7a9234a98cf781fa46b",
          "translation": "Не перехватывает мышь и пропускает через окно проверку наведения."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.NoMove/description": {
          "source_sha256": "a7f645b2bcc41ceb81b190fcbb0224028adaf6491b39626ff3e85b4438d3dd31",
          "translation": "Запрещает пользователю перемещать окно."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.NoNav/description": {
          "source_sha256": "9929cef9575c7e9fdf4860264c92ccce6dbddb48afc265b305f49405250823df",
          "translation": "Отключает навигационный ввод внутри окна и навигационный фокус на нем."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.NoNavFocus/description": {
          "source_sha256": "7b7a789391a3396ff4dde06080410b9eb3d6be3848a667de4939ca3d62db3f99",
          "translation": "Не позволяет передать этому окну фокус с клавиатуры или геймпада, например пропускает его при Ctrl+Tab."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.NoNavInputs/description": {
          "source_sha256": "bdd0db56df10ed2ad6d677ca1fcaf328b0563422ff8e632e64edc5de30ddfe38",
          "translation": "Отключает навигацию с клавиатуры и геймпада внутри окна."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.NoResize/description": {
          "source_sha256": "9332feecefd845142fec7c28a1902b3b555ffb85ea3f61e0c63e8baaadabcf4b",
          "translation": "Запрещает пользователю менять размер окна за нижний правый маркер."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.NoSavedSettings/description": {
          "source_sha256": "a9d58b1f3bcb4a9053be29313b5f9f6cc5bff012f6115bdeb38fb8cd69699537",
          "translation": "Не загружает и не сохраняет настройки в файле .ini."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.NoScrollWithMouse/description": {
          "source_sha256": "0028f46330304218330a8c2ec6dcf3eea0eab80a2d406448aed3d8ea181c015e",
          "translation": "Отключает вертикальную прокрутку колесом мыши. Для дочернего окна колесо передается родителю, если также не задан NoScrollbar."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.NoScrollbar/description": {
          "source_sha256": "c97aa5157131be1c3ea838dbde347277057d941796f9516a9e2f15233e6eb644",
          "translation": "Отключает полосы прокрутки, но сохраняет прокрутку мышью и программными вызовами."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.NoTitleBar/description": {
          "source_sha256": "36e414eb38ae3062fada958e1bcba50a5291c6b0ee46bf427be15ab47ae735a8",
          "translation": "Отключает заголовок окна."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.None/description": {
          "source_sha256": "8c0f6680a6a3f09eff83671f6bebe5857f34d49495918fa444d234678c3d8a9c",
          "translation": "Не применяет дополнительные флаги поведения окна."
        },
        "/symbols/@id=script.enum-value.ImGui_WindowFlags.UnsavedDocument/description": {
          "source_sha256": "23fa519b62a161453fbafe509672c6633af0ff165ac7f4a6a630e7870ef13a04",
          "translation": "Показывает точку рядом с заголовком. В контексте вкладок или docking щелчок по X выбирает вкладку, а закрытие не считается завершенным, пока приложение не перестанет отправлять вкладку. В остальных случаях X предполагает закрытие, поэтому продолжающая отправляться вкладка может появиться снова в конце панели."
        },
        "/symbols/@id=script.enum-value.ItemOwnership.CritterInventory/description": {
          "source_sha256": "06d91df43d97fa1e6490c750a09f813d1f2a5bb82279cfbc0586693c7d8127a2",
          "translation": "Предмет принадлежит инвентарю криттера или экипированному слоту."
        },
        "/symbols/@id=script.enum-value.ItemOwnership.ItemContainer/description": {
          "source_sha256": "e86ee9a826ec831c9ea65e1cb9b1fc4d8be6229114e9c0eaaf41e7ac85a62e40",
          "translation": "Предмет вложен в другой предмет, используемый как контейнер."
        },
        "/symbols/@id=script.enum-value.ItemOwnership.MapHex/description": {
          "source_sha256": "1dcc83a4d06d14e27f6e723acc239fe273d37eeeecda5925c756117c00e6e0d4",
          "translation": "Предмет размещён непосредственно на гексе карты."
        },
        "/symbols/@id=script.enum-value.ItemOwnership.Nowhere/description": {
          "source_sha256": "79fb74e6ce090f7247baea978e7546d7eef6307389d0372837a52a6f14ccfbf2",
          "translation": "У предмета нет владельца в виде карты, криттера или предмета-контейнера."
        },
        "/symbols/@id=script.enum-value.ItemProperty.DrawOrderSubLayer/description": {
          "source_sha256": "55fb2bfaa60af95d8078bb9e8e7479fcf877e7408b86da776626d6946d46a736",
          "translation": "Точный порядок внутри основного слоя отрисовки предмета; изменение синхронизируется во время игры"
        },
        "/symbols/@id=script.enum-value.ItemProperty.None/description": {
          "source_sha256": "12947acaacda01841188bed6f9d9c21864529bc16b0f5984bab37ba39e056544",
          "translation": "Признак того, что идентификатор свойства Item не выбран."
        },
        "/symbols/@id=script.enum-value.KeyCode.A/description": {
          "source_sha256": "8ef0bfa4c3845b2873a645d4c15ea59ae623094652c7a7aaf7eae06caec01fea",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_A`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Add/description": {
          "source_sha256": "bf55b3ad07f7da4381623785fb17110228e11f56d5019fe9f0c92d59598c53e7",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_KP_PLUS`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Apostrophe/description": {
          "source_sha256": "ba1ffb967fc5fe3ce1ec8e5ac2f9198d53fceac417ead7b03c721454fbcff572",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_APOSTROPHE`."
        },
        "/symbols/@id=script.enum-value.KeyCode.B/description": {
          "source_sha256": "d29c65f102ec91547d4682933751862c05d3c5e1401fdb16d8dc3344f086e435",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_B`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Back/description": {
          "source_sha256": "5c57c82b3297d7f6785432ffa2f75b2d6e0670df6f9ef7f28984c3eb86be456b",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_BACKSPACE`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Backslash/description": {
          "source_sha256": "2f0bb389cb7c6152bed3eeba9211e499b7770bd716fe16a02aa3174e4a61e97a",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_BACKSLASH`."
        },
        "/symbols/@id=script.enum-value.KeyCode.C/description": {
          "source_sha256": "0ed29cec8becc4092465f5e67a75a4718350c04b05e6e7b14693b21b4ad377b6",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_C`."
        },
        "/symbols/@id=script.enum-value.KeyCode.C0/description": {
          "source_sha256": "d0b2b4fec0449e550c08034a29384cdf1e797ceeb89641f5e52080bc2c81f913",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_0`."
        },
        "/symbols/@id=script.enum-value.KeyCode.C1/description": {
          "source_sha256": "4b88fac18220b81fc2f3c26ea5c19802573f830381eb2bb07f2b965e084fcdbd",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_1`."
        },
        "/symbols/@id=script.enum-value.KeyCode.C2/description": {
          "source_sha256": "a61af93930775833f8cb454c8c029b36ca873395d3a0eb77bd97e808b6a0a7ef",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_2`."
        },
        "/symbols/@id=script.enum-value.KeyCode.C3/description": {
          "source_sha256": "92bdf62678160305e2fd2ad4ccf7a3d1278ffe46f604dd85a29dfa3a23714621",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_3`."
        },
        "/symbols/@id=script.enum-value.KeyCode.C4/description": {
          "source_sha256": "2a27f134b154eb568dc41cbe621cd0bc68d9875e314b0e0a0afb58664ff8dc35",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_4`."
        },
        "/symbols/@id=script.enum-value.KeyCode.C5/description": {
          "source_sha256": "1cbe54550b823df581987670c29459dde4cdc5a2dcefcdc922a1ae0dea3dee89",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_5`."
        },
        "/symbols/@id=script.enum-value.KeyCode.C6/description": {
          "source_sha256": "d3c7bb75f4a621b2ac7e7e71721588e3e054345d3729966b34612ec4ef8879e1",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_6`."
        },
        "/symbols/@id=script.enum-value.KeyCode.C7/description": {
          "source_sha256": "6f4579fefda743e641412238a96cecf6759afa636e91b4f899b3136912e2acc8",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_7`."
        },
        "/symbols/@id=script.enum-value.KeyCode.C8/description": {
          "source_sha256": "08252c098361ba091bbfaba34ad58f06713e8ab7b78bd896582a75e99b28b3f8",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_8`."
        },
        "/symbols/@id=script.enum-value.KeyCode.C9/description": {
          "source_sha256": "8bd5790a356f54d9fd8dab7994b9bcbf77c60e9242f4caaee3eb0022d77c5aaa",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_9`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Capital/description": {
          "source_sha256": "b128a9551ed0a301c84cf211cd672563177903ddea3db1574d4423e7bb6cedfb",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_CAPSLOCK`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Comma/description": {
          "source_sha256": "dd2086aba6a66375fe37160270d522f96ccdd3d7f4755a4afb754e478c3d0809",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_COMMA`."
        },
        "/symbols/@id=script.enum-value.KeyCode.D/description": {
          "source_sha256": "b73311acc21a2fb164dc9c224d63cca96ae3305d85e602ef7ccf81d547fd0475",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_D`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Decimal/description": {
          "source_sha256": "9e6dba27654acaa9bb428d98f05b9a3813d2342e80214284e9d8df432e72f889",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_KP_PERIOD`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Delete/description": {
          "source_sha256": "c128f6b011f798f553c70dfd8d82e35ba4d8ce65330b307569bdf01d3f0f97a9",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_DELETE`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Divide/description": {
          "source_sha256": "6788d0b1683ecacc1cd77508ac077cbf23697c3f2c720b3d42e8518e47a0c80c",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_KP_DIVIDE`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Down/description": {
          "source_sha256": "9fd066132ab86a5251e4d74556aaeb4c0cd131d16dff28a209eb3c534cf19022",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_DOWN`."
        },
        "/symbols/@id=script.enum-value.KeyCode.E/description": {
          "source_sha256": "ec8da013c060cdbd098fce45c05bd561d21859f99bb9f9cd65e63e37c2203d44",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_E`."
        },
        "/symbols/@id=script.enum-value.KeyCode.End/description": {
          "source_sha256": "43dd2a6fda01fdab7b839ec35263fb4c6cefa4aec342cb311904d832bf59a699",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_END`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Equals/description": {
          "source_sha256": "5678e0c9aa231e340c55b070f48f085e7ef3772cf83a13eb9367846c1f6a3e96",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_EQUALS`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Escape/description": {
          "source_sha256": "a5cc817e02335beabc606d913b4cadffa1c18fb777ecd7a570532a31d9fd90e8",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_ESCAPE`."
        },
        "/symbols/@id=script.enum-value.KeyCode.F/description": {
          "source_sha256": "ca866b1a86852f0f4aacebec5f6430213eeeae5168e8d87e6a4c005e6f44ad5d",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_F`."
        },
        "/symbols/@id=script.enum-value.KeyCode.F1/description": {
          "source_sha256": "b926801b34973b4b5f6cc01da3d278d904d9143f5d265f0888c4348474e09227",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_F1`."
        },
        "/symbols/@id=script.enum-value.KeyCode.F10/description": {
          "source_sha256": "ccbb2e1e70b5d5d94011ad7228536e063046c95e812a99beba6f4681cb3d2426",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_F10`."
        },
        "/symbols/@id=script.enum-value.KeyCode.F11/description": {
          "source_sha256": "0f8159d2162000bd331c1f9ed763d52a4b826000f369e6fa82e37aa347c26b11",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_F11`."
        },
        "/symbols/@id=script.enum-value.KeyCode.F12/description": {
          "source_sha256": "4e94e57c24e29a4e28a3a65954f3c0a0772758158edae19dd668ae0a34785c6c",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_F12`."
        },
        "/symbols/@id=script.enum-value.KeyCode.F2/description": {
          "source_sha256": "d93dc55e7c919ca41043a3bd1f689380e168f3987a49997b269bc48ea348f70c",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_F2`."
        },
        "/symbols/@id=script.enum-value.KeyCode.F3/description": {
          "source_sha256": "5c4c5ebbe5438b9bfcc2e65c12ca05e34b5fcbddc0c36159c8b388a87bcb6cc2",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_F3`."
        },
        "/symbols/@id=script.enum-value.KeyCode.F4/description": {
          "source_sha256": "4544c472738a18b2e26069aec1b5bb3fa1e42b953d9caceb0e4629f5a5180653",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_F4`."
        },
        "/symbols/@id=script.enum-value.KeyCode.F5/description": {
          "source_sha256": "66d381ff16e5c2bad6114210a3bc3b620ccc9ce7a571c00ff8f9876074baac02",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_F5`."
        },
        "/symbols/@id=script.enum-value.KeyCode.F6/description": {
          "source_sha256": "9c0fe1f43f27a898dd8172fbd04e59c52c7499aa315f857f4a48865980fc53a0",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_F6`."
        },
        "/symbols/@id=script.enum-value.KeyCode.F7/description": {
          "source_sha256": "ba3fccaf0d9ded52db550ba5bb7b251041bc9f6df4d439932bd7b278c51c7b3c",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_F7`."
        },
        "/symbols/@id=script.enum-value.KeyCode.F8/description": {
          "source_sha256": "0453420f6b64c725b1528eacbb49ab336128f15b77d3603a8b138c43ba96b379",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_F8`."
        },
        "/symbols/@id=script.enum-value.KeyCode.F9/description": {
          "source_sha256": "6165d414f2ba472aee677580ba71fef6589c9bd822b580ea54b0b540107e1876",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_F9`."
        },
        "/symbols/@id=script.enum-value.KeyCode.G/description": {
          "source_sha256": "03df72cc22075da8561e37bcceba7f4f1dc6952aa3407b9ef468cfe834567fa8",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_G`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Grave/description": {
          "source_sha256": "e08888d2bbe53f40903a343c50717fcb9507367d8a04a71bef43179e52a11738",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_GRAVE`."
        },
        "/symbols/@id=script.enum-value.KeyCode.H/description": {
          "source_sha256": "1e78d72776faa4ecbf924db6184501036267f3f90313dc85275cdbe02c4197e4",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_H`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Home/description": {
          "source_sha256": "7bafa9b6a058bb4c331b268690cba3073804099df3b22f7d94ddef4526f22f34",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_HOME`."
        },
        "/symbols/@id=script.enum-value.KeyCode.I/description": {
          "source_sha256": "7fd695f22377823bba6818d453cd89e5cc0a89c4ef270ba3bee7a2924d062048",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_I`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Insert/description": {
          "source_sha256": "3f96285905b91ee4987e8d9fd053cf11555843bcb666683aa46dd75759c70d22",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_INSERT`."
        },
        "/symbols/@id=script.enum-value.KeyCode.J/description": {
          "source_sha256": "30608cdc2b88d8886bdfa761f1e36a83ad708152a11e971612b52e5a77d614a1",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_J`."
        },
        "/symbols/@id=script.enum-value.KeyCode.K/description": {
          "source_sha256": "a36ecf2a18d84b8404b3b8f938f91a947fe9a16736bc409922f08e7d18e858bc",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_K`."
        },
        "/symbols/@id=script.enum-value.KeyCode.L/description": {
          "source_sha256": "129358368793577a0dc499ba25f3ae5695393bd2836ea99732105999773891cd",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_L`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Lbracket/description": {
          "source_sha256": "aa280fa5b9f42cdb74a301309b878495fd195af099bcf55f790695befce5ec3a",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_LEFTBRACKET`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Lcontrol/description": {
          "source_sha256": "9c4d8d73007bf55bd6f4fd13eed95d6fff5a4237321449abe25897f8f6179573",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_LCTRL`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Left/description": {
          "source_sha256": "e429ea26b912158c00a91cdb73c59c3349f03bd6c30ab261632303dcddd349b2",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_LEFT`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Lmenu/description": {
          "source_sha256": "5cc817af3a003b2cd6d072e1b4f5faaae3aa929d33fe11e48701e5f16bb6901e",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_LALT`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Lshift/description": {
          "source_sha256": "cc0dfe3e350d66abad8f23d598fa3331330c40919c6fbe112dbb1b5dde29afa9",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_LSHIFT`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Lwin/description": {
          "source_sha256": "1d24ee4093bf351ee5e5285362a98d8fd5262f7b30b7be140feb2352b04f6bdb",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_LGUI`."
        },
        "/symbols/@id=script.enum-value.KeyCode.M/description": {
          "source_sha256": "fbe42b39356de8235a45d6547022790add19f0eb8bc82661feba0dd24d4baddf",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_M`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Minus/description": {
          "source_sha256": "df035568e6021a5a206cb18b8cb23d02a7107440afb599a3f3b128e2ab1b263b",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_MINUS`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Multiply/description": {
          "source_sha256": "08ab0d890ec15d9083965c5e21d0232562ed95226e2ea47656a7f5152fcb8c8b",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_KP_MULTIPLY`."
        },
        "/symbols/@id=script.enum-value.KeyCode.N/description": {
          "source_sha256": "e6ef062d224f6aa4f8899ed0f51eb22ed1dd464f1e6797bfab01d7bb8791c49c",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_N`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Next/description": {
          "source_sha256": "17bf343cee490e89bde3c63e098d8261c1f0d7b49587fab37a3d24cb2ed12b03",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_PAGEDOWN`."
        },
        "/symbols/@id=script.enum-value.KeyCode.None/description": {
          "source_sha256": "f41d7fbd213db3e4c331bffa7c2e9958a15cf4557d6b6832a59b38c53505b040",
          "translation": "Указывает, что физический или синтетический код клавиатурного ввода не выбран."
        },
        "/symbols/@id=script.enum-value.KeyCode.Numlock/description": {
          "source_sha256": "5f6b3a24bbed95fd489952733a59e8912be44dd24ca688c3b1e76b31b160c243",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_NUMLOCKCLEAR`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Numpad0/description": {
          "source_sha256": "8275cba38e9ee9b2031556b0f8da02421b8aec11a17d467b0500ae05c71e2f62",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_KP_0`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Numpad1/description": {
          "source_sha256": "3a1f2a81317102545e85795fbb189986aaf3475e2661d18ec4afe2dbdcee23de",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_KP_1`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Numpad2/description": {
          "source_sha256": "324f26b9cf7c8d532730061d4ab85eaa547ad30511f6b02304a467112d225e3d",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_KP_2`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Numpad3/description": {
          "source_sha256": "6c408a985c0522b84fe7a158bd21c7b8eead57c0c4b980ea6f953b367f964755",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_KP_3`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Numpad4/description": {
          "source_sha256": "18bf71444bd711292ff03ada740e8419b19fc26c35cc3e3ff803a350eb8deb89",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_KP_4`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Numpad5/description": {
          "source_sha256": "e356e1a5a3ae3990ab46ec821cde1a5e3daf22936b910ee6658484bb1553021c",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_KP_5`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Numpad6/description": {
          "source_sha256": "0f5044e313f19ce69b3c7602ce13ff98d31d2482a01befad1488ea035258c031",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_KP_6`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Numpad7/description": {
          "source_sha256": "6bd493cee22acd58a7792bd46845b02723fea69d9b0e2a332c16728ce4943629",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_KP_7`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Numpad8/description": {
          "source_sha256": "60cf85aa19cef8b3fc7b0d6862a8d0f2580466fbf8487659b80f1615eea43235",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_KP_8`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Numpad9/description": {
          "source_sha256": "8c24ba8403377e7b1a5c98cd530063ec44e8134c3cfc54234a271c73365603cb",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_KP_9`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Numpadenter/description": {
          "source_sha256": "15d430df7f69abb08ad9d7c7f4164327ae12ea1ba88e25e8444dd28ec35866fe",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_KP_ENTER`."
        },
        "/symbols/@id=script.enum-value.KeyCode.O/description": {
          "source_sha256": "f2617de9220cef49c501135157233947737e38cfa6142f0406eb833f499e06d0",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_O`."
        },
        "/symbols/@id=script.enum-value.KeyCode.P/description": {
          "source_sha256": "b90074674a4281d9979dd90f96f453d1453790ee6e38a6ba91a0b4ef28cac155",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_P`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Pause/description": {
          "source_sha256": "cf7ac8e87826389765b9e474fe0a61bdf9a8a40a254cef191bd95944164b402f",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_PAUSE`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Period/description": {
          "source_sha256": "19b5bd4e145889ca7444bb4f465f41dec6f094f8cbb08c4032df92902291f5a2",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_PERIOD`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Prior/description": {
          "source_sha256": "d0fd925cd4a4e4ade1ce83d60a72dba5fed7ecb299088d3221009087bd613f09",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_PAGEUP`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Q/description": {
          "source_sha256": "17a036dc4988bb6dfb7273e80e13ab28f74c5bd67831d3fa36ef2ea9a363494a",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_Q`."
        },
        "/symbols/@id=script.enum-value.KeyCode.R/description": {
          "source_sha256": "164c5d131e338807c9403aefbf62164427710367f0362afebbb6f3180bb17732",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_R`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Rbracket/description": {
          "source_sha256": "d8137c9c14a7115bc032e1dbfabac56a0fc3085e9bc9fc77f37eacb7db87a170",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_RIGHTBRACKET`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Rcontrol/description": {
          "source_sha256": "2cf0452ca80548eba09b0be00b3ae9d9e3f0d0284217c1051ebcb87fdad19e1c",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_RCTRL`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Return/description": {
          "source_sha256": "3f33d8fad79876dfd7b7b40c0bb3088ee47437390fdcd412e54b3ed765df32de",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_RETURN`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Right/description": {
          "source_sha256": "f1678e8a34bee010acaafaca2eb44c08edecaa3b75031bfb27cf3132704084f2",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_RIGHT`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Rmenu/description": {
          "source_sha256": "33fe87e1b79bd9e9897ee3824ebf77a6623e19ccd845cca2fe3d1a4481376adf",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_RALT`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Rshift/description": {
          "source_sha256": "b9b0a42a180803224eb70528cb8fca73b25af7b18553308017acabc8a4dc1229",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_RSHIFT`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Rwin/description": {
          "source_sha256": "358800303697cb3bfc23672bdaf74c69338e9b427ae558f03c1265659adf35c3",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_RGUI`."
        },
        "/symbols/@id=script.enum-value.KeyCode.S/description": {
          "source_sha256": "9dac42a3314e6d10d316f34f0268d3996a22982edd7545a8bf3859750c36e335",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_S`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Scroll/description": {
          "source_sha256": "328c7c12061491121bf157b695362c99c4a0d4114a511438d9e1f81618b1e54e",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_SCROLLLOCK`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Semicolon/description": {
          "source_sha256": "ec6ec1255351fb36188de74f33b4dfb83e21a80eed13925a89b4bc6bcccd0d41",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_SEMICOLON`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Slash/description": {
          "source_sha256": "d1be3a8e8ba95da9a450d31ee22005e1ee0a81d40a451ad1ec6f1fda70ed717f",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_SLASH`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Space/description": {
          "source_sha256": "1ec35e2398409ae1074c432191f208197bfc1d6e7265d8cd705d839fc8055de7",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_SPACE`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Subtract/description": {
          "source_sha256": "d0a06322762fddba7afa584bddac03515424582edf00109820cf6406239cb46a",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_KP_MINUS`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Sysrq/description": {
          "source_sha256": "abeba163acfc7946417320eaedda6defad9499923d91386f59fc63bdb47578a4",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_SYSREQ`."
        },
        "/symbols/@id=script.enum-value.KeyCode.T/description": {
          "source_sha256": "4da9c981e061e9c596737ca0ea833f1210ca291c202677fefcdff6818befaec4",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_T`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Tab/description": {
          "source_sha256": "e05c9ea3dfe160b7b6bf9b68808cb8d51bab1c617d759477d1adc3533839c617",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_TAB`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Text/description": {
          "source_sha256": "b38b5ae9f677773ac72ab879aed6530989e1205800b9863d7e5f1da8e3ae7d49",
          "translation": "Обозначает синтетическое текстовое событие, чей UTF-8 payload ввода, буфера обмена или переданных перетаскиванием данных хранится отдельно в событии ввода."
        },
        "/symbols/@id=script.enum-value.KeyCode.U/description": {
          "source_sha256": "c9a8f1ec609ac732d1144ccfeb6e4ca0d00854cdf8597abc7bdc8a8d112ea1ef",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_U`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Up/description": {
          "source_sha256": "1cd9f7069243df47a6303851d580e5571fd3c9366154d11a1d8b1e5f99ab4b55",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_UP`."
        },
        "/symbols/@id=script.enum-value.KeyCode.V/description": {
          "source_sha256": "e4f75e350bab35f74d9e90a23165ad41ab0fd182c88e9dce19fa916c92b0b9f9",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_V`."
        },
        "/symbols/@id=script.enum-value.KeyCode.W/description": {
          "source_sha256": "7622ff38251f4f3c8afb26e177f0d4efd2ff43747eb2887c9d36cc246019f12e",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_W`."
        },
        "/symbols/@id=script.enum-value.KeyCode.X/description": {
          "source_sha256": "bf3ba11db6ff338de4697eb9a2ff2e2dc11dcd40f5fc3e7b3370f13f0d2f3047",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_X`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Y/description": {
          "source_sha256": "e73d74cba4b09e787a6bd0548aa4ce082517b22e1eae38dde517063467ea4e9e",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_Y`."
        },
        "/symbols/@id=script.enum-value.KeyCode.Z/description": {
          "source_sha256": "5b7e73dc4fb00bb1e58723d8de45587295bf6d8bc1fb04657d12aa723e75db3d",
          "translation": "Обозначает физическую клавишу клавиатуры, которую слой ввода приложения сопоставляет с `SDL_SCANCODE_Z`."
        },
        "/symbols/@id=script.enum-value.LocationProperty.None/description": {
          "source_sha256": "fbfbc6ad589d5aeea5f4f72d1d68336f175b245d96f6ce6707ef8625aa3bab2c",
          "translation": "Признак того, что идентификатор свойства Location не выбран."
        },
        "/symbols/@id=script.enum-value.MapLayers.All/description": {
          "source_sha256": "97eb6453636a4cc65adff0f55378c995e2f05670e31c9be7b1ea1d6b9f81fec7",
          "translation": "Отрисовывать все слои карты."
        },
        "/symbols/@id=script.enum-value.MapLayers.Critters/description": {
          "source_sha256": "7ae00faceea407fa998b9ed688aa4b79b7c4aab62bde09321c0713a22c7f2f3e",
          "translation": "Отрисовывать криттеров."
        },
        "/symbols/@id=script.enum-value.MapLayers.Fast/description": {
          "source_sha256": "2018d043124d4407a640da7cfe2768dcc0b584254c9453a5d85c08cc7ad56fe4",
          "translation": "Отрисовывать слой ускоренного рендеринга."
        },
        "/symbols/@id=script.enum-value.MapLayers.Items/description": {
          "source_sha256": "977a33ac266114c830b04befd5e815bbd1a304abe3e91367ab5e5aef589e1927",
          "translation": "Отрисовывать предметы на карте."
        },
        "/symbols/@id=script.enum-value.MapLayers.None/description": {
          "source_sha256": "65c83ce82748cdd467aa32547b42a4c8ae0081ba86d555e967ce11876739d340",
          "translation": "Не отрисовывать ни один из необязательных слоёв карты."
        },
        "/symbols/@id=script.enum-value.MapLayers.Roof/description": {
          "source_sha256": "ad070284074529ccbcc6df7fdd6c76d6da86543869a811610d1211f73ff93a08",
          "translation": "Отрисовывать тайлы крыши."
        },
        "/symbols/@id=script.enum-value.MapLayers.Scenery/description": {
          "source_sha256": "3b140a72116c5b91419cd27c37b406960b597972e6945e0120ca910f81f33a4b",
          "translation": "Отрисовывать объекты декораций."
        },
        "/symbols/@id=script.enum-value.MapLayers.Tiles/description": {
          "source_sha256": "11a996205314597580ea6fd429c2d5479c7e09a35e37a5860ec09108a91d4611",
          "translation": "Отрисовывать тайлы земли."
        },
        "/symbols/@id=script.enum-value.MapLayers.Walls/description": {
          "source_sha256": "d0a058737fcea46d2ec68030b632c75e16c6ea8a64cf80b6911fd75588ecbab5",
          "translation": "Отрисовывать стены."
        },
        "/symbols/@id=script.enum-value.MapProperty.None/description": {
          "source_sha256": "adb9b1a312cd9669c9f3c67b4372f924a10971a717632fd6867428a7b499ec37",
          "translation": "Признак того, что идентификатор свойства Map не выбран."
        },
        "/symbols/@id=script.enum-value.MapProperty.RemovedStaticItemIds/description": {
          "source_sha256": "10145eb732c492e95bd1f053d5f0dd6f9130a2d46594d4d1bdd479c2eed8351f",
          "translation": "Идентификаторы запечённых статических предметов, которые убрал этот экземпляр карты; удаление одностороннее на всё время жизни экземпляра."
        },
        "/symbols/@id=script.enum-value.MouseButton.Ext0/description": {
          "source_sha256": "c85e12d10b9154c68c21915fc199031d0c29032918d833e6f3d6fc95a5a2bcf1",
          "translation": "Первая дополнительная кнопка мыши, сопоставленная платформенной кнопке X1."
        },
        "/symbols/@id=script.enum-value.MouseButton.Ext1/description": {
          "source_sha256": "2237dfc3e6ec800f4c7168acb58dae67b53f6c7107e9f82f51ff97b2e7af9880",
          "translation": "Вторая дополнительная кнопка мыши, сопоставленная платформенной кнопке X2."
        },
        "/symbols/@id=script.enum-value.MouseButton.Ext2/description": {
          "source_sha256": "ab356b464c0178cff62a533657fc84c7fa2e14410f019fb092d04e0b8561d4bd",
          "translation": "Третья дополнительная кнопка мыши, сопоставленная платформенной кнопке 6."
        },
        "/symbols/@id=script.enum-value.MouseButton.Ext3/description": {
          "source_sha256": "ab321ef89220b363a65ae0841eea64af64f5d1d29ff481ef8c6a1dee553d90f8",
          "translation": "Четвёртая дополнительная кнопка мыши, сопоставленная платформенной кнопке 7."
        },
        "/symbols/@id=script.enum-value.MouseButton.Ext4/description": {
          "source_sha256": "bfaaca4ad379dedce264f1a0395c68a26772a1e3b65b58e47da36395202f5221",
          "translation": "Пятая дополнительная кнопка мыши, сопоставленная платформенной кнопке 8."
        },
        "/symbols/@id=script.enum-value.MouseButton.Left/description": {
          "source_sha256": "05cfaf12f8c34413d27daa1e4a92cf0d97f793a26182f6772de649267ead4b0a",
          "translation": "Основная кнопка мыши, сопоставленная платформенному вводу левой кнопки."
        },
        "/symbols/@id=script.enum-value.MouseButton.Middle/description": {
          "source_sha256": "d8b1839da34b8ea31c84cd603a538686515ea0aedef56f40fa8558a06ea0a118",
          "translation": "Средняя кнопка мыши, сопоставленная платформенному вводу средней кнопки."
        },
        "/symbols/@id=script.enum-value.MouseButton.Right/description": {
          "source_sha256": "282408d7c176341f377520c36f5d7e645e66a6e4c6ae3a38b94936e827627cf9",
          "translation": "Дополнительная кнопка мыши, сопоставленная платформенному вводу правой кнопки."
        },
        "/symbols/@id=script.enum-value.MouseButton.WheelDown/description": {
          "source_sha256": "d55e8c504244902a24c0e8d74dfadda9a69287676b968b5fd3615f0b9f5279ba",
          "translation": "Синтетическое событие кнопки для прокрутки колеса мыши вниз."
        },
        "/symbols/@id=script.enum-value.MouseButton.WheelUp/description": {
          "source_sha256": "7149e28d342fee40fc76635d53c5d283feb72ac760db9883238c212b42c9d94d",
          "translation": "Синтетическое событие кнопки для прокрутки колеса мыши вверх."
        },
        "/symbols/@id=script.enum-value.MovingState.Attached/description": {
          "source_sha256": "7737c1a2be6979c9b226e67dc87994319b4789b85fb8a90e0977f7089d2e7f83",
          "translation": "Самостоятельное движение отклонено, поскольку криттер прикреплён к другому криттеру."
        },
        "/symbols/@id=script.enum-value.MovingState.CantMove/description": {
          "source_sha256": "254d57981f0aaff10b92f8b85149312aa0c8fd512ac93c16f90df88ac94f32e7",
          "translation": "Движение не удалось начать, поскольку криттер не может двигаться."
        },
        "/symbols/@id=script.enum-value.MovingState.Deadlock/description": {
          "source_sha256": "e8cce69464af6b62e87c9acf4d9a9a1904889baee6b3dd060022e3600e50fe03",
          "translation": "При построении пути обнаружена взаимная блокировка движения."
        },
        "/symbols/@id=script.enum-value.MovingState.GagCritter/description": {
          "source_sha256": "e093abca241f236ba4a011175ddca53f8aa8f97ebad0fda433c74c15718d7ebd",
          "translation": "Движение заблокировано callback-проверкой занятости криттером."
        },
        "/symbols/@id=script.enum-value.MovingState.GagItem/description": {
          "source_sha256": "9eedc45b5ae3b59e205dc8046a68850f9e1bc172d17547f7230a71339ef9b2f0",
          "translation": "Движение заблокировано callback-проверкой занятости предметом."
        },
        "/symbols/@id=script.enum-value.MovingState.GenericError/description": {
          "source_sha256": "82fdd47041649676402462b807e6353aa512e53554581bea62b145c1bffe63c9",
          "translation": "Движение завершилось ошибкой без более точного результата."
        },
        "/symbols/@id=script.enum-value.MovingState.HexBusy/description": {
          "source_sha256": "df760f5bbb261d9ac6cd4fb89e93aac641c87ce4b395d571d1a0d7159689d52b",
          "translation": "Запрошенный конечный гекс занят или недоступен по другой причине."
        },
        "/symbols/@id=script.enum-value.MovingState.HexTooFar/description": {
          "source_sha256": "a4d7aeff73a5cb6970bc29b8392b54207e2a4bb171fc8fca91804567b4412216",
          "translation": "Запрошенная точка назначения находится за пределами допустимой дальности движения."
        },
        "/symbols/@id=script.enum-value.MovingState.InProgress/description": {
          "source_sha256": "cf399d10eaaaebb03d8dae127d75f450938757e594fa82fed24628b3df26c21d",
          "translation": "Движение выполняется и ещё не получило конечного результата."
        },
        "/symbols/@id=script.enum-value.MovingState.NotAlive/description": {
          "source_sha256": "84efd32bed15e951ba70d916e50295818f9df6900f9b35d5a9641d0e4d869610",
          "translation": "Движение отклонено, поскольку криттер не жив."
        },
        "/symbols/@id=script.enum-value.MovingState.Stopped/description": {
          "source_sha256": "346115640b4ba416c97b205895ae03a337b23bfd6603624f4899b6c03f85e7c0",
          "translation": "Движение отменено или остановлено до достижения точки назначения."
        },
        "/symbols/@id=script.enum-value.MovingState.Success/description": {
          "source_sha256": "8af3d777784a5cca7a358cfdda5f82f90e14904b73412203065be1904a8b0072",
          "translation": "Движение успешно достигло запрошенной точки назначения."
        },
        "/symbols/@id=script.enum-value.MovingState.TargetNotFound/description": {
          "source_sha256": "e54d2b72aacf4d68864930eb0a5216d0f0385bc9e729ca1dc462c1f91b00125b",
          "translation": "Не удалось разрешить запрошенную цель движения."
        },
        "/symbols/@id=script.enum-value.MovingState.TraceFailed/description": {
          "source_sha256": "c32f5509e33871c78670b32df62d1fa6563d1d2aecb9fc93a264552f9eb08e14",
          "translation": "Трассировка пути не смогла построить допустимый маршрут."
        },
        "/symbols/@id=script.enum-value.MultihexGenerationType.AnyUnique/description": {
          "source_sha256": "2dec005174e204305fe5ad81a8bdba9e72cd207b72555f964575867075c58f34",
          "translation": "Объединяет совместимые предметы одного прототипа в отдельные группы по всей карте без требования смежности."
        },
        "/symbols/@id=script.enum-value.MultihexGenerationType.None/description": {
          "source_sha256": "734b9138af411a708ba7e3cb0d8429d27b76ab40515dc745e340be6ce3e21aa1",
          "translation": "Отключает объединение размещённых предметов Mapper в multihex mesh."
        },
        "/symbols/@id=script.enum-value.MultihexGenerationType.SameSibling/description": {
          "source_sha256": "72bb96871ff2f0f8ce86a50ea220ccfe11e9129044c897f02f4b2dd50af54ddb",
          "translation": "Объединяет пространственно смежные совместимые sibling-предметы в одну постепенно растущую multihex mesh."
        },
        "/symbols/@id=script.enum-value.PlayerProperty.None/description": {
          "source_sha256": "f79bf926f8f950e506386014b7870404e2a48dab46bbd806dbe08f9bbd3af97a",
          "translation": "Признак того, что идентификатор свойства Player не выбран."
        },
        "/symbols/@id=script.enum-value.RenderPrimitiveType.LineList/description": {
          "source_sha256": "d531f72c561167cec775c33ba07d7036a1e6c118c040ead6c5529fae829f4c36",
          "translation": "Рисует каждую пару переданных вершин как независимый отрезок."
        },
        "/symbols/@id=script.enum-value.RenderPrimitiveType.LineStrip/description": {
          "source_sha256": "f03c054fd7c0ecb31751ae210509463676b8fea9eb57086348dcd1eb8ef99e2e",
          "translation": "Рисует связанные отрезки и включает перезапуск примитива там, где он поддерживается."
        },
        "/symbols/@id=script.enum-value.RenderPrimitiveType.PointList/description": {
          "source_sha256": "aa021a6e6437acd189fa327d7e55e5e1bdcc58f3f2daa432fd5fe7659da349a1",
          "translation": "Рисует каждую переданную вершину как независимый точечный примитив."
        },
        "/symbols/@id=script.enum-value.RenderPrimitiveType.TriangleList/description": {
          "source_sha256": "fa1c34dc2951cfdc11d6a9c8b76036417487a7aed8677203777490d7f15c3027",
          "translation": "Рисует каждую группу из трёх переданных вершин как независимый треугольник."
        },
        "/symbols/@id=script.enum-value.RenderPrimitiveType.TriangleStrip/description": {
          "source_sha256": "2235a646d6b30a13f8ed788445ea8216f57fc66aea2a79077f329c982ecce71c",
          "translation": "Рисует связанную полосу треугольников и включает перезапуск примитива там, где он поддерживается."
        },
        "/symbols/@id=script.enum-value.ScrollDirection.Down/description": {
          "source_sha256": "ebd57eacbdf43fb70e1f32d936dc302ab10001dea0905d263fcad9616f391af0",
          "translation": "Прокручивать к нижнему краю."
        },
        "/symbols/@id=script.enum-value.ScrollDirection.Left/description": {
          "source_sha256": "629aa7989cd66c346fa9edc0e1c56d53bbda69b92cce4662a58c24e5ae33db5a",
          "translation": "Прокручивать к левому краю."
        },
        "/symbols/@id=script.enum-value.ScrollDirection.None/description": {
          "source_sha256": "3dadc0354353ced3884eda223755e2300040326c203f3b4f4575b50fe5f55305",
          "translation": "Ручная прокрутка не выполняется."
        },
        "/symbols/@id=script.enum-value.ScrollDirection.Right/description": {
          "source_sha256": "dc2824da435119ac1c71465f00090df50ba7b5bb57975fe5fcc478857639a3b0",
          "translation": "Прокручивать к правому краю."
        },
        "/symbols/@id=script.enum-value.ScrollDirection.Up/description": {
          "source_sha256": "bba793991152097ff7475b165d7b42a2ea317845aa161fe581ce9d6ac372bd3e",
          "translation": "Прокручивать к верхнему краю."
        },
        "/symbols/@id=script.enum-value.TransparentEggSlot.Primary/description": {
          "source_sha256": "9946cabdec821b466cbe077026387c2a687b7a786d3b9d5339e0f3a11c4ecdf0",
          "translation": "Первая маска прозрачности вокруг игрока, проверяемая для спрайтов карты."
        },
        "/symbols/@id=script.enum-value.TransparentEggSlot.Secondary/description": {
          "source_sha256": "cf944367b9121c611a179e3fbeeb62c85b6c02636792e5126eaa187ae813ffe0",
          "translation": "Вторая независимая маска прозрачности вокруг игрока, проверяемая для спрайтов карты."
        },
        "/symbols/@id=script.enum-value.TransparentEggTarget.AnyOccluder/description": {
          "source_sha256": "5586d339ba7ded7d14e1e5d61e3b64e3634f143fd44b219783c2ca155b634f0a",
          "translation": "Скрывать каждый спрайт, который находится перед гексом маски по правилу прозрачности."
        },
        "/symbols/@id=script.enum-value.TransparentEggTarget.Structure/description": {
          "source_sha256": "2759af16129452e482f5f9b014583adb8f5b023d5af3fdbe394751567b493af1",
          "translation": "Скрывать только стены и крыши, сохраняя передние предметы обстановки."
        },
        "/symbols/@id=script.enum.CornerType/description": {
          "source_sha256": "b0ec3314f249c7bb40c4ff120e1f4a544ce71423f6304f21f83ba606c2078dd9",
          "translation": "Ориентация угла стены, используемая геометрией карты и отрисовкой с учётом углов."
        },
        "/symbols/@id=script.enum.CritterAction/description": {
          "source_sha256": "5ec46a9ec656031f82cd07b5375e2e839130bb2b412b4ad6823eedc0db4c4cd0",
          "translation": "Создаваемые движком уведомления о действиях криттера: перемещении предметов, нокауте, смерти, подключении и возрождении. Для некоторых действий действуют встроенные правила локальной или серверной диспетчеризации; проектному коду следует использовать символическое действие."
        },
        "/symbols/@id=script.enum.CritterActionAnim/description": {
          "source_sha256": "8cfde5e244b2696b7086a404a3620a63d5cdc30eaac3bb80db7f513871d7acf9",
          "translation": "Запрошенная анимация движения или позы криттера, передаваемая разрешению анимации модели."
        },
        "/symbols/@id=script.enum.CritterCondition/description": {
          "source_sha256": "1ec7394f5cd58baffe14798a1d4921ebaf86ec96b100663878d807d3073d410f",
          "translation": "Высокоуровневое состояние жизни криттера."
        },
        "/symbols/@id=script.enum.CritterFindType/description": {
          "source_sha256": "a1492db4c1a6e870b93bca5e8e85eaf9038d63f01c08598cfade03ca2d2eb6cd",
          "translation": "Комбинируемые фильтры выбора криттеров по состоянию жизни и принадлежности к игрокам или NPC."
        },
        "/symbols/@id=script.enum.CritterItemSlot/description": {
          "source_sha256": "192428a1f72a7f099d13b56b5adc746988f3f0a49f4d89a42eee7d6edb69aef0",
          "translation": "Логические назначения предмета криттера для переносов в инвентарь, основной экипированный слот и наружу."
        },
        "/symbols/@id=script.enum.CritterProperty/description": {
          "source_sha256": "a72cc1c977c93feab51092dee8eecc4399a7f371188f6168437b753e2db16cc2",
          "translation": "Сгенерированные идентификаторы свойств, экспортированных скриптовой сущностью Critter. Значения назначаются в порядке экспорта и предназначены для метаданных свойств и уведомлений об изменениях."
        },
        "/symbols/@id=script.enum.CritterSeeType/description": {
          "source_sha256": "48d633d61f41cd193db3d08a4a36f4d1ae874c893eb8419d19091c33ff56cdbb",
          "translation": "Направление запроса видимости криттеров: одно из двух направлений либо их объединение."
        },
        "/symbols/@id=script.enum.CritterStateAnim/description": {
          "source_sha256": "9ae3da8430c58890fa9a49a202a124ffc2f401eda675e889f6adea40b515f91e",
          "translation": "Постоянная анимационная стойка криттера, передаваемая разрешению анимации модели."
        },
        "/symbols/@id=script.enum.CritterVisibilityMode/description": {
          "source_sha256": "4911635f78effaf1ca02dffd59b96629e9572e96623b8a04b0b390b085c7e917",
          "translation": "Переопределение видимости криттера, применяемое независимо от обычных проверок восприятия."
        },
        "/symbols/@id=script.enum.DisconnectReason/description": {
          "source_sha256": "dc04880f548e64544acac84c481a1ceb36b8853b7618cc3bceba6ae7da6ed343",
          "translation": "Причина закрытия соединения. Она записывается в самом соединении, поэтому переживает завершивший его путь исполнения и остаётся доступной скриптам в обработчиках выхода."
        },
        "/symbols/@id=script.enum.DrawOrderType/description": {
          "source_sha256": "87d4dc71f28c6a7a66eead0b26b2ceb878598d2ac3103045e0ef50d19b1caafd",
          "translation": "Упорядоченные слои отрисовки карты для плоских спрайтов, освещения, обычных объектов, частиц и крыш."
        },
        "/symbols/@id=script.enum.EffectType/description": {
          "source_sha256": "99eadcd7f2f01658938c52239693cc6e5e748209a79a044dff228a4dd2a2e8e1",
          "translation": "Битовая маска выбора конвейера отрисовки или стадии сброса, обслуживаемой эффектом."
        },
        "/symbols/@id=script.enum.EggAppearenceType/description": {
          "source_sha256": "2bfe422e25bf5ddb92f0723fbcf11958d4f30997138aec15d30b0f6a662981d8",
          "translation": "Условия участия спрайта карты в вырезе прозрачности вокруг игрока."
        },
        "/symbols/@id=script.enum.EngineInfoMessage/description": {
          "source_sha256": "65dc6a7b6072f871e20cfdeef69b7525b3ad09805ef868625c1c345a47f28ff4",
          "translation": "Стабильные идентификаторы текстовых сообщений о соединении, аутентификации, загрузке и состоянии выполнения. Универсальный транспорт информационных сообщений рассматривает их как непрозрачные значения; встраивающие проекты владеют текстом и политикой отправки."
        },
        "/symbols/@id=script.enum.EventPriority/description": {
          "source_sha256": "0ea8b1deff184f17d65f230d9661e248dc584a076c40d1132e7110e1ca421528",
          "translation": "Относительный порядок обработчиков, подписанных на одно событие сущности."
        },
        "/symbols/@id=script.enum.EventResult/description": {
          "source_sha256": "fb47a0b56d5f7bf4f0fd2cd965bae9d3bb8ea302249fddd9e72a9dff8ff22371",
          "translation": "Определяет, разрешает ли обработчик события сущности запуск обработчиков с более низким приоритетом."
        },
        "/symbols/@id=script.enum.FontFlag/description": {
          "source_sha256": "54cfd909ea58e5711d60facc6ce87ebe767fca6058078fbbd71742f3edcee691",
          "translation": "Флаги шрифта"
        },
        "/symbols/@id=script.enum.FontType/description": {
          "source_sha256": "145d5dc2d296d4060d7ef4305dd20d74508583d71d881da441d85ee2d6d96460",
          "translation": "Индекс слота шрифта. Движок поставляет один именованный слот (Default = 0); скрипты могут добавлять записи через codegen-аннотацию Enum."
        },
        "/symbols/@id=script.enum.GameProperty/description": {
          "source_sha256": "e7686b2bda3db18a66d2e4fd0a838d0ba715810a0daacaf47d698de2e685d9dd",
          "translation": "Сгенерированные идентификаторы свойств, экспортированных скриптовой сущностью Game. Значения назначаются в порядке экспорта и предназначены для метаданных свойств и уведомлений об изменениях."
        },
        "/symbols/@id=script.enum.ImGuiProperty/description": {
          "source_sha256": "4d5a3f09dc313619f91e49aa325fcbcf0cfea88c1197626a06a9afe729caac3b",
          "translation": "Сгенерированные идентификаторы свойств, экспортированных скриптовой сущностью ImGui. Значения назначаются в порядке экспорта и предназначены для метаданных свойств и уведомлений об изменениях."
        },
        "/symbols/@id=script.enum.ImGui_ButtonFlags/description": {
          "source_sha256": "5c681693021573147fed8c3aedc9e7f34bc9b71f9936d84faa1be47dfd96ac80",
          "translation": "Поведение кнопок мыши, перекрытия и активации для низкоуровневых кнопок Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_ChildFlags/description": {
          "source_sha256": "4d6effb74f8eb5a706c59ce84c7612d37db89dca4a00dd6a0ecda197516e185f",
          "translation": "Передаваемые Dear ImGui флаги размера, рамки, отступов и навигации дочернего окна."
        },
        "/symbols/@id=script.enum.ImGui_Col/description": {
          "source_sha256": "a5b2c9a65ab4bc0826c4faa50481d627c284a7197a74df427e2df0380d38191b",
          "translation": "Индексированные слоты цветов стиля Dear ImGui для настройки темы из скриптов."
        },
        "/symbols/@id=script.enum.ImGui_ColorEditFlags/description": {
          "source_sha256": "056034d7d955b63f20cefff7a28150702b01d1f358662d8a7d1d09bcc0143a7e",
          "translation": "Режим палитры, видимость каналов, формат данных, предпросмотр и ввод для редакторов цвета Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_ComboFlags/description": {
          "source_sha256": "12dd9a3e768735ad90c6fc00d5e233161437c20bd6529a78d0c94422a3560346",
          "translation": "Высота всплывающего списка, выравнивание и предпросмотр для комбинированных списков Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_Cond/description": {
          "source_sha256": "57c72e756978babd4f59e0338620ecd872def3a36864ce614cd807af906b3f43",
          "translation": "Условия применения отложенного назначения состояния Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_Dir/description": {
          "source_sha256": "7ca88ec7674ddc6af5a301634e5c05ae072472a6d4a2e518e6beff929ca13625",
          "translation": "Основные направления и признак отсутствия направления для API навигации и компоновки Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_FocusedFlags/description": {
          "source_sha256": "2cf372080967dfee696cec71708c653b10b0f43d12f6e6058ad3853e2d84427f",
          "translation": "Фильтры области и иерархии для запросов фокуса Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_HoveredFlags/description": {
          "source_sha256": "d9df95e661c3eedb3b101d7b1145affc5136626abc3fea3d8edf212a02cdce17",
          "translation": "Фильтры блокировки, перекрытия, задержки и иерархии для запросов наведения Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_InputTextFlags/description": {
          "source_sha256": "1f3c44c4be0af3bd8b4c58530ae1379cf214f2c5ea70b9ddf1a6af1e464c38e7",
          "translation": "Редактирование, фильтрация, подтверждение, обратные вызовы и режим только для чтения для текстового ввода Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_MouseButton/description": {
          "source_sha256": "0cabece90adfdfd8d0f5e97236cde35d4c94bb797bc60a5c64545601322c9188",
          "translation": "Идентификаторы кнопок мыши, принимаемые скриптовыми привязками Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_PopupFlags/description": {
          "source_sha256": "4c06e5f39cc9ca914e6630d05a1ed38178dac206336c55f146f8afdefa25de43",
          "translation": "Выбор кнопки мыши и правила стека для открытия или закрытия всплывающих окон Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_SelectableFlags/description": {
          "source_sha256": "c854d1bfe35a08f4d97484fc1c3257d71d08bff8b04b6972f770ff703bc18747",
          "translation": "Поведение выбора, растягивания, перекрытия и активации выбираемых элементов Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_SliderFlags/description": {
          "source_sha256": "64856740edef32dc9d252239b5dd791bfbcf269f6f448b79c2bd335b9d227cf6",
          "translation": "Ограничение значений и поведение ввода для ползунков и перетаскиваемых элементов Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_StyleVar/description": {
          "source_sha256": "55ffd2d8b54f117a80c10d6cc2daeafa94ab73a43a94d6326992d2c43bbbabc9",
          "translation": "Индексированные скалярные и векторные переменные стиля Dear ImGui для операций со стеком стилей."
        },
        "/symbols/@id=script.enum.ImGui_TabBarFlags/description": {
          "source_sha256": "1cf297311236a2ef98019537e4026ca3f9f47ce26fe50904e89246835420c44b",
          "translation": "Переупорядочивание, подгонка, выбор и подсказки для панелей вкладок Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_TabItemFlags/description": {
          "source_sha256": "ad673df7472c2f17823804501f59f147c6451658bac350039f89a46f2c2bfaa6",
          "translation": "Видимость, закрытие, порядок и подсказки для отдельных вкладок Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_TableBgTarget/description": {
          "source_sha256": "bf713b49fa0d51f15b87dea740ebc6d18d99cf021239f81ed63c267737947c50",
          "translation": "Канал фона таблицы, на который направлено назначение цвета ячейки или строки Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_TableColumnFlags/description": {
          "source_sha256": "170189dca2d713fa9d0778e1864268b75ed33117f2fe0537cc25b72ebfadabdf",
          "translation": "Видимость, размер, порядок, сортировка и состояние отдельного столбца таблицы Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_TableFlags/description": {
          "source_sha256": "47bfbe0d77c8bbd46e9219a0d2628b8a3d948caf0c66905370466a1a627291b3",
          "translation": "Компоновка, границы, размеры, прокрутка, сортировка и отсечение таблиц Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_TableRowFlags/description": {
          "source_sha256": "fdc74aa320af8f69bf6e0e1aeeadf9f2c651dfcf7288337631a0399815ade9d1",
          "translation": "Поведение заголовка и фона отдельной строки таблицы Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_TreeNodeFlags/description": {
          "source_sha256": "458b61022d312041a40ab952e569c81f973dcf318b7d340c3b990ac064eaac44",
          "translation": "Раскрытие, рамка, выбор, растягивание и навигация узлов дерева Dear ImGui."
        },
        "/symbols/@id=script.enum.ImGui_WindowFlags/description": {
          "source_sha256": "f088640facf9b95beb55deaa56bb35a2459bbbd39a1ba0e7f009e481c550ce85",
          "translation": "Передаваемые встроенной Dear ImGui флаги создания окна и взаимодействия с ним."
        },
        "/symbols/@id=script.enum.ItemOwnership/description": {
          "source_sha256": "52c65f374318ec2f06ba2829e20438dfe980008bd1496151f9aae9b1099eb3dd",
          "translation": "Текущее место владения предметом: гекс карты, инвентарь криттера, контейнер предмета либо отсутствие владельца."
        },
        "/symbols/@id=script.enum.ItemProperty/description": {
          "source_sha256": "0b4a489e7239e3413061363346e02e3afa159f363c04be301942e2eaa4596314",
          "translation": "Сгенерированные идентификаторы свойств, экспортированных скриптовой сущностью Item. Значения назначаются в порядке экспорта и предназначены для метаданных свойств и уведомлений об изменениях."
        },
        "/symbols/@id=script.enum.KeyCode/description": {
          "source_sha256": "79e786a1144fcd38e8d6fb4c5e2488dab1a95681ef23e9d1804dabb859b1b6ee",
          "translation": "Идентификаторы физических клавиш по SDL scancode для событий ввода и запросов состояния клавиатуры, а также синтетическое событие Text для UTF-8 текста, вставки и переданных перетаскиванием данных."
        },
        "/symbols/@id=script.enum.LocationProperty/description": {
          "source_sha256": "175988666809b386e8f5165f9bc7d3bc558c9a93c56e09e3b995c67cb069edbf",
          "translation": "Сгенерированные идентификаторы свойств, экспортированных скриптовой сущностью Location. Значения назначаются в порядке экспорта и предназначены для метаданных свойств и уведомлений об изменениях."
        },
        "/symbols/@id=script.enum.MapLayers/description": {
          "source_sha256": "ab89b67baf3a0faa8ffce401659addd55e0e17cf8cc5be948cbd49571916bc6e",
          "translation": "Слои, которые отображает представление карты. Mapper скрывает одни слои для работы с другими, поэтому видимый набор является состоянием редактора, передаваемым представлению, а не настраиваемым значением."
        },
        "/symbols/@id=script.enum.MapProperty/description": {
          "source_sha256": "981bf30448cd795ccfda7a4191df4f741977fac3d1031a50aa9fb3b9e5b18019",
          "translation": "Сгенерированные идентификаторы свойств, экспортированных скриптовой сущностью Map. Значения назначаются в порядке экспорта и предназначены для метаданных свойств и уведомлений об изменениях."
        },
        "/symbols/@id=script.enum.MouseButton/description": {
          "source_sha256": "3c2f6a3205f021193b14c261133da43e2d60dbdd549c6cc9234d7ef222b8bddb",
          "translation": "Кнопки мыши и направления колеса, предоставляемые событиями ввода приложения."
        },
        "/symbols/@id=script.enum.MovingState/description": {
          "source_sha256": "3513cae830c33892bf619fc2612c98c79d5e259f81bef5322212bc7d32d7c377",
          "translation": "Конечный либо продолжающийся результат операций поиска пути и движения криттера."
        },
        "/symbols/@id=script.enum.MultihexGenerationType/description": {
          "source_sha256": "5ef44dd178a96c54a1ec7afce998e509fb1a5901ea07c33aeadad8285e498a47",
          "translation": "Политика генерации занятых гексов вокруг мультигексового прототипа."
        },
        "/symbols/@id=script.enum.PlayerProperty/description": {
          "source_sha256": "02055321fd1551715bcc633724ab29da9cc1a630cd31a8e72a35f581bff44adb",
          "translation": "Сгенерированные идентификаторы свойств, экспортированных скриптовой сущностью Player. Значения назначаются в порядке экспорта и предназначены для метаданных свойств и уведомлений об изменениях."
        },
        "/symbols/@id=script.enum.RenderPrimitiveType/description": {
          "source_sha256": "314827843004fb519fffb12f5f8403b69cf1c8d367d5742b777c1d0d734fc605",
          "translation": "Топология сборки вершин при отправке буферов графических примитивов."
        },
        "/symbols/@id=script.enum.ScrollDirection/description": {
          "source_sha256": "deb545adbc94d2ce8b627efa2d2496b6a787d9e0e0c768965512ea2f6cf150c5",
          "translation": "Текущее направление ручной прокрутки представления. Ввод задаёт его, представление потребляет, и они не разделяют поле: направление является намерением на текущий кадр, а не настраиваемым значением."
        },
        "/symbols/@id=script.enum.TransparentEggSlot/description": {
          "source_sha256": "1dec574463a2a00f21f9317afc1c4bd7510af6ac381df1a4d5605ad9b64e07ee",
          "translation": "Выбирает одну из двух одновременно поддерживаемых отрисовкой масок прозрачности вокруг игрока."
        },
        "/symbols/@id=script.enum.TransparentEggTarget/description": {
          "source_sha256": "aa857e431f9b1f11a606f90fbed70a8acf6d24f1c95c1df10b5557f9f05ade67",
          "translation": "Определяет, какие спрайты перед гексом прозрачной маски она скрывает."
        },
        "/symbols/@id=script.event.client.Game.OnConnected/description": {
          "source_sha256": "fcb8084160528ca0654bfb15bda099693707790d364d3389b6405e6606be786a",
          "translation": "Выполняется при установлении транспортного соединения клиента."
        },
        "/symbols/@id=script.event.client.Game.OnConnecting/description": {
          "source_sha256": "381a6d0f49159100ddb5a8d07b16595c97b9c06c8257197367f1019088b00b21",
          "translation": "Выполняется непосредственно перед началом запрошенной попытки сетевого соединения."
        },
        "/symbols/@id=script.event.client.Game.OnConnectingFailed/description": {
          "source_sha256": "eb206e10459e5b4ce193d055d4f3566a9b6b778cf3496ce3828759a5e763e6d5",
          "translation": "Выполняется при неудаче попытки сетевого соединения."
        },
        "/symbols/@id=script.event.client.Game.OnCritterAction/description": {
          "source_sha256": "d667ed9c51ad1942a691b1356fe696c9fba888a4e9f4a36865c5fbbc067289a4",
          "translation": "Выполняется до применения клиентом действия криттера; `localCall` отличает локальную инициацию от доставки сервером."
        },
        "/symbols/@id=script.event.client.Game.OnCritterAnimationFallout/description": {
          "source_sha256": "51738cc916a503bdbd561c32092417a0b966f9463bb1e422173639f864257009",
          "translation": "Разрешает номера и флаги устаревшей Fallout-анимации; обработчики могут заменить все выходные значения, а `StopChain` сообщает о неудаче разрешения."
        },
        "/symbols/@id=script.event.client.Game.OnCritterAnimationFrames/description": {
          "source_sha256": "d208f8549936de368582493fb7d4f2345b9a2c67815bed297249c6a5cddad74c",
          "translation": "Разрешает кортеж кадров 2D-анимации; обработчики могут заменить `pass`, `flags`, смещения и `animName`, а `StopChain` сообщает о неудаче разрешения."
        },
        "/symbols/@id=script.event.client.Game.OnCritterAnimationInit/description": {
          "source_sha256": "7ff01f550eb48737f5fdcae2277f51930fb8479124ffc526ab3001810e7027be",
          "translation": "Выполняется до поиска анимации криттера; обработчики могут заменить `stateAnim` и `actionAnim`."
        },
        "/symbols/@id=script.event.client.Game.OnCritterAnimationProcess/description": {
          "source_sha256": "2e45f0bf37a9294dee6c1400c22547329eb09ce9c027d284b88323093d67688c",
          "translation": "Выполняется после выбора анимации и до воспроизведения; `refreshAnim` отличает обновление вида от действия в очереди."
        },
        "/symbols/@id=script.event.client.Game.OnCritterAnimationSubstitute/description": {
          "source_sha256": "2a8b2441a851d96951fd616f114c3b9f1d79683e3bb5873e6c39cbeefd8412d0",
          "translation": "Разрешает подстановку анимации; обработчики могут заменить модель и пару анимаций, а `StopChain` сообщает о неудаче разрешения."
        },
        "/symbols/@id=script.event.client.Game.OnCritterIn/description": {
          "source_sha256": "f122fd2875924c2229f32b9cf43b6474694c92c3c46f5e643364781b2215d239",
          "translation": "Выполняется при входе криттера в текущий набор видимых сущностей клиента."
        },
        "/symbols/@id=script.event.client.Game.OnCritterOut/description": {
          "source_sha256": "6550f576318684ad05051af4e6711916659ebf34047fbef1ad0283f561171d2b",
          "translation": "Выполняется до выхода криттера из текущего набора видимых сущностей клиента."
        },
        "/symbols/@id=script.event.client.Game.OnCritterVisibilityModeChanged/description": {
          "source_sha256": "0f73a0e67fb82e6a24a4210073945436f12f913b6206e52ed3a751ae90baa074",
          "translation": "Выполняется, когда всё ещё видимый криттер меняет режим видимости."
        },
        "/symbols/@id=script.event.client.Game.OnCustomEntityIn/description": {
          "source_sha256": "8428721d7d647a56032ea56be8bd5048f65c755a2b3b369df3b3a3b27010a129",
          "translation": "Выполняется при входе пользовательской сущности в реплицируемый набор сущностей клиента."
        },
        "/symbols/@id=script.event.client.Game.OnCustomEntityOut/description": {
          "source_sha256": "ac254d9736a7e9066f6fe83171c8968a73e508007dee1937d141ad2ec8ddadd2",
          "translation": "Выполняется до выхода пользовательской сущности из реплицируемого набора сущностей клиента."
        },
        "/symbols/@id=script.event.client.Game.OnDisconnected/description": {
          "source_sha256": "29daa4f54df50b2034e6782ff1119b7c038150cda12b73fc1cb30a37dfd3c4ae",
          "translation": "Выполняется после закрытия транспортного соединения клиента."
        },
        "/symbols/@id=script.event.client.Game.OnFinish/description": {
          "source_sha256": "1b4ba3421b9261f42d8bcad0b597f797f8e913cc1590e3ad6da4f872e48c76e9",
          "translation": "Выполняется при завершении работы клиента до финализации модулей скриптов."
        },
        "/symbols/@id=script.event.client.Game.OnInfoMessage/description": {
          "source_sha256": "8d7d80ac39df682a64b63b42f0e07d0b877064d625579a9492421a072faff151",
          "translation": "Выполняется для информационного сообщения, полученного от сервера."
        },
        "/symbols/@id=script.event.client.Game.OnInputLost/description": {
          "source_sha256": "fa86b926361e4dedc3c99d366d2a585bec867db9cf9511f85164151237f796eb",
          "translation": "Выполняется в кадрах, когда окно приложения не в фокусе и опрос ввода пропущен."
        },
        "/symbols/@id=script.event.client.Game.OnItemInvIn/description": {
          "source_sha256": "e09339d189678833e8f328cec8f6dca1be4b8c0d925af2251eccc508d1eb63c8",
          "translation": "Выполняется при входе предмета в инвентарь выбранного криттера."
        },
        "/symbols/@id=script.event.client.Game.OnItemInvOut/description": {
          "source_sha256": "b570651de7a2095d4aedeace1be6686ff3c25110599abe160b429c3dc4aa3f4f",
          "translation": "Выполняется при выходе предмета из инвентаря выбранного криттера с использованием отдельного снимка удалённого предмета."
        },
        "/symbols/@id=script.event.client.Game.OnItemMapIn/description": {
          "source_sha256": "05b18f17992364f00f21c84495bd8bab0161a07967d7b6c97473b9da22dd18bd",
          "translation": "Выполняется при входе предмета в текущий набор предметов карты клиента."
        },
        "/symbols/@id=script.event.client.Game.OnItemMapOut/description": {
          "source_sha256": "2daac39abba62ad6e0cb440b40fbcbed6b1e27505f20f4234b22709444741a6d",
          "translation": "Выполняется до выхода предмета из текущего набора предметов карты клиента."
        },
        "/symbols/@id=script.event.client.Game.OnKeyDown/description": {
          "source_sha256": "868c8a9159be59398920a703ab8d7aba6ea90ce31f78fcbcf97cdd6705d77227",
          "translation": "Выполняется при нажатии клавиши и включает связанный текстовый ввод, когда он доступен."
        },
        "/symbols/@id=script.event.client.Game.OnKeyUp/description": {
          "source_sha256": "6846219c75aaf0d5dc18ca5bf7ffba1ac835cd4d7a56e19572a20b73cf014b16",
          "translation": "Выполняется при отпускании клавиши."
        },
        "/symbols/@id=script.event.client.Game.OnLoginSuccess/description": {
          "source_sha256": "cf439d629b50fdb25f87eb4830d25a5056e540e717e7feef44f949beb3ee9b86",
          "translation": "Выполняется, когда сервер принимает вход и клиент получает сообщение об успешном входе."
        },
        "/symbols/@id=script.event.client.Game.OnLoop/description": {
          "source_sha256": "f8a32e3d937b86b5dca7b90ec931196aaa9c03c7dc625b457f07d813b491f070",
          "translation": "Выполняется один раз за клиентский кадр после сети, ввода, запланированных callback и временных событий, но до обработки карты."
        },
        "/symbols/@id=script.event.client.Game.OnMapLoad/description": {
          "source_sha256": "7eedc37af2f59661147b7a5b2156cd753cdafb17d43a1552ab3e290d01c27f86",
          "translation": "Выполняется после того, как сообщение загрузки локальной или глобальной карты установило новый клиентский контекст карты."
        },
        "/symbols/@id=script.event.client.Game.OnMapLoaded/description": {
          "source_sha256": "1a0ea810c31c2333d9274a79f0d304717c852a9f0abce1117b894ae928689ab8",
          "translation": "Выполняется, когда сервер подтверждает размещение на карте и клиент помечает карту полностью загруженной."
        },
        "/symbols/@id=script.event.client.Game.OnMapUnload/description": {
          "source_sha256": "9ace47c15dda2aa43494ba8e9d010cb4c7ba6e0e1bbda3a0249bcbdc50277aab",
          "translation": "Выполняется во время выгрузки текущего контекста карты."
        },
        "/symbols/@id=script.event.client.Game.OnMapView/description": {
          "source_sha256": "9a7227389f98efbce34006e6b6657b244f94cfd0394c0e83d850e9a48503d156",
          "translation": "Выполняется, когда сервер запрашивает у клиента просмотр карты вокруг `hex`."
        },
        "/symbols/@id=script.event.client.Game.OnMouseDown/description": {
          "source_sha256": "79b6af6ac381f25c991b2c90cbac3c94937e0f92d3dbe79f9ff21d5b0188a2f2",
          "translation": "Выполняется при нажатии кнопки мыши; шаги колеса представлены парными нажатиями и отпусканиями виртуальных кнопок."
        },
        "/symbols/@id=script.event.client.Game.OnMouseMove/description": {
          "source_sha256": "6db49552c767ba9f2f75eba9fe4e8b931765965b731a17d336425c7342c73441",
          "translation": "Выполняется при перемещении мыши и сообщает покадровое смещение в `offsetPos`."
        },
        "/symbols/@id=script.event.client.Game.OnMouseUp/description": {
          "source_sha256": "69a944238fddb2fe2331182011981fc2a6af0b7855d267a8e06e09814c6ed74c",
          "translation": "Выполняется при отпускании кнопки мыши; шаги колеса представлены парными нажатиями и отпусканиями виртуальных кнопок."
        },
        "/symbols/@id=script.event.client.Game.OnPreLoadMap/description": {
          "source_sha256": "bbeb980ad77379338b650d791920a882291deea764184582a24e7751dd7b84d4",
          "translation": "Выполняется до создания представления локальной карты; обработчики могут заменить `screenSize` для этой карты."
        },
        "/symbols/@id=script.event.client.Game.OnReceiveItems/description": {
          "source_sha256": "0be0d79e6eb5a513177b73eff43f9a1ef80c1355f766767572c71d6abd4dd1cb",
          "translation": "Выполняется для доставленного сервером набора предметов, восстановленного как отдельные клиентские представления предметов с определяемым проектом контекстом."
        },
        "/symbols/@id=script.event.client.Game.OnRenderIface/description": {
          "source_sha256": "f1f3080f7b65fd478eebb8e3b77ca34ca4d7eb355405e298f4fc5f3a5a53f9df",
          "translation": "Выполняется в области скриптовой отрисовки каждого клиентского кадра до обработки видео в очереди."
        },
        "/symbols/@id=script.event.client.Game.OnRenderMap_AfterFlatSprites/description": {
          "source_sha256": "7cec1ee7b2cda535e95d1a0e315f8beec2b40395ebe6aced926aa4969f362e78",
          "translation": "Выполняется сразу после прохода плоских спрайтов для `drawArea`."
        },
        "/symbols/@id=script.event.client.Game.OnRenderMap_AfterFlushMap/description": {
          "source_sha256": "b26476786e32e719b14253b48f9616cad138f350d8871f5aa34c43786127b879",
          "translation": "Выполняется после переноса render target карты в основную сцену для `drawArea`."
        },
        "/symbols/@id=script.event.client.Game.OnRenderMap_AfterFog/description": {
          "source_sha256": "0bd1ee5ae8d4666f7e091d7f15805a56c836b63c978ce2b02716de4cb5bd56bd",
          "translation": "Выполняется сразу после прохода тумана для `drawArea`, когда отрисовка тумана включена."
        },
        "/symbols/@id=script.event.client.Game.OnRenderMap_AfterLighting/description": {
          "source_sha256": "cb09240c498451269b029fa4d1f5cc78cc37575ddf9d51c13c53494936790448",
          "translation": "Выполняется сразу после прохода освещения карты для `drawArea`, когда освещение включено."
        },
        "/symbols/@id=script.event.client.Game.OnRenderMap_AfterSprites/description": {
          "source_sha256": "0e17fcb42205347ec774e804ce42251d0a05829d650f8b2cb9e3363f759c735c",
          "translation": "Выполняется сразу после прохода обычных спрайтов карты для `drawArea`."
        },
        "/symbols/@id=script.event.client.Game.OnRenderMap_AfterSpritesAndFog/description": {
          "source_sha256": "ebe555e26b57fb212086f7e130bb4dc6c85bf89a42a22bf4edec0718139126a8",
          "translation": "Выполняется после обычных спрайтов и необязательного прохода тумана для `drawArea`."
        },
        "/symbols/@id=script.event.client.Game.OnRenderMap_AfterTiles/description": {
          "source_sha256": "4627cd5be2512125ec06237204dd1ff5eb7a38da36e07088993e221a39d0c8c8",
          "translation": "Выполняется сразу после прохода тайлов карты для `drawArea`."
        },
        "/symbols/@id=script.event.client.Game.OnRenderMap_BeforeFlatSprites/description": {
          "source_sha256": "48c8ec1bb5073f8b01a05010478272bec1c0648b5f3f5e88341e6dde6a516ff5",
          "translation": "Выполняется непосредственно перед проходом плоских спрайтов для `drawArea`."
        },
        "/symbols/@id=script.event.client.Game.OnRenderMap_BeforeFlushMap/description": {
          "source_sha256": "b2e40e033437db8128bd96ff16e42a83a466cf3e114c834f059bf7be00ca9c1f",
          "translation": "Выполняется до переноса render target карты в основную сцену для `drawArea`."
        },
        "/symbols/@id=script.event.client.Game.OnRenderMap_BeforeFog/description": {
          "source_sha256": "610285a23bb92aa02fe011b6283b57b1b02ed33508c1995422fdeb68815a755f",
          "translation": "Выполняется непосредственно перед проходом тумана для `drawArea`, когда отрисовка тумана включена."
        },
        "/symbols/@id=script.event.client.Game.OnRenderMap_BeforeLighting/description": {
          "source_sha256": "763791774ab7877f83b0359a516149c39eb5a13e22d118344fc5122facc14876",
          "translation": "Выполняется непосредственно перед проходом освещения карты для `drawArea`, когда освещение включено."
        },
        "/symbols/@id=script.event.client.Game.OnRenderMap_BeforeSprites/description": {
          "source_sha256": "8682b76075d7ecc3507729ed718cddddf6089e8afc725b7a7635317a20a0f98f",
          "translation": "Выполняется непосредственно перед проходом обычных спрайтов карты для `drawArea`."
        },
        "/symbols/@id=script.event.client.Game.OnRenderMap_BeforeTiles/description": {
          "source_sha256": "55dd016897f949ceb0938ce77926ebccd6c2b5f93cf8b911c5d64ea8cb0afd40",
          "translation": "Выполняется непосредственно перед проходом тайлов карты для `drawArea`."
        },
        "/symbols/@id=script.event.client.Game.OnRenderMap_Rebuild/description": {
          "source_sha256": "8d08084d49ca9956466eca0a9706e5ee7e24c10bbadf1a294b76947d18be38ea",
          "translation": "Выполняется при перестроении кэша отрисовки карты."
        },
        "/symbols/@id=script.event.client.Game.OnScreenScroll/description": {
          "source_sha256": "b534c24deab480db1d96424cfa91de75be40c71a86f0bfe115c0c735cd7f61ad",
          "translation": "Выполняется при изменении экранного смещения представления карты."
        },
        "/symbols/@id=script.event.client.Game.OnScreenSizeChanged/description": {
          "source_sha256": "c6d92b55b5a6891b95bc63b867f2b2704b26c6fdcb1afa703b4587bb7af68ef0",
          "translation": "Выполняется после сообщения приложения об изменении размера экрана."
        },
        "/symbols/@id=script.event.client.Game.OnScriptOverrun/description": {
          "source_sha256": "703454eeb2bdac4758a34b562edb007118082de1299e501ada2577202223b960",
          "translation": "Перед следующим OnLoop сообщает ограниченную сводку превышений времени выполнения скрипта."
        },
        "/symbols/@id=script.event.client.Game.OnStart/description": {
          "source_sha256": "bd39c95ba2234ac90659a7e31caaaf51eb531d813d9c370813a7d27b32894f90",
          "translation": "Однократно выполняется после завершения инициализации клиента."
        },
        "/symbols/@id=script.event.client.Game.OnTouchDoubleTap/description": {
          "source_sha256": "abc89c7ac698e73357e4f9d458dd25ecb495639af402509983e43fd61461fe49",
          "translation": "Выполняется при распознанном двойном касании в `screenPos`."
        },
        "/symbols/@id=script.event.client.Game.OnTouchDown/description": {
          "source_sha256": "9bf5ba30d1cf9b3ad23cf2bf4c2ee11a3b76f4d5f2a6863f9be3af70d040d27a",
          "translation": "Выполняется, когда контакт касания начинается в `screenPos`."
        },
        "/symbols/@id=script.event.client.Game.OnTouchMove/description": {
          "source_sha256": "1c8aa0a00658e9fe0cdc16e7da5ea0b238727eb95f9cda19a509996c85e1cb48",
          "translation": "Выполняется при движении контакта касания с текущей экранной позицией и смещением движения."
        },
        "/symbols/@id=script.event.client.Game.OnTouchScroll/description": {
          "source_sha256": "0089144c201a90fd9e788ceb6842bacc7223f1d153e1b2afab8092fe0468b9f3",
          "translation": "Выполняется для жеста прокрутки касанием с текущей экранной позицией и смещением прокрутки."
        },
        "/symbols/@id=script.event.client.Game.OnTouchTap/description": {
          "source_sha256": "fb6d2db86b359cd66f879b7ce919657e02debce587db9ab78ac195ca99e0583f",
          "translation": "Выполняется при распознанном одиночном касании в `screenPos`."
        },
        "/symbols/@id=script.event.client.Game.OnTouchUp/description": {
          "source_sha256": "41e5a7c5312b502d7afe15ffbf14e3ca3d95ae482a3d8cf95eca51cfa999b4b8",
          "translation": "Выполняется, когда контакт касания заканчивается в `screenPos`."
        },
        "/symbols/@id=script.event.client.Game.OnTouchZoom/description": {
          "source_sha256": "9584cb86722cc783766a48851f1f06de293987538087a45341e016457fa9aa06",
          "translation": "Выполняется для жеста масштабирования касанием с его центром и множителем `factor`."
        },
        "/symbols/@id=script.event.mapper.Game.OnEditMapLoad/description": {
          "source_sha256": "b140eec8697f15309c1aab377b02d49574afc246735084e25a8cdcbe353bd1e3",
          "translation": "Выполняется после загрузки и нормализации карты, но до добавления в список загруженных карт Mapper."
        },
        "/symbols/@id=script.event.mapper.Game.OnEditMapSave/description": {
          "source_sha256": "c8cf9fc469a91695beeae0f7d3e152d9cdca0d370abcd2757ad0d7cf5b183559",
          "translation": "Выполняется после успешной записи карты Mapper и до пометки состояния undo как чистого."
        },
        "/symbols/@id=script.event.mapper.Game.OnInspectorProperties/description": {
          "source_sha256": "e2d79138b07520dccd590c6d2933c178a0b7a46489795e11db63cf76563e6220",
          "translation": "Выполняется при выборе `entity` в Inspector; обработчики заполняют или переупорядочивают изменяемый список индексов свойств."
        },
        "/symbols/@id=script.event.mapper.Game.OnMapperMessage/description": {
          "source_sha256": "329dc23d72f3a06e177c37029cd4691966a2618d52c9abe1e5dd26ceeea00b9a",
          "translation": "Выполняется для отправленного текста консоли Mapper; обработчики могут заменить `text`, а `StopChain` подавляет встроенный разбор команды."
        },
        "/symbols/@id=script.event.server.Critter.OnBarter/description": {
          "source_sha256": "fc663c32ced4d4a47cd8e1cda1729b8e7f1819c6f66c7747c13210096c898cf1",
          "translation": "Предоставляет определяемое проектом событие жизненного цикла бартера; Engine напрямую его не вызывает."
        },
        "/symbols/@id=script.event.server.Critter.OnCritterAppeared/description": {
          "source_sha256": "539188d358b2bb0a023031c0546025d463630a27f2ac7eb3a7d727d8bcee620b",
          "translation": "Выполняется при входе другого криттера в текущий набор видимости этого криттера."
        },
        "/symbols/@id=script.event.server.Critter.OnCritterAppearedDist1/description": {
          "source_sha256": "1285b9f37b0bbfa7f16d73218bddb1f7a70ef74e8c70b9fd97d8339fb8795146",
          "translation": "Срабатывает, когда другой видимый криттер входит в дистанционную группу ShowCritterDist1."
        },
        "/symbols/@id=script.event.server.Critter.OnCritterAppearedDist2/description": {
          "source_sha256": "f0d8a6c254ce798a43cea978ef0c2adb28a5e2fac203674bef03b6087744c0da",
          "translation": "Срабатывает, когда другой видимый криттер входит в дистанционную группу ShowCritterDist2."
        },
        "/symbols/@id=script.event.server.Critter.OnCritterAppearedDist3/description": {
          "source_sha256": "9c5290866212f9fe1c67fdd93a36e9666b8e4fa9f1ba9f476acba0eb71104b8e",
          "translation": "Срабатывает, когда другой видимый криттер входит в дистанционную группу ShowCritterDist3."
        },
        "/symbols/@id=script.event.server.Critter.OnCritterDisappeared/description": {
          "source_sha256": "c0cfd2a4228e072dd685e18384efe9b3d39567943f65d246c751052a210a549b",
          "translation": "Выполняется при выходе другого криттера из текущего набора видимости этого криттера."
        },
        "/symbols/@id=script.event.server.Critter.OnCritterDisappearedDist1/description": {
          "source_sha256": "442b13c4e9ce0aca9feb6e1cf44476846b71a09f2ec31fddde5b3b8eaf06182c",
          "translation": "Срабатывает, когда другой криттер выходит из дистанционной группы ShowCritterDist1 или перестаёт быть видимым."
        },
        "/symbols/@id=script.event.server.Critter.OnCritterDisappearedDist2/description": {
          "source_sha256": "d1d34a69d56220260ac9d24fae5c52dc516ac7392d8dc7c8fababcf7a8cf1711",
          "translation": "Срабатывает, когда другой криттер выходит из дистанционной группы ShowCritterDist2 или перестаёт быть видимым."
        },
        "/symbols/@id=script.event.server.Critter.OnCritterDisappearedDist3/description": {
          "source_sha256": "15f588137d57ac2c103a2188fea63a95170e26103b5b83fe716a80eb87a679a6",
          "translation": "Срабатывает, когда другой криттер выходит из дистанционной группы ShowCritterDist3 или перестаёт быть видимым."
        },
        "/symbols/@id=script.event.server.Critter.OnCritterVisibilityModeChanged/description": {
          "source_sha256": "0f850a0d2ced9859ab1ea95bfde117f2350064235e74ce93fcf95afd43e5694f",
          "translation": "Выполняется, когда `targetCr` остаётся видимым, но меняет режим видимости для этого криттера."
        },
        "/symbols/@id=script.event.server.Critter.OnFinish/description": {
          "source_sha256": "4d761e29ba6f6e260bec6fc7ac430a2c71a84f03485ac5ff3824b40e97cac075",
          "translation": "Выполняется во время завершения этого криттера."
        },
        "/symbols/@id=script.event.server.Critter.OnItemOnMapAppeared/description": {
          "source_sha256": "263d46869f8530fab423e4b095b824487c0fb01be074721c147bfacc3e7c1b3f",
          "translation": "Выполняется при входе предмета карты в набор видимости этого криттера; `dropper` присутствует при непосредственном выбрасывании криттером."
        },
        "/symbols/@id=script.event.server.Critter.OnItemOnMapChanged/description": {
          "source_sha256": "57eedcfafc5fddb0c2688fe3a63d8b443cc71b132743f8899dbf6098e140f958",
          "translation": "Выполняется, когда меняется влияющее на представление состояние всё ещё видимого предмета карты."
        },
        "/symbols/@id=script.event.server.Critter.OnItemOnMapDisappeared/description": {
          "source_sha256": "c0f6f530ef4176294247b9760af2ef9ed94315de107c2f4b7b41cce42a6e6666",
          "translation": "Выполняется при выходе предмета карты из набора видимости этого криттера; `picker` присутствует, когда предмет подбирает криттер."
        },
        "/symbols/@id=script.event.server.Critter.OnTalk/description": {
          "source_sha256": "429dcdc840be311861fbed5766e1a878e9c868ee3ec6073c8984b4b53f7de4e1",
          "translation": "Предоставляет определяемое проектом событие жизненного цикла разговора; Engine напрямую его не вызывает."
        },
        "/symbols/@id=script.event.server.Game.OnCritterFinish/description": {
          "source_sha256": "41eb2ac52eec4e99a207ac92eaaaf9653236dfefb7f80d89295712e3500061e0",
          "translation": "Выполняется при завершении криттера до снятия его с регистрации."
        },
        "/symbols/@id=script.event.server.Game.OnCritterInit/description": {
          "source_sha256": "4443612d4229ca002186ef8acdd718cf9d35531534d321116ccad540ec81a21c",
          "translation": "Однократно выполняется перед собственным скриптом инициализации криттера; `firstTime` отличает создание от восстановления."
        },
        "/symbols/@id=script.event.server.Game.OnCritterItemMoved/description": {
          "source_sha256": "c04a7433a79b8a085959436027b266b155b12e14d8c0230c9015007d2a98102a",
          "translation": "Выполняется после входа предмета в инвентарь криттера, выхода из него или смены слота; `fromSlot` сообщает предыдущий слот."
        },
        "/symbols/@id=script.event.server.Game.OnCritterLoad/description": {
          "source_sha256": "c3a9bf95c2f39cb85aca37c355808e2059cdd58148bce21df5ab4592ab0808b9",
          "translation": "Выполняется после загрузки постоянного криттера и перехода под владение сервера."
        },
        "/symbols/@id=script.event.server.Game.OnCritterMoved/description": {
          "source_sha256": "fde49747906ebfc369db110b9f46e94a74ec0fef2c5302811f2da4c10e9d1fdd",
          "translation": "Выполняется после перехода криттера на другой гекс карты и передаёт предыдущий гекс в `oldHex`."
        },
        "/symbols/@id=script.event.server.Game.OnCritterPreLoad/description": {
          "source_sha256": "c085bf21961d4eb54c68946e2d78e375e06279e02a51056cd3c1a86cb60ec315",
          "translation": "Выполняется после восстановления постоянного криттера и принадлежащих ему сущностей, но до входа в мир; `StopChain` отклоняет загрузку."
        },
        "/symbols/@id=script.event.server.Game.OnCritterSendInitialInfo/description": {
          "source_sha256": "209f65265fedec4b175020d397aead4f6b60ff3a47c79a8fbf389fa85ab3361b",
          "translation": "Выполняется, пока сервер готовит исходное состояние управляемого криттера для его игрока."
        },
        "/symbols/@id=script.event.server.Game.OnCritterStartMoving/description": {
          "source_sha256": "2a8a4505f46ca610065278e4de011ec7d43392f9bbe3e67c1711ad4cf2da6fa4",
          "translation": "Выполняется после активации и рассылки контекста перемещения; `wasMoving` сообщает, заменил ли он активное перемещение."
        },
        "/symbols/@id=script.event.server.Game.OnCritterStopMoving/description": {
          "source_sha256": "02def2fc88cae2778b2d3df4cd9f1a2e37d16a99f6f832bfde2d20ad1f6b4748",
          "translation": "Выполняется после остановки активного перемещения криттера и рассылки итогового состояния."
        },
        "/symbols/@id=script.event.server.Game.OnCritterTransfer/description": {
          "source_sha256": "bc9aad1862360e58b5858159db53f6291be23969c0b655d6bd4d987aa9d71bcc",
          "translation": "Выполняется после завершения переноса криттера; `prevMap` отсутствует, если криттер пришёл не с локальной карты."
        },
        "/symbols/@id=script.event.server.Game.OnCritterUnload/description": {
          "source_sha256": "c523bc8a322207119e04b8eddfa449f76dac69b1831b9c7c3f04b64b9de270b1",
          "translation": "Выполняется перед выходом постоянного криттера из владения сервера без уничтожения."
        },
        "/symbols/@id=script.event.server.Game.OnFinish/description": {
          "source_sha256": "0a77047ead341de2f13cc512b42e7c6e4dc8dfcab969fcdfa35e6fa28f9311c6",
          "translation": "Выполняется при завершении работы сервера до финализации модулей скриптов."
        },
        "/symbols/@id=script.event.server.Game.OnGenerateWorld/description": {
          "source_sha256": "f10732d1d29ffe37ec6312db11a66417ce54faa025692d23b357d12b447a3336",
          "translation": "Выполняется только для пустой базы данных при создании исходного мира; `StopChain` прерывает инициализацию сервера."
        },
        "/symbols/@id=script.event.server.Game.OnGlobalMapCritterIn/description": {
          "source_sha256": "26895edbeffa1853a1b9a270d86eac632b4fb199e32ace7295d5e5e3d75e8cc5",
          "translation": "Выполняется, когда криттер входит в контейнер глобальной карты."
        },
        "/symbols/@id=script.event.server.Game.OnGlobalMapCritterOut/description": {
          "source_sha256": "dd72b95b6b2f28f87f24c0f8a94a268a11628285db4f1bba12517db6ec59b7ec",
          "translation": "Выполняется, когда криттер покидает контейнер глобальной карты."
        },
        "/symbols/@id=script.event.server.Game.OnInit/description": {
          "source_sha256": "a9acd9fe67981bb699edad3a75f6cfb463351f14a59d02bca282e95e4edcf779",
          "translation": "Выполняется после инициализации модулей скриптов и до создания или восстановления мира; `StopChain` прерывает инициализацию сервера."
        },
        "/symbols/@id=script.event.server.Game.OnItemFinish/description": {
          "source_sha256": "9be8e890922068fc8cc2ae4e514b5d4a55d4fbcae2156401ba88782ef99427e2",
          "translation": "Выполняется при завершении предмета до снятия его с регистрации."
        },
        "/symbols/@id=script.event.server.Game.OnItemInit/description": {
          "source_sha256": "29b4fccb8b8924490fcb95bc284ae20fa2a72dced530759faea78309928389a1",
          "translation": "Однократно выполняется перед собственным скриптом инициализации предмета; `firstTime` отличает создание от восстановления."
        },
        "/symbols/@id=script.event.server.Game.OnLocationFinish/description": {
          "source_sha256": "298351757eabe89a9d28fb659d9be544de83727fc0dc492205da14e2c22d0113",
          "translation": "Выполняется при завершении локации до уничтожения её карт."
        },
        "/symbols/@id=script.event.server.Game.OnLocationInit/description": {
          "source_sha256": "78a056fd8c0a9f580cd3dc5dbcf1b6e90c1030433d931777f34bea65665a9b51",
          "translation": "Однократно выполняется перед собственным скриптом инициализации локации; `firstTime` отличает создание от восстановления."
        },
        "/symbols/@id=script.event.server.Game.OnMapCritterIn/description": {
          "source_sha256": "6d6ad7335cf6075ad30bbeb8438102aa2af8d6a3b98ff0a12da4f6be4c8127ef",
          "translation": "Выполняется после присоединения криттера к локальной карте."
        },
        "/symbols/@id=script.event.server.Game.OnMapCritterOut/description": {
          "source_sha256": "261320dada9fa9e936107ee8aa536460770bbb79434681592f6964354fcccbfc",
          "translation": "Выполняется перед отсоединением криттера от локальной карты."
        },
        "/symbols/@id=script.event.server.Game.OnMapFinish/description": {
          "source_sha256": "6653e2fb2a824683caf887d05da1fba0dcf2d14bce8a6f824a587a37fa033ea1",
          "translation": "Выполняется при завершении карты до снятия её с регистрации."
        },
        "/symbols/@id=script.event.server.Game.OnMapInit/description": {
          "source_sha256": "a5e2c04bd891cae4571f9cf76060e66769bc0790c14f4f6c4adbb05055b82468",
          "translation": "Однократно выполняется перед собственным скриптом инициализации карты; `firstTime` отличает создание от восстановления."
        },
        "/symbols/@id=script.event.server.Game.OnPlayerCritterSwitched/description": {
          "source_sha256": "cfcca92a5b48d6d5ed72a43f3b4756dca360650711f0ad27ffbdde64429e78a2",
          "translation": "Выполняется после переключения игрока с `prevCr` на `cr` и отправки исходной информации о криттере."
        },
        "/symbols/@id=script.event.server.Game.OnPlayerDirCritter/description": {
          "source_sha256": "24c07362e0752b704e0e9e76f0d243b72a216e04b95fb06e63326cf32f34f410",
          "translation": "Проверяет запрос игрока на смену направления; обработчики могут заменить `dir`, а `StopChain` отклоняет запрос."
        },
        "/symbols/@id=script.event.server.Game.OnPlayerLogin/description": {
          "source_sha256": "d27f37b9b255449be2286a469c41436f82dc6daa1677e5bffd9e5e3756c34cbb",
          "translation": "Выполняется после отправки успешного входа и до настройки после входа; `notLoggedInPlayer` присутствует только при переподключении, а `StopChain` отклоняет вход."
        },
        "/symbols/@id=script.event.server.Game.OnPlayerLogout/description": {
          "source_sha256": "05be5d37dcbc0e06fee267cb8d783bc701d201ab3ff582e301ae17ecce7a87cf",
          "translation": "Выполняется после обнаружения жёсткого разрыва соединения и до отсоединения и снятия игрока с регистрации."
        },
        "/symbols/@id=script.event.server.Game.OnPlayerMoveCritter/description": {
          "source_sha256": "6f67aa6a72ef704d2a5bd7632f405f976257b79fc6327f734906485f72a6a987",
          "translation": "Проверяет запрос игрока на перемещение; обработчики могут заменить `speed`, а `StopChain` отклоняет запрос."
        },
        "/symbols/@id=script.event.server.Game.OnStart/description": {
          "source_sha256": "6aa15f6900756b0166069c613265e5686816c86a43467f82bb6230febd2bc86a",
          "translation": "Выполняется после создания или восстановления мира и до начала штатной работы сервера; `StopChain` прерывает запуск."
        },
        "/symbols/@id=script.event.server.Game.OnStaticItemWalk/description": {
          "source_sha256": "8c9fa7cfca7690189243af11f4bca10700ef85b354027bd6f9b393a5b4c39755",
          "translation": "Выполняется, когда криттер пересекает область триггера статического предмета; `isIn` отличает вход от выхода."
        },
        "/symbols/@id=script.event.server.Item.OnCritterWalk/description": {
          "source_sha256": "fb20da9e87b6160154c5ff0e6a0148be4f9cb2bef3049ccd8bc1934fc93f3659",
          "translation": "Выполняется, когда криттер пересекает область триггера этого статического предмета; `isIn` отличает вход от выхода."
        },
        "/symbols/@id=script.event.server.Item.OnFinish/description": {
          "source_sha256": "6f950f3e4952c2878d1f71d394b98010c620ff6fe3f58c5e647410f992f1dc76",
          "translation": "Выполняется во время завершения этого предмета."
        },
        "/symbols/@id=script.event.server.Location.OnFinish/description": {
          "source_sha256": "7fbd79c772f6d462fb5c348ad35b2b8386e65a306fd7105fc4ef7e1b84fd9db4",
          "translation": "Выполняется во время завершения этой локации."
        },
        "/symbols/@id=script.event.server.Location.OnMapAdded/description": {
          "source_sha256": "02a0a37d219c9acef3cf6e5c76c98a26587d5e4997dacbbe310e65e383562280",
          "translation": "Выполняется после добавления карты в эту локацию."
        },
        "/symbols/@id=script.event.server.Location.OnMapRemoved/description": {
          "source_sha256": "87a7c03fec4ea9bd520f6111229a1ec0136af24c8ca83b2d376a7cc5ccc63e5e",
          "translation": "Выполняется при удалении карты из этой локации."
        },
        "/symbols/@id=script.event.server.Map.OnCheckLook/description": {
          "source_sha256": "3166da8fa4fb109b3447fcab0fbe151f89fb2f8574694e97526271742dc6c048",
          "translation": "Предоставляет определяемую проектом проверку видимости криттера; Engine напрямую её не вызывает."
        },
        "/symbols/@id=script.event.server.Map.OnCheckTrapLook/description": {
          "source_sha256": "39ea472352ae648ad97685e4003045dd477ab3a31b1d3be60be2881ef6862a2c",
          "translation": "Предоставляет определяемую проектом проверку видимости ловушки; Engine напрямую её не вызывает."
        },
        "/symbols/@id=script.event.server.Map.OnFinish/description": {
          "source_sha256": "fc2cbfcd824eb24c8e0a5833f119e011706732f954d00e9d8c562c1895bcef96",
          "translation": "Выполняется во время завершения этой карты."
        },
        "/symbols/@id=script.event.server.Player.OnAllowCommand/description": {
          "source_sha256": "8b8718e69414036d8aff534417b58ea1c19b907981adadd0b494dbb015d380ef",
          "translation": "Предоставляет определяемый проектом callback авторизации команд; Engine напрямую его не вызывает."
        },
        "/symbols/@id=script.event.server.Player.OnGetAccess/description": {
          "source_sha256": "9bfda213f2cb322645babb824a5c24fe49a91174cc39d09ba6887a72e79aeab4",
          "translation": "Предоставляет определяемый проектом callback доступа игрока с целочисленным входом и изменяемым текстовым аргументом; Engine напрямую его не вызывает."
        },
        "/symbols/@id=script.event.server.Player.OnLogout/description": {
          "source_sha256": "13e5234aa7f8d53a64b931fd5a93f84632364c93bfb95814938a0a74cfd2b2ea",
          "translation": "Предоставляет определяемый проектом callback выхода игрока; Engine напрямую его не вызывает."
        },
        "/symbols/@id=script.method.client.Critter.AddAnimCallback/description": {
          "source_sha256": "860fc52f34d6b14f45fd8bb0e3b82a8be9e6448c93dc96062ce5554aa40eab21",
          "translation": "Регистрирует отложенный callback на ограниченной нормализованной отметке выбранной пары 3D-анимации; ничего не делает без модели, пропускает уничтоженных криттеров и выбрасывает исключение вне карты."
        },
        "/symbols/@id=script.method.client.Critter.Animate/description": {
          "source_sha256": "00f35c7a39fc0dd9a251640e50826e24ad2f5d1016724262774a0bb00562a779",
          "translation": "Ставит в очередь заданную визуальную анимацию с необязательным контекстом предмета, предварительно очищая существующую последовательность, если append не равен true; выбрасывает исключение для криттера вне карты."
        },
        "/symbols/@id=script.method.client.Critter.ChangeDir/description": {
          "source_sha256": "570398191867870fc4792c34b57c2a541395db31a1f969b9a8c4d7ce17108812",
          "translation": "Изменяет локальное направление взгляда криттера на карте через обычный клиентский путь представления; выбрасывает исключение для криттера вне карты."
        },
        "/symbols/@id=script.method.client.Critter.GetAlpha/description": {
          "source_sha256": "ef55c9e73e54d8594c4421718374db056587caf7a0cf959da1aa6c1afa39cd71",
          "translation": "Возвращает текущую отображаемую прозрачность спрайта на карте или 255, если криттер находится вне представления карты."
        },
        "/symbols/@id=script.method.client.Critter.GetBodyAngle/description": {
          "source_sha256": "dada7d239159b7ee7903bb7628c1a40981b814b774a2c10e25e0e1191e88be14",
          "translation": "Возвращает отображаемый угол тела 3D-модели в градусах при наличии модели, иначе угол дискретного направления криттера."
        },
        "/symbols/@id=script.method.client.Critter.GetBonePos/description": {
          "source_sha256": "e18af78befbf522aebf558b8bed6c761563dc9c51d47d5edc9f9375741674a64",
          "translation": "Записывает экранную позицию именованной кости и возвращает true; возвращает false для 2D-криттера или отсутствующей кости и выбрасывает исключение, если поддержка 3D отключена."
        },
        "/symbols/@id=script.method.client.Critter.GetItem%2320907df3571a66a9/description": {
          "source_sha256": "b7d8dfd569eb8e12b2ef27b17b8cd5bd00a9999078ce7f3a7e62bfb24e119123",
          "translation": "Возвращает первый видимый предмет инвентаря, чье приводимое к целому свойство равно заданному значению, или null при отсутствии совпадений."
        },
        "/symbols/@id=script.method.client.Critter.GetItem%233e4a8f273e418d3b/description": {
          "source_sha256": "cf607de71019d90664665934d3b33bc7df13104882119ea9ce2119d9d1fbaf94",
          "translation": "Возвращает видимый предмет инвентаря с этим идентификатором сущности или null, если предмет отсутствует."
        },
        "/symbols/@id=script.method.client.Critter.GetItem%235042179ea08a430e/description": {
          "source_sha256": "cde8b961cf76b154984e6c7cbdfba6e870404383da3cdd99964a35c94f32b554",
          "translation": "Возвращает видимый предмет инвентаря с этим идентификатором прототипа, предпочитая слот Inventory для нескладываемых предметов; выбрасывает исключение при некорректном идентификаторе прототипа."
        },
        "/symbols/@id=script.method.client.Critter.GetItem%238eedde0030f87e84/description": {
          "source_sha256": "8ba899f8111fe4d9af87d0876721251e5095a5cc5c3a1299f385c920fb740f94",
          "translation": "Возвращает видимый предмет инвентаря, совпадающий с переданным прототипом, предпочитая слот Inventory для нескладываемых предметов, или null при отсутствии."
        },
        "/symbols/@id=script.method.client.Critter.GetItems%2383c145745774df22/description": {
          "source_sha256": "8ffcf5a8d3ec94b0b73f4e81ad71579c5241719cade60b357b14f8eb18d6017b",
          "translation": "Возвращает снимок видимых предметов инвентаря, чье приводимое к целому свойство равно заданному значению."
        },
        "/symbols/@id=script.method.client.Critter.GetItems%23b851260ade7c353c/description": {
          "source_sha256": "32df7368801c8c464a9a0835f9e44ca24b6514e3b39922322de84a67f07c0419",
          "translation": "Возвращает снимок ссылок на все предметы в этом клиентском представлении инвентаря."
        },
        "/symbols/@id=script.method.client.Critter.GetModelAnimDuration/description": {
          "source_sha256": "bf4e4adc9d8ff2f3621391a60b9ea27fff7e58a95c54e9e220253253a40d681c",
          "translation": "Возвращает разрешенную runtime-длительность анимации загруженной 3D-модели криттера или ноль для немодельного криттера либо неразрешенной пары; выбрасывает исключение вне карты или при отключенной поддержке 3D."
        },
        "/symbols/@id=script.method.client.Critter.GetMovingContext/description": {
          "source_sha256": "486a1b77ba89eba24be6870ca26749cfbb763f7dce5af8e467f829764125d756",
          "translation": "Возвращает текущий контекст клиентского перемещения криттера на карте или null, если он стоит; выбрасывает исключение, если криттер не находится на загруженной карте."
        },
        "/symbols/@id=script.method.client.Critter.GetSpriteOffset/description": {
          "source_sha256": "ffdcebec8a9f5ba7b2ef42622a834a48fbc91110e71ba1b579e29a6e03341188",
          "translation": "Возвращает текущее отображаемое смещение спрайта криттера на карте в пикселях; выбрасывает исключение, если криттер не находится на загруженной карте."
        },
        "/symbols/@id=script.method.client.Critter.GetTextPos/description": {
          "source_sha256": "748a568786ea2931caf8cca21c4a6387d309ee96456df44cdcf0e514b627cda5",
          "translation": "Записывает экранную позицию текста имени над корректным спрайтом карты и возвращает true либо false при отсутствии корректного спрайта; выбрасывает исключение для криттера вне карты."
        },
        "/symbols/@id=script.method.client.Critter.IsAlive/description": {
          "source_sha256": "08910a96a6ae93badb46cebe988e61043560d0b5ccd1e74edcc40e5bc8f0c87b",
          "translation": "Сообщает, является ли реплицированное состояние криттера живым."
        },
        "/symbols/@id=script.method.client.Critter.IsAnimAvailable/description": {
          "source_sha256": "ba539768a4463f5a6e4529d0f5f53a57c80b176589b416dfc57c6031e5694503",
          "translation": "Сообщает, может ли текущее представление на карте разрешить заданную пару анимаций состояния и действия; выбрасывает исключение, если криттер не находится на загруженной карте."
        },
        "/symbols/@id=script.method.client.Critter.IsAnimPlaying/description": {
          "source_sha256": "d6bdf6c588afe70dde6594193f6dea360bf3a16eb64979ff1f84b80c837cc1d4",
          "translation": "Сообщает, есть ли у криттера на карте активная визуальная анимация; выбрасывает исключение, если криттер не находится на загруженной карте."
        },
        "/symbols/@id=script.method.client.Critter.IsDead/description": {
          "source_sha256": "bba717816c28e5febe0eecb1f8eea9026aae5f17166669d47ce874ddfb52c412",
          "translation": "Сообщает, является ли реплицированное состояние криттера мертвым."
        },
        "/symbols/@id=script.method.client.Critter.IsKnockout/description": {
          "source_sha256": "2d5bf6991c59ddc34a20be2a7251ef410c044a0688fb66572634072ecdfc3ea1",
          "translation": "Сообщает, является ли реплицированное состояние криттера нокаутом."
        },
        "/symbols/@id=script.method.client.Critter.IsModel/description": {
          "source_sha256": "1e94dc506edca8e2d1c8763e7853b28637e1f8072686f8c8e84718d7327d2499",
          "translation": "Сообщает, использует ли криттер на карте загруженную 3D-модель; возвращает false при отключенной поддержке 3D и выбрасывает исключение, если криттер не находится на загруженной карте."
        },
        "/symbols/@id=script.method.client.Critter.IsMoving/description": {
          "source_sha256": "02f7bdc3ab0d3dd4dafe2c913d089b72f8ea06bd80b087204c0023694ef8be5e",
          "translation": "Сообщает, выполняется ли клиентское перемещение криттера на карте; выбрасывает исключение, если криттер не находится на загруженной карте."
        },
        "/symbols/@id=script.method.client.Critter.IsOffline/description": {
          "source_sha256": "b341a0016ccb042b8232ad6e31889d21cf67c67073e4ba6f3fe017b978b314c8",
          "translation": "Сообщает, управляется ли криттер игроком и установлен ли его реплицированный флаг отсутствия игрока в сети."
        },
        "/symbols/@id=script.method.client.Critter.IsOnMap/description": {
          "source_sha256": "289e08e656b4e1eec7b1ebdd4fa3c064f8ae0a3cb521b6a3ea76a854aa06d0c7",
          "translation": "Сообщает, представлен ли этот клиентский вид криттера на загруженной карте."
        },
        "/symbols/@id=script.method.client.Critter.IsVisible/description": {
          "source_sha256": "c7d0f05710b3c2d56321aa87847c9ca60e5c24d36ff55671ecef6c0a79b2bb5d",
          "translation": "Возвращает, участвует ли сейчас спрайт криттера на карте в отрисовке; выбрасывает исключение, если криттер не находится на загруженной карте."
        },
        "/symbols/@id=script.method.client.Critter.MoveItemLocally/description": {
          "source_sha256": "b1aeda890483979a51b17fae8857bdd45d3589848f77959d9b2922596ae725de",
          "translation": "Применяет локально предсказанные выбрасывание, перемещение между слотами или необязательный обмен слотами и обновляет визуальные эффекты действия и освещения карты; не отправляет авторитетный запрос серверу."
        },
        "/symbols/@id=script.method.client.Critter.MoveToDir/description": {
          "source_sha256": "c33b73b10c3265719c046871a30f5c867d7c784903da68697fa9bcd2c667326a",
          "translation": "Запускает клиентское перемещение криттера на карте в заданном направлении с заданной скоростью; выбрасывает исключение для криттера вне карты."
        },
        "/symbols/@id=script.method.client.Critter.MoveToHex%238abbda72eb8c68b8/description": {
          "source_sha256": "d71ea34f84b7d9bc1f6f50933d94b5c13bd34c64d626ab2cf347cd22ca5acb36",
          "translation": "Запускает локальное перемещение точно к целевому гексу и ограниченному подгексовому смещению, возвращая контекст перемещения или null, если перемещение не требуется; выбрасывает исключение вне карты."
        },
        "/symbols/@id=script.method.client.Critter.MoveToHex%23c8ad324f4c60aadb/description": {
          "source_sha256": "2f3d6b6994b21c6687f10b0c4ba4f70f7555abc5516770777747b772969d8925",
          "translation": "Запускает локальное перемещение к цели с сохранением заданной дистанции остановки и ограниченного подгексового смещения, возвращая полученный контекст; выбрасывает исключение вне карты."
        },
        "/symbols/@id=script.method.client.Critter.RefreshView/description": {
          "source_sha256": "b37d96d3988fac4e412a1333201420ad831577dc72e50079a6365a72aaec2b14",
          "translation": "Повторно применяет масштаб и представление движения криттера на карте и обновляет его базовую визуальную анимацию при отсутствии активной явной анимации; выбрасывает исключение вне карты."
        },
        "/symbols/@id=script.method.client.Critter.RunParticle/description": {
          "source_sha256": "f4c3c7c151a7c5a26e6e1b25b281988aa0d971d169ca8241483998e256e6a747",
          "translation": "Запускает именованную частицу на кости загруженной 3D-модели криттера с заданным смещением; ничего не делает для 2D или сборок без 3D и выбрасывает исключение вне карты."
        },
        "/symbols/@id=script.method.client.Critter.SetAlpha/description": {
          "source_sha256": "895c54b5a3ba7fd3ddf6ff7595442294bbc39e0e8d21c57fd474e44b39563359",
          "translation": "Плавно изменяет прозрачность спрайта криттера на карте к заданному целевому значению; ничего не делает, если криттер находится вне представления карты."
        },
        "/symbols/@id=script.method.client.Critter.SetName/description": {
          "source_sha256": "ca34423943c9d0eb1ddd19c455431a37454f6a68457ec09a6a480e0098e6fab1",
          "translation": "Заменяет отображаемое имя в клиентском представлении криттера, не обновляя авторитетное состояние сервера."
        },
        "/symbols/@id=script.method.client.Critter.StopAnim/description": {
          "source_sha256": "91b49ac8af6128e911e43ee0a939f40e14a43b20c85dda95cb45dd5176f40fe6",
          "translation": "Очищает активную и поставленные в очередь визуальные анимации криттера на карте; выбрасывает исключение, если криттер не находится на загруженной карте."
        },
        "/symbols/@id=script.method.client.Critter.StopMove/description": {
          "source_sha256": "824be16c41c9b423790495891e9f6d306d91b6580db59f79e38189543b39ef44",
          "translation": "Останавливает текущее клиентское перемещение криттера на карте; выбрасывает исключение, если криттер не находится на загруженной карте."
        },
        "/symbols/@id=script.method.client.Entity.CountTimeEvent%2308f3341698dc846a/description": {
          "source_sha256": "f2be030fabc1ba7957e8145eacec566e7d6d4bf16e78d38dd8a41ea6b2b11b7d",
          "translation": "Подсчитывает все клиентские временные события, привязанные к этой сущности и использующие выбранный callback."
        },
        "/symbols/@id=script.method.client.Entity.CountTimeEvent%235609075e34e56857/description": {
          "source_sha256": "f2be030fabc1ba7957e8145eacec566e7d6d4bf16e78d38dd8a41ea6b2b11b7d",
          "translation": "Подсчитывает все клиентские временные события, привязанные к этой сущности и использующие выбранный callback."
        },
        "/symbols/@id=script.method.client.Entity.CountTimeEvent%239c7dd3ed70f86a7d/description": {
          "source_sha256": "f2be030fabc1ba7957e8145eacec566e7d6d4bf16e78d38dd8a41ea6b2b11b7d",
          "translation": "Подсчитывает все клиентские временные события, привязанные к этой сущности и использующие выбранный callback."
        },
        "/symbols/@id=script.method.client.Entity.CountTimeEvent%23ad56856359be786a/description": {
          "source_sha256": "f2be030fabc1ba7957e8145eacec566e7d6d4bf16e78d38dd8a41ea6b2b11b7d",
          "translation": "Подсчитывает все клиентские временные события, привязанные к этой сущности и использующие выбранный callback."
        },
        "/symbols/@id=script.method.client.Entity.CountTimeEvent%23e41a67022275199d/description": {
          "source_sha256": "bfdfdf5ebbfb22cb52059ec691b71b1e098f23e64c8bb1a384ee107005efc5ef",
          "translation": "Возвращает единицу, если к сущности привязано клиентское временное событие с этим идентификатором, иначе возвращает ноль."
        },
        "/symbols/@id=script.method.client.Entity.RepeatTimeEvent%2328154675b58100aa/description": {
          "source_sha256": "e77aa37addb49c72b050667f14e600cc1d1f4465538f18cd6b8cb103cf0390ed",
          "translation": "Задает интервал повтора события с этим идентификатором и перепланирует его следующее срабатывание от текущего момента; ничего не делает, если событие отсутствует."
        },
        "/symbols/@id=script.method.client.Entity.RepeatTimeEvent%2335eb685e9352ee97/description": {
          "source_sha256": "d6c62265877bdceacbf0cf42bfeafdedfd0801c5eb231a77b3952ce70b7be6ad",
          "translation": "Задает интервал повтора всем событиям с совпавшим callback и перепланирует следующее срабатывание каждого от текущего момента; ничего не делает, если совпадений нет."
        },
        "/symbols/@id=script.method.client.Entity.RepeatTimeEvent%234c1ec6146e414fed/description": {
          "source_sha256": "d6c62265877bdceacbf0cf42bfeafdedfd0801c5eb231a77b3952ce70b7be6ad",
          "translation": "Задает интервал повтора всем событиям с совпавшим callback и перепланирует следующее срабатывание каждого от текущего момента; ничего не делает, если совпадений нет."
        },
        "/symbols/@id=script.method.client.Entity.RepeatTimeEvent%23d107502adf65e851/description": {
          "source_sha256": "d6c62265877bdceacbf0cf42bfeafdedfd0801c5eb231a77b3952ce70b7be6ad",
          "translation": "Задает интервал повтора всем событиям с совпавшим callback и перепланирует следующее срабатывание каждого от текущего момента; ничего не делает, если совпадений нет."
        },
        "/symbols/@id=script.method.client.Entity.RepeatTimeEvent%23d3e5bb91010a5ee6/description": {
          "source_sha256": "d6c62265877bdceacbf0cf42bfeafdedfd0801c5eb231a77b3952ce70b7be6ad",
          "translation": "Задает интервал повтора всем событиям с совпавшим callback и перепланирует следующее срабатывание каждого от текущего момента; ничего не делает, если совпадений нет."
        },
        "/symbols/@id=script.method.client.Entity.SetTimeEventData%2309c025b7150b6bcd/description": {
          "source_sha256": "4532b0af9aff42c8574f6eaaa40705ebb44b818bec129501c4758b15543be703",
          "translation": "Заменяет единственное значение данных у всех временных событий с выбранным callback; ничего не делает, если совпадений нет."
        },
        "/symbols/@id=script.method.client.Entity.SetTimeEventData%2346ce3a8e59df0b76/description": {
          "source_sha256": "6da8bc32354be4de4ffb547eb5fca3c5986817ca459191336f5b45f66ba61adf",
          "translation": "Заменяет массив данных у всех временных событий с выбранным callback; ничего не делает, если совпадений нет."
        },
        "/symbols/@id=script.method.client.Entity.SetTimeEventData%23995b7ca79df38c35/description": {
          "source_sha256": "536a15d84c85f32c3a91bfbaa18547248521a0cb9ef99d8016b957122f177bd0",
          "translation": "Заменяет единственное значение данных временного события с этим идентификатором; ничего не делает, если событие отсутствует."
        },
        "/symbols/@id=script.method.client.Entity.SetTimeEventData%23adb2b4962b8e3874/description": {
          "source_sha256": "2e9569a9d22462201fd581020eaec016085c502486bd53ec171098a6c62c131a",
          "translation": "Заменяет массив данных временного события с этим идентификатором; ничего не делает, если событие отсутствует."
        },
        "/symbols/@id=script.method.client.Entity.SetTimeEventData%23c02fbdd5c31ecb21/description": {
          "source_sha256": "6a7894558cde6c46a98de8747684a5c532bf81c07f041a162d09e5254ff754fa",
          "translation": "Заменяет массив данных контекста у всех временных событий с выбранным callback; ничего не делает, если совпадений нет."
        },
        "/symbols/@id=script.method.client.Entity.SetTimeEventData%23c41820f30638ac18/description": {
          "source_sha256": "815cf545003b176c4dbab9e85444998a45763e5a120af495e2ad202e59402113",
          "translation": "Заменяет единственное значение данных контекста у всех временных событий с выбранным callback; ничего не делает, если совпадений нет."
        },
        "/symbols/@id=script.method.client.Entity.StartTimeEvent%23170befe9003e3411/description": {
          "source_sha256": "dedefa523e1d3f50c10ca1e554ae92d06cb89a7aecf1e6867cb6e4a25acbbb5c",
          "translation": "Планирует повторяющееся клиентское временное событие, контекст callback которого предоставляет одно значение данных, и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.client.Entity.StartTimeEvent%231e937a7976df63ac/description": {
          "source_sha256": "b8a32384c4ef600edd05f788ddefea7f41b38e39fb6670e00a570a0dcd86cfbb",
          "translation": "Планирует однократное клиентское временное событие, callback которого получает контекст для просмотра или изменения этого события, и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.client.Entity.StartTimeEvent%23492d95e09fb651ed/description": {
          "source_sha256": "36a65f53b243f0722a451b9321973fbe53d8226425234bc4508bd5869d097137",
          "translation": "Планирует однократное клиентское временное событие, контекст callback которого предоставляет массив данных, и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.client.Entity.StartTimeEvent%23494379a91f97d59e/description": {
          "source_sha256": "7211ba1144e4e91291c6d5a3aa9693faf805f9a9c75cd20f77d471fd5078ee66",
          "translation": "Планирует привязанное к этой сущности повторяющееся клиентское временное событие с первым срабатыванием после delay и последующими с интервалом repeat и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.client.Entity.StartTimeEvent%2364daaaa7e6125cb3/description": {
          "source_sha256": "3a345f68cfb47909d53e47849944778d111e9c2fe126ef07b9cb53693ad72200",
          "translation": "Планирует повторяющееся клиентское временное событие, контекст callback которого предоставляет массив данных, и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.client.Entity.StartTimeEvent%23805b4b72ba72a604/description": {
          "source_sha256": "f3168b5a683299d7a94154036abf6b0bcfd25583c2388d8b701065c5c387dead",
          "translation": "Планирует повторяющееся клиентское временное событие с массивом данных callback и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.client.Entity.StartTimeEvent%239e1b092a1d7fb963/description": {
          "source_sha256": "0a15057ad4e069b6aded3138c02ce971875b59c06fe0994ed3055dcb8da68907",
          "translation": "Планирует повторяющееся клиентское временное событие с одним значением данных callback и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.client.Entity.StartTimeEvent%23ae9a39c7d8c1d6fa/description": {
          "source_sha256": "22932363e6559a0a61d260b02ce4ff190eadc8434dd68e4f3bf3383d1cb7516c",
          "translation": "Планирует привязанное к этой сущности однократное клиентское временное событие, передает callback одно значение данных и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.client.Entity.StartTimeEvent%23af2f95f5513a4cfa/description": {
          "source_sha256": "3f6a6ffbd66881be08cb46e44c5efbf8a513f8a284817de6fcb982ea2c997cf0",
          "translation": "Планирует повторяющееся клиентское временное событие, callback которого получает контекст для просмотра или изменения этого события, и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.client.Entity.StartTimeEvent%23b494dfd4a4fa81ea/description": {
          "source_sha256": "797f83843d00d084eb1099a5e5281053048d2c8d0f51023a159a4040dfa384e3",
          "translation": "Планирует привязанное к этой сущности однократное клиентское временное событие, передает callback массив данных и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.client.Entity.StartTimeEvent%23d9b6635334d5ae05/description": {
          "source_sha256": "0a29c8d6b86e86e6a2dcd14556774124781be0e5de7a75cf3b08821c7ee6a01b",
          "translation": "Планирует однократное клиентское временное событие, контекст callback которого предоставляет одно значение данных, и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.client.Entity.StartTimeEvent%23e59548a665ddb838/description": {
          "source_sha256": "c2360e333ec5e97899ba1714030797c361984cb0f3a3f279b99909786ddedaa2",
          "translation": "Планирует привязанное к этой сущности однократное клиентское временное событие после заданной задержки и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.client.Entity.StopTimeEvent%231ff4e8b7bdb6f35c/description": {
          "source_sha256": "0a4d3e307ef4bd9437f68de7ccbd41c20991072d06e12c458d059dc19df11aa6",
          "translation": "Останавливает все привязанные к этой сущности клиентские временные события с выбранным callback; ничего не делает, если совпадений нет."
        },
        "/symbols/@id=script.method.client.Entity.StopTimeEvent%2358fd464d379e5ea5/description": {
          "source_sha256": "0a4d3e307ef4bd9437f68de7ccbd41c20991072d06e12c458d059dc19df11aa6",
          "translation": "Останавливает все привязанные к этой сущности клиентские временные события с выбранным callback; ничего не делает, если совпадений нет."
        },
        "/symbols/@id=script.method.client.Entity.StopTimeEvent%23be90949683fff93d/description": {
          "source_sha256": "880c0aa41f2d61ae207a34ee9d48993487b612b8e8fefe956a217e7b08df028c",
          "translation": "Останавливает клиентское временное событие с этим идентификатором, если оно привязано к сущности; ничего не делает, если событие отсутствует."
        },
        "/symbols/@id=script.method.client.Entity.StopTimeEvent%23d792082ed73a8fc8/description": {
          "source_sha256": "0a4d3e307ef4bd9437f68de7ccbd41c20991072d06e12c458d059dc19df11aa6",
          "translation": "Останавливает все привязанные к этой сущности клиентские временные события с выбранным callback; ничего не делает, если совпадений нет."
        },
        "/symbols/@id=script.method.client.Entity.StopTimeEvent%23ddfbd34ed1764f92/description": {
          "source_sha256": "0a4d3e307ef4bd9437f68de7ccbd41c20991072d06e12c458d059dc19df11aa6",
          "translation": "Останавливает все привязанные к этой сущности клиентские временные события с выбранным callback; ничего не делает, если совпадений нет."
        },
        "/symbols/@id=script.method.client.Game.ActivateOffscreenSurface/description": {
          "source_sha256": "8a63e0febd6d42389f93894f9ed031abc28a4c7f496b2d83c908a3eb3ae6b7b5",
          "translation": "Во время RenderIface помещает в стек переиспользуемую offscreen-цель размером с экран и очищает её при явном запросе, загрязнении или изменении размера; активные поверхности нужно передавать на экран в порядке стека."
        },
        "/symbols/@id=script.method.client.Game.BindFont/description": {
          "source_sha256": "ade12409aee8188a4acae1b9bb6adb6bdd15e4712d85cbdda105604d2ebcd934",
          "translation": "Привязывает ресурс .fofnt или .fnt к клиентскому слоту шрифта с заданным масштабом по умолчанию; для любого другого расширения выбрасывает исключение."
        },
        "/symbols/@id=script.method.client.Game.BytesReceive/description": {
          "source_sha256": "66453fbe37e178a116ba1ce2b2a1cf577b7471623e39bd0bb2ec7e10548f0097",
          "translation": "Возвращает накопительный счётчик принятых соединением байтов, суженный до uint32."
        },
        "/symbols/@id=script.method.client.Game.BytesSend/description": {
          "source_sha256": "2c7eaa32739a8077a235441994bc41c3e61d80d53b4789f4b4248d8a86d0979d",
          "translation": "Возвращает накопительный счётчик отправленных соединением байтов, суженный до uint32."
        },
        "/symbols/@id=script.method.client.Game.CaptureScreenshot/description": {
          "source_sha256": "41811467f6fd9689b362863fb57dd533d280b76d87e002574bca9225275e2096",
          "translation": "Возвращает последний завершённый кадр как компактный RGB PNG в байтах; при положительном maxSide уменьшает изображение."
        },
        "/symbols/@id=script.method.client.Game.ChangeLanguage/description": {
          "source_sha256": "76190974123d18f8fdd99a4b761314121f332ac0165225eb1b2afa2a837904b1",
          "translation": "Загружает указанный языковой пакет и делает его текущим, не изменяя настроенный язык запуска."
        },
        "/symbols/@id=script.method.client.Game.Chosen/description": {
          "source_sha256": "ca696abe9623b91ddfb1ac84d62f799d2f7c8926af9a2e2d28c0821fc17a315e",
          "translation": "Возвращает выбранного криттера или выбрасывает исключение, если он не назначен; когда отсутствие допустимо, сначала проверяйте HasChosen."
        },
        "/symbols/@id=script.method.client.Game.ClearEffectScriptValues/description": {
          "source_sha256": "5ed6ed4db0a6bdfa9bd80c15a5ebb96606830878fac9d46adb80824a99896001",
          "translation": "Очищает все скриптовые значения, связанные с выбранным экземпляром эффекта."
        },
        "/symbols/@id=script.method.client.Game.ClearForcedMousePos/description": {
          "source_sha256": "4dabcbfbd68a2a534b8fa0c302ef43e748ccd78aecd33a896244c5bfa820dba3",
          "translation": "Прекращает переопределять логическую позицию мыши клиента после опроса ввода."
        },
        "/symbols/@id=script.method.client.Game.Connect/description": {
          "source_sha256": "e22625b8c0d1ad47249841093d7b66c69184b473e4d14c7187f089b61b9e2e27",
          "translation": "Ставит запрос клиентского подключения в очередь обработки главного цикла."
        },
        "/symbols/@id=script.method.client.Game.CreateVideoPlayback/description": {
          "source_sha256": "1c7ce0255e4468b359c028ea756184cc38dd0a836061b4e20f2ca840a00b6d45",
          "translation": "Создаёт из обязательного ресурса независимо рисуемый объект воспроизведения видео, настраивает зацикливание и передаёт владение скрипту."
        },
        "/symbols/@id=script.method.client.Game.CurLocation/description": {
          "source_sha256": "ab44cc147f9ff8b1614ce4cf2c1a79f5f6bb717afeec44d4fbdad4a8c740bf00",
          "translation": "Возвращает текущее представление Location или выбрасывает исключение, если оно недоступно; когда отсутствие допустимо, сначала проверяйте HasCurLocation."
        },
        "/symbols/@id=script.method.client.Game.CurMap/description": {
          "source_sha256": "4a4530e9089a5e60af922948fb0ae384e20bbf1e9c6ca74157a6bb750a61a4e1",
          "translation": "Возвращает текущее представление локальной Map или выбрасывает исключение, если карта не загружена; когда отсутствие допустимо, сначала проверяйте HasCurMap."
        },
        "/symbols/@id=script.method.client.Game.CurPlayer/description": {
          "source_sha256": "c3ce5a1e56cdb5bedd8176e5ea11c46092095637d25c4920bef3e8b1ffa12342",
          "translation": "Возвращает текущее представление Player или выбрасывает исключение, если оно недоступно; когда отсутствие допустимо, сначала проверяйте HasCurPlayer."
        },
        "/symbols/@id=script.method.client.Game.Disconnect/description": {
          "source_sha256": "a34ab3162677092a264f7fab3e85487450d62e71a80ae7347422ccd571035201",
          "translation": "Отменяет ожидающий запрос подключения и отключает активный транспорт."
        },
        "/symbols/@id=script.method.client.Game.DrawCritter2d/description": {
          "source_sha256": "3ca4d9d91a2e6a0fb2479e44ae7641ea00f4e8c60bc03463a2b9cf26b87b0562",
          "translation": "Рисует разрешённый текущий 2D-кадр криттера в заданных границах, передавая режимы масштабирования scratch и center; неразрешённые кортежи анимации игнорируются."
        },
        "/symbols/@id=script.method.client.Game.DrawCritter3d/description": {
          "source_sha256": "a2b2ab184fdc44647dd58154cf2b0994a8cee2a6aae4fc5b0d41648ff669dd72",
          "translation": "Рисует кешированный экземпляр 3D-криттера, используя слои и необязательные значения позиции x, y, вращений, масштаба, скорости, нормализованного времени и границ отсечения; без поддержки 3D выбрасывает исключение."
        },
        "/symbols/@id=script.method.client.Game.DrawMiniMap/description": {
          "source_sha256": "bae9a4450cc43ec228d31d2dbc6ce6034fb5a656e1db752c4b0e2ff2ab25ee0d",
          "translation": "Подготавливает или обновляет мини-карту текущей локальной карты для заданных масштаба и прямоугольника, затем рисует её линейные примитивы."
        },
        "/symbols/@id=script.method.client.Game.DrawPrimitive/description": {
          "source_sha256": "22c504aa02e04180717d503825f6e337b165544ffab105660d7ad23f1c657d70",
          "translation": "Во время RenderIface рисует точки примитива, декодированные из полных троек x, y и упакованного цвета; пустые данные игнорируются, а неполные значения в конце отбрасываются."
        },
        "/symbols/@id=script.method.client.Game.DrawSprite%2309e9c2f9becdf091/description": {
          "source_sha256": "d398a304d69e6f7244aba7d626fff2f8dc52f1ec4ee85f948dafd46612e876aa",
          "translation": "Во время RenderIface рисует загруженный спрайт в целочисленной позиции; offs включает привязку по центру нижней границы с добавлением смещения спрайта, а пустой цвет означает нейтральный оттенок."
        },
        "/symbols/@id=script.method.client.Game.DrawSprite%23779a85d218769bd8/description": {
          "source_sha256": "22417bcd9f1d7712602627f330d79c5e5fc4fc86c98e2bbb278f086929ca9fc6",
          "translation": "Во время RenderIface рисует загруженный спрайт в позиции с плавающей точкой, масштабируя до заданного размера; пустой цвет означает нейтральный оттенок."
        },
        "/symbols/@id=script.method.client.Game.DrawSprite%237bcbb90671d41361/description": {
          "source_sha256": "0b43c3232a9f44bac9548008c20f4d7e28780cb24b0ffac919a937a240a29b4d",
          "translation": "Во время RenderIface рисует загруженный спрайт в позиции с плавающей точкой с его исходным размером; пустой цвет означает нейтральный оттенок."
        },
        "/symbols/@id=script.method.client.Game.DrawSprite%23f68df76d1db1b23c/description": {
          "source_sha256": "76465a368d68e9099b8a20f8308a32c9fd7b2550fb8ee1b3b4c189d446157d4c",
          "translation": "Во время RenderIface рисует загруженный спрайт в целочисленном прямоугольнике с необязательными подгонкой и применением смещения спрайта; пустой цвет означает нейтральный оттенок."
        },
        "/symbols/@id=script.method.client.Game.DrawSpritePattern/description": {
          "source_sha256": "7374dc4a45640bd73e6616fbe865b03e9bc7a2344fde7d379ec45dad4e278bfb",
          "translation": "Во время RenderIface заполняет заданный прямоугольник загруженным спрайтом, используя sprSize как размер плитки; пустой цвет означает нейтральный оттенок."
        },
        "/symbols/@id=script.method.client.Game.DrawSpriteRegion/description": {
          "source_sha256": "c8ffc649f3b012565b477fbdf81e7117aca2d7127af5745f49758af2e1773c43",
          "translation": "Во время RenderIface рисует UV-область загруженного спрайта в заданном прямоугольнике и возвращает результат рендера либо false для неизвестного дескриптора."
        },
        "/symbols/@id=script.method.client.Game.DrawText/description": {
          "source_sha256": "b55ffea2dd36c370f10f55dc9dbfe6acbbfacff11c2bb0da22d68a117f3be20c",
          "translation": "Во время RenderIface рисует непустой форматированный текст в заданном прямоугольнике; отрицательные размеры продолжают его влево или вверх, а пустой цвет означает белый цвет текста."
        },
        "/symbols/@id=script.method.client.Game.DrawVideoPlayback/description": {
          "source_sha256": "2f07aeaf075d18bf93c8aff846563e2038750ce37a63937faf06a16e52cce1d0",
          "translation": "Во время RenderIface продвигает и рисует ненулевой объект воспроизведения видео в прямоугольнике положительного размера и отмечает объект остановленным после завершения клипа."
        },
        "/symbols/@id=script.method.client.Game.DumpAtlases/description": {
          "source_sha256": "4a33e79192b63c71270794f0f089d138f51490a4c354ec3a793e4d42fdb278fd",
          "translation": "Записывает все текущие атласы текстур в диагностический каталог с PNG-файлами, меткой времени и общим объёмом памяти атласов в имени."
        },
        "/symbols/@id=script.method.client.Game.FlashUnfocusedWindow/description": {
          "source_sha256": "b69d89a173a5282d0498a333c32f32664a626ecff1937f209ab65b78746c7f72",
          "translation": "Запрашивает привлечение внимания через панель задач или оконный менеджер, только если окно клиента не в фокусе."
        },
        "/symbols/@id=script.method.client.Game.FreeSprite/description": {
          "source_sha256": "5a109f7b2aaf4409ae8f4a6c04706f88c0a244e3d5893f1758fb60acdbab68b1",
          "translation": "Освобождает клиентский локальный дескриптор спрайта, останавливая анимацию и сохраняя ресурс в кеше повторного использования; неизвестные дескрипторы игнорируются."
        },
        "/symbols/@id=script.method.client.Game.GetCacheData/description": {
          "source_sha256": "804e4573855dbfc0a44f9d0845abe52bcf0f685ed7092692db7e10897eb0b451",
          "translation": "Возвращает байты из записи клиентского кеша либо пустой массив, если запись нельзя прочитать."
        },
        "/symbols/@id=script.method.client.Game.GetCacheText/description": {
          "source_sha256": "890f6d6ad823ae04f1e153504445a4f2c4719fce4b9083c23739370878a07267",
          "translation": "Возвращает строку из записи клиентского кеша либо пустую строку, если запись нельзя прочитать."
        },
        "/symbols/@id=script.method.client.Game.GetCritter/description": {
          "source_sha256": "1a6aa287063455aeca748d0b3d271017216625c0db70dcc0ea3d1eae98d8518e",
          "translation": "Ищет криттера по идентификатору на текущей локальной карте либо среди криттеров глобальной карты, когда локальная карта не загружена; для нуля, отсутствующей или уничтожаемой записи локальной карты возвращает null."
        },
        "/symbols/@id=script.method.client.Game.GetCritters%2381d4328569cd9426/description": {
          "source_sha256": "c4c9bc59731d7fd62995e0dce4bb6dec78d9201ce0e7194f6cf2a370f195cd6c",
          "translation": "Возвращает криттеров текущей локальной или глобальной карты, удовлетворяющих заданному фильтру CritterFindType."
        },
        "/symbols/@id=script.method.client.Game.GetCritters%23addc705539406d44/description": {
          "source_sha256": "f422e60079c7243b2c5c08d4a4d44a56a656b6819edadb59c13cb6598bd36eef",
          "translation": "Возвращает криттеров текущей локальной или глобальной карты, совпадающих с необязательным идентификатором прототипа и заданным фильтром CritterFindType; пустой идентификатор соответствует любому прототипу."
        },
        "/symbols/@id=script.method.client.Game.GetCritters%23e79de6b56cb9f3b3/description": {
          "source_sha256": "6f4de0bf62d76e7b3677582af21a01a1f3afdfdee7b8d2cc485ebc9a6f0c9cba",
          "translation": "Возвращает криттеров текущей локальной или глобальной карты, чей идентификатор прототипа совпадает с переданным прототипом и которые удовлетворяют заданному фильтру CritterFindType."
        },
        "/symbols/@id=script.method.client.Game.GetDistance%231be05ad1508d9bdf/description": {
          "source_sha256": "faabb4ebdb0d9b4ba44ab443e96e53a6ba34cb71339da288c1161361f863e2a6",
          "translation": "Возвращает расстояние по гексам между центрами двух предметов на одной карте; для объектов вне карты или на разных картах выбрасывает исключение."
        },
        "/symbols/@id=script.method.client.Game.GetDistance%23200d823fdf545d92/description": {
          "source_sha256": "1d1b9f50f8397dce536195965e1c8866acd7ef1ec1336ffc061472978d46341f",
          "translation": "Возвращает расстояние по гексам от центра предмета до края криттера на одной карте после вычитания multihex-радиуса криттера; для объектов вне карты или на разных картах выбрасывает исключение."
        },
        "/symbols/@id=script.method.client.Game.GetDistance%2333a4d51ef8eece2a/description": {
          "source_sha256": "49c7483ecd9d8a06c04db92a773e4c3b7de32e79196dd2db9c75c56836286268",
          "translation": "Возвращает расстояние по гексам от центра гекса до края криттера на карте после вычитания его multihex-радиуса; для криттера вне карты выбрасывает исключение."
        },
        "/symbols/@id=script.method.client.Game.GetDistance%233dade8869ec8c0ac/description": {
          "source_sha256": "53641953d06f93a42f2729739b3b5fda7dfaac8f955eaa0264f9968e54300b4e",
          "translation": "Возвращает расстояние по гексам от края криттера до центра предмета на одной карте после вычитания multihex-радиуса криттера; для объектов вне карты или на разных картах выбрасывает исключение."
        },
        "/symbols/@id=script.method.client.Game.GetDistance%238298d537bb9c7c37/description": {
          "source_sha256": "fa31874e04afa6940b4402fbd3596bf5558d4a25f093a638a01c09ef73e74b39",
          "translation": "Возвращает расстояние по гексам от центра предмета на карте до центра гекса; для предмета вне карты выбрасывает исключение."
        },
        "/symbols/@id=script.method.client.Game.GetDistance%238a80a760debf852d/description": {
          "source_sha256": "3ac45cc7e87cdf504d612c8f7b2c5ffb3d8b6e4cd709080d3a03181f68d8a3e8",
          "translation": "Возвращает расстояние по гексам от края криттера на карте до центра гекса после вычитания его multihex-радиуса; для криттера вне карты выбрасывает исключение."
        },
        "/symbols/@id=script.method.client.Game.GetDistance%23b273c01749f73e8c/description": {
          "source_sha256": "d086b8fe28d61596281d86769ba291b95b5ef09b25f7fc3d5adca372d78b12fa",
          "translation": "Возвращает расстояние по гексам от центра гекса до центра предмета на карте; для предмета вне карты выбрасывает исключение."
        },
        "/symbols/@id=script.method.client.Game.GetDistance%23dacea0c00ba4c5f1/description": {
          "source_sha256": "b7a2629eca0ffd01da26e8aa56a14ccd2d3e32880a38bd7a02c56545731acf61",
          "translation": "Возвращает расстояние по гексам между краями двух криттеров на одной карте после вычитания обоих multihex-радиусов; для объектов вне карты или на разных картах выбрасывает исключение."
        },
        "/symbols/@id=script.method.client.Game.GetDrawCritter3dBounds/description": {
          "source_sha256": "c34c57c8cc26087ba9e1feea0a485c80cf2270f31822756e6662cb5fcee36ddf",
          "translation": "Возвращает положительные границы рисования и просмотра ранее загруженного экземпляра 3D-криттера, false при их недоступности и выбрасывает исключение без поддержки 3D."
        },
        "/symbols/@id=script.method.client.Game.GetGamepadState/description": {
          "source_sha256": "e10955a907f45456fffb79a8a990933849d30ee872b528e45726d991b7140589",
          "translation": "Возвращает снимок состояния геймпада из активного backend ввода."
        },
        "/symbols/@id=script.method.client.Game.GetItem/description": {
          "source_sha256": "c4521c5c0daa05fe655b7a73638e7c84548af7e95ae0befa714076dbd516dc21",
          "translation": "Находит живой предмет по ненулевому id: сначала в выбранном инвентаре, затем среди видимых предметов карты или глобальной карты и в инвентарях криттеров; возвращает null, если предмет отсутствует или уничтожен."
        },
        "/symbols/@id=script.method.client.Game.GetMusicVolume/description": {
          "source_sha256": "d063922abfe23cf36236c1079f8c15956a85bc5b5b45d3d7bd5cbb9e4fd166e3",
          "translation": "Возвращает текущую громкость музыки в процентах, которой управляет аудиоменеджер."
        },
        "/symbols/@id=script.method.client.Game.GetPing/description": {
          "source_sha256": "4801c6a7cb5f77b53f83baf47806149d1b1679ab89d28b3c06ee398f96df4823",
          "translation": "Возвращает последнее измеренное время прохождения запроса от клиента к серверу и обратно в миллисекундах."
        },
        "/symbols/@id=script.method.client.Game.GetSoundNames/description": {
          "source_sha256": "6dc3591e4a8b0244dddedf4645133e3e5e8165c27af90f5a5471d4f14f263354",
          "translation": "Возвращает пути аудиоресурсов из исходников, проиндексированные согласно Audio.SoundFileExtensions."
        },
        "/symbols/@id=script.method.client.Game.GetSoundVolume/description": {
          "source_sha256": "f8b92523d44f46dda93cdf8a13a4121813a805a683cf3f81008d6b29648a7d40",
          "translation": "Возвращает текущую громкость звуковых эффектов в процентах, которой управляет аудиоменеджер."
        },
        "/symbols/@id=script.method.client.Game.GetSpriteSize/description": {
          "source_sha256": "d1022814d291930b7591d81bf1cfa597453d6ac6a694db3c3e464e07bcd54fa0",
          "translation": "Возвращает текущий размер спрайта по клиентскому локальному дескриптору либо нулевой размер для неизвестного дескриптора."
        },
        "/symbols/@id=script.method.client.Game.GetText%2318a1958c0507d2fd/description": {
          "source_sha256": "7bb4b8ff74a618993af184c975f46f5a4f38701f93e54fd2ccf08df6b76a32ba",
          "translation": "Возвращает вариант текста текущего языка для ключа по индексу с нуля; выход за диапазон даёт пустую строку, а отрицательный индекс вызывает исключение."
        },
        "/symbols/@id=script.method.client.Game.GetText%23513ec7ba7fb47b7c/description": {
          "source_sha256": "7a028a82868d9385951f386f04617e5317a8ce27b3090c15e4c9c071c8226967",
          "translation": "Возвращает текст ключа из запрошенного языкового пакета, используя текущий пакет для пустого или текущего имени языка и кешируя остальные загруженные пакеты."
        },
        "/symbols/@id=script.method.client.Game.GetText%236f20bf83e45a6a6d/description": {
          "source_sha256": "f15a8a26f595928a7e20b3b7308d1db0c5738e04d20a484c428e6ea6384a7a01",
          "translation": "Возвращает первый вариант текста текущего языка для ключа."
        },
        "/symbols/@id=script.method.client.Game.GetTextCount/description": {
          "source_sha256": "bed40a8bb69089c09427df69b85702110e0ab2326ca4cc425d44cdbfde5f5461",
          "translation": "Возвращает число вариантов текста текущего языка, зарегистрированных для ключа."
        },
        "/symbols/@id=script.method.client.Game.GetTextInfo/description": {
          "source_sha256": "c005313589906fc1921552bc16cc64c6a4cf7e962d3465b47c19d144ab055966",
          "translation": "Измеряет форматированный текст внутри заданного размера, записывает итоговые габариты и число строк и выбрасывает исключение, если выбранный шрифт нельзя вычислить."
        },
        "/symbols/@id=script.method.client.Game.GetTextLines/description": {
          "source_sha256": "9803a8f71a3c2a3ae2b427675a3ae4828afb202baa16a226edfe0b53581440ff",
          "translation": "Возвращает число полных строк выбранного шрифта, помещающихся в прямоугольник положительного размера, либо ноль для неположительных измерений."
        },
        "/symbols/@id=script.method.client.Game.HasChosen/description": {
          "source_sha256": "b5dab3e169c7bf78b0d1bb387c132907073dcbbf11711ba90e4f19a810941244",
          "translation": "Возвращает, назначен ли сейчас у клиента выбранный криттер."
        },
        "/symbols/@id=script.method.client.Game.HasCurLocation/description": {
          "source_sha256": "efb1d981191d1d1f7d8d5d723fbc423bd32ae486037fb4d4a4cfc7413d14e4f9",
          "translation": "Возвращает, есть ли сейчас у клиента представление Location."
        },
        "/symbols/@id=script.method.client.Game.HasCurMap/description": {
          "source_sha256": "e105b55fa1cdf49cafde02778c43ccda1b680a0a4c4a85be22d2dbb09892bb9d",
          "translation": "Возвращает, отображает ли сейчас клиент представление локальной Map."
        },
        "/symbols/@id=script.method.client.Game.HasCurPlayer/description": {
          "source_sha256": "08c50da92f60d7621b42f6aa0b9634cd425e9fe25610abdc2d6e4be135b77046",
          "translation": "Возвращает, есть ли сейчас у клиента реплицированное представление Player."
        },
        "/symbols/@id=script.method.client.Game.IsAlwaysOnTop/description": {
          "source_sha256": "c4b909960b91b36d940c0d195ff17a87fc21818637d419b34a8bf5b5aa02a37e",
          "translation": "Сообщает, находится ли окно клиента сейчас поверх остальных окон."
        },
        "/symbols/@id=script.method.client.Game.IsCacheEntry/description": {
          "source_sha256": "1eec7b9b1674582a6e73573e16fb521ead4ec9b86a893c7c5b56ec5cf7bee8a5",
          "translation": "Возвращает, существует ли именованная запись клиентского кеша."
        },
        "/symbols/@id=script.method.client.Game.IsConnected/description": {
          "source_sha256": "823ecba326c85debdd672a6686a6211518ac9b9ef9a33fc4445d0d2fd9631a40",
          "translation": "Возвращает, установлено ли сейчас клиентское соединение."
        },
        "/symbols/@id=script.method.client.Game.IsConnecting/description": {
          "source_sha256": "205554d7a4bb57575ab20f980923330483bf61e322c5e0a6e887d4b7b6eac4c7",
          "translation": "Возвращает, выполняется ли сейчас попытка подключения."
        },
        "/symbols/@id=script.method.client.Game.IsFullscreen/description": {
          "source_sha256": "7c994aeb47101deb7fa2942c47424f0b765cdcfb59d267216c41add7993932bc",
          "translation": "Возвращает, находится ли окно клиента в полноэкранном режиме."
        },
        "/symbols/@id=script.method.client.Game.IsMouseAvailable/description": {
          "source_sha256": "b6c9e3824012ffb5fc586de754d6320a8390d43e2a8f810af9b20cbdbcf8e570",
          "translation": "Возвращает, предоставляет ли активный backend ввода работу с мышью."
        },
        "/symbols/@id=script.method.client.Game.IsSpriteHit/description": {
          "source_sha256": "f0f1b2e30f51491618a0c9d905ef2cc37a7444130ee1052b4b90d456e1dc576f",
          "translation": "Проверяет попадание клиентской позиции в текущий кадр спрайта и возвращает false для неизвестного дескриптора."
        },
        "/symbols/@id=script.method.client.Game.IsTextPresent/description": {
          "source_sha256": "af8a55b27a5e4e304e8c95a9077a962236e80a660be9be817d90cb3af26acf86",
          "translation": "Возвращает, содержит ли текущий языковой пакет переданный текстовый ключ."
        },
        "/symbols/@id=script.method.client.Game.IsVideoPlaying/description": {
          "source_sha256": "799c817ea36342d83f9df6f25cb79c1a78b388807217ae39dbc5d848ff4da961",
          "translation": "Возвращает, активен ли сейчас полноэкранный видеоклип."
        },
        "/symbols/@id=script.method.client.Game.LoadMapSprite%237a0d7d6483239069/description": {
          "source_sha256": "d140249cd729f2a393eeb975d63b2c1a3dbf265c36063aa5040970a5fca47a34",
          "translation": "Загружает именованный спрайт в атлас спрайтов карты, запускает его анимацию по умолчанию и возвращает клиентский локальный дескриптор либо ноль, если ресурс не разрешён."
        },
        "/symbols/@id=script.method.client.Game.LoadMapSprite%23aefb44cb240c9375/description": {
          "source_sha256": "7f68e1b166936662dc87864ea6dcdc1434b4ab2e6c5b9c37aad9560d289cab1f",
          "translation": "Загружает хешированный ресурс спрайта в атлас спрайтов карты, запускает его анимацию по умолчанию и возвращает клиентский локальный дескриптор либо ноль, если ресурс не разрешён."
        },
        "/symbols/@id=script.method.client.Game.LoadSeparateSprite%237a0d7d6483239069/description": {
          "source_sha256": "3f43c720ea45837b1963dfb67cc8a14f1b62837b4732795d4cb7728401eaf6aa",
          "translation": "Загружает именованный спрайт как отдельную текстуру одного изображения, запускает его анимацию по умолчанию и возвращает клиентский локальный дескриптор либо ноль, если ресурс не разрешён."
        },
        "/symbols/@id=script.method.client.Game.LoadSeparateSprite%23aefb44cb240c9375/description": {
          "source_sha256": "560b127a5bd83c0d794e1b5d8847d5fe63f39a056d696cc35db51c18d23ef91c",
          "translation": "Загружает хешированный ресурс спрайта как отдельную текстуру одного изображения, запускает его анимацию по умолчанию и возвращает клиентский локальный дескриптор либо ноль, если ресурс не разрешён."
        },
        "/symbols/@id=script.method.client.Game.LoadSprite%237a0d7d6483239069/description": {
          "source_sha256": "2c018eab473d0d735794a2dfa2109bfb302384b85149f042862c14e829e0bcfb",
          "translation": "Загружает именованный спрайт в интерфейсный атлас, запускает его анимацию по умолчанию и возвращает клиентский локальный дескриптор либо ноль, если ресурс не разрешён."
        },
        "/symbols/@id=script.method.client.Game.LoadSprite%23aefb44cb240c9375/description": {
          "source_sha256": "8b7b64031fd0efd1cdf4f01c50188f4283f084e618855bc9f61d0b284590ba6e",
          "translation": "Загружает хешированный ресурс спрайта в интерфейсный атлас, запускает его анимацию по умолчанию и возвращает клиентский локальный дескриптор либо ноль, если ресурс не разрешён."
        },
        "/symbols/@id=script.method.client.Game.MinimizeWindow/description": {
          "source_sha256": "c556fdc93c9a7d30bff43479b793d5eeb7263a15aa20649eb2062d06844674f8",
          "translation": "Запрашивает сворачивание окна клиента."
        },
        "/symbols/@id=script.method.client.Game.MousePos/description": {
          "source_sha256": "99e533c255619359ec29d032d997be5938da33ee1bfc32cf9b0ac12dea91c8a4",
          "translation": "Возвращает последнюю позицию мыши, обработанную клиентским конвейером ввода."
        },
        "/symbols/@id=script.method.client.Game.PlayMusic/description": {
          "source_sha256": "1550019d929e010d5f5b2b258df0656538a6104bab37e5dc93367a25e2b4b2f7",
          "translation": "Запускает именованную музыку с заданной задержкой повтора и возвращает, принято ли воспроизведение; пустое имя останавливает текущую музыку и возвращает true."
        },
        "/symbols/@id=script.method.client.Game.PlayParticleWithSeed/description": {
          "source_sha256": "a7534906e170c368239ec722ba8f056d7ea35cb10094e9c98e0e59558eb4c65f",
          "translation": "Запускает загруженный спрайт частиц с детерминированным seed и возвращает false для неизвестного дескриптора, спрайта другого типа или отклонённого воспроизведения."
        },
        "/symbols/@id=script.method.client.Game.PlaySound%231aa5e922f54f38a5/description": {
          "source_sha256": "e58597871c214ca0d1b7e72095f3ee99adb9ade7c6286df64c5d4a3ad2384ec4",
          "translation": "Запускает указанный запечённый аудиоресурс с начальными затуханием и панорамированием и возвращает дескриптор его времени жизни либо ноль при ошибке."
        },
        "/symbols/@id=script.method.client.Game.PlaySound%23fac885e1d1fb5d17/description": {
          "source_sha256": "41b80d3eb859ec2e7d4695c366dc34fd53b0cc961f525ec558ab5deb68939ab0",
          "translation": "Запускает точный запечённый аудиоресурс и возвращает непереиспользуемый handle его времени жизни либо ноль, если живой звук не запущен."
        },
        "/symbols/@id=script.method.client.Game.PlaySprite/description": {
          "source_sha256": "b7498a178b482ae900ea3ecc0db5e7b92f85e7f937f85e4ceaad6e4ae2c0c2b7",
          "translation": "Запускает именованную анимацию клиентского локального спрайта с заданными флагами зацикливания и обратного воспроизведения; неизвестные дескрипторы игнорируются."
        },
        "/symbols/@id=script.method.client.Game.PlayVideo/description": {
          "source_sha256": "a73a34f1445c72f033ecbbc5ad2be4051feeaa055a47b5861d1d6bace30637c0",
          "translation": "Запускает полноэкранное видео, при необходимости ставя его после активного клипа; запрос без очереди заменяет воспроизведение и очищает очередь, а пустое имя останавливает его."
        },
        "/symbols/@id=script.method.client.Game.PopDrawScissor/description": {
          "source_sha256": "75a344efc0777c7b286a2df08659fb8f55937bf849baa61f106ed37bffce5586",
          "translation": "Снимает верхний прямоугольник отсечения со стека клиентского рендера."
        },
        "/symbols/@id=script.method.client.Game.Preload3dFiles/description": {
          "source_sha256": "fe46a4adb23f82a640acc2070619d7ee4d8499ce551939afefb29ec675d6efeb",
          "translation": "Предварительно загружает каждую именованную модель через менеджер 3D-моделей; выбрасывает исключение, если недоступны 3D-подсистема или фабрика спрайтов моделей."
        },
        "/symbols/@id=script.method.client.Game.PresentOffscreenSurface%232119d712f785fe8c/description": {
          "source_sha256": "e3ed0a1199d5a189d15b7104a330043da54bf192bd143ad13a6d088aba87a7ab",
          "translation": "Во время RenderIface извлекает активную offscreen-поверхность и рисует независимо ограниченные экраном прямоугольники источника и назначения с выбранным эффектом."
        },
        "/symbols/@id=script.method.client.Game.PresentOffscreenSurface%233c10a5be709fae45/description": {
          "source_sha256": "aa1cd701ebfaa1930ef4c87ed431f71d2522cf8e0a7c61a580388ba91276308d",
          "translation": "Во время RenderIface извлекает активную offscreen-поверхность и рисует ограниченный экраном прямоугольник с одинаковой позицией источника и назначения с выбранным эффектом."
        },
        "/symbols/@id=script.method.client.Game.PresentOffscreenSurface%235ec3a0fd048629a1/description": {
          "source_sha256": "1a616e86775f028aa9b5fad5da2d0f91babc148cc3e85e89c6cfb0c21e30b038",
          "translation": "Во время RenderIface задаёт первые четыре скриптовых значения, если эффект их поддерживает, затем извлекает и рисует активную offscreen-поверхность в ограниченном экраном прямоугольнике."
        },
        "/symbols/@id=script.method.client.Game.PresentOffscreenSurface%2381efefba57ca2d31/description": {
          "source_sha256": "f45b6c40db45eb7f6d1fac387fbaf0f8f4b22d006805e641cba2bab140411d39",
          "translation": "Во время RenderIface извлекает активную offscreen-поверхность и рисует её на весь экран с выбранным offscreen-эффектом."
        },
        "/symbols/@id=script.method.client.Game.PrewarmParticle/description": {
          "source_sha256": "a6420fd91233ca538a75a0a34756e5d10bdf507d4a76cd35723fe14ede365d89",
          "translation": "Продвигает загруженный спрайт частиц через фазу предварительного прогрева и возвращает false для неизвестного дескриптора или спрайта другого типа."
        },
        "/symbols/@id=script.method.client.Game.PushDrawScissor/description": {
          "source_sha256": "22e66a2b4e6a8e1d534ed312919b0131469eadaa8089af2abc2d1462de8abdb9",
          "translation": "Помещает прямоугольник отсечения в стек клиентского рендера."
        },
        "/symbols/@id=script.method.client.Game.RemoveCacheEntry/description": {
          "source_sha256": "dc5024f70d8b16cb00c43303e1248b1c94e0cf772b79c0a95cd9a0a70c96e717",
          "translation": "Удаляет именованную запись клиентского кеша, если она существует."
        },
        "/symbols/@id=script.method.client.Game.ReplaceText%23587f96d5350d1194/description": {
          "source_sha256": "8ae96edf10237877ae86ba09dacbb956ce7cb94168105e4190f83a0bcbfa986e",
          "translation": "Возвращает копию текста, в которой вхождения заданной подстроки заменены другой строкой."
        },
        "/symbols/@id=script.method.client.Game.ReplaceText%2375a7b30c3e8c914d/description": {
          "source_sha256": "c269b457a7aafd690ac891600e731c28fa9666721c6db0821dcc3ed5d35124d8",
          "translation": "Возвращает копию текста, в которой вхождения заданной подстроки заменены десятичным представлением целого числа."
        },
        "/symbols/@id=script.method.client.Game.SaveScreenshot/description": {
          "source_sha256": "28ae6015f128b9f35dca8e466264a4cde57a81da131c7c2c3e4d9c9ed07b319f",
          "translation": "Читает последний главный render target, исправляет вертикальное отражение backend и записывает PNG по обязательному непустому пути."
        },
        "/symbols/@id=script.method.client.Game.SaveText/description": {
          "source_sha256": "3440e88dd91852342a3cf3ebfcc691ddfafb873055293653e5ba047d1527071c",
          "translation": "Создаёт родительские каталоги, обрезает целевой файл и записывает переданные байты текста; при ошибках каталога или записи выбрасывает исключение."
        },
        "/symbols/@id=script.method.client.Game.ScreenSize/description": {
          "source_sha256": "968aa8219b319efe1a9aeb63557690108de86f84f9b9a96343e9bb1a535fc12c",
          "translation": "Возвращает текущий логический размер экрана."
        },
        "/symbols/@id=script.method.client.Game.SetAlwaysOnTop/description": {
          "source_sha256": "aecdee852ba9f8bd9edb55282236fbb220a241bc7c129577a86fcd02ab3adbf2",
          "translation": "Включает или отключает режим клиентского окна поверх остальных окон."
        },
        "/symbols/@id=script.method.client.Game.SetCacheData%2334c4e9183aea7e54/description": {
          "source_sha256": "d19201e2742594ac9a0cd3a9d33498d52b5374cd6c9c9aa6136753ff4ba17a5f",
          "translation": "Сохраняет в записи клиентского кеша копию массива байтов, обрезанную или дополненную нулями до обязательного неотрицательного dataSize."
        },
        "/symbols/@id=script.method.client.Game.SetCacheData%234fb7a51531e48788/description": {
          "source_sha256": "d41d6b79ed138853a1b74bee67903308fa24c3ad1cb7a3fec5e98605d2ef62f5",
          "translation": "Сохраняет полный массив байтов под именем записи клиентского кеша."
        },
        "/symbols/@id=script.method.client.Game.SetCacheText/description": {
          "source_sha256": "b77beb5d826052905a111bc4b92087001992b97eb89f1228f6d4b83c17e09aa8",
          "translation": "Сохраняет строку под именем записи клиентского кеша."
        },
        "/symbols/@id=script.method.client.Game.SetEffect/description": {
          "source_sha256": "065e452abbf19985af4cdad7da1cf8a9fb20b03250d83055ebf0765d0ae3112d",
          "translation": "Перепривязывает выбранные через EffectType слоты эффектов к ресурсу эффекта; subtype выбирает экземпляр сущности, шрифта или offscreen-эффекта там, где он требуется этому классу."
        },
        "/symbols/@id=script.method.client.Game.SetEffectScriptValue/description": {
          "source_sha256": "bc7b58e4a0e39125524cae93e93c4789cb072b6458f0898e9f8003005119f01e",
          "translation": "Записывает одно скриптовое число с плавающей точкой по проверенному индексу в буфер скриптовых значений выбранного экземпляра эффекта."
        },
        "/symbols/@id=script.method.client.Game.SetEffectScriptValues/description": {
          "source_sha256": "85fb95e6360b428fd6b2445484e88d26df9304db6d00ac941fb7ed7fa0b1e1c6",
          "translation": "Копирует проверенный срез переданных значений в буфер скриптовых значений выбранного экземпляра эффекта, начиная с valueStartIndex."
        },
        "/symbols/@id=script.method.client.Game.SetForcedMousePos/description": {
          "source_sha256": "4c13e945168fdcb67194b2ae92bda924009a9a1bc968b3b024942f243f092b04",
          "translation": "Принудительно задаёт логическую позицию мыши клиента после каждого опроса ввода, не перемещая нативный курсор."
        },
        "/symbols/@id=script.method.client.Game.SetMousePos/description": {
          "source_sha256": "64c66eceef3669c1e6be7a7538c8cd0e3db3a9d36014d48bc118dd96f3f1fe41",
          "translation": "Перемещает курсор мыши нативного backend ввода в заданную клиентскую позицию."
        },
        "/symbols/@id=script.method.client.Game.SetMusicVolume/description": {
          "source_sha256": "8d88ccf12fdc3d9868cd76cd4e5520215d9cf68d7ea9fedd37587cfc9a5f3f75",
          "translation": "Изменяет текущую громкость музыки в процентах, не меняя стартовые настройки."
        },
        "/symbols/@id=script.method.client.Game.SetParticleScale/description": {
          "source_sha256": "4ee74bce3d66361d3a3e3db26a66c169b4ada2d07116b85aa9961a870fdcce4f",
          "translation": "Изменяет масштаб загруженного спрайта частиц и возвращает false для неизвестного дескриптора или спрайта другого типа."
        },
        "/symbols/@id=script.method.client.Game.SetResolution/description": {
          "source_sha256": "df262ecc00279a5c5681d422f3970701c8473bd74596620828f58aea8f4ebca6",
          "translation": "Изменяет логический размер экрана и, для невиртуального окна, размер нативного окна клиента на заданные значения."
        },
        "/symbols/@id=script.method.client.Game.SetScreenKeyboard/description": {
          "source_sha256": "bb638295b68a6f0f90edabcc1c753ca402b612c2c3acaad228e1c8de3223ca03",
          "translation": "Включает или отключает экранную клавиатуру активного backend ввода."
        },
        "/symbols/@id=script.method.client.Game.SetSoundVolume/description": {
          "source_sha256": "52ae1b6995ada3fc96832117dcf98cd2cef9a1237c37e6c7b30f214597770ff6",
          "translation": "Изменяет текущую громкость звуковых эффектов в процентах, не меняя стартовые настройки."
        },
        "/symbols/@id=script.method.client.Game.SetSpriteTime/description": {
          "source_sha256": "9366570c6374b89611bc4b34971d796f46e637dd516340c6c6519a681821e9b4",
          "translation": "Задаёт нормализованное время воспроизведения клиентского локального спрайта; неизвестные дескрипторы игнорируются."
        },
        "/symbols/@id=script.method.client.Game.SetUserConfig%23404272fae1b8c4d2/description": {
          "source_sha256": "5de990be46a5997ae1c1cafae81af30c88b47574d80221e5aac79de4ff097754",
          "translation": "Заменяет кешированную пользовательскую конфигурацию последовательными парами ключей и значений в формате `key = value`, игнорируя последний элемент без пары."
        },
        "/symbols/@id=script.method.client.Game.SetUserConfig%2383f675b8f444529f/description": {
          "source_sha256": "fcd5248b8851013ac1b5782a8be2b3b2bac0f5e0b701586cd84eab454ec470c3",
          "translation": "Заменяет кешированную пользовательскую конфигурацию строками ключей и значений в формате `key = value`."
        },
        "/symbols/@id=script.method.client.Game.SimulateConnectingFailed/description": {
          "source_sha256": "334e297fb6e683f250753943864b0a4733a847530190c2e0aa0593b454e203c7",
          "translation": "Поднимает клиентское событие ошибки подключения так, как его доставил бы транспорт."
        },
        "/symbols/@id=script.method.client.Game.SimulateDisconnect/description": {
          "source_sha256": "7302720f000725e46802e3d4d0aa3abf89e70e7ddee224f283530ed2c61ab42c",
          "translation": "Поднимает уведомление о разрыве связи, не трогая само соединение."
        },
        "/symbols/@id=script.method.client.Game.SimulateInfoMessage/description": {
          "source_sha256": "d47de8fb4dd89c0a2c012d39546587ce2fce424a856d00b6dcb00e7abef7894c",
          "translation": "Поднимает информационное сообщение движка с необязательным дополнительным текстом, как его доставил бы сервер."
        },
        "/symbols/@id=script.method.client.Game.SimulateKeyPress/description": {
          "source_sha256": "52ccaa2e359d54efb0a61575f5645fe9b89caf25796277be09439827fb83bddb",
          "translation": "Внедряет событие нажатия клавиши с необязательным текстом, а затем событие отпускания; KeyCode::None ничего не делает."
        },
        "/symbols/@id=script.method.client.Game.SimulateKeyboardPress/description": {
          "source_sha256": "9aea84818f0faccff563c08b950f1e18e896af2ff4fdaa1c4cd0ef01d14cb217",
          "translation": "Внедряет нажатие key1, полное нажатие и отпускание key2, затем отпускание key1, пропуская каждое значение KeyCode::None и ничего не делая, если оба значения равны None."
        },
        "/symbols/@id=script.method.client.Game.SimulateMouseClick/description": {
          "source_sha256": "42e30d4db63add47ae22faeefa3bf20a4770ae1ae9e66f357ebd70621f43e244",
          "translation": "При необходимости перемещает имитируемую мышь и внедряет шаг колеса либо соответствующую пару событий нажатия и отпускания кнопки."
        },
        "/symbols/@id=script.method.client.Game.SimulateMouseDown/description": {
          "source_sha256": "adc5b16ad709d57b070cf2c7aa2441a2df2b2246c480a60f0e7c651cb90df366",
          "translation": "При необходимости перемещает имитируемую мышь в заданную позицию, затем внедряет событие нажатия кнопки."
        },
        "/symbols/@id=script.method.client.Game.SimulateMouseMove/description": {
          "source_sha256": "433275a9edd20cdf9c88ad55c495dbb3a4caf5aca1010ec6937b85aa486b1d9f",
          "translation": "Внедряет событие перемещения мыши с вычисленным смещением, если заданная позиция отличается от текущей клиентской позиции мыши."
        },
        "/symbols/@id=script.method.client.Game.SimulateMouseUp/description": {
          "source_sha256": "844f2b3ed464c023ec0c997e4942795277d5db1889e85d1f20df7adfb1c6a373",
          "translation": "При необходимости перемещает имитируемую мышь в заданную позицию, затем внедряет событие отпускания кнопки."
        },
        "/symbols/@id=script.method.client.Game.SimulateTouchDown/description": {
          "source_sha256": "d7a5536966e2c178420f966f49bb80fb841726af95bc448b6f8e584bf8e02f37",
          "translation": "Внедряет событие начала касания для переданных идентификатора пальца и клиентской позиции."
        },
        "/symbols/@id=script.method.client.Game.SimulateTouchMove/description": {
          "source_sha256": "db7b3665cff44b4cec354182c291fb1f5bb39ad1cbd75a2685e752236db0939e",
          "translation": "Внедряет событие перемещения касания с переданными идентификатором пальца, позицией и смещением."
        },
        "/symbols/@id=script.method.client.Game.SimulateTouchTap/description": {
          "source_sha256": "2fe12632ec01d8c70f1f217244b53bb3992caacf53104e347bc7b655506fb1e1",
          "translation": "Внедряет событие короткого касания в заданной клиентской позиции."
        },
        "/symbols/@id=script.method.client.Game.SimulateTouchUp/description": {
          "source_sha256": "d9c852fccf04ace7412e55a74f99136f36396edac45ffee0d4126f36a7b19b74",
          "translation": "Внедряет событие завершения касания для переданных идентификатора пальца и клиентской позиции."
        },
        "/symbols/@id=script.method.client.Game.SortCrittersByDeep/description": {
          "source_sha256": "6963c7c1470ba366a9c619e01177b7b7d34476046c28d5e6cd725e528cec7e49",
          "translation": "Отбрасывает null-дескрипторы и стабильно сортирует криттеров по глубине рендера карты: Y гекса, X гекса, затем значение сортировки спрайта, если оно доступно, и порядок дескрипторов как последнее разрешение равенства."
        },
        "/symbols/@id=script.method.client.Game.StopSprite/description": {
          "source_sha256": "75adc08a7db2a5c813d51b9142986b63ac5dd7117e34630b57a7dbae0dfbc356",
          "translation": "Останавливает анимацию клиентского локального спрайта; неизвестные дескрипторы игнорируются."
        },
        "/symbols/@id=script.method.client.Game.ToggleFullscreen/description": {
          "source_sha256": "5c85665696f0b3bf6790ddd382bd6ec64e240c2af69414e5d62b59d15d094cc1",
          "translation": "Переключает окно клиента между полноэкранным и оконным режимами."
        },
        "/symbols/@id=script.method.client.Game.UpdateSound/description": {
          "source_sha256": "0057312d93a1004e028f7149375df9e75e180e2e77d0472248c711a2d7c84810",
          "translation": "Обновляет затухание и панорамирование активного звука и возвращает false после завершения звука."
        },
        "/symbols/@id=script.method.client.ImGui.Image/description": {
          "source_sha256": "4d6d01bcf5874139cec4648b7fed7dc524b4d2383ea2a94aa853dedba0d39cd6",
          "translation": "Рисует клиентский спрайт в слоте компоновки ImGui с заданными положительным размером и диапазоном UV; частичный диапазон UV требует спрайт из атласа, а при отсутствии спрайта слот остается пустым."
        },
        "/symbols/@id=script.method.client.ImGui.ImageButton/description": {
          "source_sha256": "0559997b47310c40918fd9824aca896f180f923afc9afed779c9d1ce47a4616d",
          "translation": "Создает кнопку-изображение ImGui с уникальным идентификатором, рисует стандартную рамку состояния, необязательный фон и спрайт с оттенком и возвращает, была ли кнопка нажата; размер и UV проверяются так же, как в Image."
        },
        "/symbols/@id=script.method.client.Item.Clone/description": {
          "source_sha256": "7876ef10ae0377f31006d11698f21f3e0c423ca065f76f7daff5e85edfa9c9e1",
          "translation": "Создаёт отдельный клиентский клон с тем же id, прототипом и значениями свойств, не добавляя его на карту или в инвентарь."
        },
        "/symbols/@id=script.method.client.Item.Finish/description": {
          "source_sha256": "b6ef87620b33ad620629c6fcc0a8304a17fa1c9a6a00212458351eb773d7c9af",
          "translation": "Однократно запускает стандартную последовательность исчезновения и завершения для предмета на карте; ничего не делает с предметами вне представления карты."
        },
        "/symbols/@id=script.method.client.Item.GetAlpha/description": {
          "source_sha256": "dea00c9c304a1a1c8c14875fde4c3ee3e862428e62de3d2f8e486fda72ea30b7",
          "translation": "Возвращает текущую отображаемую прозрачность спрайта предмета на карте или 255 для предмета вне представления карты."
        },
        "/symbols/@id=script.method.client.Item.GetInnerItems/description": {
          "source_sha256": "8ebb583cd8dd423b09789e24cce67cbaa972b6dae614a95a65a12999ee27b85c",
          "translation": "Возвращает снимок ссылок на непосредственно вложенные в предмет объекты, не разворачивая рекурсивно вложенные контейнеры."
        },
        "/symbols/@id=script.method.client.Item.GetMapPos/description": {
          "source_sha256": "62fe94b1bb8c20978d1bd63c1e0c11aef117df87d6762fca7bb5b8a7c0d7d20c",
          "translation": "Определяет гекс предмета на карте по прямому владению картой, владеющему криттеру или рекурсивно через содержащие его предметы; выбрасывает исключение при некорректной карте или цепочке владения."
        },
        "/symbols/@id=script.method.client.Item.GetSpriteOffset/description": {
          "source_sha256": "7cab4238c43f01415a6ac15bd12f77c116b3c37e51db7d2eaf4ed2e094c3bf07",
          "translation": "Возвращает текущее отображаемое смещение спрайта предмета на карте в пикселях; выбрасывает исключение, если предмет не находится на загруженной карте."
        },
        "/symbols/@id=script.method.client.Item.IsAnimPlaying/description": {
          "source_sha256": "edadf9f5c2415baba74d24ec85ed03168900de718f2a98167a45e6098a24e862",
          "translation": "Сообщает, воспроизводится ли анимация спрайта предмета на карте; возвращает false для предметов вне представления карты."
        },
        "/symbols/@id=script.method.client.Item.IsMoving/description": {
          "source_sha256": "9dcbebb0266c4e1b74c894193b0e6a9dc8cdb1d0b381e538a792886d51375bd3",
          "translation": "Сообщает, выполняется ли клиентское визуальное перемещение предмета на карте; возвращает false для предметов вне представления карты."
        },
        "/symbols/@id=script.method.client.Item.IsVisible/description": {
          "source_sha256": "0297682fb0f3a0dcc31e20f5776e659a7aad953760442e1b4e20e072385ed324",
          "translation": "Возвращает, участвует ли сейчас спрайт предмета на карте в отрисовке; выбрасывает исключение, если предмет не находится на загруженной карте."
        },
        "/symbols/@id=script.method.client.Item.MoveToHex/description": {
          "source_sha256": "09652340e447e7184ab4594660086e90a5e555c17a7abb8f60f0edd662ab8f01",
          "translation": "Запускает клиентское визуальное перемещение предмета на карте к целевому гексу с заданной скоростью; ничего не делает с предметами вне представления карты."
        },
        "/symbols/@id=script.method.client.Item.PlayAnim/description": {
          "source_sha256": "51fa2e7198d5805d2669750b3969af878c02afb894b0730685d7437a97444353",
          "translation": "Запускает именованную анимацию спрайта предмета на карте с заданными режимами зацикливания и обратного воспроизведения; ничего не делает с предметами вне представления карты."
        },
        "/symbols/@id=script.method.client.Item.SetAlpha/description": {
          "source_sha256": "2f930980fd893b2784ab4c34e9de2e6cc7e807ad9f98087c65976b3a1da6dd3c",
          "translation": "Плавно изменяет прозрачность спрайта предмета на карте к заданному целевому значению; ничего не делает с предметами вне представления карты."
        },
        "/symbols/@id=script.method.client.Item.SetAnimDir/description": {
          "source_sha256": "8589a66ec8b38576567a1a7a9c5a4cf0f084d2e450ecf37ce397d92569ffdf73",
          "translation": "Задает вариант направления для анимации спрайта предмета на карте; ничего не делает с предметами вне представления карты."
        },
        "/symbols/@id=script.method.client.Item.SetAnimTime/description": {
          "source_sha256": "a8975b67cd07c8efa133e0ad719ce67ca0888b58e7d48fe26039e48e99cc8efa",
          "translation": "Задает нормализованную позицию воспроизведения анимации спрайта предмета на карте; ничего не делает с предметами вне представления карты."
        },
        "/symbols/@id=script.method.client.Item.StopAnim/description": {
          "source_sha256": "700cb7b56627183d99e5154d467493de7bdbe6bac51ee77c38695b568b17c21a",
          "translation": "Останавливает текущую анимацию спрайта предмета на карте; ничего не делает с предметами вне представления карты."
        },
        "/symbols/@id=script.method.client.Map.AddFog%232b31b535aa5f8b00/description": {
          "source_sha256": "7a86fcd2a60d82c1c37cd6fdfe50eb3c877e347e1b4948c04b67448e34944889",
          "translation": "Добавляет и возвращает слой тумана, привязанный к необязательному криттеру, с заданным порядком отрисовки; при неотрицательном подтипе использует эффект внеэкранного сброса."
        },
        "/symbols/@id=script.method.client.Map.AddFog%23d8badb89913d2e1b/description": {
          "source_sha256": "5cdc64bcf8d3b8d88bff65bfacc25da8e0aa2719914e566f9fcd2508e0282c03",
          "translation": "Добавляет и возвращает слой тумана на допустимом гексе с заданным порядком отрисовки; при неотрицательном подтипе использует эффект внеэкранного сброса, а для недопустимого гекса выбрасывает исключение."
        },
        "/symbols/@id=script.method.client.Map.ApplyScreenScroll/description": {
          "source_sha256": "d894467b84a0f43148addaf3abf5e7d5252434c4455d07f8a28538204c371e67",
          "translation": "Применяет смещение прокрутки в пикселях с заданными скоростью и политикой прерывания."
        },
        "/symbols/@id=script.method.client.Map.ChangeZoom/description": {
          "source_sha256": "fa60ac9c284ed932f7c7a49b9731b0d30036d4858c4da352e3ce929019a89889",
          "translation": "Запускает изменение масштаба с привязкой к указателю мыши или к центру экрана, если мышь недоступна; неизменившаяся цель игнорируется."
        },
        "/symbols/@id=script.method.client.Map.ClearTransparentEgg/description": {
          "source_sha256": "7fc36fc85b4a8e11aec582048488097aef829f33a6dac073e260d3281b717991",
          "translation": "Очищает выбранный слот эллиптической маски прозрачности в этом представлении карты."
        },
        "/symbols/@id=script.method.client.Map.CreateLocalItem/description": {
          "source_sha256": "8bee64e5cc98611b914069476b37651808b2eea809640a0cf7560eec15680022",
          "translation": "Создает и прикрепляет клиентский локальный предмет известного прототипа к допустимому гексу карты; некорректный прототип или координаты приводят к исключению."
        },
        "/symbols/@id=script.method.client.Map.DrawEntitySprite/description": {
          "source_sha256": "c5c4d1bf07cbe84b6c069c24d14701e7c0229c72b1c335124359d5f3312c46c9",
          "translation": "Рисует клиентскую сущность через выбранный внеэкранный эффект во время события рендера и возвращает успешность отрисовки; вне рендера или при отрицательном отступе выбрасывает исключение."
        },
        "/symbols/@id=script.method.client.Map.DrawMap/description": {
          "source_sha256": "cb39141d8160103ea137eb4211519e51fc3df6850452526c4b78242667044002",
          "translation": "Рисует загруженную карту во время события RenderIface; при вызове вне этого обработчика рендера выбрасывает исключение."
        },
        "/symbols/@id=script.method.client.Map.DrawMapSprite/description": {
          "source_sha256": "bb973ead3728041e1604a054507de96f3d105f06939ae57370046a020448f66c",
          "translation": "Добавляет в отрисовку карты спрайт, заданный держателем, молча пропуская некорректные, внеэкранные или неразрешенные спрайты и применяя правила рендера указанного прототипа предмета, если он задан."
        },
        "/symbols/@id=script.method.client.Map.GetCritter/description": {
          "source_sha256": "92fc36c66b646342fa432031066462e6bf0df158dbfb56ef422c2fafc96e6aff",
          "translation": "Возвращает криттера с заданным идентификатором времени выполнения или null для нулевого либо неизвестного идентификатора."
        },
        "/symbols/@id=script.method.client.Map.GetCritterAtScreenPos/description": {
          "source_sha256": "5092034c833efceb6de610a3f2191da75684db88da36f0363346181d8b724ed1",
          "translation": "Возвращает криттера, точно попавшего под экранную позицию по пикселям, и при необходимости повторяет поиск с расширенным диапазоном, если точный поиск ничего не нашел."
        },
        "/symbols/@id=script.method.client.Map.GetCritterInRadius/description": {
          "source_sha256": "7ea2c8b7731fe1210e2933cc739692e1621f71346c703e27dec1e939a7d5c93e",
          "translation": "Возвращает ближайшего подходящего криттера в заданном радиусе допустимого центрального гекса с учетом multihex или null, если подходящих криттеров нет."
        },
        "/symbols/@id=script.method.client.Map.GetCritterOnHex/description": {
          "source_sha256": "ae5c415931c56fbe59597ae09a88d390df250c6b099eb2afa06a1a9b35fc0ddd",
          "translation": "Возвращает ближайшего к допустимому гексу подходящего криттера с учетом multihex или null, если подходящих криттеров нет; недопустимый гекс приводит к исключению."
        },
        "/symbols/@id=script.method.client.Map.GetCritters%23addc705539406d44/description": {
          "source_sha256": "d27e162fd4c53e5ae84b502b54a6b33a1c47c7bb26908baf5169a4e8741a029b",
          "translation": "Возвращает всех криттеров карты, у которых идентификатор прототипа и состояние типа поиска соответствуют заданным фильтрам."
        },
        "/symbols/@id=script.method.client.Map.GetCritters%23d593b4ce96170bb4/description": {
          "source_sha256": "57f9fc83846639490c4f68bfef889338acf5a21bcab87d109785dd9155c0d4c0",
          "translation": "Возвращает всех криттеров этой карты, проходящих заданный фильтр типа поиска."
        },
        "/symbols/@id=script.method.client.Map.GetCritters%23e79de6b56cb9f3b3/description": {
          "source_sha256": "387d0e89ca4e661239b4b22380848e68bad3ae30668337f38abaf791a85e7948",
          "translation": "Возвращает всех криттеров карты, у которых прототип и состояние типа поиска соответствуют заданным фильтрам."
        },
        "/symbols/@id=script.method.client.Map.GetCrittersInPath/description": {
          "source_sha256": "c445b0750c579a57f3e24d5e1afc31c9e046fc109deceb9238db9fc53e0d3ad2",
          "translation": "Трассирует заданный коридор пути и возвращает пересеченных им подходящих криттеров; недопустимые конечные гексы приводят к исключению."
        },
        "/symbols/@id=script.method.client.Map.GetCrittersInRadius/description": {
          "source_sha256": "b01b3fd6c82d04c7c53580686262ae757f579cd2ccb52e77ff4b84bd25dedbae",
          "translation": "Возвращает подходящих криттеров в заданном радиусе допустимого гекса, упорядоченных по расстоянию с учетом multihex; недопустимый гекс приводит к исключению."
        },
        "/symbols/@id=script.method.client.Map.GetCrittersOnHex/description": {
          "source_sha256": "51769fe4e00239d07dbcd610eea0c89d2629ff0019bfb0f0dd889de6b2cf7f93",
          "translation": "Возвращает подходящих криттеров, пересекающих допустимый гекс, в порядке расстояния с учетом multihex; недопустимый гекс приводит к исключению."
        },
        "/symbols/@id=script.method.client.Map.GetCrittersWithBlockInPath/description": {
          "source_sha256": "c7b8c4fb46d3381461c9f2841dc420b55023845e76fd2f406a697147cc32ab42",
          "translation": "Трассирует заданный коридор пути, возвращает подходящих криттеров и записывает последний гекс перед препятствием и первый блокирующий гекс; недопустимые конечные гексы приводят к исключению."
        },
        "/symbols/@id=script.method.client.Map.GetEntityAtScreenPos/description": {
          "source_sha256": "61d0b502a17dfa8cbd17311f90f9df6d70ed62597215f794255b6a7055eb4be2",
          "translation": "Возвращает верхнюю выбираемую клиентскую сущность в экранной позиции с точной проверкой по пикселям или null, если попадания нет."
        },
        "/symbols/@id=script.method.client.Map.GetHexAtScreenPos%238257da98c48140a5/description": {
          "source_sha256": "a3c0279fdb2c3094344d82c97f0d6427664b17204ceda6c32c568d224b31c17f",
          "translation": "Преобразует экранную позицию в гекс карты и смещение в пикселях внутри него, при успехе записывает оба результата и сообщает, удалось ли преобразование."
        },
        "/symbols/@id=script.method.client.Map.GetHexAtScreenPos%23858322c2894be6b9/description": {
          "source_sha256": "ec077a6567cfaa65e16845590f1ee9f33ab53850443f34dd5a1819a147416f89",
          "translation": "Преобразует экранную позицию в гекс карты, при успехе записывает гекс и возвращает, соответствует ли позиция этому представлению."
        },
        "/symbols/@id=script.method.client.Map.GetHexContentSize/description": {
          "source_sha256": "3469616043641c100fa67bb2ad718b05aaa258b178ffd93358ea4c0690b6b45e",
          "translation": "Возвращает совокупный размер в пикселях для содержимого, связанного с заданным гексом в этом представлении карты."
        },
        "/symbols/@id=script.method.client.Map.GetHexInPath/description": {
          "source_sha256": "a4e9c3e19656f446c890098cf88bba793f4405dd871b2580ef6539794500e961",
          "translation": "Трассирует путь к допустимой цели и заменяет ее последним гексом перед препятствием либо пределом дистанции; недопустимые конечные гексы приводят к исключению."
        },
        "/symbols/@id=script.method.client.Map.GetHexMapPos/description": {
          "source_sha256": "adef5836406cdb1c836caee912a7530eba028146d6ea2c6ed1254c32cede840f",
          "translation": "Возвращает целочисленную позицию левого верхнего угла допустимой ячейки гекса в координатах карты; недопустимый гекс приводит к исключению."
        },
        "/symbols/@id=script.method.client.Map.GetHexScreenPos/description": {
          "source_sha256": "0a4f422436f3abf8f00ea2fbb5cd2567a9eb0d87ba52131db34bae5dfc5b59af",
          "translation": "Возвращает целочисленную экранную позицию визуального центра допустимого гекса с учетом текущей прокрутки и проекции; недопустимый гекс приводит к исключению."
        },
        "/symbols/@id=script.method.client.Map.GetHexScreenPosF/description": {
          "source_sha256": "bfdd5461daae3f9de90571b72c6127b9b632e1939abe065a929c34535a64f67c",
          "translation": "Возвращает экранную позицию центра допустимого гекса с плавающей точкой с учетом текущей прокрутки и масштаба спрайтов; недопустимый гекс приводит к исключению."
        },
        "/symbols/@id=script.method.client.Map.GetHiddenRoofNum/description": {
          "source_sha256": "34f18359469bbd42b66d3a347f65c98b0fa3b4d9dc03b2b2a5d4bdbeb9140d0a",
          "translation": "Возвращает группу крыш, которую сейчас скрывает логика этого представления карты."
        },
        "/symbols/@id=script.method.client.Map.GetItem/description": {
          "source_sha256": "c24602d9c1a67029f4bb4e9f6cf2529fdd74da17ba38c969bdad5b1e3c167cf8",
          "translation": "Возвращает предмет карты с ненулевым идентификатором времени выполнения или null, если карта его не содержит; нулевой идентификатор приводит к исключению."
        },
        "/symbols/@id=script.method.client.Map.GetItemAtScreenPos/description": {
          "source_sha256": "3cdc39e7ab38446fdbd086237aea98e43341b4b1dac7b22777e8dcfa088a58be",
          "translation": "Возвращает верхний выбираемый предмет карты в экранной позиции с точной проверкой по пикселям или null, если попадания нет."
        },
        "/symbols/@id=script.method.client.Map.GetItemOnHex/description": {
          "source_sha256": "046b65f0997dbeb856005e3a41e46f7cbe5ab8a09d802157def454d9cc8caff2",
          "translation": "Возвращает результат одиночного поиска предмета карты на допустимом гексе или null, если предмет там не выбран; недопустимый гекс приводит к исключению."
        },
        "/symbols/@id=script.method.client.Map.GetItems/description": {
          "source_sha256": "5ca61ed12a5fc2c4e432be8e3e40ec71a514bc7fd7c9e9b280a462adf2878b20",
          "translation": "Возвращает все клиентские представления предметов, прикрепленные к этой карте."
        },
        "/symbols/@id=script.method.client.Map.GetItemsOnHex/description": {
          "source_sha256": "3ad1ff1a7c6de66dbfd43953a9cc8d206682d62059a980195e2aa2c8c0092062",
          "translation": "Возвращает все клиентские представления предметов на допустимом гексе; недопустимый гекс приводит к исключению."
        },
        "/symbols/@id=script.method.client.Map.GetManualScroll/description": {
          "source_sha256": "228806237f7cba7a3b2a841009d6cb3822115fbfa40dd487c4e15037406349db",
          "translation": "Возвращает флаги направления ручной прокрутки, которые сейчас потребляет это представление карты."
        },
        "/symbols/@id=script.method.client.Map.GetPath%2311a78e57794a1f73/description": {
          "source_sha256": "73877b069154140458df6ed8654fba7fa8fade40cd03e12d21350ee3f0f05da3",
          "translation": "Находит направления движения между допустимыми гексами, при необходимости останавливая цель за cut гексов до конца; возвращает пустой массив, если движение или путь отсутствуют."
        },
        "/symbols/@id=script.method.client.Map.GetPath%232f15d4b55a4ef07c/description": {
          "source_sha256": "38ced14548115216f431ea5a129442fc4fa911ab198463222a39018f40edbe7b",
          "translation": "Находит направления движения между допустимыми гексами, разрешая callback проходить через gag-предметы; возвращает пустой массив, если движение или путь отсутствуют."
        },
        "/symbols/@id=script.method.client.Map.GetPath%239abc1ca3612a809e/description": {
          "source_sha256": "f77f0c2a85a897b879244e38a26419b31454927d81378368fdff040aca72e60e",
          "translation": "Находит направления движения от находящегося на карте криттера к допустимому гексу с учетом multihex и при необходимости останавливает цель за cut гексов до конца; возвращает пустой массив, если движение или путь отсутствуют."
        },
        "/symbols/@id=script.method.client.Map.GetPathLength%2339f192296d8a7003/description": {
          "source_sha256": "4445bf54807bce0f0876328c1e92ad3271d99c6fd2c2f23e7e3de201bf8bb2bf",
          "translation": "Возвращает число шагов движения между допустимыми гексами, при необходимости останавливая цель за cut гексов до конца; возвращает ноль, если cut исключает движение или путь не найден."
        },
        "/symbols/@id=script.method.client.Map.GetPathLength%23b62c50c709a20fb8/description": {
          "source_sha256": "97493d51ff308d63cf568119a3669f102be8b3efc109b8444f1f2c616fff90c9",
          "translation": "Возвращает число шагов движения от находящегося на карте криттера к допустимому гексу с учетом его multihex и необязательного cut; возвращает ноль, если движение или путь отсутствуют."
        },
        "/symbols/@id=script.method.client.Map.GetRoofNum/description": {
          "source_sha256": "a1868e09f99e26c7b00406e654e1dec94d341340770c6344ef63cee963ed0044",
          "translation": "Возвращает номер группы крыш на допустимом гексе карты; координата вне карты приводит к исключению."
        },
        "/symbols/@id=script.method.client.Map.GetScreenSize/description": {
          "source_sha256": "f9ad4f3f792815e7b8504db177a09f029be85e21ef2e37e91561fde36fe0ec5f",
          "translation": "Возвращает текущий размер области рендера представления карты в пикселях."
        },
        "/symbols/@id=script.method.client.Map.GetVisibleHexes/description": {
          "source_sha256": "405236e72866f39de76e9df74279e73d7e1f02bf1b494b0e7f924f1fe6a41224",
          "translation": "Возвращает все гексы карты, которые это представление сейчас выбирает для отрисовки."
        },
        "/symbols/@id=script.method.client.Map.GetVisibleLayers/description": {
          "source_sha256": "736f71b53bbf0b66e5fe692549decded5cb111a877ffca9964ea878c17880007",
          "translation": "Возвращает набор слоёв, видимых в текущем представлении карты."
        },
        "/symbols/@id=script.method.client.Map.IsAutoScrolling/description": {
          "source_sha256": "3247cf270b4569f107e1b8f24b78ea54c80887f1eff10a2ef5489651a4de03cd",
          "translation": "Возвращает, выполняет ли это представление карты автоматическую прокрутку."
        },
        "/symbols/@id=script.method.client.Map.IsHexMovable/description": {
          "source_sha256": "460059ed95c038607a7f24e6251b7b35c0bee53cf2fec54a37dd64f78fcbcf56",
          "translation": "Возвращает, не заблокировано ли сейчас движение на допустимом гексе; недопустимый гекс приводит к исключению."
        },
        "/symbols/@id=script.method.client.Map.IsHexShootable/description": {
          "source_sha256": "e6c00f6d77ae901afbd47ea01f61196f7f49247158c58149744faf1c89cac2fa",
          "translation": "Возвращает, не заблокирована ли сейчас стрельба через допустимый гекс; недопустимый гекс приводит к исключению."
        },
        "/symbols/@id=script.method.client.Map.IsHexValid/description": {
          "source_sha256": "7d1b1236f385c708578fb0da13e435bb076274016743de482efb8ec93126d566",
          "translation": "Возвращает, находится ли заданный гекс внутри размеров карты, не выбрасывая исключение для недопустимой координаты."
        },
        "/symbols/@id=script.method.client.Map.IsHexVisible/description": {
          "source_sha256": "8761160ba54927942377171e2559b465f2e67a564e01c2b31a471af07a8cb1ec",
          "translation": "Возвращает сохраненный клиентский флаг видимости допустимого гекса; недопустимый гекс приводит к исключению."
        },
        "/symbols/@id=script.method.client.Map.IsOutsideArea/description": {
          "source_sha256": "985e3e5b327cd30164ed484e5cad9f775bea40d43038b0b7eb113de4d46db095",
          "translation": "Возвращает, лежит ли допустимый гекс вне настроенной игровой области карты; недопустимый гекс приводит к исключению."
        },
        "/symbols/@id=script.method.client.Map.IsScrollCheck/description": {
          "source_sha256": "7e50fccf6338d4bc8976bdd4b1489b8662c8da42795433c2757b0fe0e6b4e467",
          "translation": "Возвращает текущее значение флага проверки прокрутки представления карты."
        },
        "/symbols/@id=script.method.client.Map.MoveHexByDir%2362392271e1b42030/description": {
          "source_sha256": "bf3d396b2e51d1c84def1baf9d12d10a071a67c92d7d35912b4e8db9ebb83df5",
          "translation": "Перемещает гекс на одну ячейку в заданном направлении, если цель остается внутри карты, обновляет аргумент и сообщает об успехе."
        },
        "/symbols/@id=script.method.client.Map.MoveHexByDir%23b39016610645244b/description": {
          "source_sha256": "9206f0cbf8749471a9d7267ab1a11cd5dae9f749f066065022804b924e0e4bbb",
          "translation": "Перемещает гекс максимум на заданное число ячеек внутри карты в одном направлении, обновляет аргумент и возвращает число выполненных шагов."
        },
        "/symbols/@id=script.method.client.Map.MoveScreenToHex/description": {
          "source_sha256": "6edd3c4c1b1b8f69f0a4bb9d2b4d33780adf7c5f85b62cb9bb4a28cc9bd16f66",
          "translation": "Прокручивает представление к допустимому гексу с заданными смещением и неотрицательной скоростью; нулевая скорость выполняет мгновенный переход и игнорирует смещение."
        },
        "/symbols/@id=script.method.client.Map.RebuildFog/description": {
          "source_sha256": "2b3ba5b978303590b058f82f28ac023a3696b14f33b172220c66d395199c94ae",
          "translation": "Перестраивает геометрию и состояние рендера тумана этого представления карты по его текущим слоям тумана."
        },
        "/symbols/@id=script.method.client.Map.RedrawMap/description": {
          "source_sha256": "925f75a76d06ac5195871190c45743500f7938aa8d3b282992f8c46304604a35",
          "translation": "Перестраивает отображаемое состояние карты по ее текущему клиентскому содержимому."
        },
        "/symbols/@id=script.method.client.Map.RunSpritePattern/description": {
          "source_sha256": "e319337e171efb581f8405532ca073d5eb81554adaff5818e416f09639f91f01",
          "translation": "Запускает именованный шаблон спрайтов с положительным числом кадров и возвращает его контроллер либо null, если создать шаблон не удалось."
        },
        "/symbols/@id=script.method.client.Map.SetDayColors/description": {
          "source_sha256": "c8c8cb231e252151c8542ccbfec33e88b3d2ec624b9943d2ee878a3b26ef5038",
          "translation": "Заменяет локальный для карты и глобальный цвета дня вместе с их значениями емкости освещения в этом клиентском представлении карты."
        },
        "/symbols/@id=script.method.client.Map.SetExtraScrollOffset/description": {
          "source_sha256": "0da194bf52e5983d9ff55dab4f85f3ccfc868dad8a588ba3cf5aee70f72be785",
          "translation": "Задаёт управляемое скриптом временное смещение камеры поверх обычной прокрутки карты."
        },
        "/symbols/@id=script.method.client.Map.SetHiddenRoof/description": {
          "source_sha256": "1b3197ec931f796a5fd946aae4eecc736094a3b9ea024e6182487e7122cb398e",
          "translation": "Задает гекс, используемый логикой скрытия крыш в этом представлении карты."
        },
        "/symbols/@id=script.method.client.Map.SetManualScroll/description": {
          "source_sha256": "a60d39b67eaae51899e3d82ff067c0bef39798e64773c45064918a87c4fd2cea",
          "translation": "Заменяет флаги направлений ручной прокрутки, используемые текущим представлением карты."
        },
        "/symbols/@id=script.method.client.Map.SetScreenSize/description": {
          "source_sha256": "06484604545873216c2890b234a3832afbce136321edab1fa9cf7905d55a8a88",
          "translation": "Задает размер в пикселях, используемый этим представлением карты для проекции, видимости и рендера."
        },
        "/symbols/@id=script.method.client.Map.SetScrollCheck/description": {
          "source_sha256": "df9cb6085f19e1df598072f00ba6b7a78fa5c23df97cc83fb591c380f6b435f5",
          "translation": "Включает или отключает проверку прокрутки в представлении карты."
        },
        "/symbols/@id=script.method.client.Map.SetTransparentEgg%23b6b974b26dd5da96/description": {
          "source_sha256": "adec292a242911f9f3018a4e3b730030552254205ff96316f12673ab981647c5",
          "translation": "Настраивает слот эллиптической маски прозрачности вокруг явно заданного прямоугольника относительно гекса, не привязывая его к криттеру."
        },
        "/symbols/@id=script.method.client.Map.SetTransparentEgg%23d4f73ea0d2898f79/description": {
          "source_sha256": "458357f0cf52776c71dd6802047e4997d88498000bb77c814bff59944f69ddc4",
          "translation": "Настраивает слот эллиптической маски прозрачности по текущим границам спрайта криттера на карте или очищает слот, если криттер отсутствует, принадлежит другой карте либо не может быть отрисован."
        },
        "/symbols/@id=script.method.client.Map.SetVisibleLayers/description": {
          "source_sha256": "21d4d1661087088874996cfaf76755294c917eb128ba371abfaf39c2a52ead51",
          "translation": "Заменяет набор слоёв, видимых в текущем представлении карты."
        },
        "/symbols/@id=script.method.common.Game.AndroidBuild/description": {
          "source_sha256": "3db581a240a4a9044c0bb2836762ab57eb407acf4e1286399c233ca10e68e14f",
          "translation": "Сообщает, предназначена ли эта сборка для Android."
        },
        "/symbols/@id=script.method.common.Game.BreakIntoDebugger/contract/notes": {
          "source_sha256": "454a289e2434edc126c92e13fa55a8cc1f5cbb6b7a59ff08d7e7af5eed623a53",
          "translation": "Отладочная ловушка только для разработки; намеренно не является контрактом совместимости встраивающего проекта."
        },
        "/symbols/@id=script.method.common.Game.BreakIntoDebugger/description": {
          "source_sha256": "ee1dba4d5d2b6e253e20861d146db1670af0ff582026a2348e3cec807ddb4de2",
          "translation": "Запускает платформенный примитив остановки в отладчике для текущего процесса."
        },
        "/symbols/@id=script.method.common.Game.CheckProtoCritter/description": {
          "source_sha256": "d392e5fc3d7a5c19c2dca04fc60e0b6b4fe50056086fcde0b326a803d7b44c89",
          "translation": "Возвращает, зарегистрирован ли прототип криттера с заданным идентификатором."
        },
        "/symbols/@id=script.method.common.Game.CheckProtoItem/description": {
          "source_sha256": "c0ffb25b742aac6b1876ac53d6da8b44f047faf5584dcaec81a14acc360d8ff3",
          "translation": "Возвращает, зарегистрирован ли прототип предмета с заданным идентификатором."
        },
        "/symbols/@id=script.method.common.Game.CheckProtoLocation/description": {
          "source_sha256": "31489eee6717379e1077643bf1ce8616c1daf641d99bef9f07f4d119b640dc5c",
          "translation": "Возвращает, зарегистрирован ли прототип локации с заданным идентификатором."
        },
        "/symbols/@id=script.method.common.Game.CheckProtoMap/description": {
          "source_sha256": "35c1249228e398b1ab9c790a553f983f27416fa5b4fe5ed1fef9449b1fc737cc",
          "translation": "Возвращает, зарегистрирован ли прототип карты с заданным идентификатором."
        },
        "/symbols/@id=script.method.common.Game.CountTimeEvent%233f402d7af9d733a8/description": {
          "source_sha256": "cba42b1876c2d34809e377483eb6fd6d637b6943c9778a7481de42c9d5e25573",
          "translation": "Подсчитывает все события времени этого экземпляра Engine, использующие выбранный callback."
        },
        "/symbols/@id=script.method.common.Game.CountTimeEvent%2393f88715f57381d8/description": {
          "source_sha256": "6b1dc6b7dc2aef135804d3ae1c29cbfe8194267ca25e908c5443662684d50549",
          "translation": "Подсчитывает все события времени этого экземпляра Engine, использующие выбранный контекстный callback."
        },
        "/symbols/@id=script.method.common.Game.CountTimeEvent%23a7d6bf3965b779f9/description": {
          "source_sha256": "cba42b1876c2d34809e377483eb6fd6d637b6943c9778a7481de42c9d5e25573",
          "translation": "Подсчитывает все события времени этого экземпляра Engine, использующие выбранный callback."
        },
        "/symbols/@id=script.method.common.Game.CountTimeEvent%23b5319e6dc3f86b0f/description": {
          "source_sha256": "cba42b1876c2d34809e377483eb6fd6d637b6943c9778a7481de42c9d5e25573",
          "translation": "Подсчитывает все события времени этого экземпляра Engine, использующие выбранный callback."
        },
        "/symbols/@id=script.method.common.Game.CountTimeEvent%23e41a67022275199d/description": {
          "source_sha256": "8f21e527dda545f65dd4df71b761a07f6eaeaba1820e8a7332083e7562a92f7e",
          "translation": "Возвращает единицу, если этот экземпляр Engine владеет событием времени с заданным идентификатором, или ноль, если событие отсутствует."
        },
        "/symbols/@id=script.method.common.Game.CurrentLanguage/description": {
          "source_sha256": "f18efaaf80322525d0ca917530b0bbe5c132cc7a8e0ba7fb89695dc49c69b6a6",
          "translation": "Возвращает языковой пакет, которым в данный момент владеет этот экземпляр Engine."
        },
        "/symbols/@id=script.method.common.Game.DebugBuild/description": {
          "source_sha256": "c85c7ecd83da496d15d8cd7ac0fe1e512e471d52ebcf8584264c0e3302815ac8",
          "translation": "Сообщает, является ли это нативной Debug-сборкой."
        },
        "/symbols/@id=script.method.common.Game.DecodeUtf8/description": {
          "source_sha256": "6f3475b6d2717497d0c3e36bf36f8aec12c04704f7177deae64016512c5fe31f",
          "translation": "Декодирует первую кодовую точку UTF-8 из заданного текста, записывает число потребленных байтов и возвращает скалярное значение Unicode."
        },
        "/symbols/@id=script.method.common.Game.DesktopBuild/description": {
          "source_sha256": "b68f13b813a20241d166ad7e57864e70fbf9fa30569b225834cef05ee7094535",
          "translation": "Сообщает, предназначена ли эта сборка для настольной платформы."
        },
        "/symbols/@id=script.method.common.Game.DivRem/description": {
          "source_sha256": "7aa55c9423e8aa595cbc5fd473494e7eb1a0563fcf84d0a383bd50cb399eefde",
          "translation": "Делит два знаковых целых числа, записывает остаток и возвращает частное."
        },
        "/symbols/@id=script.method.common.Game.EncodeUtf8/description": {
          "source_sha256": "5d1baa130db90fde9edb988a67356a1438e054303c3eec497f0fc2def0ef2e8b",
          "translation": "Кодирует одно скалярное значение Unicode в строку UTF-8."
        },
        "/symbols/@id=script.method.common.Game.GetAllocatorStatistics/contract/notes": {
          "source_sha256": "05a8d37e8d9ca973e37124b10c59b52d27ca58f566e85a0494f818824d145d4b",
          "translation": "Необязательный диагностический снимок; доступность и область аллокатора не являются контрактом памяти всего процесса."
        },
        "/symbols/@id=script.method.common.Game.GetAllocatorStatistics/description": {
          "source_sha256": "27d45edfc63bfe220b251265e41bd9e27ee3f533cb3801a5b94c992697690582",
          "translation": "Возвращает общие страницы rpmalloc native module и ёмкости классов размера вызывающего потока либо пустой словарь при недоступной диагностике."
        },
        "/symbols/@id=script.method.common.Game.GetClipboardText/description": {
          "source_sha256": "630e3699f519aa753d39b7dedb83d2ecc2bcf9f65f6c0fd186b21efa205bfd0e",
          "translation": "Возвращает текст, предоставленный интеграцией буфера обмена хост-приложения."
        },
        "/symbols/@id=script.method.common.Game.GetDirAngleDiff/description": {
          "source_sha256": "8f98feece1043eca13638d6e391328f22a2cb5891522323ea161023124cf2192",
          "translation": "Возвращает округленную знаковую кратчайшую угловую разницу между двумя направлениями карты в градусах."
        },
        "/symbols/@id=script.method.common.Game.GetDirection/description": {
          "source_sha256": "dc38cce8cd6a649b104cc7c72cd6d247cc1dea5ff2ce8fc5cf953afb13779345",
          "translation": "Возвращает округленное угловое направление карты от одного гекса к другому после применения необязательного смещения в градусах."
        },
        "/symbols/@id=script.method.common.Game.GetDistance/description": {
          "source_sha256": "8bf3e63803498fd966beb306494ccf952d238162e98d20ac6817dd8f0a467557",
          "translation": "Возвращает расстояние по гекс-сетке между двумя позициями карты."
        },
        "/symbols/@id=script.method.common.Game.GetHexInterval/description": {
          "source_sha256": "7707ef6636fe2887a5f87fd630094ac06d3695343a1e93ba8c2780f3ef1b8715",
          "translation": "Записывает смещение в пиксельном пространстве гекс-сетки от одной позиции карты к другой."
        },
        "/symbols/@id=script.method.common.Game.GetLanguage/description": {
          "source_sha256": "ff32f2d006e7bc9b2da608c99e7827d36e96d7c851123462a0b6963810bfa13b",
          "translation": "Возвращает язык, настроенный для этого экземпляра Engine, как хешированное значение LanguageName."
        },
        "/symbols/@id=script.method.common.Game.GetLineDirAngle/description": {
          "source_sha256": "3306c70859d3dda2d1babe56f81ec101eebc1e1d4992f4350e6b6a5ab85f37de",
          "translation": "Возвращает округленное угловое направление линии между двумя целочисленными позициями в пикселях."
        },
        "/symbols/@id=script.method.common.Game.GetModelAnimDuration/description": {
          "source_sha256": "db5d453bad90f3057a6b13878c5c579d3dfe0850d17a56116888eb01df00bb14",
          "translation": "Возвращает baked-длительность пары анимаций состояния и действия модели или ноль, если metadata модели, пара либо поддержка 3D недоступны."
        },
        "/symbols/@id=script.method.common.Game.GetPrecisionTime/description": {
          "source_sha256": "cc5e9e0a0ce394ac20857248d1b5a87da02e5e0f0a077c8054b8a52795036f1a",
          "translation": "Возвращает текущую монотонную временную точку высокого разрешения для измерения локально прошедшего в процессе времени."
        },
        "/symbols/@id=script.method.common.Game.GetProtoCritter/description": {
          "source_sha256": "a8bafb339cca1319e0f686a653a4b42b1e073e64bcc434a02a9f6b41b5acda90",
          "translation": "Возвращает зарегистрированный прототип криттера по заданному идентификатору; неизвестный идентификатор приводит к исключению и может быть заранее проверен через CheckProtoCritter."
        },
        "/symbols/@id=script.method.common.Game.GetProtoCritters%235e6c5c33c1f46eab/description": {
          "source_sha256": "30c33756ac651b11b9f4c79eaab232157137e10896df7ad8bd0c58000b676c97",
          "translation": "Возвращает handles всех зарегистрированных прототипов криттеров."
        },
        "/symbols/@id=script.method.common.Game.GetProtoCritters%23b2a34033b30fd6e4/description": {
          "source_sha256": "01f9b4d41a29f3853b7395be3f600509e0d5884724fb69ad3efc613458fa4732",
          "translation": "Возвращает зарегистрированные прототипы криттеров, у которых выбранное приводимое к целому свойство равно заданному значению."
        },
        "/symbols/@id=script.method.common.Game.GetProtoItem/description": {
          "source_sha256": "abae9b57155c9907413b6ed208498d77864a984775186acf77d9071415ce672e",
          "translation": "Возвращает зарегистрированный прототип предмета по заданному идентификатору; неизвестный идентификатор приводит к исключению и может быть заранее проверен через CheckProtoItem."
        },
        "/symbols/@id=script.method.common.Game.GetProtoItems%23dadf6ac4c721c1c3/description": {
          "source_sha256": "7606b53fc47e366074cf73cf3a721163aadff274b1c4ba1fec367d0e1a1a30b7",
          "translation": "Возвращает handles всех зарегистрированных прототипов предметов."
        },
        "/symbols/@id=script.method.common.Game.GetProtoItems%23ebadf2a9b94bef13/description": {
          "source_sha256": "453f941e2597342c949d9134f06ae64258938a856500d7ec2de4bb5da965e985",
          "translation": "Возвращает зарегистрированные прототипы предметов, у которых выбранное приводимое к целому свойство равно заданному значению."
        },
        "/symbols/@id=script.method.common.Game.GetProtoLocation/description": {
          "source_sha256": "78f4df6146e6efb96ced2672e516b1e634198bed7f7117cb803bba9a3ce603f2",
          "translation": "Возвращает зарегистрированный прототип локации по заданному идентификатору; неизвестный идентификатор приводит к исключению и может быть заранее проверен через CheckProtoLocation."
        },
        "/symbols/@id=script.method.common.Game.GetProtoLocations%231b5286830c6298ad/description": {
          "source_sha256": "065a7c5b8bee29d5b77dc3167e1dec7a65e6577e1d9c4baf07dd18edc38219c9",
          "translation": "Возвращает handles всех зарегистрированных прототипов локаций."
        },
        "/symbols/@id=script.method.common.Game.GetProtoLocations%2377f203867b4d1242/description": {
          "source_sha256": "bc36a4c8776bd2ade2cab44d168418089a4d8bfe71d1165f16d873929215793f",
          "translation": "Возвращает зарегистрированные прототипы локаций, у которых выбранное приводимое к целому свойство равно заданному значению."
        },
        "/symbols/@id=script.method.common.Game.GetProtoMap/description": {
          "source_sha256": "77290a0cc832bce1c325ffaee4b4dd309fc65aebc19328679f8f43f831db762c",
          "translation": "Возвращает зарегистрированный прототип карты по заданному идентификатору; неизвестный идентификатор приводит к исключению и может быть заранее проверен через CheckProtoMap."
        },
        "/symbols/@id=script.method.common.Game.GetProtoMaps%23278f6581638f2219/description": {
          "source_sha256": "fcf259e360b9a3a5bf8b5dfbd0bb9ae6fa5940954d6f7bdae0c09cc68401ef0e",
          "translation": "Возвращает handles всех зарегистрированных прототипов карт."
        },
        "/symbols/@id=script.method.common.Game.GetProtoMaps%2354a26bee3bd9428d/description": {
          "source_sha256": "1fa17a03d1434b85abb6fc3e245f4baa78ba9cfd16c094ed2e1b113ff0bb8535",
          "translation": "Возвращает зарегистрированные прототипы карт, у которых выбранное приводимое к целому свойство равно заданному значению."
        },
        "/symbols/@id=script.method.common.Game.GetUnixTime/description": {
          "source_sha256": "b953bb0f23ded8ae51657811b9f507f8078a573ae4edc47dcbc3066cc80158b5",
          "translation": "Возвращает текущую временную метку Unix в целых секундах."
        },
        "/symbols/@id=script.method.common.Game.GitBranch/description": {
          "source_sha256": "55f097b06cf5bfd651a6cf5db369fff40369862be6db3d8c28361873f67a46d2",
          "translation": "Возвращает ветку исходного кода, записанную при сборке этого бинарного файла."
        },
        "/symbols/@id=script.method.common.Game.GitCommit/description": {
          "source_sha256": "c163ff4503d0a6c3d00f63404758925ed1bd0dab708b7cff486b140094ad458f",
          "translation": "Возвращает ревизию исходного кода, записанную при сборке этого бинарного файла."
        },
        "/symbols/@id=script.method.common.Game.IOsBuild/description": {
          "source_sha256": "576b2fc5372bd082e05efc448171454a4b45f5678d54fcb31196575a68f4a9eb",
          "translation": "Сообщает, предназначена ли эта сборка для iOS."
        },
        "/symbols/@id=script.method.common.Game.ImGui/description": {
          "source_sha256": "fbd04aa4518d9827fe168152d2a12303a5078f08e1f4a54090cb37b2bb12f60e",
          "translation": "Возвращает скриптовый фасад Engine ImGui во время активного кадра ImGui; выбрасывает исключение, если контекст или область кадра недоступны."
        },
        "/symbols/@id=script.method.common.Game.IsImGuiAvailable/description": {
          "source_sha256": "00b21701975efcef505fed04b054e18b7528d649bcb25074b822708eec8490bf",
          "translation": "Возвращает, существует ли контекст ImGui и находится ли он сейчас внутри области активного кадра."
        },
        "/symbols/@id=script.method.common.Game.IsResourcePresent/description": {
          "source_sha256": "104055d8f03f9c43105d273ff39f6a6998f555f806473de2e098983441ff8e9e",
          "translation": "Возвращает, может ли поставщик ресурсов Engine разрешить файл по заданному пути ресурса."
        },
        "/symbols/@id=script.method.common.Game.LinuxBuild/description": {
          "source_sha256": "26909169e37bbe36e7538e86a4c829554f67fce544206d906805e6be2dbf1336",
          "translation": "Сообщает, предназначена ли эта сборка для Linux."
        },
        "/symbols/@id=script.method.common.Game.Log/description": {
          "source_sha256": "d007f4620b8a9644ef1c7d995e6900a80db91390d7f72ec4a4d244ed32a3c183",
          "translation": "Записывает заданный текст как одно сообщение журнала Engine."
        },
        "/symbols/@id=script.method.common.Game.LogError/description": {
          "source_sha256": "1029e4d2c7b9cc6d6fa2b9853246dbc0e40a9b18f615b2234071e2bac8b23eb6",
          "translation": "Записывает заданный текст как одно сообщение журнала Engine уровня ошибки."
        },
        "/symbols/@id=script.method.common.Game.LogWarning/description": {
          "source_sha256": "8678c874479e9c880c54464cda7aef17bd6112bfda7826b39bf3231dff93a2de",
          "translation": "Записывает заданный текст как одно сообщение журнала Engine уровня предупреждения."
        },
        "/symbols/@id=script.method.common.Game.MacOsBuild/description": {
          "source_sha256": "035078f5d159423872f7211633c168ab9c0abf50bdef8b52bb6b338f7753109b",
          "translation": "Сообщает, предназначена ли эта сборка для macOS."
        },
        "/symbols/@id=script.method.common.Game.MapDirCount/description": {
          "source_sha256": "7e74cf87e212b4d16ddcab7070cf610e39d4bd4bcaf24c490c8c2371da7f31cf",
          "translation": "Возвращает заданное при компиляции число направлений движения для настроенной геометрии карты."
        },
        "/symbols/@id=script.method.common.Game.MapHexagonal/description": {
          "source_sha256": "29a8cd2af651efa8d450c829717c0841db4682702895180b03e1598c85dda4eb",
          "translation": "Сообщает, является ли настроенная геометрия карты шестиугольной."
        },
        "/symbols/@id=script.method.common.Game.MapSquare/description": {
          "source_sha256": "716e4726bf2580d735bab82f23421827a4a1f1caef34fde17cce853e946a1dd9",
          "translation": "Сообщает, является ли настроенная геометрия карты квадратной."
        },
        "/symbols/@id=script.method.common.Game.OpenLink/description": {
          "source_sha256": "51e7d1fc4b359366d5c84aeb327225d0b853e4f207b725608f88aed74c225eeb",
          "translation": "Просит хост-приложение открыть заданную ссылку через платформенную интеграцию."
        },
        "/symbols/@id=script.method.common.Game.PackSynchronizedTime/description": {
          "source_sha256": "ba6bb6f665577280d4716059e0a0a1900dfd19f392b04baec7afe66510d0cbd3",
          "translation": "Преобразует локальную календарную дату с точностью до миллисекунд в домен синхронизированного времени Engine; некорректная дата приводит к исключению."
        },
        "/symbols/@id=script.method.common.Game.PackTime/description": {
          "source_sha256": "a27e0b5d75d4ef740d9fbcb2335fca0704d09ff96f0ef2c6b5857e9209808cd8",
          "translation": "Преобразует локальную календарную дату и поля долей секунды в соответствующую временную точку высокого разрешения; некорректная дата приводит к исключению."
        },
        "/symbols/@id=script.method.common.Game.Random/description": {
          "source_sha256": "9f8c5a1d40330dad1988459660e997fc72fa4e863732ebdc0b45ef29f6943551",
          "translation": "Возвращает случайное целое Engine во включительном диапазоне, заданном минимумом и максимумом."
        },
        "/symbols/@id=script.method.common.Game.ReadConfigSection/description": {
          "source_sha256": "c2fe745dc5a80eff57689a958a5425e94789627dad45bdc9ca715cd6c9764389",
          "translation": "Читает ресурс в синтаксисе конфигурации Engine и возвращает запрошенную секцию как строки ключей и значений либо пустую map, если секция отсутствует."
        },
        "/symbols/@id=script.method.common.Game.ReadResource/description": {
          "source_sha256": "8bf58ffe0ea0840251766a7d15e3ed757feb0190307157baaf72c9e08ff2dfa0",
          "translation": "Читает и возвращает текстовый файл через поставщик ресурсов Engine."
        },
        "/symbols/@id=script.method.common.Game.RepeatTimeEvent%2328154675b58100aa/description": {
          "source_sha256": "e77aa37addb49c72b050667f14e600cc1d1f4465538f18cd6b8cb103cf0390ed",
          "translation": "Задает интервал повтора события с этим идентификатором и переносит его следующее срабатывание на текущий момент плюс новый интервал; ничего не делает, если событие отсутствует."
        },
        "/symbols/@id=script.method.common.Game.RepeatTimeEvent%23652b690f3dfe13f6/description": {
          "source_sha256": "d6c62265877bdceacbf0cf42bfeafdedfd0801c5eb231a77b3952ce70b7be6ad",
          "translation": "Задает интервал повтора всех событий с подходящим callback и переносит каждое следующее срабатывание на текущий момент плюс новый интервал; ничего не делает при отсутствии совпадений."
        },
        "/symbols/@id=script.method.common.Game.RepeatTimeEvent%239e12c325ddb90694/description": {
          "source_sha256": "d6c62265877bdceacbf0cf42bfeafdedfd0801c5eb231a77b3952ce70b7be6ad",
          "translation": "Задает интервал повтора всех событий с подходящим callback и переносит каждое следующее срабатывание на текущий момент плюс новый интервал; ничего не делает при отсутствии совпадений."
        },
        "/symbols/@id=script.method.common.Game.RepeatTimeEvent%23a65d2cbccf611310/description": {
          "source_sha256": "823ca3aaefde56ee64f5454e389eb452fdddacecb3fd9ea3ce1d498acc35f67c",
          "translation": "Задает интервал повтора всех событий с подходящим контекстным callback и переносит каждое следующее срабатывание на текущий момент плюс новый интервал; ничего не делает при отсутствии совпадений."
        },
        "/symbols/@id=script.method.common.Game.RepeatTimeEvent%23fc48af159fae9e5d/description": {
          "source_sha256": "d6c62265877bdceacbf0cf42bfeafdedfd0801c5eb231a77b3952ce70b7be6ad",
          "translation": "Задает интервал повтора всех событий с подходящим callback и переносит каждое следующее срабатывание на текущий момент плюс новый интервал; ничего не делает при отсутствии совпадений."
        },
        "/symbols/@id=script.method.common.Game.RequestQuit/description": {
          "source_sha256": "feb42c32fefa1fa50e54d519bfb32cbaf339ef6a5e6e7541a9993e7702353c97",
          "translation": "Запрашивает завершение приложения и помечает итоговый результат процесса как успешный или неуспешный согласно аргументу."
        },
        "/symbols/@id=script.method.common.Game.RotateDirAngle/description": {
          "source_sha256": "06032f42822d12a818cc6062a57d402d6b2e3970f0dfac945be530580ceaac2d",
          "translation": "Поворачивает угловое направление по или против часовой стрелки на заданный шаг в градусах и нормализует его в диапазон от нуля до 359."
        },
        "/symbols/@id=script.method.common.Game.SetClipboardText/description": {
          "source_sha256": "3e6e97869362215911eb992f152dd47428e9f5435e896450f2feabf1868500b5",
          "translation": "Заменяет текст в буфере обмена хост-приложения через платформенную интеграцию."
        },
        "/symbols/@id=script.method.common.Game.SetTimeEventData%23663f5a321c3707f7/description": {
          "source_sha256": "815cf545003b176c4dbab9e85444998a45763e5a120af495e2ad202e59402113",
          "translation": "Заменяет одно значение контекстного payload для каждого события времени с выбранным callback; ничего не делает при отсутствии совпадений."
        },
        "/symbols/@id=script.method.common.Game.SetTimeEventData%23995b7ca79df38c35/description": {
          "source_sha256": "536a15d84c85f32c3a91bfbaa18547248521a0cb9ef99d8016b957122f177bd0",
          "translation": "Заменяет одно значение payload события времени с этим идентификатором; ничего не делает, если событие отсутствует."
        },
        "/symbols/@id=script.method.common.Game.SetTimeEventData%23adb2b4962b8e3874/description": {
          "source_sha256": "2e9569a9d22462201fd581020eaec016085c502486bd53ec171098a6c62c131a",
          "translation": "Заменяет массив payload события времени с этим идентификатором; ничего не делает, если событие отсутствует."
        },
        "/symbols/@id=script.method.common.Game.SetTimeEventData%23f050f171334586b4/description": {
          "source_sha256": "6a7894558cde6c46a98de8747684a5c532bf81c07f041a162d09e5254ff754fa",
          "translation": "Заменяет массив контекстного payload для каждого события времени с выбранным callback; ничего не делает при отсутствии совпадений."
        },
        "/symbols/@id=script.method.common.Game.SetTimeEventData%23f19e035707634deb/description": {
          "source_sha256": "8d729c8761bd8cee14622ea86116914ff7e115db29080d5d389fdc908f87fb2e",
          "translation": "Заменяет одно прямое значение payload для каждого события времени с выбранным callback; ничего не делает при отсутствии совпадений."
        },
        "/symbols/@id=script.method.common.Game.SetTimeEventData%23f70e313f0f2186e1/description": {
          "source_sha256": "f1d161fc3e5da2dcb4dcbccf9e4176dd3da6b96fc062a73a8612284f7d888409",
          "translation": "Заменяет массив прямого payload для каждого события времени с выбранным callback; ничего не делает при отсутствии совпадений."
        },
        "/symbols/@id=script.method.common.Game.StartTimeEvent%230f8d3281846b110f/description": {
          "source_sha256": "e9b78ea3513b15923fe539f1347ee424604f496a6a0ef83f7c506d671c84433d",
          "translation": "Планирует однократное событие времени этого экземпляра Engine после заданной задержки и возвращает его идентификатор."
        },
        "/symbols/@id=script.method.common.Game.StartTimeEvent%232e2e75ee1f40e7ce/description": {
          "source_sha256": "94e0118f1f139a591be2903c465aafd95ab5422681bece319d0a3b98c938a370",
          "translation": "Планирует повторяющееся событие времени Engine с прямым массивом payload callback и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.common.Game.StartTimeEvent%233a6c8eb0039422c6/description": {
          "source_sha256": "cd55a8f42cdaceceaef355ebda67f98a79014e9d1dd12bdcbfa535dafc8c3ba3",
          "translation": "Планирует повторяющееся событие времени Engine, контекст callback которого предоставляет массив payload, и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.common.Game.StartTimeEvent%2360478fb435a8d90e/description": {
          "source_sha256": "89b94d4ba6f490d2f1ce428328cbf55c9653aa6ea0220ce4613798dd8bb0ef00",
          "translation": "Планирует однократное событие времени Engine, callback которого получает контекст для просмотра или изменения события, и возвращает его идентификатор."
        },
        "/symbols/@id=script.method.common.Game.StartTimeEvent%2369df693441c071bc/description": {
          "source_sha256": "86b36cd6757c16cb093aee7145febf215677cbd6495faef65f1393621fd49a88",
          "translation": "Планирует однократное событие времени Engine, контекст callback которого предоставляет массив payload, и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.common.Game.StartTimeEvent%23803750a4ea861cf2/description": {
          "source_sha256": "06e2d1804eced9054ab850797547d37e72098ece101744406cd910576875c3c1",
          "translation": "Планирует повторяющееся событие времени Engine с одним прямым значением payload callback и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.common.Game.StartTimeEvent%238ff2132c2ddcab3e/description": {
          "source_sha256": "c8db90b06962c4ec68d7466d5faba5ee28ef87d7a7b7d2613484b4fa4e6a5177",
          "translation": "Планирует повторяющееся событие времени Engine, callback которого получает контекст для просмотра или изменения события, и возвращает его идентификатор."
        },
        "/symbols/@id=script.method.common.Game.StartTimeEvent%239c79861746d77659/description": {
          "source_sha256": "09cab8faf45eb052a64af3940e789b62e37f5d58c5537e2225c43aed4bc1bac7",
          "translation": "Планирует повторяющееся событие времени этого экземпляра Engine с первым срабатыванием после delay и последующими через repeat и возвращает его идентификатор."
        },
        "/symbols/@id=script.method.common.Game.StartTimeEvent%239f7fe12a272e5705/description": {
          "source_sha256": "abbfa6cae10a60e4e8d92028f8d1650f6443b9a2b75ed2f694b2bb905d3327f2",
          "translation": "Планирует повторяющееся событие времени Engine, контекст callback которого предоставляет одно значение payload, и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.common.Game.StartTimeEvent%23d2339300efa9e872/description": {
          "source_sha256": "56e7d0458442eb4cb71a8f86af434f342edae02dabe08d117215740899d2911a",
          "translation": "Планирует однократное событие времени Engine, передает массив payload напрямую в callback и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.common.Game.StartTimeEvent%23e60987dfd50cb4e5/description": {
          "source_sha256": "ac51194ec90a7ce0f3332b1c54440d1b289d4f3dd58138989cb1653bc038b512",
          "translation": "Планирует однократное событие времени Engine, передает одно значение payload напрямую в callback и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.common.Game.StartTimeEvent%23fa4e11482a1cdbc0/description": {
          "source_sha256": "46b0c8461fc8f3ceffdcc0b197fe1c326470304166db646db3f8edcd353ed786",
          "translation": "Планирует однократное событие времени Engine, контекст callback которого предоставляет одно значение payload, и возвращает идентификатор события."
        },
        "/symbols/@id=script.method.common.Game.StopTimeEvent%231ed76dd699da2d1f/description": {
          "source_sha256": "076115394067ed056f6b8085aab65ca1b3f5d0ceee700d8fe02723c4f84be6e9",
          "translation": "Останавливает все события времени этого экземпляра Engine с выбранным callback; ничего не делает при отсутствии совпадений."
        },
        "/symbols/@id=script.method.common.Game.StopTimeEvent%2323bd9c39e1e601b4/description": {
          "source_sha256": "4b5e31032e6ba722a3f87504a6fbc7765c0fd337b68c3f4c729d11f69a45dd67",
          "translation": "Останавливает все события времени этого экземпляра Engine с выбранным контекстным callback; ничего не делает при отсутствии совпадений."
        },
        "/symbols/@id=script.method.common.Game.StopTimeEvent%23a22b85adc04c5b0a/description": {
          "source_sha256": "076115394067ed056f6b8085aab65ca1b3f5d0ceee700d8fe02723c4f84be6e9",
          "translation": "Останавливает все события времени этого экземпляра Engine с выбранным callback; ничего не делает при отсутствии совпадений."
        },
        "/symbols/@id=script.method.common.Game.StopTimeEvent%23bc872e42a8dfd6ad/description": {
          "source_sha256": "076115394067ed056f6b8085aab65ca1b3f5d0ceee700d8fe02723c4f84be6e9",
          "translation": "Останавливает все события времени этого экземпляра Engine с выбранным callback; ничего не делает при отсутствии совпадений."
        },
        "/symbols/@id=script.method.common.Game.StopTimeEvent%23be90949683fff93d/description": {
          "source_sha256": "343ceb1a31791efa8989a4cf6b178184865c53442b35ae5511144af336953b9d",
          "translation": "Останавливает событие времени с этим идентификатором в экземпляре Engine; ничего не делает, если событие отсутствует."
        },
        "/symbols/@id=script.method.common.Game.TabletBuild/description": {
          "source_sha256": "d8d447085b6c1fa34623079d958bfb29b4e06ec8b789e858476ea261f42088a2",
          "translation": "Сообщает, предназначена ли эта сборка для планшетной или мобильной платформы."
        },
        "/symbols/@id=script.method.common.Game.TraceHexLine%238955c6e7c8318b5a/description": {
          "source_sha256": "8d2fdeeed6c45bfea3b1ef3d33fad32b987b9a35bc81b76836cc7741554a7453",
          "translation": "Трассирует до заданного неотрицательного числа гексов внутри карты к цели с угловыми и пиксельными смещениями, исключая стартовый гекс и останавливаясь, когда трассировщик не может продвинуться."
        },
        "/symbols/@id=script.method.common.Game.TraceHexLine%23a8077f78b077a5f9/description": {
          "source_sha256": "c7712f205beb52856b30e62be5cf6ea1594c758195cae1dc8edf35a3dfb4cc38",
          "translation": "Трассирует до заданного неотрицательного числа гексов внутри карты под явным углом, исключает стартовый гекс и записывает последний достигнутый гекс либо стартовый, если ни один шаг не выполнен."
        },
        "/symbols/@id=script.method.common.Game.UnpackSynchronizedTime/description": {
          "source_sha256": "5bfa3c4412a3f20fed55845530f1fb6b81ae88c51612984b52bff21586f99d2e",
          "translation": "Разлагает синхронизированную временную точку Engine на локальные календарные поля с точностью до миллисекунд."
        },
        "/symbols/@id=script.method.common.Game.UnpackTime/description": {
          "source_sha256": "4e62b9c1823abc43bf543096624466511760a7170ebbe3e01c1cc1fa0bdd03e7",
          "translation": "Разлагает временную точку высокого разрешения на локальные календарные поля и доли секунды."
        },
        "/symbols/@id=script.method.common.Game.WebBuild/description": {
          "source_sha256": "877a71eb9b580f1cc5dca93228e37c8d5ed3fd9a30958db33233c440fd659fe0",
          "translation": "Сообщает, предназначен ли этот бинарный файл для платформы Web."
        },
        "/symbols/@id=script.method.common.Game.WindowsBuild/description": {
          "source_sha256": "ddde059a2e58d894900c6cf1813e5d265e756f6885414f80abf48fd4c45f6c0d",
          "translation": "Сообщает, предназначена ли эта сборка для Windows."
        },
        "/symbols/@id=script.method.common.ImGui.AlignTextToFramePadding/description": {
          "source_sha256": "5897183d0cf7424e53842f4d5979f2cbc4fd09b6b5ffea154e9b9eb8bb74c3fa",
          "translation": "Сдвигает базовую линию текущей строки, чтобы последующий текст был выровнен по вертикали с виджетами в рамках."
        },
        "/symbols/@id=script.method.common.ImGui.ArrowButton/description": {
          "source_sha256": "8e5eb983ddffb0d4e55825e6a6e3090fafcd6d5e2ad32aa0d0a5b030c1f2ef61",
          "translation": "Рисует квадратную кнопку со стрелкой и обязательным непустым ID и возвращает, была ли она активирована."
        },
        "/symbols/@id=script.method.common.ImGui.Begin%23432e0a449bff3d19/description": {
          "source_sha256": "b6db23af266f2470383f5b60e0a19b7cfc5ae04c591241950c49f851efc6556d",
          "translation": "Начинает окно с обязательной непустой меткой и возвращает, следует ли отправлять его содержимое; вызов всегда нужно парно завершать End, даже при false."
        },
        "/symbols/@id=script.method.common.ImGui.Begin%23d84f88f92ac145e9/description": {
          "source_sha256": "dad75e3a5cfb8467b92b717899c47559100f7bb1d3210cf0f07ffdaccc94fc78",
          "translation": "Начинает закрываемое окно с обязательной непустой меткой, обновляет opened при использовании кнопки закрытия и возвращает, следует ли отправлять содержимое; вызов всегда завершается End."
        },
        "/symbols/@id=script.method.common.ImGui.BeginChild%2391e43db0a33e8f18/description": {
          "source_sha256": "fadd0d9cdbbf4ceab41b2be7a80fe56f24683855ba9d04e8885971e86bad8fd2",
          "translation": "Начинает дочернюю область с обязательным непустым ID и явными флагами дочерней области и окна; вызов всегда завершается EndChild независимо от результата."
        },
        "/symbols/@id=script.method.common.ImGui.BeginChild%23ec21177b87910173/description": {
          "source_sha256": "21e6b7988a3f199f438985694027d2169206f098fdd4d419efee7b3890f41ebd",
          "translation": "Начинает дочернюю область с обязательным непустым ID, заданным размером и необязательной рамкой; вызов всегда нужно парно завершать EndChild независимо от результата."
        },
        "/symbols/@id=script.method.common.ImGui.BeginCombo/description": {
          "source_sha256": "d8b41f20f6f7508988ca19c8b8228bc36ad316fbfb1c4b0bf980c6b816ac74ff",
          "translation": "Начинает настраиваемый combo с обязательной непустой меткой, previewValue и флагами и возвращает, можно ли отправлять содержимое popup; вызывайте EndCombo только при true."
        },
        "/symbols/@id=script.method.common.ImGui.BeginDisabled/description": {
          "source_sha256": "c81aa607712631e50092ae918e7ce79451d77ac203d765fd399a89c189ca0eab",
          "translation": "Начинает отключённую область по запросу, сохраняя сбалансированную область и при false; всегда завершайте вызовом EndDisabled."
        },
        "/symbols/@id=script.method.common.ImGui.BeginGroup/description": {
          "source_sha256": "00d00089938424a62b42e9fc3ab44d74722b67538434898fa89ee7dc4d9fb20f",
          "translation": "Начинает группировать последующие элементы в единый составной прямоугольник разметки и взаимодействия."
        },
        "/symbols/@id=script.method.common.ImGui.BeginItemTooltip/description": {
          "source_sha256": "6c5176c9eacba1fff4e2cc4c356761d326868b8f0ae75ce5de509afd956f5188",
          "translation": "Начинает tooltip, когда наведён последний элемент, и возвращает, был ли он открыт; вызывайте EndTooltip только при true."
        },
        "/symbols/@id=script.method.common.ImGui.BeginListBox/description": {
          "source_sha256": "1fb03bb9a8596ebbe32ad10d8283c73cbe45f7403fe9d22d65cfa604de864ae7",
          "translation": "Начинает список с обязательной непустой меткой и заданным размером и возвращает, можно ли отправлять содержимое; вызывайте EndListBox только при true."
        },
        "/symbols/@id=script.method.common.ImGui.BeginMainMenuBar/description": {
          "source_sha256": "f3966a1358dd40d57f7ec965f7f8d6607fc4e433b1bfaa353e08df7977580531",
          "translation": "Начинает строку главного меню основного viewport и возвращает, можно ли отправлять содержимое; вызывайте EndMainMenuBar только при true."
        },
        "/symbols/@id=script.method.common.ImGui.BeginMenu/description": {
          "source_sha256": "249511b2c6cba840b4e239d83be26da044413716a5332b478ea5da1918ef1732",
          "translation": "Начинает включённое или отключённое меню с обязательной непустой меткой и возвращает, открыто ли оно; вызывайте EndMenu только при true."
        },
        "/symbols/@id=script.method.common.ImGui.BeginMenuBar/description": {
          "source_sha256": "df75f2701e79068131052340cc86d0fda0cdc0544c983bbf9c01a84c6fefde08",
          "translation": "Начинает строку меню текущего окна и возвращает, можно ли отправлять содержимое; вызывайте EndMenuBar только при true."
        },
        "/symbols/@id=script.method.common.ImGui.BeginPopup/description": {
          "source_sha256": "e154068b2e48ecc48c09b269045c6fc11dc6df4a977b055e9b6b9597907b6b8c",
          "translation": "Начинает немодальный popup с обязательным непустым ID и возвращает, следует ли отправлять его содержимое; вызывайте EndPopup только при true."
        },
        "/symbols/@id=script.method.common.ImGui.BeginPopupContextItem/description": {
          "source_sha256": "9262941e0272193996d13715c1559d57e7343d151847ff3e55c02155073632d3",
          "translation": "Открывает и начинает контекстный popup последнего элемента с переданными флагами, используя ID последнего элемента при пустом strId; вызывайте EndPopup только при true."
        },
        "/symbols/@id=script.method.common.ImGui.BeginPopupContextVoid/description": {
          "source_sha256": "641c86742acfdb709bdd36f4854d479d4568909db88d4be23a763de035a97051",
          "translation": "Открывает и начинает контекстный popup над пустым пространством с переданными флагами, формируя ID при пустом strId; вызывайте EndPopup только при true."
        },
        "/symbols/@id=script.method.common.ImGui.BeginPopupContextWindow/description": {
          "source_sha256": "58601eba7d6d193187c79b60295baf6671a7e424e28bd70f3f751b4d5097cbc5",
          "translation": "Открывает и начинает контекстный popup текущего окна с переданными флагами, формируя ID при пустом strId; вызывайте EndPopup только при true."
        },
        "/symbols/@id=script.method.common.ImGui.BeginPopupModal%231e97b73df215a7fc/description": {
          "source_sha256": "ec857822e5aae29a4b9d4b579abbba7ba029e5346f0c2f30413b5a7e8b6de363",
          "translation": "Начинает закрываемый модальный popup с обязательным непустым именем, обновляет opened из кнопки закрытия и возвращает, следует ли отправлять содержимое; EndPopup вызывается только при true."
        },
        "/symbols/@id=script.method.common.ImGui.BeginPopupModal%23d6ec4d0ad6e4297f/description": {
          "source_sha256": "ab0109a7ead6e86a1113062a6266c6de988e9718605c2c174acca2b8be66b644",
          "translation": "Начинает модальный popup с обязательным непустым именем и возвращает, следует ли отправлять его содержимое; вызывайте EndPopup только при true."
        },
        "/symbols/@id=script.method.common.ImGui.BeginTabBar/description": {
          "source_sha256": "7de4fcf914e1e29bc61443e4099b60fda33d9c015d526de566a1a6fe1bbec920",
          "translation": "Начинает панель вкладок с обязательным непустым ID и возвращает, можно ли отправлять содержимое; вызывайте EndTabBar только при true."
        },
        "/symbols/@id=script.method.common.ImGui.BeginTabItem%238769abbb356a8660/description": {
          "source_sha256": "ac994e30ea68882e9f95d68caece9e431c556a790632ef870e9449a243aa5ac0",
          "translation": "Начинает вкладку с обязательной непустой меткой и возвращает, видно ли её содержимое; вызывайте EndTabItem только при true."
        },
        "/symbols/@id=script.method.common.ImGui.BeginTabItem%2399825a7be7e7e25c/description": {
          "source_sha256": "d27aecd67cf43a6d6e0cc3d82aab15c1a69051b205b60e465706c87e645fc8cc",
          "translation": "Начинает закрываемую вкладку с обязательной непустой меткой, обновляет opened из кнопки закрытия и возвращает, видно ли содержимое; EndTabItem вызывается только при true."
        },
        "/symbols/@id=script.method.common.ImGui.BeginTable/description": {
          "source_sha256": "0cfc1e59adf0cc9c7bcf115eddbf2a348b5ad02640e493ad61c50696df1b63ae",
          "translation": "Начинает таблицу с обязательным непустым ID и положительным числом столбцов и возвращает, можно ли отправлять содержимое; вызывайте EndTable только при true."
        },
        "/symbols/@id=script.method.common.ImGui.BeginTooltip/description": {
          "source_sha256": "0dca85bacde4f4cbbb6ad17ef0ad0dd6e3b87e745359d8cdb77efffe262085a3",
          "translation": "Начинает безусловное окно tooltip; завершите его через EndTooltip."
        },
        "/symbols/@id=script.method.common.ImGui.Bullet/description": {
          "source_sha256": "fb789eca7b2fda9cd6a1c2cfc3d42faa0a4d06c97ec57911c1da31c960671f8a",
          "translation": "Рисует отдельный маркер и перемещает курсор в той же строке для последующего содержимого."
        },
        "/symbols/@id=script.method.common.ImGui.BulletText/description": {
          "source_sha256": "713c31bfd13592b6d6e887d2dcf5f46f7222bc0f9c4ea7661762bb53804cfd29",
          "translation": "Рисует переданный текст с маркером ImGui перед ним."
        },
        "/symbols/@id=script.method.common.ImGui.Button/description": {
          "source_sha256": "50a98c5084e68ce82e8d934ae092d23cffc4654f76357d98de67764c35b1e53f",
          "translation": "Рисует кнопку с обязательной непустой меткой и возвращает, была ли она активирована."
        },
        "/symbols/@id=script.method.common.ImGui.CalcItemWidth/description": {
          "source_sha256": "4f62eca9f610b46e3ff4765a853e7b6b0fe52f7ff9574cbc9cf188bc3579ab37",
          "translation": "Вычисляет и возвращает ширину, которую ImGui применит к следующему элементу."
        },
        "/symbols/@id=script.method.common.ImGui.CalcTextSize/description": {
          "source_sha256": "c29bef6b0d926a03dfbba4e3ba58e97cfd294c9416ca23e12996b30cdcd67f85",
          "translation": "Измеряет текст текущим шрифтом, при необходимости скрывая ID-суффикс после ## и перенося строки по заданной ширине."
        },
        "/symbols/@id=script.method.common.ImGui.Checkbox/description": {
          "source_sha256": "92c9e9a20375fa8c09f3101e206fb53467f9132448d790577bc24c75b76960b4",
          "translation": "Рисует флажок с обязательной непустой меткой, обновляет value при взаимодействии и возвращает, изменилось ли значение."
        },
        "/symbols/@id=script.method.common.ImGui.CheckboxFlags%23458f2952235bd5d1/description": {
          "source_sha256": "f6748aa0324deba60c7de131304102a8359d36c7cdfdd83c0c2fa6dde5c006ca",
          "translation": "Рисует флажок с обязательной непустой меткой, переключающий выбранные знаковые биты флагов, и возвращает, изменились ли flags."
        },
        "/symbols/@id=script.method.common.ImGui.CheckboxFlags%23f574f68257656ebd/description": {
          "source_sha256": "c1e695b05cc96f862aa7fa66420051f111de9a4160bd28d8037811db5afa741b",
          "translation": "Рисует флажок с обязательной непустой меткой, переключающий выбранные беззнаковые биты флагов, и возвращает, изменились ли flags."
        },
        "/symbols/@id=script.method.common.ImGui.CloseCurrentPopup/description": {
          "source_sha256": "423370fe8c5adedb3b2d4868da3d93357aea2397c820d920f8b660f457c1e600",
          "translation": "Запрашивает закрытие текущего popup в конце кадра."
        },
        "/symbols/@id=script.method.common.ImGui.CollapsingHeader/description": {
          "source_sha256": "030b9c34ffd12f5f9873ddde2fb064e56cb4af869c3b59e66eedf063fc9abff3",
          "translation": "Рисует сворачиваемый заголовок с обязательной непустой меткой и возвращает, видно ли его содержимое; область дерева не помещается в стек."
        },
        "/symbols/@id=script.method.common.ImGui.ColorButton/description": {
          "source_sha256": "cf65db394d82ee27c7e478fff712ce20873b4524c046c288fc574af6711bb015",
          "translation": "Рисует кнопку предпросмотра цвета с обязательным непустым ID описания, упакованным ucolor, флагами и необязательным размером и возвращает, была ли она активирована."
        },
        "/symbols/@id=script.method.common.ImGui.ColorEdit3/description": {
          "source_sha256": "b9d32b9e6dc1082ffb49a467bb7f324cb6621e74d01d15ed037bf3ad7aeac638",
          "translation": "Рисует RGB-редактор с обязательной непустой меткой, преобразует каналы ucolor во float, сохраняет alpha и записывает ограниченные 8-битные RGB-каналы только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.ColorEdit4/description": {
          "source_sha256": "f20f5dda8372daf8d8c8ead2c91b8ead1a585669b7e86f62dd6ee9a92df5bdd5",
          "translation": "Рисует RGBA-редактор с обязательной непустой меткой, преобразует каналы ucolor во float и записывает ограниченные 8-битные RGBA-каналы только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.ColorPicker3/description": {
          "source_sha256": "d493e4ba6e2d8076e5d34fe2fa8b92331f3c0f2e2efb305e62260aca0aba64da",
          "translation": "Рисует RGB-палитру с обязательной непустой меткой, преобразует каналы ucolor во float, сохраняет alpha и записывает ограниченные 8-битные RGB-каналы только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.ColorPicker4/description": {
          "source_sha256": "0ce9241b5782f74d308a43ea395fbbb7bc931c3052d511963a4aa7134a090cc8",
          "translation": "Рисует RGBA-палитру с обязательной непустой меткой, преобразует каналы ucolor во float и записывает ограниченные 8-битные RGBA-каналы только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.Combo/description": {
          "source_sha256": "f88d97d288cbb171ff013e724dbd9415c339637a4a90cb4682ab54c9cf950828",
          "translation": "Рисует combo с обязательной непустой меткой из строки элементов, разделённых NUL, обновляет currentItem при выборе и возвращает, изменилось ли значение."
        },
        "/symbols/@id=script.method.common.ImGui.DragFloat/description": {
          "source_sha256": "0f907285bf68700d005152619bb26adafa0101fb4549fe4dcab81a1069b73dd1",
          "translation": "Рисует редактор float перетаскиванием с обязательной непустой меткой, скоростью, границами, тремя знаками после запятой и флагами слайдера; обновляет value и сообщает об изменении."
        },
        "/symbols/@id=script.method.common.ImGui.DragFloat2/description": {
          "source_sha256": "79ee06c0a5cbb34ad3d8176bc03f9ffaa829c6064a7381914bf342e15ae46054",
          "translation": "Рисует двухкомпонентный float-редактор перетаскиванием с обязательной непустой меткой и записывает оба компонента обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.DragFloat3/description": {
          "source_sha256": "c3771c7e5fbb8a2e2edc44acb2ae9482bdd4fd67b376e39293dcc0a9c21bce06",
          "translation": "Рисует трёхкомпонентный float-редактор перетаскиванием с обязательной непустой меткой и записывает все компоненты обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.DragFloat4/description": {
          "source_sha256": "079a0c1e02cca26ada3abbcda47d75069efd2116257b8c5347ec630f0cf8b079",
          "translation": "Рисует четырёхкомпонентный float-редактор перетаскиванием с обязательной непустой меткой и записывает все компоненты обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.DragInt/description": {
          "source_sha256": "f456ded13fb8c6c1d75652129bb3bc5d45f1f7d242e1fc6afd9d7ca1b9766631",
          "translation": "Рисует целочисленный редактор перетаскиванием с обязательной непустой меткой, скоростью, границами и флагами слайдера; обновляет value и сообщает об изменении."
        },
        "/symbols/@id=script.method.common.ImGui.DragInt2/description": {
          "source_sha256": "d1a39954acd30a9fb609dfece7225ef4d0f03a77c7f05da5a0326c57d4eeb4f8",
          "translation": "Рисует двухкомпонентный целочисленный редактор перетаскиванием с обязательной непустой меткой и записывает оба компонента обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.DragInt3/description": {
          "source_sha256": "0c467915666b2fa15be7fcb48acb85f4a91ab4bfa3b23b088cd34b494bd4f6d5",
          "translation": "Рисует трёхкомпонентный целочисленный редактор перетаскиванием с обязательной непустой меткой и записывает все компоненты обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.DragInt4/description": {
          "source_sha256": "add26288bf020bca434efc3df442d1ce19c90cec240e77b9ea78d978634036aa",
          "translation": "Рисует четырёхкомпонентный целочисленный редактор перетаскиванием с обязательной непустой меткой и записывает все компоненты обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.Dummy/description": {
          "source_sha256": "8f3e35952c32cc7104d394788463b6df2056cbe34bf77d10e046b73124407417",
          "translation": "Отправляет невидимый элемент разметки заданного размера."
        },
        "/symbols/@id=script.method.common.ImGui.End/description": {
          "source_sha256": "a79ba6b71b0dce5b919645de1626db36a9a8d0a6013201e41b5087b9ecc66e5a",
          "translation": "Завершает текущее окно, начатое Begin; вызов обязателен независимо от результата Begin."
        },
        "/symbols/@id=script.method.common.ImGui.EndChild/description": {
          "source_sha256": "34e2ef5595b7a2b919d3a309c182b74d407a25f9be55ef7972cedee40014d71d",
          "translation": "Завершает текущую дочернюю область, начатую BeginChild; вызов обязателен независимо от результата BeginChild."
        },
        "/symbols/@id=script.method.common.ImGui.EndCombo/description": {
          "source_sha256": "9bd102049981be3e1c008df647ec8c94f7858579b1cf5fc389a4dfff84c3ec3d",
          "translation": "Завершает содержимое настраиваемого combo, начатое успешным вызовом BeginCombo."
        },
        "/symbols/@id=script.method.common.ImGui.EndDisabled/description": {
          "source_sha256": "35808a479fd5a677f3f6701694b3ec1e12336e0ae59dee76ad9d829c2ead47aa",
          "translation": "Завершает текущую область, начатую BeginDisabled."
        },
        "/symbols/@id=script.method.common.ImGui.EndGroup/description": {
          "source_sha256": "b902b2c1147c8ec0916a560d7ccd1b5c7bfc36bdf18e35261c33d28fa3ad31f9",
          "translation": "Завершает текущую группу и делает её последним отправленным элементом."
        },
        "/symbols/@id=script.method.common.ImGui.EndListBox/description": {
          "source_sha256": "75fafd67b48969bc13eb97ae768bdc243075b034c7f37f9a40d4f92d9edb1cf4",
          "translation": "Завершает список, начатый успешным вызовом BeginListBox."
        },
        "/symbols/@id=script.method.common.ImGui.EndMainMenuBar/description": {
          "source_sha256": "52e4097448146c9145beae5430e595261288aa14ddf9f9636d4a0c164c41ab77",
          "translation": "Завершает строку главного меню, начатую успешным вызовом BeginMainMenuBar."
        },
        "/symbols/@id=script.method.common.ImGui.EndMenu/description": {
          "source_sha256": "ae7029d8fa065dabb0b6e5571b5d6a87c27ddeb81ae4118bc5d36313782a3d61",
          "translation": "Завершает меню, начатое успешным вызовом BeginMenu."
        },
        "/symbols/@id=script.method.common.ImGui.EndMenuBar/description": {
          "source_sha256": "c6a0241289e82383e2e1cbc19ce6e20586ac752d6beedea7d5859fecca87cc92",
          "translation": "Завершает строку меню окна, начатую успешным вызовом BeginMenuBar."
        },
        "/symbols/@id=script.method.common.ImGui.EndPopup/description": {
          "source_sha256": "ff089f4b72c6f755bd47b3c28617c506ed2de53e980c2e713ca01123b9ea58e6",
          "translation": "Завершает popup, начатый успешным вызовом BeginPopup, BeginPopupModal или контекстного popup."
        },
        "/symbols/@id=script.method.common.ImGui.EndTabBar/description": {
          "source_sha256": "617d2d643723a84ab2015804712058fe2c59f82392ce833e9014c4923f612655",
          "translation": "Завершает панель вкладок, начатую успешным вызовом BeginTabBar."
        },
        "/symbols/@id=script.method.common.ImGui.EndTabItem/description": {
          "source_sha256": "b494a554d9851a45d7088ca28ac54ac3b677b89163b0fba2d6892d2483976ae2",
          "translation": "Завершает вкладку, начатую успешным вызовом BeginTabItem."
        },
        "/symbols/@id=script.method.common.ImGui.EndTable/description": {
          "source_sha256": "c49537cc0d189bfe124b1ac916525fd239275ea1061856c914bab522325555db",
          "translation": "Завершает таблицу, начатую успешным вызовом BeginTable."
        },
        "/symbols/@id=script.method.common.ImGui.EndTooltip/description": {
          "source_sha256": "714158dd5b3e8b1ae4d3dbf9c7909b5e1be79bb6564d819e848acfb508f858af",
          "translation": "Завершает текущий tooltip, начатый BeginTooltip или успешным BeginItemTooltip."
        },
        "/symbols/@id=script.method.common.ImGui.GetClipboardText/description": {
          "source_sha256": "6361f86b245f8c0447c9c1f1099c461c47c3c21781d0c15c83ddb136ac8f6c46",
          "translation": "Возвращает текст из платформенного backend буфера обмена ImGui или пустую строку, если backend вернул null."
        },
        "/symbols/@id=script.method.common.ImGui.GetContentRegionAvailX/description": {
          "source_sha256": "33a4ec76f9aac1b9dd38918b836a5801c12b6b34844a7f3575cc7f7768b400e5",
          "translation": "Возвращает доступное горизонтальное пространство от текущего курсора до границы области содержимого."
        },
        "/symbols/@id=script.method.common.ImGui.GetContentRegionAvailY/description": {
          "source_sha256": "8ed38b6c92073283c0ae96101024d3c7ca362a8be0dc9287cdc5b0ec95dfca98",
          "translation": "Возвращает доступное вертикальное пространство от текущего курсора до границы области содержимого."
        },
        "/symbols/@id=script.method.common.ImGui.GetCursorPosX/description": {
          "source_sha256": "7031606140a1b9edce4ed8e60ca863b2a02e9f8c70838fe6da4fadbddaa228ac",
          "translation": "Возвращает локальную координату X текущего курсора внутри окна."
        },
        "/symbols/@id=script.method.common.ImGui.GetCursorPosY/description": {
          "source_sha256": "30c1aa025e3e44dc00fed99a0890b5169294daf94e92473aaceb9e370028c7aa",
          "translation": "Возвращает локальную координату Y текущего курсора внутри окна."
        },
        "/symbols/@id=script.method.common.ImGui.GetCursorScreenPos/description": {
          "source_sha256": "2b707cfba7396725b5e1a92d6a11f26514b698bede0cd413c19c9480637d658f",
          "translation": "Возвращает текущую позицию курсора в экранных координатах."
        },
        "/symbols/@id=script.method.common.ImGui.GetFrameCount/description": {
          "source_sha256": "28701a5b4f230843369dd376491fc9525b494fc11e19824696da06a6171c1f9e",
          "translation": "Возвращает счётчик кадров ImGui, суженный до int32."
        },
        "/symbols/@id=script.method.common.ImGui.GetFrameHeight/description": {
          "source_sha256": "3170fde6f5da2928b5d0490a7a892aeb7783c8e6715a73339a5aeea49799bf69",
          "translation": "Возвращает стандартную высоту виджета в рамке для текущих шрифта и стиля."
        },
        "/symbols/@id=script.method.common.ImGui.GetFrameHeightWithSpacing/description": {
          "source_sha256": "bad9d1bb3a6608d6939fce5aa9fc74a7e6d46a6471ac157dc62e3c65e2059f54",
          "translation": "Возвращает стандартную высоту виджета в рамке вместе с вертикальным интервалом элементов."
        },
        "/symbols/@id=script.method.common.ImGui.GetItemRectMax/description": {
          "source_sha256": "3738de8641d4396d2101ebe605bd09441700b895b1c38fee8d2b2f40fd7cfcac",
          "translation": "Возвращает максимальный угол ограничивающего прямоугольника последнего отправленного элемента в экранных координатах."
        },
        "/symbols/@id=script.method.common.ImGui.GetItemRectMin/description": {
          "source_sha256": "ff980fc522bf006883afd33942aeea275b68ea77e6ba4837c83c73472584cecc",
          "translation": "Возвращает минимальный угол ограничивающего прямоугольника последнего отправленного элемента в экранных координатах."
        },
        "/symbols/@id=script.method.common.ImGui.GetItemRectSize/description": {
          "source_sha256": "dc0aa49a9b62acafc285d77b94b94dfedd1f77f33d3439c388511c5db017da34",
          "translation": "Возвращает размер ограничивающего прямоугольника последнего отправленного элемента."
        },
        "/symbols/@id=script.method.common.ImGui.GetMouseDragDelta/description": {
          "source_sha256": "ddd9fb5fd367ab304660c8081df23e0cd85e462a7c7c527d450f83ea5889d87a",
          "translation": "Возвращает смещение мыши с момента нажатия выбранной кнопки после пересечения заданного или настроенного порога перетаскивания."
        },
        "/symbols/@id=script.method.common.ImGui.GetMousePos/description": {
          "source_sha256": "b309a45d3b1df454f9fab943387425bc006fdc2605381b8abcae52bc6fa1249b",
          "translation": "Возвращает текущую позицию мыши ImGui в экранных координатах."
        },
        "/symbols/@id=script.method.common.ImGui.GetMousePosOnOpeningCurrentPopup/description": {
          "source_sha256": "47bb48264b85bac33b82784375ebc47999b9f919bd6c848afe3ca5978bea65a0",
          "translation": "Возвращает позицию мыши, сохранённую при открытии текущего popup."
        },
        "/symbols/@id=script.method.common.ImGui.GetScrollMaxX/description": {
          "source_sha256": "06c315c318cc6d79f4fc87d2e450b4373d9d9d447fdeaec745008157dc9da7ab",
          "translation": "Возвращает максимальное горизонтальное смещение прокрутки текущего окна."
        },
        "/symbols/@id=script.method.common.ImGui.GetScrollMaxY/description": {
          "source_sha256": "73b909117e9c299017fda990289571c46ff57af4f3a9db540844f8d3602393c9",
          "translation": "Возвращает максимальное вертикальное смещение прокрутки текущего окна."
        },
        "/symbols/@id=script.method.common.ImGui.GetScrollX/description": {
          "source_sha256": "9e88c2f0ba7078427152529cbed0a9cc778a8396ebae30ec9911b51b8a717505",
          "translation": "Возвращает горизонтальное смещение прокрутки текущего окна."
        },
        "/symbols/@id=script.method.common.ImGui.GetScrollY/description": {
          "source_sha256": "76732e1cdea3ec0e13a2af48a1b3d085c89cbd3ace72504c369471864e588cc9",
          "translation": "Возвращает вертикальное смещение прокрутки текущего окна."
        },
        "/symbols/@id=script.method.common.ImGui.GetTextLineHeight/description": {
          "source_sha256": "19eedd18169c9bd7f9f3e6231971fbe11200074f83ab447778986c45a704672d",
          "translation": "Возвращает высоту строки текущего шрифта без межстрочного интервала."
        },
        "/symbols/@id=script.method.common.ImGui.GetTextLineHeightWithSpacing/description": {
          "source_sha256": "a6596e0e12462a1f05462816fbdf6dca1020fc8f38d4386252074a9f377efbaa",
          "translation": "Возвращает высоту строки текущего шрифта с учётом интервала элементов ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.GetTime/description": {
          "source_sha256": "b1d8edb87a3e7bc1bb843b82c49f01721847a81022fd41ea838e08d0fdc5c143",
          "translation": "Возвращает время ImGui в секундах с момента инициализации контекста."
        },
        "/symbols/@id=script.method.common.ImGui.GetTreeNodeToLabelSpacing/description": {
          "source_sha256": "5eeccac1d8325d2b5d58f5e528cbf07326a0c88d7782cb4f1ff674563df428e0",
          "translation": "Возвращает горизонтальный интервал от стрелки или маркера узла дерева до его метки."
        },
        "/symbols/@id=script.method.common.ImGui.GetWindowHeight/description": {
          "source_sha256": "61135d9c4e43ce80d464d5faddefe7662f8e87a138a55cf689d39fc249288d33",
          "translation": "Возвращает высоту текущего окна."
        },
        "/symbols/@id=script.method.common.ImGui.GetWindowPos/description": {
          "source_sha256": "ed1d256dafd41deb728bc721f7af7aa7c8ba221841bb68bd0bcb755ca0cd0122",
          "translation": "Возвращает позицию левого верхнего угла текущего окна в экранных координатах."
        },
        "/symbols/@id=script.method.common.ImGui.GetWindowSize/description": {
          "source_sha256": "de4f7049de5ff0ac4dcbb022598a74b1e1468438b25c8727caf3ab16e5a63c19",
          "translation": "Возвращает размер текущего окна."
        },
        "/symbols/@id=script.method.common.ImGui.GetWindowWidth/description": {
          "source_sha256": "4b1cac48a09e78fac5ff3307f261d0924ab3a520b4ec77bc6697ca843088ee7c",
          "translation": "Возвращает ширину текущего окна."
        },
        "/symbols/@id=script.method.common.ImGui.Indent/description": {
          "source_sha256": "08ca80cdf27c4f3b50152ff08c87693c82481882cd12a23bdb44eb010a9296d5",
          "translation": "Увеличивает горизонтальный отступ текущей строки на заданное значение либо значение стиля при нуле."
        },
        "/symbols/@id=script.method.common.ImGui.InputFloat/description": {
          "source_sha256": "1214c94f071845032c5aa73b954d1caa69f16e8afd2ade62ab8e63bfa82e3909",
          "translation": "Рисует поле float с обязательной непустой меткой, кнопками шага, форматированием до трёх знаков и флагами текстового ввода; обновляет value и сообщает об изменении."
        },
        "/symbols/@id=script.method.common.ImGui.InputFloat2/description": {
          "source_sha256": "a33a1f464ee289ab3b910c6a453272163c5ea075d597501b9aa52626be639f81",
          "translation": "Рисует двухкомпонентное поле float с обязательной непустой меткой и записывает оба компонента обратно только при изменении в редакторе."
        },
        "/symbols/@id=script.method.common.ImGui.InputFloat3/description": {
          "source_sha256": "9da2e7d7edfad691699b800082cd7af64a07843b748c9bb8e38cdd7fad0074de",
          "translation": "Рисует трёхкомпонентное поле float с обязательной непустой меткой и записывает все компоненты обратно только при изменении в редакторе."
        },
        "/symbols/@id=script.method.common.ImGui.InputFloat4/description": {
          "source_sha256": "581bce9315385bdf787faf24059a1d7bda33bfec21b6eb4fdd2d283a35eee821",
          "translation": "Рисует четырёхкомпонентное поле float с обязательной непустой меткой и записывает все компоненты обратно только при изменении в редакторе."
        },
        "/symbols/@id=script.method.common.ImGui.InputInt/description": {
          "source_sha256": "29e70b140196677950740fb2bfc1aaafba17964e6b605e2a57f755e8a216e9f3",
          "translation": "Рисует знаковое целочисленное поле с обязательной непустой меткой, обновляет value и возвращает, изменило ли его редактирование."
        },
        "/symbols/@id=script.method.common.ImGui.InputInt2/description": {
          "source_sha256": "e3a9050267be3d69a21b697d67876aa178bf583ea1d4989b6ffe0caf0ed3ce08",
          "translation": "Рисует двухкомпонентное целочисленное поле с обязательной непустой меткой и записывает оба компонента обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.InputInt3/description": {
          "source_sha256": "16cf8fc8a58045eda3436f5abe30af140863727a47086077622c7f13a7cfccb6",
          "translation": "Рисует трёхкомпонентное целочисленное поле с обязательной непустой меткой и записывает все компоненты обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.InputInt4/description": {
          "source_sha256": "eb5df34e37221c3edd397ed531e757ebf620453c1cfe1dc98d0cee0638cd02c5",
          "translation": "Рисует четырёхкомпонентное целочисленное поле с обязательной непустой меткой и записывает все компоненты обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.InputText/description": {
          "source_sha256": "4d64d249150338ca5600150676e2eb9be832fd34cf4ecfee37fffab3ad1526ec",
          "translation": "Рисует однострочное текстовое поле с обязательной непустой меткой и буфером maxLength байт, отклоняет нулевую ёмкость или слишком большое начальное значение и записывает строку обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.InputTextMultiline/description": {
          "source_sha256": "305c2c8bee8ee9cf2045615e222459429d24e72d7e670ce5f75df2c59da218cf",
          "translation": "Рисует многострочное текстовое поле заданного размера с обязательной непустой меткой и буфером maxLength байт, отклоняет недопустимую ёмкость и записывает строку обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.InputTextWithHint/description": {
          "source_sha256": "7f66da7f9bd7f58088bbfc4590f6be5516b9113c7e9fe7b02f58211b0619de40",
          "translation": "Рисует текстовое поле с подсказкой, обязательной непустой меткой и буфером maxLength байт, отклоняет недопустимую ёмкость и записывает value обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.InvisibleButton/description": {
          "source_sha256": "ef563c9531d06433cdc9e6c49c91bb147b7659196ad1271ce6a3bd944a5c55e9",
          "translation": "Отправляет невидимую кнопку с обязательным непустым ID, явным размером и флагами и возвращает, была ли она активирована."
        },
        "/symbols/@id=script.method.common.ImGui.IsAnyItemActive/description": {
          "source_sha256": "bea6950679c94c16d10bcf7ffdf0f3a7376c49011ca99b604ba79e173446ed75",
          "translation": "Возвращает, активен ли сейчас какой-либо элемент ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.IsAnyItemFocused/description": {
          "source_sha256": "66f65b0f645bb574a2d379573b938d0fd1fdad9fc16c1e6909ba4d74460458c0",
          "translation": "Возвращает, владеет ли сейчас какой-либо элемент ImGui клавиатурным фокусом."
        },
        "/symbols/@id=script.method.common.ImGui.IsAnyItemHovered/description": {
          "source_sha256": "88d2a71cd975dc7bb3788928b3cffaa6af13a08dfc9624200ec0f0a066be8517",
          "translation": "Возвращает, наведён ли указатель сейчас на какой-либо элемент ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.IsItemActivated/description": {
          "source_sha256": "405e6b9d07cb9fa858dfe4f368d4418236507f45f98b5e5c09e3c0a19beb3f63",
          "translation": "Возвращает, стал ли последний отправленный элемент активным в этом кадре."
        },
        "/symbols/@id=script.method.common.ImGui.IsItemActive/description": {
          "source_sha256": "26d37d0cc5c3f121291eb626cdb9689278465b073a55337f158c8fe8f4da7185",
          "translation": "Возвращает, активен ли сейчас последний отправленный элемент."
        },
        "/symbols/@id=script.method.common.ImGui.IsItemClicked/description": {
          "source_sha256": "7118925596fe8671a9511e15e3922e1d1992ba8cad155743c0323c6a8ce4f926",
          "translation": "Возвращает, был ли последний отправленный элемент нажат выбранной кнопкой мыши в этом кадре."
        },
        "/symbols/@id=script.method.common.ImGui.IsItemDeactivated/description": {
          "source_sha256": "54e6bd95dff0da2eadea17a55589230eadb903908a50e26132cfc1907b09258e",
          "translation": "Возвращает, перестал ли последний отправленный элемент быть активным в этом кадре."
        },
        "/symbols/@id=script.method.common.ImGui.IsItemDeactivatedAfterEdit/description": {
          "source_sha256": "15c269650b30de11fc053eef95c5cccbeb258e4fb823beed47613ea9771754bf",
          "translation": "Возвращает, перестал ли последний отправленный элемент быть активным в этом кадре после редактирования значения."
        },
        "/symbols/@id=script.method.common.ImGui.IsItemEdited/description": {
          "source_sha256": "4eec0deb5b812c30f13cbdb542470b0745d17230aa45ce71f2aab07621210efb",
          "translation": "Возвращает, было ли значение последнего отправленного элемента отредактировано в этом кадре."
        },
        "/symbols/@id=script.method.common.ImGui.IsItemHovered/description": {
          "source_sha256": "50f60064c46e8feffd905653ec5956499f5e574e96b7a7f2f8d096ba3ad2cbbe",
          "translation": "Возвращает, наведён ли указатель на последний отправленный элемент с учётом заданных флагов наведения."
        },
        "/symbols/@id=script.method.common.ImGui.IsItemToggledOpen/description": {
          "source_sha256": "1119b83e9a58cbb4cb770a1ba74915ba99ba3fbcf9a569dc67d0f3201e4a2445",
          "translation": "Возвращает, переключил ли последний узел дерева или сворачиваемый заголовок открытое состояние в этом кадре."
        },
        "/symbols/@id=script.method.common.ImGui.IsItemVisible/description": {
          "source_sha256": "ed75ee06d63e6e92e91d94e716158889bcacf3edcec2904f93ce9081bfc49d67",
          "translation": "Возвращает, пересекает ли последний отправленный элемент текущую область отсечения."
        },
        "/symbols/@id=script.method.common.ImGui.IsMouseClicked/description": {
          "source_sha256": "0b61e7a5810eee148528b093b7778c5931963306edcbf3e130599299af9cb6f9",
          "translation": "Возвращает, была ли выбранная кнопка мыши нажата в этом кадре."
        },
        "/symbols/@id=script.method.common.ImGui.IsMouseDoubleClicked/description": {
          "source_sha256": "0f22f97dab01a99ea0e5749c5e3bafab2b09e91bd2ee1b8092e1365566e6b315",
          "translation": "Возвращает, зарегистрировала ли выбранная кнопка мыши двойное нажатие в этом кадре."
        },
        "/symbols/@id=script.method.common.ImGui.IsMouseDown/description": {
          "source_sha256": "14bbd147ddea64866929ee35c223573569153b79cd71a3d4e9c02c5ceafe83ff",
          "translation": "Возвращает, удерживается ли сейчас выбранная кнопка мыши."
        },
        "/symbols/@id=script.method.common.ImGui.IsMouseDragging/description": {
          "source_sha256": "1e630f3409da194ce8f2dd56a7d56e47f06d61a82ef548b13e10728d0182ed29",
          "translation": "Возвращает, перетаскивается ли выбранная кнопка мыши дальше заданного порога либо настроенного порога при отрицательном значении."
        },
        "/symbols/@id=script.method.common.ImGui.IsMouseHoveringRect/description": {
          "source_sha256": "19ab0dad4fff1592c4478c44ee5be3daa4b9f966f3d583d4ad6dc077a26ee364",
          "translation": "Возвращает, находится ли мышь внутри заданного экранного прямоугольника, при необходимости пересечённого с текущей областью отсечения."
        },
        "/symbols/@id=script.method.common.ImGui.IsMouseReleased/description": {
          "source_sha256": "4bec2d6427966fe9e82ff511f784998d85d2dd6571c32fdea007bc3a0f11c70f",
          "translation": "Возвращает, была ли выбранная кнопка мыши отпущена в этом кадре."
        },
        "/symbols/@id=script.method.common.ImGui.IsPopupOpen/description": {
          "source_sha256": "f6ae555f6ae1074faa38f726d750bb7a8f50c017f2a97a913687ae4fe4801d79",
          "translation": "Возвращает, открыт ли popup с обязательным непустым ID согласно переданным флагам запроса."
        },
        "/symbols/@id=script.method.common.ImGui.IsRectVisible%2305fb9e94e4abfe05/description": {
          "source_sha256": "92e990c89fdfda0c0f6dee0a7009d77c81b1551c0fd8d6c6b9604fb7a9b955f4",
          "translation": "Возвращает, пересекает ли прямоугольник заданного размера в текущей позиции курсора текущую область отсечения."
        },
        "/symbols/@id=script.method.common.ImGui.IsRectVisible%23417dc43e9e79eea8/description": {
          "source_sha256": "408414b105aa8dab2ba6f1a74986f6037990b132f31b45446f2c92b2f1c7f271",
          "translation": "Возвращает, пересекает ли заданный в экранных координатах прямоугольник текущую область отсечения."
        },
        "/symbols/@id=script.method.common.ImGui.IsWindowAppearing/description": {
          "source_sha256": "9ccd7e30e0dfb2eb3f6b7e5c6501c1940a10739752d4010fa9c0fedc27fb6375",
          "translation": "Возвращает, появилось ли текущее окно только что после скрытия, неактивности или создания."
        },
        "/symbols/@id=script.method.common.ImGui.IsWindowFocused/description": {
          "source_sha256": "dfdcba8a84e3932781835c12008280a08a5bb645a3fc06bedcacf3ea8fb5e472",
          "translation": "Возвращает, находится ли текущее окно в фокусе с учётом переданных флагов фокуса."
        },
        "/symbols/@id=script.method.common.ImGui.IsWindowHovered/description": {
          "source_sha256": "69578a4ccdad30b07c7760998289ee29ad2c5e3f33ff02263d3333ea1ec8004f",
          "translation": "Возвращает, наведён ли указатель на текущее окно с учётом переданных флагов наведения."
        },
        "/symbols/@id=script.method.common.ImGui.LoadIniSettingsFromDisk/description": {
          "source_sha256": "82bae6ddd991d23875f56f9678b1e8506d24560ce4034b5801683242c824977f",
          "translation": "Загружает настройки окон и таблиц ImGui из обязательного непустого пути файловой системы через прямой дисковый API ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.LoadIniSettingsFromMemory/description": {
          "source_sha256": "320ee2b9892bfe087b12700c22e051db1453b64f16810a154808b390b49de23d",
          "translation": "Заменяет настройки окон и таблиц ImGui точной последовательностью переданных в памяти байтов ini."
        },
        "/symbols/@id=script.method.common.ImGui.LogButtons/description": {
          "source_sha256": "ff8482e2d17f77e7ece4e6b253bb33d7e58affaaa7ce04288051ba7dac804a62",
          "translation": "Рисует стандартные элементы управления ImGui для запуска и остановки поддерживаемых назначений журналирования."
        },
        "/symbols/@id=script.method.common.ImGui.LogFinish/description": {
          "source_sha256": "64cc7fe912eef15c585f8d20073552cc47cfb8594feefbdac6cdaa3f8cc3a76b",
          "translation": "Завершает активный сеанс журналирования ImGui и сбрасывает данные в его назначение."
        },
        "/symbols/@id=script.method.common.ImGui.LogText/description": {
          "source_sha256": "0eabc30131d6560ee99e502372f4a3393e346508a59351dc97750115fc07e4a9",
          "translation": "Добавляет переданный текст дословно в активное назначение журналирования ImGui, не рисуя виджет."
        },
        "/symbols/@id=script.method.common.ImGui.LogToClipboard/description": {
          "source_sha256": "7df221f85ceac508fb40a6805e5a5119987059b1aaac98ca1c7b42db29b49a1d",
          "translation": "Начинает автоматическое журналирование текста ImGui в буфер обмена с необязательной глубиной автооткрытия дерева."
        },
        "/symbols/@id=script.method.common.ImGui.LogToFile/description": {
          "source_sha256": "70d36fa29f89eff6bf76201e2a62ad3a356c27c44b7d982ceb9f553ed44751dc",
          "translation": "Начинает автоматическое журналирование текста ImGui в необязательный файл либо в настроенный файл по умолчанию при пустом имени, с необязательной глубиной автооткрытия дерева."
        },
        "/symbols/@id=script.method.common.ImGui.LogToTTY/description": {
          "source_sha256": "bd8343c18bb2002c1fbe797bcb7d7bca2ee5e2cd13b0ad01d4906ec032c58cd9",
          "translation": "Начинает автоматическое журналирование текста ImGui в терминал, при необходимости автоматически открывая узлы дерева до заданной глубины."
        },
        "/symbols/@id=script.method.common.ImGui.MenuItem/description": {
          "source_sha256": "11f66a2ebbeb7c8aeb4e6ca76d5f9ee3cfa3a8f3a982b5b62c92e495920f8612",
          "translation": "Рисует пункт меню с обязательной непустой меткой, отображаемым состоянием selected и состоянием enabled и возвращает, был ли он активирован."
        },
        "/symbols/@id=script.method.common.ImGui.NewLine/description": {
          "source_sha256": "406daa90361a07bdcfc4fcba7174fdb0a8af8604844890afbc2cdb48721ad20b",
          "translation": "Завершает текущую строку и переводит курсор разметки на новую строку."
        },
        "/symbols/@id=script.method.common.ImGui.OpenPopup/description": {
          "source_sha256": "62276aab35e9251f737f7ec4ceeceb1ef7921f8ab52eb37ff04dfefd2b5deaff",
          "translation": "Помечает popup с обязательным непустым ID для открытия при следующем соответствующем вызове BeginPopup."
        },
        "/symbols/@id=script.method.common.ImGui.OpenPopupOnItemClick/description": {
          "source_sha256": "56111964a896755b4c2bda6086c2e486289b76c89dd8d55a0e79d856fb0a3b64",
          "translation": "Открывает контекстный popup при нажатии последнего элемента согласно переданным флагам, используя ID последнего элемента при пустом strId."
        },
        "/symbols/@id=script.method.common.ImGui.PlotHistogram/description": {
          "source_sha256": "14112a2128bea09dde383097402483e9f94b554df5bdf882c3380474b0b5904b",
          "translation": "Рисует гистограмму с обязательной непустой меткой по переданным значениям, используя смещение, необязательную подпись, границы масштаба и размер."
        },
        "/symbols/@id=script.method.common.ImGui.PlotLines/description": {
          "source_sha256": "aadaedc73a60fb8d6505bd17693189cd55f5bcbecf639e33b6b53d071b611df7",
          "translation": "Рисует линейный график с обязательной непустой меткой по переданным значениям, используя смещение, необязательную подпись, границы масштаба и размер."
        },
        "/symbols/@id=script.method.common.ImGui.PopID/description": {
          "source_sha256": "33b57a11a8f97af880ef850550352065d40a628809528b7d4b58542f482fa9af",
          "translation": "Снимает последний добавленный компонент со стека ID ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.PopItemWidth/description": {
          "source_sha256": "c50355a6222ef4fd17a4b923eecf080267be639d21874c606171d9290d278c46",
          "translation": "Восстанавливает предыдущую ширину элементов по умолчанию."
        },
        "/symbols/@id=script.method.common.ImGui.PopStyleColor/description": {
          "source_sha256": "2037482ba14fffe924a4aa243778251433a56b5d98b3d626fe88a617a5b57104",
          "translation": "Снимает count записей со стека цветов стиля ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.PopStyleVar/description": {
          "source_sha256": "7420521a40387f889b855e044a43b22928aa64b813ef1841b2463fcb5c02b8c0",
          "translation": "Снимает count записей со стека переменных стиля ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.PopTextWrapPos/description": {
          "source_sha256": "41f7275c4f7eb8d355ceb040bc0e3f3330abcbb8e95a6f2499ec7e57b67df799",
          "translation": "Восстанавливает предыдущую позицию переноса текста."
        },
        "/symbols/@id=script.method.common.ImGui.ProgressBar%23815e8744ccf75287/description": {
          "source_sha256": "206289f985fa7c7f235f4bcf59eb3c875ea85bad6d432e70d6be00eb71e2122d",
          "translation": "Рисует индикатор прогресса, используя fraction как долю завершения и стандартные размер и подпись ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.ProgressBar%23f96f13b84ae54c68/description": {
          "source_sha256": "65d26192dfac6c4d096136e1b333ba802376d48daf146bf1d2863e08782ca8db",
          "translation": "Рисует индикатор прогресса с переданными долей завершения и размером, используя явную подпись либо процент ImGui при пустой строке."
        },
        "/symbols/@id=script.method.common.ImGui.PushID%23a0aa657cec446999/description": {
          "source_sha256": "bab9b72ec2577935518a929e72b0f5d8e9eecddf54ad7e565a8ef8bda2567020",
          "translation": "Помещает обязательный непустой строковый компонент в стек ID ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.PushID%23e81ac04f2708cf59/description": {
          "source_sha256": "c6219385caaf008ad9840de29ac8c2fbb66a5295eadcf45a34ae7b094ada8f95",
          "translation": "Помещает целочисленный компонент в стек ID ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.PushItemWidth/description": {
          "source_sha256": "8f50c6ff4d687277fa6914f90aa4bf1242dd94b9a2cbc4efcb210f82f871295f",
          "translation": "Помещает в стек ширину по умолчанию для последующих элементов; восстановите её через PopItemWidth."
        },
        "/symbols/@id=script.method.common.ImGui.PushStyleColor/description": {
          "source_sha256": "e5ac6b0e5edad408b17846b186e5f204eb4dbe45198ee01b75262b88dcbad44f",
          "translation": "Помещает RGBA-переопределение выбранного цвета стиля ImGui в стек; восстановите его через PopStyleColor."
        },
        "/symbols/@id=script.method.common.ImGui.PushStyleVar/description": {
          "source_sha256": "8ece02b736c4942b489316088afc8c844d6f3ebee178284bb8c3be638ab08759",
          "translation": "Помещает скалярное переопределение скалярной переменной стиля ImGui в стек; восстановите его через PopStyleVar."
        },
        "/symbols/@id=script.method.common.ImGui.PushStyleVarVec2/description": {
          "source_sha256": "ddf6e7f5a907939d42834aa2cd4baa3355bca22dd83fc2b78474f3a1dfbbfc72",
          "translation": "Помещает двухкомпонентное переопределение векторной переменной стиля ImGui в стек; восстановите его через PopStyleVar."
        },
        "/symbols/@id=script.method.common.ImGui.PushTextWrapPos/description": {
          "source_sha256": "7c566f154e28b036d4338d61a746a42ec8fee46ef3d8572590961e176a9d38e1",
          "translation": "Помещает в стек локальную координату X переноса последующего текста; ноль использует границу области содержимого."
        },
        "/symbols/@id=script.method.common.ImGui.RadioButton%2391a4f0c54483dccb/description": {
          "source_sha256": "20e12a9d7b5fb85ae9824e712da236de12f19756409a635015197d813ac829e6",
          "translation": "Рисует радиокнопку с обязательной непустой меткой, присваивает value значение buttonValue при активации и возвращает, произошло ли присваивание."
        },
        "/symbols/@id=script.method.common.ImGui.RadioButton%23d8d7646ac97bdd7b/description": {
          "source_sha256": "2382134c2eef5664a0e1c84341231d52484ea5423091ae3089f0c719a5f14ba8",
          "translation": "Рисует радиокнопку с обязательной непустой меткой, используя active только как отображаемое состояние, и возвращает активацию; active не записывается обратно."
        },
        "/symbols/@id=script.method.common.ImGui.ResetMouseDragDelta/description": {
          "source_sha256": "24d55360b3913e69c2b56afbc303934090d7db203d2c2115539501d8f346e854",
          "translation": "Переносит начало накопленного перетаскивания выбранной кнопки мыши в текущую позицию мыши."
        },
        "/symbols/@id=script.method.common.ImGui.SameLine/description": {
          "source_sha256": "52d9ef29fb5320db8d6ee6ac13093e3826a2db2197946fc3ce2f13a35aa1bfe6",
          "translation": "Размещает следующий элемент в текущей строке с необязательными переопределениями начального смещения и интервала."
        },
        "/symbols/@id=script.method.common.ImGui.SaveIniSettingsToDisk/description": {
          "source_sha256": "6a7a8ac260e50af620a4c4c54fcfc2b9aa5db1c4eaef97ba340957f80c733e0d",
          "translation": "Сохраняет текущие настройки окон и таблиц ImGui в обязательный непустой путь файловой системы через прямой дисковый API ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.SaveIniSettingsToMemory/description": {
          "source_sha256": "20ae465c94c10d13b148004ff331733892e7e48874b3e5dd36a3e8c014651854",
          "translation": "Сериализует текущие настройки окон и таблиц ImGui в строку либо возвращает пустую строку, если ImGui не предоставил буфер."
        },
        "/symbols/@id=script.method.common.ImGui.Selectable/description": {
          "source_sha256": "6e5308b29b52b0b15f1e31e31fb7c1ca6f5ac1ac192ffcd7c9a80cf1dbe546e2",
          "translation": "Рисует выбираемый элемент с обязательной непустой меткой, используя selected только как отображаемое состояние, и возвращает активацию; selected не записывается обратно."
        },
        "/symbols/@id=script.method.common.ImGui.Separator/description": {
          "source_sha256": "3f572436789bfe18a00c36bdd76ddff6155e94cf61d5963bff18944a4d9dfc1d",
          "translation": "Рисует разделитель, соответствующий текущему горизонтальному или вертикальному контексту разметки."
        },
        "/symbols/@id=script.method.common.ImGui.SeparatorText/description": {
          "source_sha256": "29cc0ede2702459c5f3349b4395da60f006d5d3c4186427e2e98597e58699b40",
          "translation": "Рисует разделитель с обязательной непустой меткой."
        },
        "/symbols/@id=script.method.common.ImGui.SetClipboardText/description": {
          "source_sha256": "ab3948789f60018981f8bc829696ff714a7bbb1ed3989e235d90f31ce5269287",
          "translation": "Заменяет текст в платформенном backend буфера обмена ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.SetColorEditOptions/description": {
          "source_sha256": "e2933125626a220821961c2ea11e1789c272156fdb7f86948c1f46cfc284f457",
          "translation": "Задаёт стандартные параметры отображения, типа данных, палитры и ввода для последующих редакторов и палитр цвета."
        },
        "/symbols/@id=script.method.common.ImGui.SetCursorPos/description": {
          "source_sha256": "4bff5f4036a486998553d0483c3994e4e87cf6e20e73490290fac716aa9a018f",
          "translation": "Задаёт текущую позицию курсора в локальных координатах окна."
        },
        "/symbols/@id=script.method.common.ImGui.SetCursorScreenPos/description": {
          "source_sha256": "6f0e3ec59000173ecb10cd2cfab6a05e9d8fb714334abf5c6f54a2a9543867c6",
          "translation": "Задаёт текущую позицию курсора в экранных координатах."
        },
        "/symbols/@id=script.method.common.ImGui.SetItemDefaultFocus/description": {
          "source_sha256": "6651dda89f747e6d8284333a0e8bd7f002d26b883d9af9eb50b61a7bc15d03a3",
          "translation": "Даёт последнему отправленному элементу фокус по умолчанию, когда у появившегося окна нет восстановленного состояния фокуса."
        },
        "/symbols/@id=script.method.common.ImGui.SetItemTooltip/description": {
          "source_sha256": "fea2dece5f7bcc88cf46a6893065fb010dc098016909c6cf7ecad12e76fbf6f5",
          "translation": "Показывает текстовый tooltip для последнего элемента, когда выполнена политика наведения item-tooltip ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.SetKeyboardFocusHere/description": {
          "source_sha256": "6791c80c42ec211c836214a0c858f8ef861df665697b5f120be87efd4d28b02d",
          "translation": "Запрашивает клавиатурный фокус для фокусируемого элемента с заданным смещением относительно следующего отправленного элемента."
        },
        "/symbols/@id=script.method.common.ImGui.SetNextItemOpen/description": {
          "source_sha256": "b5357b5dacc0d17876d098ba3915f4c427613076a4a0616875f5a81be90bb791",
          "translation": "Задаёт открытое состояние следующего узла дерева или сворачиваемого заголовка с учётом переданного условия ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.SetNextItemWidth/description": {
          "source_sha256": "1d15d61aa13dde39a1600e419b7d47f708bcc54d5a2c0d556de9305d6f1bbd9e",
          "translation": "Переопределяет ширину следующего отправленного элемента."
        },
        "/symbols/@id=script.method.common.ImGui.SetNextWindowBgAlpha/description": {
          "source_sha256": "d5adaf2492ff0455bb73e774053de3b6539e24daba05a290d813336ca007df0f",
          "translation": "Переопределяет прозрачность фона следующего окна."
        },
        "/symbols/@id=script.method.common.ImGui.SetNextWindowCollapsed/description": {
          "source_sha256": "8b5f44fdd405bffb9fcf243c6d340105604d943f9a59f007f6007630838a24b0",
          "translation": "Задаёт свёрнутое состояние следующего окна с учётом переданного условия ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.SetNextWindowContentSize/description": {
          "source_sha256": "6ccf2a9a6e4845df80cd48881f7fd8c00b09b943d506de4eb85d8c3523851f0c",
          "translation": "Задаёт явный размер содержимого следующего окна, управляя прокручиваемой областью независимо от размера окна."
        },
        "/symbols/@id=script.method.common.ImGui.SetNextWindowFocus/description": {
          "source_sha256": "c0b2fcf269890255b258d144f6536f049ce5bfbab9bad76013cdafc1312d09f4",
          "translation": "Запрашивает фокус для следующего окна, начатого в текущем кадре."
        },
        "/symbols/@id=script.method.common.ImGui.SetNextWindowPos/description": {
          "source_sha256": "3eaf752d60913375b5338ed7ddd41a49e2250fcc9f97aaa5fb69dd977d1db2f4",
          "translation": "Задаёт экранную позицию следующего окна с учётом переданного условия ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.SetNextWindowScroll/description": {
          "source_sha256": "dcb44036f90bc4a5475d94a1a0ae78ce1d27eabaf0b237fd29cafda612137ba5",
          "translation": "Задаёт начальные координаты прокрутки следующего окна; отрицательный компонент не изменяет соответствующую ось."
        },
        "/symbols/@id=script.method.common.ImGui.SetNextWindowSize/description": {
          "source_sha256": "af748ef747eebd2085f99eeae5c8e452fc44eed2e8900328a76a58bf6d43f3e3",
          "translation": "Задаёт размер следующего окна с учётом переданного условия ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.SetNextWindowSizeConstraints/description": {
          "source_sha256": "626a14f05055a416656cb226006601dde59fe9209718747be23f169f11246bff",
          "translation": "Ограничивает размер следующего окна переданными минимальными и максимальными измерениями."
        },
        "/symbols/@id=script.method.common.ImGui.SetScrollFromPosX/description": {
          "source_sha256": "c56b223fe516a48d69182659e935639aa7376916429d1fe7e50b837613b8a9aa",
          "translation": "Настраивает горизонтальную прокрутку так, чтобы локальная позиция X находилась в заданной доле области просмотра."
        },
        "/symbols/@id=script.method.common.ImGui.SetScrollFromPosY/description": {
          "source_sha256": "ffdbbcf014f54e3cfd54d1527e165535de41d5455bfd0cf1f2a02d435840183d",
          "translation": "Настраивает вертикальную прокрутку так, чтобы локальная позиция Y находилась в заданной доле области просмотра."
        },
        "/symbols/@id=script.method.common.ImGui.SetScrollHereX/description": {
          "source_sha256": "23e432e0181dc4652e21dd08473f69440cbb01bec8c5341e0fdfbbe6565849da",
          "translation": "Настраивает горизонтальную прокрутку так, чтобы текущая позиция курсора находилась в заданной доле области просмотра."
        },
        "/symbols/@id=script.method.common.ImGui.SetScrollHereY/description": {
          "source_sha256": "dceac32eb8d5a76f891eb559125a140b879747a8dcf16210a86798f010f1da8f",
          "translation": "Настраивает вертикальную прокрутку так, чтобы текущая позиция курсора находилась в заданной доле области просмотра."
        },
        "/symbols/@id=script.method.common.ImGui.SetScrollX/description": {
          "source_sha256": "38a0dd9f3c9c3e9a52d954262c66cc415a9e710ac3a10a76202666fb3167baf6",
          "translation": "Задаёт горизонтальное смещение прокрутки текущего окна."
        },
        "/symbols/@id=script.method.common.ImGui.SetScrollY/description": {
          "source_sha256": "e6974cd6bfa1ad9ba5e1f7f2b40a69167d32f91dc84523c6ac052a27034d51a4",
          "translation": "Задаёт вертикальное смещение прокрутки текущего окна."
        },
        "/symbols/@id=script.method.common.ImGui.SetTabItemClosed/description": {
          "source_sha256": "8707f6d8836d939a181d6b0652ed7041a6c3cc62eda80025e8b2e4ea8e6fdd42",
          "translation": "Сообщает ImGui, что вкладка с обязательной непустой меткой была закрыта извне, чтобы обновить состояние панели вкладок."
        },
        "/symbols/@id=script.method.common.ImGui.SetTooltip/description": {
          "source_sha256": "f4480cdadc34bfa952959bfa314e3fb8983bea23e84dcb0c62aa2081e600997b",
          "translation": "Немедленно рисует tooltip с переданным дословным текстом."
        },
        "/symbols/@id=script.method.common.ImGui.SliderFloat/description": {
          "source_sha256": "1f681666e4c6594c75aba08cb7756770b99713fd58430a30efaee52796e19e4b",
          "translation": "Рисует ограниченный float-слайдер с обязательной непустой меткой, обновляет value и возвращает, изменилось ли значение."
        },
        "/symbols/@id=script.method.common.ImGui.SliderFloat2/description": {
          "source_sha256": "210d595a60e5a3fe6b90e988b24f0609fb7fe40afcd58564102db1f3f4fd43d0",
          "translation": "Рисует двухкомпонентный ограниченный float-слайдер с обязательной непустой меткой и записывает оба компонента обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.SliderFloat3/description": {
          "source_sha256": "656ddb6f91dea73f2d8ca67f72c2fd65cb8ec56817b7171bd0fd65c0ee9e111c",
          "translation": "Рисует трёхкомпонентный ограниченный float-слайдер с обязательной непустой меткой и записывает все компоненты обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.SliderFloat4/description": {
          "source_sha256": "1c4899ecba03fdc949a853322543e81da414ad4afb2908566abff88bca6d93b4",
          "translation": "Рисует четырёхкомпонентный ограниченный float-слайдер с обязательной непустой меткой и записывает все компоненты обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.SliderInt/description": {
          "source_sha256": "d12c238962e43a3a5bd427efef6655af9da89d21efa7fa8d5b394a957f6b780b",
          "translation": "Рисует ограниченный целочисленный слайдер с обязательной непустой меткой и переданными флагами, обновляет value и сообщает об изменении."
        },
        "/symbols/@id=script.method.common.ImGui.SliderInt2/description": {
          "source_sha256": "542191105b9a7de7ce63a4a97ca30817fca1d43b384100315836d06f0798bb36",
          "translation": "Рисует двухкомпонентный ограниченный целочисленный слайдер с обязательной непустой меткой и записывает оба компонента обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.SliderInt3/description": {
          "source_sha256": "cac058c90d61b84051c0f0637dbce5f35b070ca2aa3a66c659651bc63dc2accb",
          "translation": "Рисует трёхкомпонентный ограниченный целочисленный слайдер с обязательной непустой меткой и записывает все компоненты обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.SliderInt4/description": {
          "source_sha256": "9fc913941bd2ee1b80ed1021582de421dc72c05c89ba5529bdd1c9ba0f61e481",
          "translation": "Рисует четырёхкомпонентный ограниченный целочисленный слайдер с обязательной непустой меткой и записывает все компоненты обратно только при изменении."
        },
        "/symbols/@id=script.method.common.ImGui.SmallButton/description": {
          "source_sha256": "e858b3499516462c886effcacf3390257a741a475c7e6fa32cf44b45adb429f2",
          "translation": "Рисует кнопку с обязательной непустой меткой без стандартных отступов рамки и возвращает, была ли она активирована."
        },
        "/symbols/@id=script.method.common.ImGui.Spacing/description": {
          "source_sha256": "3801bee4127f4e25260a6d7f3d0cc6252b16a620b40803bd702abb5308a05b35",
          "translation": "Добавляет одну стандартную единицу вертикального интервала в текущую разметку."
        },
        "/symbols/@id=script.method.common.ImGui.TabItemButton/description": {
          "source_sha256": "fa8a541802be3b33cb6126545f9187b29ed52a4bb7ab84fb05bb2fafdd7ea9db",
          "translation": "Рисует кнопку панели вкладок с обязательной непустой меткой и возвращает, была ли она активирована; область содержимого вкладки не создаётся."
        },
        "/symbols/@id=script.method.common.ImGui.TableAngledHeadersRow/description": {
          "source_sha256": "f24d50d0e038852352de549a24b591063afe7faaa55e88776f45e6f47963d253",
          "translation": "Создаёт строку наклонных заголовков для столбцов, настроенных соответствующими флагами."
        },
        "/symbols/@id=script.method.common.ImGui.TableGetColumnCount/description": {
          "source_sha256": "b513e544d126d93c72f8173e2e1c3bda0786f4ab5a7521950113a683c303a1f3",
          "translation": "Возвращает число столбцов текущей таблицы или ноль вне таблицы."
        },
        "/symbols/@id=script.method.common.ImGui.TableGetColumnFlags/description": {
          "source_sha256": "20cef99e94fcf406b06f16b582ebd0d3922fa24cae0afae76bd88650627848c9",
          "translation": "Возвращает текущие флаги состояния запрошенного столбца таблицы, используя текущий столбец при отрицательном columnN."
        },
        "/symbols/@id=script.method.common.ImGui.TableGetColumnIndex/description": {
          "source_sha256": "6bce24905b854e2f364c6243ab47a93a21db5bcf1e333274359877409fcb2d4a",
          "translation": "Возвращает индекс текущего столбца таблицы или -1 до выбора столбца либо вне таблицы."
        },
        "/symbols/@id=script.method.common.ImGui.TableGetColumnName/description": {
          "source_sha256": "70c6d275dff71a7c0660a27a1ff4467c89f99109cb58a1f9d1271dd75c5a3353",
          "translation": "Возвращает настроенное имя запрошенного столбца таблицы, используя текущий столбец при отрицательном columnN."
        },
        "/symbols/@id=script.method.common.ImGui.TableGetHoveredColumn/description": {
          "source_sha256": "1c474b547477e392de127c7b02b782ddde36f53ba898744d04873af9adf9504f",
          "translation": "Возвращает индекс столбца таблицы под указателем, используя sentinel-значения ImGui при отсутствии столбца или над незанятым пространством справа."
        },
        "/symbols/@id=script.method.common.ImGui.TableGetRowIndex/description": {
          "source_sha256": "cbdf52c71a5a47e33cfb7028dc5c2d22120dac1d2db962b59f46310badfa1350",
          "translation": "Возвращает индекс текущей строки таблицы или -1 до начала строки либо вне таблицы."
        },
        "/symbols/@id=script.method.common.ImGui.TableHeader/description": {
          "source_sha256": "9c41c46f04e0c1de984cf1762e78085957096cb85be76c898194027c98514199",
          "translation": "Создаёт ячейку заголовка с обязательной непустой меткой для текущего столбца таблицы."
        },
        "/symbols/@id=script.method.common.ImGui.TableHeadersRow/description": {
          "source_sha256": "f8ac4d688de74f92a4adc620d2a7ce018a8af273ca77765e278ca94640b0b8cf",
          "translation": "Создаёт одну строку заголовков таблицы из столбцов, настроенных через TableSetupColumn."
        },
        "/symbols/@id=script.method.common.ImGui.TableNextColumn/description": {
          "source_sha256": "f92ef164c83986b49f5bc492b3e1256bb743cb881064cce9dc38595911be1123",
          "translation": "Переходит к следующему столбцу таблицы, при необходимости создавая строку, и возвращает, виден ли целевой столбец."
        },
        "/symbols/@id=script.method.common.ImGui.TableNextRow/description": {
          "source_sha256": "c330c4904d43107cbe87924ac248493aa5b16335d4cc8462adbd819b343f84e6",
          "translation": "Переводит текущую таблицу на новую строку с переданными флагами строки."
        },
        "/symbols/@id=script.method.common.ImGui.TableSetBgColor/description": {
          "source_sha256": "095036d42f5c8237a83e23e1b4c37046eaaa2bbfbf1ff4d953834b397fad12ad",
          "translation": "Переопределяет фон строки или ячейки таблицы переданным упакованным цветом, используя текущий столбец при отрицательном columnN."
        },
        "/symbols/@id=script.method.common.ImGui.TableSetColumnEnabled/description": {
          "source_sha256": "fcd6e2d8257c474b476dded8abee631522a236a745a8658c6b58705ae3268a17",
          "translation": "Включает или отключает столбец таблицы по индексу с нуля."
        },
        "/symbols/@id=script.method.common.ImGui.TableSetColumnIndex/description": {
          "source_sha256": "05c559f15847ea42973d368bc29ec120166767f08173568181be83a3b0f02869",
          "translation": "Выбирает столбец таблицы по индексу с нуля и возвращает, виден ли этот столбец."
        },
        "/symbols/@id=script.method.common.ImGui.TableSetupColumn/description": {
          "source_sha256": "e6c233fd7db2fbb007c861df4aba21ae23edf72eafe3d50471fd3e52219825fb",
          "translation": "Настраивает следующий столбец таблицы с обязательной непустой меткой и флагами до отправки первой строки."
        },
        "/symbols/@id=script.method.common.ImGui.TableSetupScrollFreeze/description": {
          "source_sha256": "48082232b33835c941eb1ed200d36a440da4e9c44741f26bcbad8a0b8be77aa6",
          "translation": "Закрепляет запрошенное число начальных столбцов и строк при прокрутке таблицы."
        },
        "/symbols/@id=script.method.common.ImGui.Text/description": {
          "source_sha256": "4a9b69e3ab9f482ac6416f52ba2bf35f338a1345cc72426122126360c5ec9179",
          "translation": "Рисует текст дословно, не интерпретируя его как строку формата printf."
        },
        "/symbols/@id=script.method.common.ImGui.TextColored/description": {
          "source_sha256": "876b11ed2b552977dd8bd0fe36538f87ec09fc93d385760d58df07f476b0f944",
          "translation": "Рисует переданный текст с явно заданным цветом RGBA."
        },
        "/symbols/@id=script.method.common.ImGui.TextDisabled/description": {
          "source_sha256": "6ce0d21b28af2af86cf3e87c6ae662480edea96ac4d05cd99814e9141daaffbe",
          "translation": "Рисует текст стилем отключённого текста ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.TextLink/description": {
          "source_sha256": "4b362892ac383931dcf26b1c8c5c9af09c46faa36759fff913705c353aa822e0",
          "translation": "Рисует текстовую ссылку с обязательной непустой меткой и возвращает, была ли она активирована, не открывая URL самостоятельно."
        },
        "/symbols/@id=script.method.common.ImGui.TextLinkOpenURL%236af05af1a530865a/description": {
          "source_sha256": "2393d1bd0940247fc359860e67947a6515923826a0d3c790581cabf9de8b1312",
          "translation": "Рисует ссылку с обязательной непустой меткой, при активации просит платформенный обработчик URL ImGui открыть обязательный URL и сообщает об активации."
        },
        "/symbols/@id=script.method.common.ImGui.TextLinkOpenURL%23b52d43bc02aa8901/description": {
          "source_sha256": "3711e2437fdb4eea29f86103b6637dc0fedace976809ffb7b2a3b84e7b822d06",
          "translation": "Рисует ссылку с обязательной непустой меткой, при активации просит платформенный обработчик URL ImGui открыть саму метку и сообщает об активации."
        },
        "/symbols/@id=script.method.common.ImGui.TextWrapped/description": {
          "source_sha256": "e05f065e86bf0d00edbb6d7c55c27d53b68d17740a5c3a2cb9fc6c1b3c489e67",
          "translation": "Рисует текст с переносом на границе текущей области содержимого."
        },
        "/symbols/@id=script.method.common.ImGui.TreeNode/description": {
          "source_sha256": "1cb8296a1839f40069ac9f6a3c579b28be03eb6976d5a1c24538fdb63e61d036",
          "translation": "Рисует узел дерева с обязательной непустой меткой и возвращает, открыт ли он; вызывайте TreePop только при true."
        },
        "/symbols/@id=script.method.common.ImGui.TreeNodeEx/description": {
          "source_sha256": "47d63cbfea5868ebf7e4adef0d3cbfb6b6897e233e1421f27eb0daa5d575c877",
          "translation": "Рисует узел дерева с обязательной непустой меткой и явными флагами и возвращает, открыт ли он; вызывайте TreePop при true, если не задан NoTreePushOnOpen."
        },
        "/symbols/@id=script.method.common.ImGui.TreePop/description": {
          "source_sha256": "f496c3dcfbb980bb4d3e62428af13a34fdba28c1fdb86d4494cd29161fc0adc5",
          "translation": "Снимает область дерева, помещённую в стек открытым вызовом TreeNode или TreeNodeEx."
        },
        "/symbols/@id=script.method.common.ImGui.Unindent/description": {
          "source_sha256": "1bfebabe524fc754f053fa78120088dba3df3ace6da18e2ae831b4eba1bdca38",
          "translation": "Уменьшает горизонтальный отступ текущей строки на заданное значение либо значение стиля при нуле."
        },
        "/symbols/@id=script.method.common.ImGui.VSliderFloat/description": {
          "source_sha256": "64150b8f3e895198059c94cd1cd72fec05dc56584a126b2da2aebcd3ae41c9de",
          "translation": "Рисует вертикальный float-слайдер с обязательной непустой меткой, заданными размером и границами, обновляет value и сообщает об изменении."
        },
        "/symbols/@id=script.method.common.ImGui.VSliderInt/description": {
          "source_sha256": "0010768be59a61ce0e6269e5a0a0d04397b12f623bad83f037a3decd4695dd5c",
          "translation": "Рисует вертикальный целочисленный слайдер с обязательной непустой меткой, заданными размером и границами, обновляет value и сообщает об изменении."
        },
        "/symbols/@id=script.method.common.ImGui.Value%23031100c2fda9013e/description": {
          "source_sha256": "4b078a67503022a77cccf4b5011d79517c0f443ff4bf8ce83501edf3f7642803",
          "translation": "Рисует логическое значение после обязательного непустого префикса в стандартном формате значений ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.Value%2311dff794976df969/description": {
          "source_sha256": "53efd3bdf941817da32233f6f2423a72930e59c9b62cb7e3a1969b0e470fac71",
          "translation": "Рисует знаковое целое значение после обязательного непустого префикса в стандартном формате значений ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.Value%2369d025366813cd9a/description": {
          "source_sha256": "b339e53d4a6aa9612af131f144b07af945d632e800666b634e1877d3d9951fed",
          "translation": "Рисует беззнаковое целое значение после обязательного непустого префикса в стандартном формате значений ImGui."
        },
        "/symbols/@id=script.method.common.ImGui.Value%2390152b1c9fa83617/description": {
          "source_sha256": "d67e0b855b412ad3ec9c1c7444302b7c18a522a78a853b0a3bdcf5f580924904",
          "translation": "Рисует значение с плавающей точкой после обязательного непустого префикса в стандартном формате значений ImGui."
        },
        "/symbols/@id=script.method.mapper.Game.AddCritter%237053965abb306d1b/description": {
          "source_sha256": "fcce77c377498a3088d85ff63cbb7f282a4a33f97e7f3258cd960f821e70b378",
          "translation": "Создает криттера по заданному идентификатору прототипа на допустимом гексе текущей карты Mapper и возвращает его редактируемое клиентское представление."
        },
        "/symbols/@id=script.method.mapper.Game.AddCritter%23fa5e6a45b39828c0/description": {
          "source_sha256": "ef6719a256e9ce3e953b8349c770edf623164fc380d0edda7d2464ef9c69c3ee",
          "translation": "Создает криттера по заданному прототипу на допустимом гексе текущей карты Mapper и возвращает его редактируемое клиентское представление."
        },
        "/symbols/@id=script.method.mapper.Game.AddItem%23659cb03d0e702e66/description": {
          "source_sha256": "2a46459901caba2b6a4399d2259dfe6cfbdc5916006bcd121f51f5e9b4e06fe2",
          "translation": "Создает предмет по заданному прототипу на допустимом гексе текущей карты Mapper и возвращает его редактируемое клиентское представление."
        },
        "/symbols/@id=script.method.mapper.Game.AddItem%23f08c1b76d0bf34c1/description": {
          "source_sha256": "b87cf9e940ade02090b9248005e21d6535de04a0056fafb14acd414fb0c4b022",
          "translation": "Создаёт предмет по указанному идентификатору прототипа на допустимом гексе карты, открытой в Mapper."
        },
        "/symbols/@id=script.method.mapper.Game.AddMapperIgnoredItemPids/description": {
          "source_sha256": "2a9f9def0537506019171ac62986f9f8d8a757519363f432602000a1481d66b2",
          "translation": "Добавляет идентификаторы прототипов предметов в набор игнорирования Mapper текущей карты и перестраивает представление карты, чтобы применить фильтрацию."
        },
        "/symbols/@id=script.method.mapper.Game.AddMessage/description": {
          "source_sha256": "729241ed86f234a8f680a394a631fd7922d2aae4fe32760ed1d0d2361ef0c2a8",
          "translation": "Добавляет сообщение в экранный журнал сообщений Mapper."
        },
        "/symbols/@id=script.method.mapper.Game.AddTile/description": {
          "source_sha256": "53f7e1f6d31b7533d62a0d233e125b9028012cffe41427a8b9ff64e4b1ccb726",
          "translation": "Добавляет редактируемый тайл пола или крыши известного прототипа предмета на допустимый гекс текущей карты, ограничивая слой диапазоном от нуля до четырех."
        },
        "/symbols/@id=script.method.mapper.Game.CalcMapperFitZoom/description": {
          "source_sha256": "59827a53585e268ea3032ad05a46e5aac3ac80f3bc25b1552f5e004966059efb",
          "translation": "Вычисляет меньший горизонтальный или вертикальный масштаб, необходимый для размещения настроенной игровой области либо полных границ карты в положительной области просмотра."
        },
        "/symbols/@id=script.method.mapper.Game.CenterMapperOnHex/description": {
          "source_sha256": "ac82678a21e2c5f98bff79215ca2f828bb4fe0e8e6ce80e9548b9dd479e0232a",
          "translation": "Центрирует и перестраивает текущее представление Mapper на допустимом гексе карты; недопустимый гекс или отсутствие текущей карты приводят к исключению."
        },
        "/symbols/@id=script.method.mapper.Game.CenterMapperOnPlayableArea/description": {
          "source_sha256": "9d9fddddff017ffa335bbeaea6d600a5d8e937c0eb82a2cc8a9dc815e8a9caaf",
          "translation": "Центрирует и перестраивает представление Mapper по настроенной аксиальной игровой области, включая координаты вне карты, либо по размерам карты, если область не задана."
        },
        "/symbols/@id=script.method.mapper.Game.CenterMapperOnRawHex/description": {
          "source_sha256": "e24ecd72cfd15e4481283ef8472865768d650fcad1b4d3a8e1da663e5670b466",
          "translation": "Центрирует и перестраивает текущее представление Mapper по неограниченной сырой координате гекса, поддерживая авторские игровые области за прямоугольником карты."
        },
        "/symbols/@id=script.method.mapper.Game.DeleteEntities/description": {
          "source_sha256": "53f6ee166c8bbce6556dc4fac2a517b3827219c988ab62050d0d1423965066fd",
          "translation": "Удаляет каждую ненулевую и неуничтоженную редактируемую сущность из заданной коллекции, пропуская непригодные записи."
        },
        "/symbols/@id=script.method.mapper.Game.DeleteEntity/description": {
          "source_sha256": "104f937d8b26f7723866fe885b2d13585c28d535d171e918d39712cf7b374f6e",
          "translation": "Удаляет одну редактируемую сущность через обычный путь удаления Mapper."
        },
        "/symbols/@id=script.method.mapper.Game.FindEntityById/description": {
          "source_sha256": "fa51f6a39efcaaaf8d2a3eb01da37476a4518b556c6de3ac6962fd7478e52441",
          "translation": "Ищет редактируемую сущность по идентификатору времени выполнения на текущей карте Mapper или возвращает null, если сущность отсутствует."
        },
        "/symbols/@id=script.method.mapper.Game.GetCritterOnHex/description": {
          "source_sha256": "5b3cd45353c351f088ffaf034b862d358c084d9d6d798ff02a6e980f2fb382e1",
          "translation": "Возвращает первого криттера на гексе, проходящего заданный фильтр типа поиска, или null, если подходящих криттеров нет."
        },
        "/symbols/@id=script.method.mapper.Game.GetCrittersOnHex/description": {
          "source_sha256": "2f1bc70251b79bec36a174b0c147a0455d2efa4b078e66aba2c8d55a1bfaf797",
          "translation": "Возвращает всех криттеров на гексе текущей карты Mapper, проходящих заданный фильтр типа поиска."
        },
        "/symbols/@id=script.method.mapper.Game.GetCurMapHexSize/description": {
          "source_sha256": "0caa31c77d7660d6b1b47ec16fae99d6b666df50ad815e522756c1d7fa322df9",
          "translation": "Возвращает размеры текущей карты Mapper в гексах; при отсутствии показанной карты выбрасывает исключение."
        },
        "/symbols/@id=script.method.mapper.Game.GetCurMapPixelSize/description": {
          "source_sha256": "7b1653b85e50dbdcb6317eaa069e7304d4904c006cd3b7c5e90b711ce5f2c4eb",
          "translation": "Возвращает полный ограничивающий размер гекс-сетки текущей карты Mapper в пикселях; при отсутствии показанной карты выбрасывает исключение."
        },
        "/symbols/@id=script.method.mapper.Game.GetItemOnHex/description": {
          "source_sha256": "3da7b47a8f5bc5385674ae0c5fb8355282701638510c005f86d818c8e4e1c5a3",
          "translation": "Возвращает результат одиночного поиска предмета на гексе текущей карты Mapper или null, если предмет там не выбран."
        },
        "/symbols/@id=script.method.mapper.Game.GetItemsOnHex/description": {
          "source_sha256": "09634a3dcdf632e3e21d79df8c8c893d50feaa585c848e7c44cabce787e2e83a",
          "translation": "Возвращает все редактируемые представления предметов на гексе текущей карты Mapper."
        },
        "/symbols/@id=script.method.mapper.Game.GetLoadedMaps/description": {
          "source_sha256": "6d1842bc41a33104afe3361175dd3beae86de91be6690cc3acd066f2c5073e02",
          "translation": "Возвращает все загруженные карты Mapper в порядке загрузки и записывает индекс текущей карты либо -1, если ни одна возвращенная карта не является текущей."
        },
        "/symbols/@id=script.method.mapper.Game.GetMapFileNames/description": {
          "source_sha256": "4952edd4d388ee5639b30e08770dd3c5c5a25c34ddb4ea059d9ae7260ca1369d",
          "translation": "Перечисляет объявленные имена карт из файлов прототипов в каталоге карт Mapper с необязательным рекурсивным обходом."
        },
        "/symbols/@id=script.method.mapper.Game.GetMapperScrollBorderHexes/description": {
          "source_sha256": "d72d5d7f008a64b9e7b085bf4fb96ecb5b055d9dbfee4edaac96aac9dfff904d",
          "translation": "Возвращает отображаемые гексы внутри карты на границе настроенной аксиальной области прокрутки или пустой массив, если карта либо граница отсутствует."
        },
        "/symbols/@id=script.method.mapper.Game.GetMapperTrackOverlayHexes/description": {
          "source_sha256": "d6cb878d5b45cb010c2e903aa2111105e0950a1f728efe86332d193c669b662e",
          "translation": "Возвращает последовательность гексов, которую сейчас предоставляет путевой overlay Mapper."
        },
        "/symbols/@id=script.method.mapper.Game.GetMapperTrackOverlayKinds/description": {
          "source_sha256": "ac96a8c22a87c9062d52f7842d5aafe6949115279fea0d33e9b639276bf155cd",
          "translation": "Возвращает значения вида для каждой записи, выровненные с последовательностью гексов путевого overlay Mapper."
        },
        "/symbols/@id=script.method.mapper.Game.GetSelectedEntities/description": {
          "source_sha256": "9e0d36a8fa9fa35455fc2b157fbee3506f9e96d7ab3828d3f38add8e88173fa5",
          "translation": "Возвращает снимок всех сущностей в текущем порядке выбора Mapper."
        },
        "/symbols/@id=script.method.mapper.Game.GetSelectedEntity/description": {
          "source_sha256": "0070cdb67ac1494cdff6b264e02a3ca022780d465de145cb0f4cf3d64aba4a35",
          "translation": "Возвращает первую выбранную сущность Mapper или null, если выбор пуст."
        },
        "/symbols/@id=script.method.mapper.Game.GetVisibleMapLayers/description": {
          "source_sha256": "f5bf58a32a924503bfdbdf8097a9b67bfb1992a7442a1f771154ead14e3d3976",
          "translation": "Возвращает слои карты, видимые сейчас в окне Mapper."
        },
        "/symbols/@id=script.method.mapper.Game.IsMapperHexOverlayVisible/description": {
          "source_sha256": "f667c86bf1cfadfaad9d1e57afff3c97a2a2d1906db7f6f325c95d94006ff052",
          "translation": "Возвращает, видим ли общий для Mapper гекс-overlay."
        },
        "/symbols/@id=script.method.mapper.Game.IsMapperOverlayVisible/description": {
          "source_sha256": "cdb959d4d136440ca6f68e7c245898a4edb62d50c763c26cb9d25f9f3572ba19",
          "translation": "Возвращает, видим ли общий overlay Mapper текущей карты, или false, если карта не показана."
        },
        "/symbols/@id=script.method.mapper.Game.LoadMap/description": {
          "source_sha256": "febde10bba5b9a59de29c15f9a45bff7fa72d68f960e9ce12656c1ab403c9ad7",
          "translation": "Загружает карту по имени файла из файловой системы Mapper и возвращает ее представление либо null при неудачной загрузке."
        },
        "/symbols/@id=script.method.mapper.Game.MoveEntity/description": {
          "source_sha256": "89bd1c338c98913ebdded2a608b1f2b258d758e1f0d4057138b4d3c34e1f7b37",
          "translation": "Перемещает ненулевую редактируемую сущность на допустимый гекс текущей карты Mapper; null-сущность игнорируется."
        },
        "/symbols/@id=script.method.mapper.Game.NewMap/description": {
          "source_sha256": "398b46f7aa42783346de9e8ddd7d9e664fddc9d3d808198910831e8a92010a68",
          "translation": "Создает и загружает минимальную именованную карту с размерами, ограниченными пределами Engine, и рабочим гексом в центре; пустое имя приводит к исключению."
        },
        "/symbols/@id=script.method.mapper.Game.NewMapFromText/description": {
          "source_sha256": "4e524e9e8eec5ee35c38b522f5d6b25d327edca4ed35308ff991efa51519a5f8",
          "translation": "Загружает именованную карту из авторского текста с секцией ProtoMap; пустое имя или отсутствие секции приводят к исключению, а ошибка разбора может вернуть null."
        },
        "/symbols/@id=script.method.mapper.Game.ResizeMap/description": {
          "source_sha256": "8d4da3ea1ab2ccb54895739b45fb48d6f99116e0b0f693f57e4a1440c3f036cd",
          "translation": "Изменяет размеры текущей карты Mapper через обычную операцию редактора."
        },
        "/symbols/@id=script.method.mapper.Game.SaveMap/description": {
          "source_sha256": "509eb34e727cb4a950af8e36902f1899ee31bd6483a67b33c81274b0af04e3a5",
          "translation": "Сохраняет заданную карту Mapper с необязательным пользовательским именем через обычный путь сохранения карты."
        },
        "/symbols/@id=script.method.mapper.Game.SaveMapToPath/description": {
          "source_sha256": "836607831bb088a04886cb75100508397a317161494327a8058816f942c2664c",
          "translation": "Сохраняет карту ниже корневого каталога карт Mapper с подкаталогом и именем без разделителей; пустые имена и обход родительских каталогов отклоняются."
        },
        "/symbols/@id=script.method.mapper.Game.SaveMapperScreenshot/description": {
          "source_sha256": "7640a65faec1e89e8e1014864ee9b12893696447d700df6824c7e33a1b5340bb",
          "translation": "Сохраняет рендер текущей карты как PNG по непустому пути через путь снимка Mapper только для карты."
        },
        "/symbols/@id=script.method.mapper.Game.SelectEntities/description": {
          "source_sha256": "c1937c271464384bb0eb7ae04086e556660934eb81f0b463ea51e22055cb142e",
          "translation": "Добавляет каждую ненулевую сущность заданной коллекции в выбор Mapper или удаляет из него в соответствии со значением set."
        },
        "/symbols/@id=script.method.mapper.Game.SelectEntity/description": {
          "source_sha256": "02873ec42d6e4b0f20a1ccaa120b23983cf6616187be7990970d01d647085ec4",
          "translation": "Добавляет одну редактируемую сущность в выбор Mapper при set = true или удаляет ее при false."
        },
        "/symbols/@id=script.method.mapper.Game.SetEntityProperty/description": {
          "source_sha256": "bc15170fe62f68f24e10f6c491c9bd065eaafb3b16f479672b439da27295a8cf",
          "translation": "Разбирает и применяет именованное значение свойства к редактируемой сущности, возвращая, принял ли Mapper текст; неизвестное имя свойства приводит к исключению."
        },
        "/symbols/@id=script.method.mapper.Game.SetMapperHexOverlayVisible/description": {
          "source_sha256": "0fbb49a8f30b6f668d41491fed182e08653248af36d3ce01e0a3f5c543d54321",
          "translation": "Показывает или скрывает общий для Mapper гекс-overlay."
        },
        "/symbols/@id=script.method.mapper.Game.SetMapperHiddenSpritesVisible/description": {
          "source_sha256": "bc22d481a0a2f525dcd1448e500f5593516f5212fb025e7c3e0597067c5be96e",
          "translation": "Показывает или скрывает спрайты, помеченные скрытыми, на текущей карте Mapper."
        },
        "/symbols/@id=script.method.mapper.Game.SetMapperOverlayVisible/description": {
          "source_sha256": "acfa1462bd9b40058a62104255ebedd0514f0f8d8055224a6669d8788fc9778c",
          "translation": "Показывает или скрывает общий overlay Mapper на текущей карте."
        },
        "/symbols/@id=script.method.mapper.Game.SetMapperScrollCheckEnabled/description": {
          "source_sha256": "1ca31415d844c65f841c5fb119cac14fcc515726ca81188195ca3ebc7e787395",
          "translation": "Включает или отключает проверку прокрутки на текущей карте Mapper и перестраивает ее представление."
        },
        "/symbols/@id=script.method.mapper.Game.SetMapperViewSize/description": {
          "source_sha256": "5bf58e29a1ffc9b461a068b344f45cbd6530d8db46d2436ec837b9e996851a3d",
          "translation": "Задает положительный размер области рендера текущей карты Mapper; неположительные размеры или отсутствие карты приводят к исключению."
        },
        "/symbols/@id=script.method.mapper.Game.SetMapperZoom/description": {
          "source_sha256": "5fae536035a8e225189068b9b52c247e9373adc47dba0b9fd348e976a3d8ac03",
          "translation": "Немедленно применяет положительный масштаб к текущей карте Mapper и обновляет его целевое значение; неположительный масштаб или отсутствие карты приводят к исключению."
        },
        "/symbols/@id=script.method.mapper.Game.SetMouseScroll/description": {
          "source_sha256": "251f1938e88e68883eac09d1abdcd9e12145da789396bb2dd443685319ea522e",
          "translation": "Настраивает прокрутку у края экрана в полноэкранном и оконном режимах Mapper."
        },
        "/symbols/@id=script.method.mapper.Game.SetVisibleMapLayers/description": {
          "source_sha256": "c2c3b23a59aeffd005c2fc362f3091b10998a02425253de20df53a6cccf72774",
          "translation": "Заменяет набор слоёв, видимых в окне Mapper, и применяет новое состояние видимости."
        },
        "/symbols/@id=script.method.mapper.Game.ShowMap/description": {
          "source_sha256": "35736580af13347a0ba580bd65e08d9b1e92f01b815837c2fccd7762084cfe08",
          "translation": "Делает заданную загруженную карту текущей показанной картой Mapper."
        },
        "/symbols/@id=script.method.mapper.Game.TabDelete/description": {
          "source_sha256": "344bab545b086f60c403e48c328bb98ebee07c6dfe432ffd888db203ee9f6248",
          "translation": "Очищает допустимую вкладку содержимого Mapper, заново создает ее пустую агрегатную подвкладку по умолчанию и делает ее активной."
        },
        "/symbols/@id=script.method.mapper.Game.TabGetCritterPids/description": {
          "source_sha256": "e438e14dcfb77d9a3c6d1ef08f8a03f59e0766199a7f8a99ef5d055386b8c2c8",
          "translation": "Возвращает идентификаторы прототипов криттеров из допустимой вкладки и именованной подвкладки Mapper, используя агрегатную подвкладку по умолчанию при пустом имени; неизвестная именованная подвкладка дает пустой массив."
        },
        "/symbols/@id=script.method.mapper.Game.TabGetItemPids/description": {
          "source_sha256": "54f4701f2e8f1d20ed0ab9c5d50b4076642e9116c0cf7b06a120653e973f763f",
          "translation": "Возвращает идентификаторы прототипов предметов из допустимой вкладки и именованной подвкладки Mapper, используя агрегатную подвкладку по умолчанию при пустом имени; неизвестная именованная подвкладка дает пустой массив."
        },
        "/symbols/@id=script.method.mapper.Game.TabSelect/description": {
          "source_sha256": "bce89ac624f19aa527411f4a937db33e868948eee5c35508d8a026fe9d5fed51",
          "translation": "При необходимости показывает допустимый режим панели Mapper и выбирает существующую именованную либо стандартную подвкладку содержимого, если режим владеет такими вкладками."
        },
        "/symbols/@id=script.method.mapper.Game.TabSetCritterPids/description": {
          "source_sha256": "b6c3d8b11439d815dba6c18eaebe87802e453ff8f7134800ceaa7699f5c85b1f",
          "translation": "Заменяет прототипы криттеров пользовательской подвкладки Mapper или удаляет подвкладку для пустого списка, затем перестраивает агрегатный список по умолчанию и активную палитру прототипов; неизвестные идентификаторы приводят к исключению."
        },
        "/symbols/@id=script.method.mapper.Game.TabSetItemPids/description": {
          "source_sha256": "d08e753469bb6d19233e17ceea0e338476d85bdac254fd5937f8564a46f82821",
          "translation": "Заменяет известные прототипы предметов пользовательской подвкладки Mapper или удаляет подвкладку для пустого списка, затем перестраивает агрегатный список по умолчанию и активную палитру прототипов."
        },
        "/symbols/@id=script.method.mapper.Game.TabSetName/description": {
          "source_sha256": "bc4dfb0e0a2ea70a2df4bc31d41f77a7240089cbef7b715bc428dbf626e34673",
          "translation": "Заменяет отображаемое имя допустимого режима панели Mapper."
        },
        "/symbols/@id=script.method.mapper.Game.UnloadMap/description": {
          "source_sha256": "074b7247d3dcc9f471c83f025ec21ce0cb83043ff884297f8b3a7841c0bbcc8e",
          "translation": "Выгружает заданное представление карты из Mapper."
        },
        "/symbols/@id=script.method.server.Critter.Action/description": {
          "source_sha256": "df25be4b33912abf15c5ff1c92dd8df6a3f2668125ce30ff215a09a696696e11",
          "translation": "SyncScope: требует self и контекстный предмет, если он не равен null; только отправляет или рассылает действие."
        },
        "/symbols/@id=script.method.server.Critter.AddItem%236029176d1f44719d/description": {
          "source_sha256": "977e780a5bab468f190e646b8b229b3aa2635b7d582b22b4f45c98d010e8174e",
          "translation": "SyncScope: требует self; создаёт и присоединяет новый предмет инвентаря под cover self."
        },
        "/symbols/@id=script.method.server.Critter.AddItem%23e8b1d5e540061d17/description": {
          "source_sha256": "977e780a5bab468f190e646b8b229b3aa2635b7d582b22b4f45c98d010e8174e",
          "translation": "SyncScope: требует self; создаёт и присоединяет новый предмет инвентаря под cover self."
        },
        "/symbols/@id=script.method.server.Critter.AttachToCritter/description": {
          "source_sha256": "13be31b8d09e8c416e7db4dd4c9b8713c7bfd86c80431e965da222f35f4afb10",
          "translation": "SyncScope: требует self и cr; обе сущности должны находиться на одной покрытой карте."
        },
        "/symbols/@id=script.method.server.Critter.ChangeItemSlot/description": {
          "source_sha256": "ea67d7ce3e262ed54626ccdb0481ebed476d75e4b787eca6e1f9005e07aaf57d",
          "translation": "SyncScope: требует self и предмет инвентаря; изменяет слот предмета и вызывает события перемещения и экипировки."
        },
        "/symbols/@id=script.method.server.Critter.ChangeMovingSpeed/description": {
          "source_sha256": "54b5d524cb609a4fe04e3e025a0ec8dcde035eff96ae169adffa19d3e5d01775",
          "translation": "SyncScope: требует self; изменяет текущую скорость движения."
        },
        "/symbols/@id=script.method.server.Critter.DetachAllCritters/description": {
          "source_sha256": "12152c22ddf49ca8afe278a7fdcd22e32f232f154edf2f245ecbd7921b3d0223",
          "translation": "SyncScope: требует self и присоединенных криттеров; отсоединяет каждого криттера и обновляет видимость."
        },
        "/symbols/@id=script.method.server.Critter.DetachFromCritter/description": {
          "source_sha256": "8293a2cd5d9865a6ed5a452d1d35ee9a6b1fdb3f45eef252bca2d0973be0a55d",
          "translation": "SyncScope: требует self и текущую карту; отсоединяет self и обновляет видимость."
        },
        "/symbols/@id=script.method.server.Critter.Disconnect/description": {
          "source_sha256": "b962cd0328645944922506405ac7ebde0e1b3ad3218eb1c6286db5b62b737942",
          "translation": "SyncScope: требует self и его автоматически добавленную в покрытие связь Player; закрывает соединение этого игрока."
        },
        "/symbols/@id=script.method.server.Critter.GetAttachedCritters/description": {
          "source_sha256": "0cb627b09ef46e999822d51ca2bb53b04c75f7a32e52ce69368102c2db558b98",
          "translation": "SyncScope: требует self; перед изменением возвращенных присоединенных криттеров необходимо получить их собственное покрытие."
        },
        "/symbols/@id=script.method.server.Critter.GetCritter/description": {
          "source_sha256": "c08c37040138faf30b373834e4490dedf4339d920673fbd76ff67b8795b3c150",
          "translation": "SyncScope: требует self; поиск наблюдателей может потребовать покрытия карты self, если self размещен на карте."
        },
        "/symbols/@id=script.method.server.Critter.GetCritters/description": {
          "source_sha256": "66ba723944b3d05e627702fe66958720c1fc052fb9ac7824ed71283b9b5fcfa3",
          "translation": "SyncScope: требует self и текущую карту при наличии размещения; возвращенные криттеры покрыты только пока сохраняется это покрытие."
        },
        "/symbols/@id=script.method.server.Critter.GetGlobalMapCritterIds/description": {
          "source_sha256": "e9db444dd02cbe448eac7643992f964fff375bc2685a356664c76c67147d7715",
          "translation": "SyncScope: требует self; возвращает идентификаторы текущей группы глобальной карты self вместе с ревизией ее состава (пустой список и ревизия 0, если self размещен на карте). Участники группы являются независимыми корнями Critter, не входящими в покрытие self. Поэтому код, отправляющий криттеру глобальной карты начальные данные, переносящий или уничтожающий его, разрешает и покрывает возвращенные идентификаторы, а затем повторно читает идентификаторы и ревизию, подтверждая неизменность состава во время получения покрытия."
        },
        "/symbols/@id=script.method.server.Critter.GetItem%2320907df3571a66a9/description": {
          "source_sha256": "dc24010e57679c4a2143f77b882012c74d0a0a5a0fc81ec843e15309a6e41392",
          "translation": "SyncScope: требует self; возвращенный предмет инвентаря входит в покрытие self, пока оно сохраняется."
        },
        "/symbols/@id=script.method.server.Critter.GetItem%233e4a8f273e418d3b/description": {
          "source_sha256": "dc24010e57679c4a2143f77b882012c74d0a0a5a0fc81ec843e15309a6e41392",
          "translation": "SyncScope: требует self; возвращенный предмет инвентаря входит в покрытие self, пока оно сохраняется."
        },
        "/symbols/@id=script.method.server.Critter.GetItem%235042179ea08a430e/description": {
          "source_sha256": "dc24010e57679c4a2143f77b882012c74d0a0a5a0fc81ec843e15309a6e41392",
          "translation": "SyncScope: требует self; возвращенный предмет инвентаря входит в покрытие self, пока оно сохраняется."
        },
        "/symbols/@id=script.method.server.Critter.GetItem%238eedde0030f87e84/description": {
          "source_sha256": "dc24010e57679c4a2143f77b882012c74d0a0a5a0fc81ec843e15309a6e41392",
          "translation": "SyncScope: требует self; возвращенный предмет инвентаря входит в покрытие self, пока оно сохраняется."
        },
        "/symbols/@id=script.method.server.Critter.GetItems%2383c145745774df22/description": {
          "source_sha256": "06333c1cb2e48f6df1e28bf7c936c96876cbd5f9ab39fa6b08705271e70a00c8",
          "translation": "SyncScope: требует self; возвращенные предметы инвентаря входят в покрытие self, пока оно сохраняется."
        },
        "/symbols/@id=script.method.server.Critter.GetItems%23a6ae510092488b1e/description": {
          "source_sha256": "06333c1cb2e48f6df1e28bf7c936c96876cbd5f9ab39fa6b08705271e70a00c8",
          "translation": "SyncScope: требует self; возвращенные предметы инвентаря входят в покрытие self, пока оно сохраняется."
        },
        "/symbols/@id=script.method.server.Critter.GetItems%23b851260ade7c353c/description": {
          "source_sha256": "06333c1cb2e48f6df1e28bf7c936c96876cbd5f9ab39fa6b08705271e70a00c8",
          "translation": "SyncScope: требует self; возвращенные предметы инвентаря входят в покрытие self, пока оно сохраняется."
        },
        "/symbols/@id=script.method.server.Critter.GetItems%23ef66ddcc26718dfe/description": {
          "source_sha256": "06333c1cb2e48f6df1e28bf7c936c96876cbd5f9ab39fa6b08705271e70a00c8",
          "translation": "SyncScope: требует self; возвращенные предметы инвентаря входят в покрытие self, пока оно сохраняется."
        },
        "/symbols/@id=script.method.server.Critter.GetMap/description": {
          "source_sha256": "16a61d0098a2b759df7289ae057f665e39f91c8e9f26557f618bbc30f0000ea3",
          "translation": "SyncScope: требует self; возвращает дескриптор текущей родительской карты, но не покрывает ее для последующего чтения."
        },
        "/symbols/@id=script.method.server.Critter.GetMovingContext/description": {
          "source_sha256": "81e7ad78e0bd15001aaaba4ca9ca3dcba4c9a6d11a72c38e89656353a5a91bfd",
          "translation": "SyncScope: требует self; возвращенный контекст движения является дескриптором снимка активного перемещения self."
        },
        "/symbols/@id=script.method.server.Critter.GetMovingState/description": {
          "source_sha256": "1e0e1ccf947e93de42c41832bc26370fd2acb5b6ddc21b7484daa098d8d9f4b4",
          "translation": "SyncScope: требует self; читает только текущее состояние движения."
        },
        "/symbols/@id=script.method.server.Critter.GetMovingUid/description": {
          "source_sha256": "2eb5acb3659322dda750c7d52af0b31439a635b8f9aba6605429a871dc662e5c",
          "translation": "SyncScope: требует self; читает только текущий идентификатор движения."
        },
        "/symbols/@id=script.method.server.Critter.GetPlayer/description": {
          "source_sha256": "2445760762f011e07a34d3e44b7ad9635d3a7d1ee6de82a935651787b94cacc6",
          "translation": "SyncScope: требует self; возвращает автоматически добавляемого в покрытие партнера Player, если он присоединен."
        },
        "/symbols/@id=script.method.server.Critter.GetPlayerOfflineTime/description": {
          "source_sha256": "6f2652490a6f7acad3ad74babe797642c2d91ef14d350b94e80c46d8a21d42f1",
          "translation": "SyncScope: требует self; читает только offline-состояние связи этого криттера с игроком."
        },
        "/symbols/@id=script.method.server.Critter.GetVisibilityMode/description": {
          "source_sha256": "22d54cc2364f9c3e7ffdf4d4b0ec1193f9d7dc75d936c45fc0fcd0bcdcc2ecad",
          "translation": "SyncScope: требует self и cr; читает из кеша режима видимости self данные покрытого криттера."
        },
        "/symbols/@id=script.method.server.Critter.IsAlive/description": {
          "source_sha256": "31f16872432aff91d8e66a0c939b43f8ed0a3cd04d5be2680d695ac90b3dbe37",
          "translation": "SyncScope: требует self; читает только текущее состояние криттера."
        },
        "/symbols/@id=script.method.server.Critter.IsDead/description": {
          "source_sha256": "31f16872432aff91d8e66a0c939b43f8ed0a3cd04d5be2680d695ac90b3dbe37",
          "translation": "SyncScope: требует self; читает только текущее состояние криттера."
        },
        "/symbols/@id=script.method.server.Critter.IsKnockout/description": {
          "source_sha256": "31f16872432aff91d8e66a0c939b43f8ed0a3cd04d5be2680d695ac90b3dbe37",
          "translation": "SyncScope: требует self; читает только текущее состояние криттера."
        },
        "/symbols/@id=script.method.server.Critter.IsMoving/description": {
          "source_sha256": "bf00b1ccb06fd36b447af91b4fd08889c7d56873c8a71ee6097edf5eacd712fd",
          "translation": "SyncScope: требует self; читает только текущий флаг движения."
        },
        "/symbols/@id=script.method.server.Critter.IsOnline/description": {
          "source_sha256": "50660c8e76bfc3a0c023f0e40c0b340accd7712e0f7624dec782a195e8405fc2",
          "translation": "SyncScope: требует self и его автоматически добавленную в покрытие связь Player; только читает состояние подключения."
        },
        "/symbols/@id=script.method.server.Critter.IsSee%2311f3357f2df75c38/description": {
          "source_sha256": "f2ed688aec948c49c111a49aaec89c997bce3f290697a2fd99879b8d8b38c279",
          "translation": "SyncScope: требует self и cr; проверяет в кеше видимости self наличие покрытого криттера."
        },
        "/symbols/@id=script.method.server.Critter.IsSee%23c05ec9ee4a1d9b41/description": {
          "source_sha256": "07967f9c5510ecd64e45e0a1c7a2c04fccf65d9a3b46caaad643b178c36f042c",
          "translation": "SyncScope: требует self и предмет; проверяет в кеше видимых предметов self наличие покрытого предмета."
        },
        "/symbols/@id=script.method.server.Critter.IsSeenBy/description": {
          "source_sha256": "13174c86890ed953b1fed97330e6650326a331133b56c6ac3f73ca77ea1b368d",
          "translation": "SyncScope: требует self и cr; проверяет в кеше видимости cr наличие этого покрытого криттера."
        },
        "/symbols/@id=script.method.server.Critter.MakeControllable/description": {
          "source_sha256": "ce08c4f56944912262a45c94170e948e887491d02350137346c6c99d4af4e2e1",
          "translation": "SyncScope: требует self и текущую карту; изменяет управляемое состояние или состояние игрока и может self-синхронизировать карту."
        },
        "/symbols/@id=script.method.server.Critter.MoveToHex%2359785332969dbd15/description": {
          "source_sha256": "39d2aca067c8c98e2d98b8e5d32f383eba69c257e6a551cff40bd32431fef03f",
          "translation": "SyncScope: требует self и текущую карту; начинает движение и возвращает новый контекст движения."
        },
        "/symbols/@id=script.method.server.Critter.MoveToHex%23877a3be2a55ba41a/description": {
          "source_sha256": "39d2aca067c8c98e2d98b8e5d32f383eba69c257e6a551cff40bd32431fef03f",
          "translation": "SyncScope: требует self и текущую карту; начинает движение и возвращает новый контекст движения."
        },
        "/symbols/@id=script.method.server.Critter.MoveToHex%23b27a6e0f0f8ceddb/description": {
          "source_sha256": "f2761726fa24a92e8ada74ad7963685ea02696358832120e00525a40f9ad2268",
          "translation": "Если маршрут длиннее maxPathLength, запрос отклоняется с HexTooFar без поиска за пределами этой глубины; 0 использует Geometry.MaxPathFindLength."
        },
        "/symbols/@id=script.method.server.Critter.RefreshView/description": {
          "source_sha256": "2e98ceeb6e5a4a92a93de2943bc31165d55682c9e86ae69f3f74ce73c10632ca",
          "translation": "SyncScope: требует self и текущую карту для размещенной сущности; пересчитывает видимых криттеров и предметы."
        },
        "/symbols/@id=script.method.server.Critter.RefreshVisibility/description": {
          "source_sha256": "2e98ceeb6e5a4a92a93de2943bc31165d55682c9e86ae69f3f74ce73c10632ca",
          "translation": "SyncScope: требует self и текущую карту для размещенной сущности; пересчитывает видимых криттеров и предметы."
        },
        "/symbols/@id=script.method.server.Critter.SendGlobalMapGroupInfo/description": {
          "source_sha256": "de85723b179bd20ae55d760089373dbf877f7c72e09fd63042f96840536cb2b9",
          "translation": "SyncScope: требует self и каждого криттера его текущей группы глобальной карты; отправляет остальных участников игроку self без получения дополнительного покрытия. Начальная информация содержит только самого криттера, поэтому код, присоединяющий криттера глобальной карты к игроку, покрывает группу через Sync::WidenCritterWithGlobalMapGroup и затем вызывает этот метод."
        },
        "/symbols/@id=script.method.server.Critter.SendItems/description": {
          "source_sha256": "2e02e520a884ea163ae598824caedcbc04b10fde7629ce0b97258f6d5e2be03f",
          "translation": "SyncScope: требует self и каждый предмет с ненулевым дескриптором в items; отправляет сетевую нагрузку без изменения покрытия."
        },
        "/symbols/@id=script.method.server.Critter.SetCondition/description": {
          "source_sha256": "220a66fef8a0ec182815d7dab58481501bd8fe580ee8e5c630ac910f55c05cee",
          "translation": "SyncScope: требует self, текущую карту для размещенной сущности и контекстный предмет, если он не равен null; изменяет поля состояния и карты."
        },
        "/symbols/@id=script.method.server.Critter.SetDir/description": {
          "source_sha256": "9d118c8e70e0ec054a096eaa2053c090aec846db9406b3738d2ff38997985579",
          "translation": "SyncScope: требует self; изменяет направление и рассылает его."
        },
        "/symbols/@id=script.method.server.Critter.SetupScript/description": {
          "source_sha256": "834a6f6d0882c8a4240b31bc41c1f21e10c123a6ae4ae02ebe741a9cec7b034e",
          "translation": "SyncScope: требует self; callback инициализации выполняется в том же покрытии и должен расширить его перед обращением к другим сущностям."
        },
        "/symbols/@id=script.method.server.Critter.SetupScriptEx/description": {
          "source_sha256": "834a6f6d0882c8a4240b31bc41c1f21e10c123a6ae4ae02ebe741a9cec7b034e",
          "translation": "SyncScope: требует self; callback инициализации выполняется в том же покрытии и должен расширить его перед обращением к другим сущностям."
        },
        "/symbols/@id=script.method.server.Critter.StopMoving/description": {
          "source_sha256": "19cd36cc631996e6391799041a85bf6f8f43c115e5512a4ff7fd476f297f0124",
          "translation": "SyncScope: требует self; останавливает текущее движение."
        },
        "/symbols/@id=script.method.server.Critter.TransferToGlobal/description": {
          "source_sha256": "1a47fb3f8dcea53bdf6528189cda7e70d1440fd15ef26a028ace194d833ec6a2",
          "translation": "SyncScope: требует self и текущую исходную карту, если self размещен на карте; переводит self в состояние глобальной карты."
        },
        "/symbols/@id=script.method.server.Critter.TransferToGlobalGroup/description": {
          "source_sha256": "2ef5ef8f2c256c8680a74b99851e0c2b3fcb89ba5db7c97f8111e51e57319b6a",
          "translation": "SyncScope: требует self и globalCr; если self размещен на карте, также требует его текущую исходную карту."
        },
        "/symbols/@id=script.method.server.Critter.TransferToGlobalWithGroup/description": {
          "source_sha256": "8b3deaa77458ebfc6d3f79f4a1528da75e76682a95cccdc4111723120c10b0ed",
          "translation": "SyncScope: перед переносом требует self, текущую исходную карту, каждого криттера группы и его текущую исходную карту."
        },
        "/symbols/@id=script.method.server.Critter.TransferToHex%238438d509ef6a8651/description": {
          "source_sha256": "5de2ac8b6c54fb6569b61a9b1ed10c098ef3e9b7cd0a94c32a90a4feb4f49eee",
          "translation": "SyncScope: требует self и текущую карту; перенос сохраняет покрытие self и изменяет размещение и направление на текущей карте."
        },
        "/symbols/@id=script.method.server.Critter.TransferToHex%23a9a09ef8641e16c0/description": {
          "source_sha256": "8df15b34e5fcca00149a6113e12533367fa316e9181a2dc8dbe92b10021bf8df",
          "translation": "SyncScope: требует self и текущую карту; перенос сохраняет покрытие self и изменяет размещение на текущей карте."
        },
        "/symbols/@id=script.method.server.Critter.TransferToMap%23c9880f573836f54f/description": {
          "source_sha256": "3068db6838f7662e48b8ee4811a59573ee1fc301496fb10682813ddcb1a7dc50",
          "translation": "SyncScope: требует self, исходную карту при наличии размещения, целевую карту и целевую локацию; скриптам следует использовать Sync::LockForTransferToMap(self, map)."
        },
        "/symbols/@id=script.method.server.Critter.TransferToMap%23dc3840f5d203dd4b/description": {
          "source_sha256": "3068db6838f7662e48b8ee4811a59573ee1fc301496fb10682813ddcb1a7dc50",
          "translation": "SyncScope: требует self, исходную карту при наличии размещения, целевую карту и целевую локацию; скриптам следует использовать Sync::LockForTransferToMap(self, map)."
        },
        "/symbols/@id=script.method.server.Entity.CountTimeEvent%2308f3341698dc846a/description": {
          "source_sha256": "df9073c580cf18c14df5f74a4a2f6e4f14892a11b2a51e9f3a63385009e10d41",
          "translation": "SyncScope: требует self; считает события, привязанные к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.CountTimeEvent%235609075e34e56857/description": {
          "source_sha256": "df9073c580cf18c14df5f74a4a2f6e4f14892a11b2a51e9f3a63385009e10d41",
          "translation": "SyncScope: требует self; считает события, привязанные к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.CountTimeEvent%239c7dd3ed70f86a7d/description": {
          "source_sha256": "df9073c580cf18c14df5f74a4a2f6e4f14892a11b2a51e9f3a63385009e10d41",
          "translation": "SyncScope: требует self; считает события, привязанные к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.CountTimeEvent%23ad56856359be786a/description": {
          "source_sha256": "df9073c580cf18c14df5f74a4a2f6e4f14892a11b2a51e9f3a63385009e10d41",
          "translation": "SyncScope: требует self; считает события, привязанные к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.CountTimeEvent%23e41a67022275199d/description": {
          "source_sha256": "df9073c580cf18c14df5f74a4a2f6e4f14892a11b2a51e9f3a63385009e10d41",
          "translation": "SyncScope: требует self; считает события, привязанные к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.GetRefCount/description": {
          "source_sha256": "27650121b0c576045ec40a6189271d610b143de37a683bee73cb1cc5dafa2923",
          "translation": "Диагностика утечки ссылок: учитываются каждая script-обёртка и каждый активный нативный pin, поэтому значима только разница, измеренная вокруг контролируемой последовательности вызовов."
        },
        "/symbols/@id=script.method.server.Entity.IsPersistent/description": {
          "source_sha256": "230511b95599fb8b98345d41e76686293a7f2e634052aa36ee6016cb11bfa99e",
          "translation": "SyncScope: требует self; читает только флаг сохраняемости."
        },
        "/symbols/@id=script.method.server.Entity.MakePersistent/description": {
          "source_sha256": "bf60d6de45563242a543f3cc8157483132600552431547ea7dbf699ed8568cdc",
          "translation": "SyncScope: требует self; каскад сохранения может self-синхронизировать покрытые дочерние сущности."
        },
        "/symbols/@id=script.method.server.Entity.RepeatTimeEvent%2328154675b58100aa/description": {
          "source_sha256": "372d0c49974ec68ac83487482de811e90af45979e07e9cada13506a616111fc2",
          "translation": "SyncScope: требует self; обновляет повтор события, привязанного к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.RepeatTimeEvent%2335eb685e9352ee97/description": {
          "source_sha256": "372d0c49974ec68ac83487482de811e90af45979e07e9cada13506a616111fc2",
          "translation": "SyncScope: требует self; обновляет повтор события, привязанного к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.RepeatTimeEvent%234c1ec6146e414fed/description": {
          "source_sha256": "372d0c49974ec68ac83487482de811e90af45979e07e9cada13506a616111fc2",
          "translation": "SyncScope: требует self; обновляет повтор события, привязанного к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.RepeatTimeEvent%23d107502adf65e851/description": {
          "source_sha256": "372d0c49974ec68ac83487482de811e90af45979e07e9cada13506a616111fc2",
          "translation": "SyncScope: требует self; обновляет повтор события, привязанного к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.RepeatTimeEvent%23d3e5bb91010a5ee6/description": {
          "source_sha256": "372d0c49974ec68ac83487482de811e90af45979e07e9cada13506a616111fc2",
          "translation": "SyncScope: требует self; обновляет повтор события, привязанного к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.SetTimeEventData%2309c025b7150b6bcd/description": {
          "source_sha256": "0cd2715ff05500567a43e49124e52274f86adaf2ef8215e4a03b87bb712839cf",
          "translation": "SyncScope: требует self; обновляет данные события, привязанного к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.SetTimeEventData%2346ce3a8e59df0b76/description": {
          "source_sha256": "0cd2715ff05500567a43e49124e52274f86adaf2ef8215e4a03b87bb712839cf",
          "translation": "SyncScope: требует self; обновляет данные события, привязанного к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.SetTimeEventData%23995b7ca79df38c35/description": {
          "source_sha256": "0cd2715ff05500567a43e49124e52274f86adaf2ef8215e4a03b87bb712839cf",
          "translation": "SyncScope: требует self; обновляет данные события, привязанного к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.SetTimeEventData%23adb2b4962b8e3874/description": {
          "source_sha256": "0cd2715ff05500567a43e49124e52274f86adaf2ef8215e4a03b87bb712839cf",
          "translation": "SyncScope: требует self; обновляет данные события, привязанного к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.SetTimeEventData%23c02fbdd5c31ecb21/description": {
          "source_sha256": "0cd2715ff05500567a43e49124e52274f86adaf2ef8215e4a03b87bb712839cf",
          "translation": "SyncScope: требует self; обновляет данные события, привязанного к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.SetTimeEventData%23c41820f30638ac18/description": {
          "source_sha256": "0cd2715ff05500567a43e49124e52274f86adaf2ef8215e4a03b87bb712839cf",
          "translation": "SyncScope: требует self; обновляет данные события, привязанного к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.StartTimeEvent%23170befe9003e3411/description": {
          "source_sha256": "a94735df84ce91ed9b357bd24f613237dd895c9aca48967570f686338134b53c",
          "translation": "SyncScope: требует self для планирования повторяющегося события; позднее вызванный обработчик получает от диспетчера покрытие self."
        },
        "/symbols/@id=script.method.server.Entity.StartTimeEvent%231e937a7976df63ac/description": {
          "source_sha256": "cbd9cb18b60961f50886011d5404078257075cb2d6cd6bd9b98659bf61a7093c",
          "translation": "SyncScope: требует self для планирования; позднее вызванный обработчик получает от диспетчера покрытие self."
        },
        "/symbols/@id=script.method.server.Entity.StartTimeEvent%23492d95e09fb651ed/description": {
          "source_sha256": "cbd9cb18b60961f50886011d5404078257075cb2d6cd6bd9b98659bf61a7093c",
          "translation": "SyncScope: требует self для планирования; позднее вызванный обработчик получает от диспетчера покрытие self."
        },
        "/symbols/@id=script.method.server.Entity.StartTimeEvent%23494379a91f97d59e/description": {
          "source_sha256": "a94735df84ce91ed9b357bd24f613237dd895c9aca48967570f686338134b53c",
          "translation": "SyncScope: требует self для планирования повторяющегося события; позднее вызванный обработчик получает от диспетчера покрытие self."
        },
        "/symbols/@id=script.method.server.Entity.StartTimeEvent%2364daaaa7e6125cb3/description": {
          "source_sha256": "a94735df84ce91ed9b357bd24f613237dd895c9aca48967570f686338134b53c",
          "translation": "SyncScope: требует self для планирования повторяющегося события; позднее вызванный обработчик получает от диспетчера покрытие self."
        },
        "/symbols/@id=script.method.server.Entity.StartTimeEvent%23805b4b72ba72a604/description": {
          "source_sha256": "a94735df84ce91ed9b357bd24f613237dd895c9aca48967570f686338134b53c",
          "translation": "SyncScope: требует self для планирования повторяющегося события; позднее вызванный обработчик получает от диспетчера покрытие self."
        },
        "/symbols/@id=script.method.server.Entity.StartTimeEvent%239e1b092a1d7fb963/description": {
          "source_sha256": "a94735df84ce91ed9b357bd24f613237dd895c9aca48967570f686338134b53c",
          "translation": "SyncScope: требует self для планирования повторяющегося события; позднее вызванный обработчик получает от диспетчера покрытие self."
        },
        "/symbols/@id=script.method.server.Entity.StartTimeEvent%23ae9a39c7d8c1d6fa/description": {
          "source_sha256": "cbd9cb18b60961f50886011d5404078257075cb2d6cd6bd9b98659bf61a7093c",
          "translation": "SyncScope: требует self для планирования; позднее вызванный обработчик получает от диспетчера покрытие self."
        },
        "/symbols/@id=script.method.server.Entity.StartTimeEvent%23af2f95f5513a4cfa/description": {
          "source_sha256": "a94735df84ce91ed9b357bd24f613237dd895c9aca48967570f686338134b53c",
          "translation": "SyncScope: требует self для планирования повторяющегося события; позднее вызванный обработчик получает от диспетчера покрытие self."
        },
        "/symbols/@id=script.method.server.Entity.StartTimeEvent%23b494dfd4a4fa81ea/description": {
          "source_sha256": "cbd9cb18b60961f50886011d5404078257075cb2d6cd6bd9b98659bf61a7093c",
          "translation": "SyncScope: требует self для планирования; позднее вызванный обработчик получает от диспетчера покрытие self."
        },
        "/symbols/@id=script.method.server.Entity.StartTimeEvent%23d9b6635334d5ae05/description": {
          "source_sha256": "cbd9cb18b60961f50886011d5404078257075cb2d6cd6bd9b98659bf61a7093c",
          "translation": "SyncScope: требует self для планирования; позднее вызванный обработчик получает от диспетчера покрытие self."
        },
        "/symbols/@id=script.method.server.Entity.StartTimeEvent%23e59548a665ddb838/description": {
          "source_sha256": "cbd9cb18b60961f50886011d5404078257075cb2d6cd6bd9b98659bf61a7093c",
          "translation": "SyncScope: требует self для планирования; позднее вызванный обработчик получает от диспетчера покрытие self."
        },
        "/symbols/@id=script.method.server.Entity.StopTimeEvent%231ff4e8b7bdb6f35c/description": {
          "source_sha256": "d751a566369515024b803e1af77e911393d374fcf943a03911fa103bca20c954",
          "translation": "SyncScope: требует self; останавливает события, привязанные к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.StopTimeEvent%2358fd464d379e5ea5/description": {
          "source_sha256": "d751a566369515024b803e1af77e911393d374fcf943a03911fa103bca20c954",
          "translation": "SyncScope: требует self; останавливает события, привязанные к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.StopTimeEvent%23be90949683fff93d/description": {
          "source_sha256": "bcaf229fbed937e815523989a3eef625e4556f0d5ee5727a18ce86443c5f39d3",
          "translation": "SyncScope: требует self; останавливает событие, привязанное к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.StopTimeEvent%23d792082ed73a8fc8/description": {
          "source_sha256": "d751a566369515024b803e1af77e911393d374fcf943a03911fa103bca20c954",
          "translation": "SyncScope: требует self; останавливает события, привязанные к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Entity.StopTimeEvent%23ddfbd34ed1764f92/description": {
          "source_sha256": "d751a566369515024b803e1af77e911393d374fcf943a03911fa103bca20c954",
          "translation": "SyncScope: требует self; останавливает события, привязанные к self, не изменяя покрытие."
        },
        "/symbols/@id=script.method.server.Game.CallStaticItemFunction/description": {
          "source_sha256": "0af68eb3f6b415147796e53f17b29b3ecafab5736b9ed5a64f7d2fa8f7554c5e",
          "translation": "SyncScope: требует cr и usedItem, если они не равны null; staticItem является статическими данными карты, а не покрытием активной сущности."
        },
        "/symbols/@id=script.method.server.Game.CloneItem/description": {
          "source_sha256": "af7252b1266b83c22c2dc49d5358c94ac2d007180f35220204c0bfcf95a3467d",
          "translation": "Клонирует весь текущий предмет и возвращает новый предмет с покрытием синхронизации."
        },
        "/symbols/@id=script.method.server.Game.CreateCritter%23151d7b0fa45c079e/description": {
          "source_sha256": "c356fcb0d0a2caf1b50ad302a23dbb8094a2593d27a4f62d2923b9c86b965aa3",
          "translation": "SyncScope: существующее покрытие сущностей не требуется; создает отсоединенного криттера, которого необходимо покрыть перед использованием совместно с другими сущностями."
        },
        "/symbols/@id=script.method.server.Game.CreateCritter%23e68fa5ea3ffe3cc4/description": {
          "source_sha256": "c356fcb0d0a2caf1b50ad302a23dbb8094a2593d27a4f62d2923b9c86b965aa3",
          "translation": "SyncScope: существующее покрытие сущностей не требуется; создает отсоединенного криттера, которого необходимо покрыть перед использованием совместно с другими сущностями."
        },
        "/symbols/@id=script.method.server.Game.CreateCritter%23e774d859a418b9da/description": {
          "source_sha256": "c356fcb0d0a2caf1b50ad302a23dbb8094a2593d27a4f62d2923b9c86b965aa3",
          "translation": "SyncScope: существующее покрытие сущностей не требуется; создает отсоединенного криттера, которого необходимо покрыть перед использованием совместно с другими сущностями."
        },
        "/symbols/@id=script.method.server.Game.CreateCritter%23e8d3f028fa79075f/description": {
          "source_sha256": "c356fcb0d0a2caf1b50ad302a23dbb8094a2593d27a4f62d2923b9c86b965aa3",
          "translation": "SyncScope: существующее покрытие сущностей не требуется; создает отсоединенного криттера, которого необходимо покрыть перед использованием совместно с другими сущностями."
        },
        "/symbols/@id=script.method.server.Game.CreateItem%2327766bb940021b1f/description": {
          "source_sha256": "5d044e07c3c0798aabfbcd748aa9592d5262addd6ee64198cdceeca6ae544434",
          "translation": "Создаёт предмет, применяя целочисленные переопределения свойств до OnItemInit, и возвращает его с покрытием синхронизации."
        },
        "/symbols/@id=script.method.server.Game.CreateItem%236029176d1f44719d/description": {
          "source_sha256": "5a340df363ae0caa4d0223191d0b246e5342992c2321217b2473318380c67aaf",
          "translation": "Создаёт предмет по указанному дескриптору прототипа и возвращает его с покрытием синхронизации."
        },
        "/symbols/@id=script.method.server.Game.CreateItem%23ba49673cbfedbc07/description": {
          "source_sha256": "8668419e3e6c962eba132603f26f7a07cf05aa92bc51202f1584b19a9656ef3c",
          "translation": "Создаёт предмет по указанному идентификатору прототипа и возвращает его с покрытием синхронизации."
        },
        "/symbols/@id=script.method.server.Game.CreateLocation%2303c25a496a41709a/description": {
          "source_sha256": "f77733a66a15dd984571154d7d35db37b47e62a91c427785471a6a2e93b2abbe",
          "translation": "SyncScope: создает новую локацию и карты в текущем контексте; возвращенная локация входит в покрытие, установленное self-синхронизацией при регистрации."
        },
        "/symbols/@id=script.method.server.Game.CreateLocation%2309335f3291c54d05/description": {
          "source_sha256": "f03791675cfebf68654ab6b3a69bbba35b2c9745c1d3b20dc65bf86d428cfacb",
          "translation": "SyncScope: создает новую локацию в текущем контексте; возвращенная локация входит в покрытие, установленное self-синхронизацией при регистрации."
        },
        "/symbols/@id=script.method.server.Game.CreateLocation%23392f59fecd72fe17/description": {
          "source_sha256": "f03791675cfebf68654ab6b3a69bbba35b2c9745c1d3b20dc65bf86d428cfacb",
          "translation": "SyncScope: создает новую локацию в текущем контексте; возвращенная локация входит в покрытие, установленное self-синхронизацией при регистрации."
        },
        "/symbols/@id=script.method.server.Game.CreateLocation%234f3d2969824dd3bc/description": {
          "source_sha256": "f03791675cfebf68654ab6b3a69bbba35b2c9745c1d3b20dc65bf86d428cfacb",
          "translation": "SyncScope: создает новую локацию в текущем контексте; возвращенная локация входит в покрытие, установленное self-синхронизацией при регистрации."
        },
        "/symbols/@id=script.method.server.Game.CreateLocation%235a0f0539462eafe3/description": {
          "source_sha256": "f77733a66a15dd984571154d7d35db37b47e62a91c427785471a6a2e93b2abbe",
          "translation": "SyncScope: создает новую локацию и карты в текущем контексте; возвращенная локация входит в покрытие, установленное self-синхронизацией при регистрации."
        },
        "/symbols/@id=script.method.server.Game.CreateLocation%23c94de2fea30a1454/description": {
          "source_sha256": "f03791675cfebf68654ab6b3a69bbba35b2c9745c1d3b20dc65bf86d428cfacb",
          "translation": "SyncScope: создает новую локацию в текущем контексте; возвращенная локация входит в покрытие, установленное self-синхронизацией при регистрации."
        },
        "/symbols/@id=script.method.server.Game.CreateNotLoggedInPlayer/description": {
          "source_sha256": "18380c3fd43ad97bb680d9c3568924a87f3a32226db4f99974c17b08e45a2df4",
          "translation": "SyncScope: существующее покрытие сущностей не требуется; создает отключенный сеанс еще не вошедшего игрока."
        },
        "/symbols/@id=script.method.server.Game.DbGetAllRecordIds/description": {
          "source_sha256": "98c2317691b4166769b002934e93c68d71ae92bb055a55260adb9b98914be249",
          "translation": "SyncScope: только сканирует коллекцию базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbGetAllRecordKeys/description": {
          "source_sha256": "98c2317691b4166769b002934e93c68d71ae92bb055a55260adb9b98914be249",
          "translation": "SyncScope: только сканирует коллекцию базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbGetPlayerData/description": {
          "source_sha256": "9405a78ea3bcf9ff222c0c653f33520a501ef751cad9215bebec7b576c2c63e8",
          "translation": "SyncScope: только выполняет поиск в базе данных; покрытие активной сущности игрока не затрагивается."
        },
        "/symbols/@id=script.method.server.Game.DbGetRecord%2386e082d9df76b104/description": {
          "source_sha256": "0050ff98dd978744a8539622f06580867511a4319b600affc43c7c9941ed5e73",
          "translation": "SyncScope: только читает запись базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbGetRecord%23c524f7821136061a/description": {
          "source_sha256": "0050ff98dd978744a8539622f06580867511a4319b600affc43c7c9941ed5e73",
          "translation": "SyncScope: только читает запись базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbHasEntity/description": {
          "source_sha256": "a9eda13a7082386bada493e344113df8839f3271c0503a8a5d25c26605f6d994",
          "translation": "SyncScope: требует сущность для чтения типа или идентификатора; сам поиск в базе данных не покрывает активную сущность."
        },
        "/symbols/@id=script.method.server.Game.DbHasRecord%2331a3ffa964f519b8/description": {
          "source_sha256": "82371ea41bb6e16f36280df7e09999b5519c4ba3774bab653b70ff2a30ce8156",
          "translation": "SyncScope: только ищет запись базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbHasRecord%23e13466af940b3833/description": {
          "source_sha256": "82371ea41bb6e16f36280df7e09999b5519c4ba3774bab653b70ff2a30ce8156",
          "translation": "SyncScope: только ищет запись базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbInsertRecord%2323ac03d711edaa50/description": {
          "source_sha256": "7d37aac97ebe0499b839cde02646dce1c72e08924aa0d68c61f26e95bd2119c8",
          "translation": "SyncScope: только вставляет запись базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbInsertRecord%2327a079e12448f9d8/description": {
          "source_sha256": "7d37aac97ebe0499b839cde02646dce1c72e08924aa0d68c61f26e95bd2119c8",
          "translation": "SyncScope: только вставляет запись базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbRemoveRecord%232039b29db1a1d593/description": {
          "source_sha256": "de0355b3d1281eb579e53b20b7c0075c520dc439cbe223b15b66890774fd2678",
          "translation": "SyncScope: только удаляет запись базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbRemoveRecord%232749ed5b0c8482ba/description": {
          "source_sha256": "de0355b3d1281eb579e53b20b7c0075c520dc439cbe223b15b66890774fd2678",
          "translation": "SyncScope: только удаляет запись базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbUpdateRecordBool%236b7737017a2e23dd/description": {
          "source_sha256": "b5ad67b7e15d4f2d6a0959ccb36bff78654aa085d4bcbc381481bb79dc0b3194",
          "translation": "SyncScope: только обновляет запись базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbUpdateRecordBool%23717491d844575aca/description": {
          "source_sha256": "b5ad67b7e15d4f2d6a0959ccb36bff78654aa085d4bcbc381481bb79dc0b3194",
          "translation": "SyncScope: только обновляет запись базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbUpdateRecordFloat64%230e7e221242df2792/description": {
          "source_sha256": "b5ad67b7e15d4f2d6a0959ccb36bff78654aa085d4bcbc381481bb79dc0b3194",
          "translation": "SyncScope: только обновляет запись базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbUpdateRecordFloat64%23f5d0799b4804bb25/description": {
          "source_sha256": "b5ad67b7e15d4f2d6a0959ccb36bff78654aa085d4bcbc381481bb79dc0b3194",
          "translation": "SyncScope: только обновляет запись базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbUpdateRecordInt64%234b791154e44562fd/description": {
          "source_sha256": "b5ad67b7e15d4f2d6a0959ccb36bff78654aa085d4bcbc381481bb79dc0b3194",
          "translation": "SyncScope: только обновляет запись базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbUpdateRecordInt64%2391d6b71d16aee463/description": {
          "source_sha256": "b5ad67b7e15d4f2d6a0959ccb36bff78654aa085d4bcbc381481bb79dc0b3194",
          "translation": "SyncScope: только обновляет запись базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbUpdateRecordString%2376e92f4eee20fb7b/description": {
          "source_sha256": "b5ad67b7e15d4f2d6a0959ccb36bff78654aa085d4bcbc381481bb79dc0b3194",
          "translation": "SyncScope: только обновляет запись базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DbUpdateRecordString%23cbc3625de444b49c/description": {
          "source_sha256": "b5ad67b7e15d4f2d6a0959ccb36bff78654aa085d4bcbc381481bb79dc0b3194",
          "translation": "SyncScope: только обновляет запись базы данных; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.DestroyCritter/description": {
          "source_sha256": "f82a3d7bfbcc245ea0b265bf5e4b1c4dfc030a28b6a81e1924451c8f261566cf",
          "translation": "SyncScope: требует cr и текущую исходную карту, если cr не равен null и не управляется игроком."
        },
        "/symbols/@id=script.method.server.Game.DestroyCritters/description": {
          "source_sha256": "e9fa629ee569771e790f7ff0210f6e8f92ba47579c4db462a7b63e15bf30e8b6",
          "translation": "SyncScope: требует каждый cr с ненулевым дескриптором и его текущую исходную карту, если криттер не управляется игроком."
        },
        "/symbols/@id=script.method.server.Game.DestroyEntities/description": {
          "source_sha256": "c971871eccaf82c67b773d746a85b3911c0950de604c199d61ddc03e49b38685",
          "translation": "SyncScope: требует каждую сущность с ненулевым дескриптором и ее текущего родителя, если он есть; уничтожает каждое поддерево."
        },
        "/symbols/@id=script.method.server.Game.DestroyEntity/description": {
          "source_sha256": "d715639c4510d14d109e9f33da1bcdb73172dc1858b4d9a2dff6ea199a95b5c9",
          "translation": "SyncScope: требует сущность и ее текущего родителя, если сущность не равна null; уничтожает поддерево сущности."
        },
        "/symbols/@id=script.method.server.Game.DestroyItem/description": {
          "source_sha256": "5e945c26cdcd18c012540ce485ca000fd866aacc2feb392820b078888bedf9f0",
          "translation": "SyncScope: требует item и его текущего родителя, если item не равен null; уничтожает поддерево предмета."
        },
        "/symbols/@id=script.method.server.Game.DestroyItems/description": {
          "source_sha256": "5713502e0a83105f119ccfe3532d876739f8b86b2e1e6a4d665cc112ede9fadd",
          "translation": "SyncScope: требует каждый предмет с ненулевым дескриптором и его текущего родителя; уничтожает каждое поддерево предмета."
        },
        "/symbols/@id=script.method.server.Game.DestroyLocation/description": {
          "source_sha256": "79f8b5ff3110bbb78d3d5eb302c63e51670a6734aaf536486c16d3c550d8a2a6",
          "translation": "SyncScope: требует loc, если он не равен null; каскад уничтожения self-синхронизирует покрытые дочерние карты и сущности."
        },
        "/symbols/@id=script.method.server.Game.DestroyMap/description": {
          "source_sha256": "e0839477752ba0278705c3f66cefc4d3aae536bb442aba4b9deae39e22484e75",
          "translation": "SyncScope: требует карту и родительскую локацию, если карта не равна null; каскад уничтожения self-синхронизирует покрытые дочерние сущности."
        },
        "/symbols/@id=script.method.server.Game.DestroyUnloadedCritter/description": {
          "source_sha256": "ccbe25b72d0c4a6c11a939d11be38ab087f164dd07059dcb9818fd430769a970",
          "translation": "SyncScope: только выполняет операцию над выгруженной записью; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.GetAllItems%235f63b29e3fbd4374/description": {
          "source_sha256": "439927ad3477c904af004b2803290a81eba7ebefe2d46f81db51acd37c0921c5",
          "translation": "SyncScope: только сканирует реестр; возвращенные дескрипторы предметов не покрыты для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetAllItems%23986ac88634199639/description": {
          "source_sha256": "439927ad3477c904af004b2803290a81eba7ebefe2d46f81db51acd37c0921c5",
          "translation": "SyncScope: только сканирует реестр; возвращенные дескрипторы предметов не покрыты для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetAllNpc%23568d2e4962ad093b/description": {
          "source_sha256": "be374fe25044df64d86b52aa07a99ea3609032bf7e581c8a797e64a47f419e3f",
          "translation": "SyncScope: только сканирует реестр; возвращенные дескрипторы NPC-криттеров не покрыты для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetAllNpc%23d318af6f5c78cd43/description": {
          "source_sha256": "be374fe25044df64d86b52aa07a99ea3609032bf7e581c8a797e64a47f419e3f",
          "translation": "SyncScope: только сканирует реестр; возвращенные дескрипторы NPC-криттеров не покрыты для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetAllNpc%23e7c595cfaf4c11a4/description": {
          "source_sha256": "be374fe25044df64d86b52aa07a99ea3609032bf7e581c8a797e64a47f419e3f",
          "translation": "SyncScope: только сканирует реестр; возвращенные дескрипторы NPC-криттеров не покрыты для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetAllocatorMemoryUsage/description": {
          "source_sha256": "3d242bcc4abcdd439c391381617b957c7a1a1bfaf178e8cd647d9d17e2a93753",
          "translation": "SyncScope: только читает метрику аллокатора; покрытие сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.GetCritter/description": {
          "source_sha256": "01d0d63e8ab1d0d1bc651cce74a0523d6620d8874107a9e61d82c0b81ee3c9c9",
          "translation": "SyncScope: только ищет в реестре; возвращенный дескриптор криттера не покрыт для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetCritterRegistryCount/description": {
          "source_sha256": "c5174d6947f5e67b32a72506ab54d807c2a274a8f24dd176dc261a28d268d209",
          "translation": "SyncScope: только считает записи реестра; покрытие сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.GetCritters/description": {
          "source_sha256": "d62883512b2f1620d47bf38c41c51043654ec6f3d294360e0bd8cceb589da81b",
          "translation": "SyncScope: только сканирует реестр; возвращенные дескрипторы криттеров не покрыты для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetDistance%231be05ad1508d9bdf/description": {
          "source_sha256": "983f0050c35e4a744ceb75bb541dfaa0672a27e477b8d7ad7f26ac37f577f083",
          "translation": "SyncScope: требует item1 и item2; читает размещение покрытых предметов на одной карте."
        },
        "/symbols/@id=script.method.server.Game.GetDistance%23200d823fdf545d92/description": {
          "source_sha256": "2c1991189c9198ffaec3896c9a4b35f4c1920d3b9d4a9f12a36a6e7153b8101c",
          "translation": "SyncScope: требует предмет и cr; читает размещение покрытых сущностей на одной карте."
        },
        "/symbols/@id=script.method.server.Game.GetDistance%2333a4d51ef8eece2a/description": {
          "source_sha256": "9b0fb3e11e2fad6e62ad47652e089490c272b2cd47261ee54d07900f3aa00a6a",
          "translation": "SyncScope: требует cr; читает размещение покрытого криттера."
        },
        "/symbols/@id=script.method.server.Game.GetDistance%233dade8869ec8c0ac/description": {
          "source_sha256": "9ea650837821e7cfbc1590d7075e9698e1d93fa6107ef8d0720fe80fdb3e04a4",
          "translation": "SyncScope: требует cr и предмет; читает размещение покрытых сущностей на одной карте."
        },
        "/symbols/@id=script.method.server.Game.GetDistance%238298d537bb9c7c37/description": {
          "source_sha256": "fc4f06807c5199cef53bc68926725c0fb2ab59f5f383cffdbfe8c760e7026b9e",
          "translation": "SyncScope: требует предмет; читает размещение покрытого предмета."
        },
        "/symbols/@id=script.method.server.Game.GetDistance%238a80a760debf852d/description": {
          "source_sha256": "9b0fb3e11e2fad6e62ad47652e089490c272b2cd47261ee54d07900f3aa00a6a",
          "translation": "SyncScope: требует cr; читает размещение покрытого криттера."
        },
        "/symbols/@id=script.method.server.Game.GetDistance%23b273c01749f73e8c/description": {
          "source_sha256": "fc4f06807c5199cef53bc68926725c0fb2ab59f5f383cffdbfe8c760e7026b9e",
          "translation": "SyncScope: требует предмет; читает размещение покрытого предмета."
        },
        "/symbols/@id=script.method.server.Game.GetDistance%23dacea0c00ba4c5f1/description": {
          "source_sha256": "08910c5e965f2b236cfdffb24f96c5cc12344ad125d0c41a4b711a2e4d27d24f",
          "translation": "SyncScope: требует cr1 и cr2; читает размещение покрытых криттеров на одной карте."
        },
        "/symbols/@id=script.method.server.Game.GetEntity/description": {
          "source_sha256": "677609b0bd78ae5518a80214598f9a8a90c2b0f1df41f3fbafcc3fb3273c89a1",
          "translation": "SyncScope: только ищет в реестре; возвращенный дескриптор сущности не покрыт для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetEntityRegistryCount/description": {
          "source_sha256": "a5b095e0162f0c8d4792f4c197e60b0585cefe4ba9326c9e48be0942536a57da",
          "translation": "SyncScope: только считает записи реестра; покрытие сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.GetHeldSyncEntities/description": {
          "source_sha256": "506f7513c126da1f73d259e238a15af6b8d1632f40c1c7fa1805337b1a307c2d",
          "translation": "SyncScope: возвращает текущее удерживаемое покрытие, не изменяя его."
        },
        "/symbols/@id=script.method.server.Game.GetItem/description": {
          "source_sha256": "28b17002e324f416550a35cad8d168cb0ff6e94c892cf9cd913da8d3af1417d0",
          "translation": "SyncScope: только ищет в реестре; возвращенный дескриптор предмета не покрыт для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetItemRegistryCount/description": {
          "source_sha256": "c5174d6947f5e67b32a72506ab54d807c2a274a8f24dd176dc261a28d268d209",
          "translation": "SyncScope: только считает записи реестра; покрытие сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.GetItemRegistryProtoIds/description": {
          "source_sha256": "1e6933b4e9e0b3aa0676506ac908f6c6aa4c79872b6d1d32c447a4663fefb410",
          "translation": "SyncScope: получает только снимок идентификаторов прототипов из реестра; читает карту реестра, не затрагивая состояние сущностей, поэтому покрытие сущностей не требуется. Предназначено для диагностики утечек в тестовой инфраструктуре."
        },
        "/symbols/@id=script.method.server.Game.GetLocation%2308a98bf7bce0a9bf/description": {
          "source_sha256": "e32cfbfecd4b243069feaca1949e7102677121c1e320c6670a36e49deb507fe0",
          "translation": "SyncScope: только ищет в реестре; возвращенный дескриптор локации не покрыт для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetLocation%232f5eccddea2f5dd1/description": {
          "source_sha256": "e32cfbfecd4b243069feaca1949e7102677121c1e320c6670a36e49deb507fe0",
          "translation": "SyncScope: только ищет в реестре; возвращенный дескриптор локации не покрыт для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetLocation%234b1903ede1dd2fa2/description": {
          "source_sha256": "e32cfbfecd4b243069feaca1949e7102677121c1e320c6670a36e49deb507fe0",
          "translation": "SyncScope: только ищет в реестре; возвращенный дескриптор локации не покрыт для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetLocation%238d03e18599ee2a1e/description": {
          "source_sha256": "9b5a994390ccd9e2d442924afbe1c58d6e2fa38cc704a46bf4b71cd169196f1d",
          "translation": "SyncScope: только сканирует реестр; возвращенный дескриптор локации не покрыт для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetLocationRegistryCount/description": {
          "source_sha256": "c5174d6947f5e67b32a72506ab54d807c2a274a8f24dd176dc261a28d268d209",
          "translation": "SyncScope: только считает записи реестра; покрытие сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.GetLocations%2353d313c4ee2358d8/description": {
          "source_sha256": "192e21a9a1648e365f163213b08134af5d4af71c3a9dd96e54e2c1f2b4f0ed05",
          "translation": "SyncScope: только сканирует реестр; возвращенные дескрипторы локаций не покрыты для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetLocations%237e3ec9d90972cfaf/description": {
          "source_sha256": "192e21a9a1648e365f163213b08134af5d4af71c3a9dd96e54e2c1f2b4f0ed05",
          "translation": "SyncScope: только сканирует реестр; возвращенные дескрипторы локаций не покрыты для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetLocations%238eb7a49e747de27a/description": {
          "source_sha256": "192e21a9a1648e365f163213b08134af5d4af71c3a9dd96e54e2c1f2b4f0ed05",
          "translation": "SyncScope: только сканирует реестр; возвращенные дескрипторы локаций не покрыты для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetLocations%23c590f9bbe1535ddd/description": {
          "source_sha256": "192e21a9a1648e365f163213b08134af5d4af71c3a9dd96e54e2c1f2b4f0ed05",
          "translation": "SyncScope: только сканирует реестр; возвращенные дескрипторы локаций не покрыты для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetMap%2328a9744f2e2f208e/description": {
          "source_sha256": "465639abd28088c2c1c6ae7a233ad5a2d085ec3d8b1f82e4d4abc46909cc5b77",
          "translation": "SyncScope: только ищет в реестре; возвращенный дескриптор карты не покрыт для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetMap%2338ce2f11f2b9397e/description": {
          "source_sha256": "465639abd28088c2c1c6ae7a233ad5a2d085ec3d8b1f82e4d4abc46909cc5b77",
          "translation": "SyncScope: только ищет в реестре; возвращенный дескриптор карты не покрыт для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetMap%23b7b3d34523400d1f/description": {
          "source_sha256": "465639abd28088c2c1c6ae7a233ad5a2d085ec3d8b1f82e4d4abc46909cc5b77",
          "translation": "SyncScope: только ищет в реестре; возвращенный дескриптор карты не покрыт для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetMapRegistryCount/description": {
          "source_sha256": "c5174d6947f5e67b32a72506ab54d807c2a274a8f24dd176dc261a28d268d209",
          "translation": "SyncScope: только считает записи реестра; покрытие сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.GetMaps%2312174f7cc9f609d1/description": {
          "source_sha256": "c695813be6f8771d34c4d7f099b90955cd897cae7bf1086c60d9b10194bbc97f",
          "translation": "SyncScope: только сканирует реестр; возвращенные дескрипторы карт не покрыты для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetMaps%233cd2c62b701248d5/description": {
          "source_sha256": "c695813be6f8771d34c4d7f099b90955cd897cae7bf1086c60d9b10194bbc97f",
          "translation": "SyncScope: только сканирует реестр; возвращенные дескрипторы карт не покрыты для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetMaps%23779d5c9f8b1fd466/description": {
          "source_sha256": "c695813be6f8771d34c4d7f099b90955cd897cae7bf1086c60d9b10194bbc97f",
          "translation": "SyncScope: только сканирует реестр; возвращенные дескрипторы карт не покрыты для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetOnlinePlayers/description": {
          "source_sha256": "666eb296e9829a1261ae16dc76949ec719a10ec8e8448c93c6012d29c6a1aedd",
          "translation": "SyncScope: только сканирует реестр; возвращенные дескрипторы игроков не покрыты для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetPlayer/description": {
          "source_sha256": "8c453af273626a4da4ff89f92f52d65ce1debdd63202d251fe9720a89a7753fb",
          "translation": "SyncScope: только ищет в реестре; возвращенный дескриптор игрока не покрыт для последующего чтения или изменения."
        },
        "/symbols/@id=script.method.server.Game.GetPlayerRegistryCount/description": {
          "source_sha256": "c5174d6947f5e67b32a72506ab54d807c2a274a8f24dd176dc261a28d268d209",
          "translation": "SyncScope: только считает записи реестра; покрытие сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.GetProcessMemoryUsage/description": {
          "source_sha256": "518f0affc37608f034993f0bc20f112e71fc69e50556e59b90f42941f7f44b9e",
          "translation": "SyncScope: только читает метрику процесса; покрытие сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.GetProtoCrittersForProtoMap/description": {
          "source_sha256": "946ef3974229f0c4b1ad99b63df32b21a991df4bed2595627e544312856ec0ea",
          "translation": "SyncScope: только читает статический прототип карты; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.GetRegisteredPlayerIds/description": {
          "source_sha256": "fa0369187f32be2b4de6b97c5705e9dd8b0836eca4865d6c0931525bd746fd3c",
          "translation": "SyncScope: только читает реестр базы данных; покрытие активного игрока не требуется."
        },
        "/symbols/@id=script.method.server.Game.GetStaticItemsForProtoMap/description": {
          "source_sha256": "946ef3974229f0c4b1ad99b63df32b21a991df4bed2595627e544312856ec0ea",
          "translation": "SyncScope: только читает статический прототип карты; покрытие активной сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.GetTextCount/description": {
          "source_sha256": "26f6d7d297b25593b56e43b430ecb0e8c24e54c437df8df2452632abf8c87cae",
          "translation": "SyncScope: только читает языковой пакет; покрытие сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.IsEntityLocked/description": {
          "source_sha256": "72f7bb70799b2fe165de2c36a136f95eed06cd911a7096abcce88dfa049879a1",
          "translation": "SyncScope: выполняет безопасную для синхронизации проверку; возвращает признак покрытия сущности без диагностических сообщений."
        },
        "/symbols/@id=script.method.server.Game.IsTextPresent/description": {
          "source_sha256": "26f6d7d297b25593b56e43b430ecb0e8c24e54c437df8df2452632abf8c87cae",
          "translation": "SyncScope: только читает языковой пакет; покрытие сущности не требуется."
        },
        "/symbols/@id=script.method.server.Game.LoadCritter/description": {
          "source_sha256": "f315f110ea3ab2bd4052916cb5c79bcd1cd2c8945ffe5cd41c4834639eb32199",
          "translation": "SyncScope: только загружает данные из базы данных или реестра; возвращенного криттера необходимо покрыть перед использованием совместно с другими сущностями."
        },
        "/symbols/@id=script.method.server.Game.Lock/description": {
          "source_sha256": "64a25b440f2591e93a0e417113f5918ad7f7b8637487f4799bcfbb77c2ec1699",
          "translation": "SyncScope: блокирует singleton-секцию Game; пока эта блокировка удерживается, нельзя вызывать Game.Sync."
        },
        "/symbols/@id=script.method.server.Game.LoginPlayerToExistentRecord/description": {
          "source_sha256": "bbea292cd667538a3cd638d9378b2268bb731bc9bbec1fbb95ca69696c8d8ee6",
          "translation": "SyncScope: требует notLoggedInPlayer и подготовленный граф основного криттера, карты и локации; живое переподключение дополнительно требует существующего игрока. Вход сохраняет покрытие, предоставленное вызывающим кодом."
        },
        "/symbols/@id=script.method.server.Game.LoginPlayerToNewRecord/description": {
          "source_sha256": "33da6c82da8b7d1b0480639a1dcbf7ddb1aca098349004da2a90de597aaa9e7e",
          "translation": "SyncScope: требует notLoggedInPlayer; вход изменяет запись этого игрока или сеанса."
        },
        "/symbols/@id=script.method.server.Game.LoginPlayerToTempSession/description": {
          "source_sha256": "33da6c82da8b7d1b0480639a1dcbf7ddb1aca098349004da2a90de597aaa9e7e",
          "translation": "SyncScope: требует notLoggedInPlayer; вход изменяет запись этого игрока или сеанса."
        },
        "/symbols/@id=script.method.server.Game.MoveItem%232ed0d82a6f587a26/description": {
          "source_sha256": "799c2e3d833a4d6b6937d9ce970259b9af282afbfab7191d5abb967133bc90bb",
          "translation": "SyncScope: требует предмет, его текущего родителя и целевой предмет-контейнер."
        },
        "/symbols/@id=script.method.server.Game.MoveItem%23883528ad0763e772/description": {
          "source_sha256": "6073e20f0ef4397b5283f7e7a0a98788c8fc0966a15fd3330e06bcc6705bb4c8",
          "translation": "SyncScope: требует предмет, его текущего родителя и целевую карту."
        },
        "/symbols/@id=script.method.server.Game.MoveItem%23c26f82c316789816/description": {
          "source_sha256": "0ab1b7cc8f41b4f167bfccaa7f2634bed699a5e2541de35e9018a8d058883ea0",
          "translation": "Перемещает весь предмет к указанному криттеру и возвращает предмет либо null, если перемещение удалило его."
        },
        "/symbols/@id=script.method.server.Game.MoveItems%235402fba4af9b29a1/description": {
          "source_sha256": "a7c10e8f94c49c53610ca65a9b545e7314f655e99a2ced849c741607de9386a1",
          "translation": "SyncScope: требует целевого криттера, каждый предмет и его текущего родителя."
        },
        "/symbols/@id=script.method.server.Game.MoveItems%238a09125d1c5aeacb/description": {
          "source_sha256": "65255aec5889c5991c59d8024f75f32cac38bb1ea44ca104ebba2a8394caf5f4",
          "translation": "SyncScope: требует целевой предмет-контейнер, каждый предмет и его текущего родителя."
        },
        "/symbols/@id=script.method.server.Game.MoveItems%23efe80393199559d9/description": {
          "source_sha256": "8df82ec1d0d4193748efea73da46337c80d50fd3fd1bc114124ce35a0fefeff4",
          "translation": "SyncScope: требует целевую карту, каждый предмет и его текущего родителя."
        },
        "/symbols/@id=script.method.server.Game.SetSynchronizedTime/description": {
          "source_sha256": "5584d806bff3746b6318cea93df7bfcc244f0f2d0126b69ac5b88fdfe151a6da",
          "translation": "SyncScope: требует singleton-блокировку Game.Lock; изменяет глобальное синхронизированное время, а не активную сущность."
        },
        "/symbols/@id=script.method.server.Game.Sync%233a28adb1be02af8c/description": {
          "source_sha256": "4a6262f59d75bc1ce728fa65babf250cce0fc518744b1dbfdbdf2bf18ca7b38f",
          "translation": "SyncScope: заменяет текущее покрытие сущностью и ее автоматически добавляемыми движком партнерами."
        },
        "/symbols/@id=script.method.server.Game.Sync%238a5e8bb38f1776db/description": {
          "source_sha256": "6318fe0e430e8013e1f5ec3f39912b91fad7221732c66e9afe3fea8e251620cf",
          "translation": "SyncScope: заменяет текущее покрытие всеми сущностями и их автоматически добавляемыми движком партнерами."
        },
        "/symbols/@id=script.method.server.Game.Sync%23a0c5737d3ba111b8/description": {
          "source_sha256": "c2c9368c92a2a5a13a74d7455d30efd2fece204a28d568d7f536dddad70681bb",
          "translation": "SyncScope: заменяет текущее покрытие всеми сущностями с ненулевыми дескрипторами и их автоматически добавляемыми движком партнерами."
        },
        "/symbols/@id=script.method.server.Game.Sync%23b42b6f6d6b684d2a/description": {
          "source_sha256": "538bd93a8e8bf59b76b5bb13547af3d8489ecbf5f0a47effd7bd3b35a3b24b00",
          "translation": "SyncScope: заменяет текущее покрытие обеими сущностями и их автоматически добавляемыми движком партнерами."
        },
        "/symbols/@id=script.method.server.Game.SyncRelease/description": {
          "source_sha256": "e55d330ecbd77caa9052b5f2dcf94dfaf46517affda3d6c761fa42190c4adebe",
          "translation": "SyncScope: освобождает весь удерживаемый набор: покрытие сущностей И все записи singleton-секции Game.Lock (SyncContext::Release очищает обе секции); блокировку Game.Lock, взятую до этого вызова, после него разблокировать не нужно."
        },
        "/symbols/@id=script.method.server.Game.SyncWiden/description": {
          "source_sha256": "1e2beb0e7732b1638916b5062dd91fe9c8ea298571889d8ef9e47d8fe60eb347",
          "translation": "Расширяет текущее покрытие синхронизации на месте, добавляя указанные активные сущности."
        },
        "/symbols/@id=script.method.server.Game.SyncYield/description": {
          "source_sha256": "f31bb65558883f694b6f69fd24087698de3b2702245ec8c00c4bb2f4e25dfc83",
          "translation": "Передаёт ожидающим потокам весь cover сущностей текущего потока и вновь захватывает его до возврата; вызов запрещён при удержании singleton-блокировки Game."
        },
        "/symbols/@id=script.method.server.Game.SystemCall%235f9bd54717eb40b8/description": {
          "source_sha256": "a75ede9a8335aad4b5a1c74111ea7dc850cbcbf93941e13796791111831fdfe3",
          "translation": "SyncScope: только вызывает внешний процесс; покрытие сущностей не требуется, но вызов нельзя выполнять при удержании блокировок несвязанных сущностей."
        },
        "/symbols/@id=script.method.server.Game.SystemCall%23bc91017a887fc615/description": {
          "source_sha256": "a75ede9a8335aad4b5a1c74111ea7dc850cbcbf93941e13796791111831fdfe3",
          "translation": "SyncScope: только вызывает внешний процесс; покрытие сущностей не требуется, но вызов нельзя выполнять при удержании блокировок несвязанных сущностей."
        },
        "/symbols/@id=script.method.server.Game.TrySyncEntity/description": {
          "source_sha256": "f2f1d5fc852fb9d1d46cf95d34361cc4878cef48f14b202c06ff45cf1ca25bfe",
          "translation": "Разрешает идентификатор сущности, получает synchronization cover для живой сущности и сообщает, остаётся ли она доступной."
        },
        "/symbols/@id=script.method.server.Game.UnloadCritter/description": {
          "source_sha256": "2186bb3694c8d0cd67ae5b40232913920d2124cc2625afb7ea3470a6cdce2c71",
          "translation": "SyncScope: требует cr и текущую родительскую карту; выгрузка изменяет состояние симуляции криттера."
        },
        "/symbols/@id=script.method.server.Game.Unlock/description": {
          "source_sha256": "916d8ee4641c8aae325cdbefb19d75e4e0cc7a9a4fe0533a211f417221f4a1c4",
          "translation": "SyncScope: разблокирует singleton-секцию Game; покрытие сущностей не изменяется."
        },
        "/symbols/@id=script.method.server.Item.AddItem%23bfe6263d4ff550ad/description": {
          "source_sha256": "71f56a01a88398af7056d2da5a024b2d85f7492ea1649e68d4a98536151fc7ff",
          "translation": "SyncScope: требует self; создаёт и присоединяет новый вложенный предмет под cover контейнера."
        },
        "/symbols/@id=script.method.server.Item.AddItem%23c6fbcb98959420b1/description": {
          "source_sha256": "71f56a01a88398af7056d2da5a024b2d85f7492ea1649e68d4a98536151fc7ff",
          "translation": "SyncScope: требует self; создаёт и присоединяет новый вложенный предмет под cover контейнера."
        },
        "/symbols/@id=script.method.server.Item.GetCritter/description": {
          "source_sha256": "cc57a254b3164e254ab1d1815aa41e7d3678fd7b38b80b134c9e0d775baf5878",
          "translation": "SyncScope: требует self; возвращает криттера-держателя, когда предмет находится в инвентаре криттера, не создавая нового покрытия."
        },
        "/symbols/@id=script.method.server.Item.GetItems/description": {
          "source_sha256": "e210a7e466d0978d7b4fe0f2ea62b639de71a5a45f79c59db33e144c322f8f37",
          "translation": "SyncScope: требует self; возвращает дескрипторы внутренних предметов, входящие в покрытие self, пока оно сохраняется."
        },
        "/symbols/@id=script.method.server.Item.GetMap/description": {
          "source_sha256": "c4124a4ab696a2e9795c669ab16f16666785038578193527bf3b7ccece6e9e49",
          "translation": "SyncScope: требует self; может также читать цепочку криттера-держателя или родительской карты, но возвращенная карта не покрыта для последующего чтения."
        },
        "/symbols/@id=script.method.server.Item.GetMapPosition/description": {
          "source_sha256": "c4124a4ab696a2e9795c669ab16f16666785038578193527bf3b7ccece6e9e49",
          "translation": "SyncScope: требует self; может также читать цепочку криттера-держателя или родительской карты, но возвращенная карта не покрыта для последующего чтения."
        },
        "/symbols/@id=script.method.server.Item.RefreshVisibility/description": {
          "source_sha256": "f04e72224e9bf89a6223ef5449d22900a0feeb96ad17387363e5ca1a22738ac3",
          "translation": "SyncScope: требует self и текущую карту для сущности, принадлежащей карте; обновляет кеши видимости и блокировки карты."
        },
        "/symbols/@id=script.method.server.Item.SetupScript/description": {
          "source_sha256": "834a6f6d0882c8a4240b31bc41c1f21e10c123a6ae4ae02ebe741a9cec7b034e",
          "translation": "SyncScope: требует self; callback инициализации выполняется в том же покрытии и должен расширить его перед обращением к другим сущностям."
        },
        "/symbols/@id=script.method.server.Item.SetupScriptEx/description": {
          "source_sha256": "834a6f6d0882c8a4240b31bc41c1f21e10c123a6ae4ae02ebe741a9cec7b034e",
          "translation": "SyncScope: требует self; callback инициализации выполняется в том же покрытии и должен расширить его перед обращением к другим сущностям."
        },
        "/symbols/@id=script.method.server.Location.AddMap%2364169b002e08e159/description": {
          "source_sha256": "d419395639b24f974e73611836425382ef9b517577b06fb45323188d9cba8934",
          "translation": "SyncScope: требует self; создает и присоединяет дочернюю карту в покрытии локации."
        },
        "/symbols/@id=script.method.server.Location.AddMap%23f4dae4b3925387ad/description": {
          "source_sha256": "d419395639b24f974e73611836425382ef9b517577b06fb45323188d9cba8934",
          "translation": "SyncScope: требует self; создает и присоединяет дочернюю карту в покрытии локации."
        },
        "/symbols/@id=script.method.server.Location.GetMap%23102f60993beb7009/description": {
          "source_sha256": "8fc7f726371bd3b6ef7a656e341dc6b830a913bc680874fec1a5962ecb0a0737",
          "translation": "SyncScope: требует self; возвращенная карта входит в покрытие self, пока сохраняется покрытие локации."
        },
        "/symbols/@id=script.method.server.Location.GetMap%23c71a7456cd1c7874/description": {
          "source_sha256": "8fc7f726371bd3b6ef7a656e341dc6b830a913bc680874fec1a5962ecb0a0737",
          "translation": "SyncScope: требует self; возвращенная карта входит в покрытие self, пока сохраняется покрытие локации."
        },
        "/symbols/@id=script.method.server.Location.GetMapByIndex/description": {
          "source_sha256": "8fc7f726371bd3b6ef7a656e341dc6b830a913bc680874fec1a5962ecb0a0737",
          "translation": "SyncScope: требует self; возвращенная карта входит в покрытие self, пока сохраняется покрытие локации."
        },
        "/symbols/@id=script.method.server.Location.GetMapCount/description": {
          "source_sha256": "692643e494977c88bf0b1d5da7a754a7fa641cf6d9222ff8621d9a1cfbc36ed3",
          "translation": "SyncScope: требует self; считает дочерние карты, входящие в покрытие локации."
        },
        "/symbols/@id=script.method.server.Location.GetMaps/description": {
          "source_sha256": "336e028631bd8ffe17e2e9e00849862f6ae10f8c9339bb9695fb3a62eff33629",
          "translation": "SyncScope: требует self; возвращенные карты входят в покрытие self, пока сохраняется покрытие локации."
        },
        "/symbols/@id=script.method.server.Location.Regenerate/description": {
          "source_sha256": "5185e72b2ad1fe3898aa7cec166747021e6327f7bfd0ebcac382d8379d32e4da",
          "translation": "SyncScope: требует self; перегенерирует все дочерние карты, входящие в покрытие локации."
        },
        "/symbols/@id=script.method.server.Location.SetupScript/description": {
          "source_sha256": "834a6f6d0882c8a4240b31bc41c1f21e10c123a6ae4ae02ebe741a9cec7b034e",
          "translation": "SyncScope: требует self; callback инициализации выполняется в том же покрытии и должен расширить его перед обращением к другим сущностям."
        },
        "/symbols/@id=script.method.server.Location.SetupScriptEx/description": {
          "source_sha256": "834a6f6d0882c8a4240b31bc41c1f21e10c123a6ae4ae02ebe741a9cec7b034e",
          "translation": "SyncScope: требует self; callback инициализации выполняется в том же покрытии и должен расширить его перед обращением к другим сущностям."
        },
        "/symbols/@id=script.method.server.Map.AddCritter%231e4e76b759d6c5e8/description": {
          "source_sha256": "2030d85e3c1014ba5be1f5aecc08f80bffff5f5e81839178d27154a7a92f746e",
          "translation": "SyncScope: требует self; создает и присоединяет нового криттера к карте в покрытии self."
        },
        "/symbols/@id=script.method.server.Map.AddCritter%2342310745cd07d9a7/description": {
          "source_sha256": "2030d85e3c1014ba5be1f5aecc08f80bffff5f5e81839178d27154a7a92f746e",
          "translation": "SyncScope: требует self; создает и присоединяет нового криттера к карте в покрытии self."
        },
        "/symbols/@id=script.method.server.Map.AddCritter%23469abe60680fae4e/description": {
          "source_sha256": "2030d85e3c1014ba5be1f5aecc08f80bffff5f5e81839178d27154a7a92f746e",
          "translation": "SyncScope: требует self; создает и присоединяет нового криттера к карте в покрытии self."
        },
        "/symbols/@id=script.method.server.Map.AddCritter%234bf2d1bf57efc238/description": {
          "source_sha256": "2030d85e3c1014ba5be1f5aecc08f80bffff5f5e81839178d27154a7a92f746e",
          "translation": "SyncScope: требует self; создает и присоединяет нового криттера к карте в покрытии self."
        },
        "/symbols/@id=script.method.server.Map.AddCritter%238b44cc2e5aeaa303/description": {
          "source_sha256": "2030d85e3c1014ba5be1f5aecc08f80bffff5f5e81839178d27154a7a92f746e",
          "translation": "SyncScope: требует self; создает и присоединяет нового криттера к карте в покрытии self."
        },
        "/symbols/@id=script.method.server.Map.AddCritter%23ab45ffd3c807403c/description": {
          "source_sha256": "2030d85e3c1014ba5be1f5aecc08f80bffff5f5e81839178d27154a7a92f746e",
          "translation": "SyncScope: требует self; создает и присоединяет нового криттера к карте в покрытии self."
        },
        "/symbols/@id=script.method.server.Map.AddItem%233b5f3b7a0ad0569d/description": {
          "source_sha256": "397d3020a4496056d3c9a2a6e891669897edcdc121e31c89651460d9bed01bcb",
          "translation": "SyncScope: требует self; создаёт и присоединяет новый предмет карты под cover карты."
        },
        "/symbols/@id=script.method.server.Map.AddItem%234c836c86ebb331f9/description": {
          "source_sha256": "397d3020a4496056d3c9a2a6e891669897edcdc121e31c89651460d9bed01bcb",
          "translation": "SyncScope: требует self; создаёт и присоединяет новый предмет карты под cover карты."
        },
        "/symbols/@id=script.method.server.Map.AddItem%2393da72a5ec69c371/description": {
          "source_sha256": "397d3020a4496056d3c9a2a6e891669897edcdc121e31c89651460d9bed01bcb",
          "translation": "SyncScope: требует self; создаёт и присоединяет новый предмет карты под cover карты."
        },
        "/symbols/@id=script.method.server.Map.AddItem%23dd69e509a0195144/description": {
          "source_sha256": "397d3020a4496056d3c9a2a6e891669897edcdc121e31c89651460d9bed01bcb",
          "translation": "SyncScope: требует self; создаёт и присоединяет новый предмет карты под cover карты."
        },
        "/symbols/@id=script.method.server.Map.BlockHex/description": {
          "source_sha256": "d6c6d251386b259bb338d46a1d87ada99b03e80bdc8b4998e676d6e9d700b3e6",
          "translation": "SyncScope: требует self; изменяет ручную блокировку одного гекса карты."
        },
        "/symbols/@id=script.method.server.Map.CheckPlaceForItem%237df5c41f5f61890c/description": {
          "source_sha256": "0e57b27bf47f39e0d3b2bb9f0c286e5022df83f06c7dbe2fd574a30e41ec07ea",
          "translation": "SyncScope: требует self; читает правила размещения на карте и данные прототипа предмета."
        },
        "/symbols/@id=script.method.server.Map.CheckPlaceForItem%23f95a6f1b9e4a1b61/description": {
          "source_sha256": "0e57b27bf47f39e0d3b2bb9f0c286e5022df83f06c7dbe2fd574a30e41ec07ea",
          "translation": "SyncScope: требует self; читает правила размещения на карте и данные прототипа предмета."
        },
        "/symbols/@id=script.method.server.Map.FindPathToAny%23049a83ae871129e5/description": {
          "source_sha256": "3d71d4138ace01a752d6e6cb0608d53f407a84a93ec517ce8c774023d6553e62",
          "translation": "SyncScope: требует self и cr; поиск пути читает блокировки карты и состояние cr."
        },
        "/symbols/@id=script.method.server.Map.FindPathToAny%23d989184e940c3179/description": {
          "source_sha256": "cb862a100b14a95320ba4e880f398d5875c06b95337b1efb4867000b873229f2",
          "translation": "SyncScope: требует self; поиск пути читает блокировки карты и необязательные предметы callback-фильтра."
        },
        "/symbols/@id=script.method.server.Map.FindReachableHexes/description": {
          "source_sha256": "0b0db970ebc95869d95fcc034ed9b018c72cb0c8977ab74164ba95b30658df4d",
          "translation": "Определяет, какие целевые гексы достижимы от начального в пределах заданной максимальной длины пути."
        },
        "/symbols/@id=script.method.server.Map.GetCritter%23beaf90ce99481bb9/description": {
          "source_sha256": "530a7eddf2a40ebf64d5bcf8127ef64d8a2a2091bc0728391aa7363c23f0585e",
          "translation": "SyncScope: требует self; возвращенный криттер входит в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetCritter%23cc2efc7ac9caf8b7/description": {
          "source_sha256": "530a7eddf2a40ebf64d5bcf8127ef64d8a2a2091bc0728391aa7363c23f0585e",
          "translation": "SyncScope: требует self; возвращенный криттер входит в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetCritterOnHex/description": {
          "source_sha256": "530a7eddf2a40ebf64d5bcf8127ef64d8a2a2091bc0728391aa7363c23f0585e",
          "translation": "SyncScope: требует self; возвращенный криттер входит в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetCritters%2381d4328569cd9426/description": {
          "source_sha256": "df26167f8968613ce787bc8efaaf34e65856627c38f0eae117857617e0062df4",
          "translation": "SyncScope: требует self; возвращенные криттеры входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetCritters%23addc705539406d44/description": {
          "source_sha256": "df26167f8968613ce787bc8efaaf34e65856627c38f0eae117857617e0062df4",
          "translation": "SyncScope: требует self; возвращенные криттеры входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetCritters%23d9bfa22ace1ec9d4/description": {
          "source_sha256": "df26167f8968613ce787bc8efaaf34e65856627c38f0eae117857617e0062df4",
          "translation": "SyncScope: требует self; возвращенные криттеры входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetCritters%23e79de6b56cb9f3b3/description": {
          "source_sha256": "df26167f8968613ce787bc8efaaf34e65856627c38f0eae117857617e0062df4",
          "translation": "SyncScope: требует self; возвращенные криттеры входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetCrittersInPath%238b046729d6d79d34/description": {
          "source_sha256": "b0bdcdfc96f8a655e6885562184e3b4b297bead99333e5340dcabac4fefe1a86",
          "translation": "SyncScope: требует self; возвращенные криттеры пути входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetCrittersInPath%23a2a00a1dfe4f3d7e/description": {
          "source_sha256": "b0bdcdfc96f8a655e6885562184e3b4b297bead99333e5340dcabac4fefe1a86",
          "translation": "SyncScope: требует self; возвращенные криттеры пути входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetCrittersInRadius/description": {
          "source_sha256": "df26167f8968613ce787bc8efaaf34e65856627c38f0eae117857617e0062df4",
          "translation": "SyncScope: требует self; возвращенные криттеры входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetCrittersOnHex/description": {
          "source_sha256": "df26167f8968613ce787bc8efaaf34e65856627c38f0eae117857617e0062df4",
          "translation": "SyncScope: требует self; возвращенные криттеры входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetCrittersWhoSeeHex%23331d6938741ba331/description": {
          "source_sha256": "8adaf5a13efd0992f8b0b3485cf26c98ad70f3070149e75cf9980d5ba45cc1a5",
          "translation": "SyncScope: требует self; возвращенные криттеры-наблюдатели входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetCrittersWhoSeeHex%236295b4bbbc256992/description": {
          "source_sha256": "8adaf5a13efd0992f8b0b3485cf26c98ad70f3070149e75cf9980d5ba45cc1a5",
          "translation": "SyncScope: требует self; возвращенные криттеры-наблюдатели входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetCrittersWhoSeePath/description": {
          "source_sha256": "8adaf5a13efd0992f8b0b3485cf26c98ad70f3070149e75cf9980d5ba45cc1a5",
          "translation": "SyncScope: требует self; возвращенные криттеры-наблюдатели входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetHexInPath/description": {
          "source_sha256": "d1f72f895c1fa7300dfec7aeec0a1db43dfb015880d8bcb4af82812aa9da66ea",
          "translation": "SyncScope: требует self; трассировка пути читает только статические блокировки и блокировки карты."
        },
        "/symbols/@id=script.method.server.Map.GetItem/description": {
          "source_sha256": "3963d95f49b6a4fae8c7d9143508774b0c59611695ca4c9325d042568f59be44",
          "translation": "SyncScope: требует self; возвращенный предмет входит в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetItemInRadius%232c45a3b349bce706/description": {
          "source_sha256": "3963d95f49b6a4fae8c7d9143508774b0c59611695ca4c9325d042568f59be44",
          "translation": "SyncScope: требует self; возвращенный предмет входит в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetItemInRadius%2343a0e23b140b9e9a/description": {
          "source_sha256": "3963d95f49b6a4fae8c7d9143508774b0c59611695ca4c9325d042568f59be44",
          "translation": "SyncScope: требует self; возвращенный предмет входит в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetItemInRadius%23fe27ffaff6bf5b08/description": {
          "source_sha256": "3963d95f49b6a4fae8c7d9143508774b0c59611695ca4c9325d042568f59be44",
          "translation": "SyncScope: требует self; возвращенный предмет входит в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetItemOnHex%236ece718d14bda9df/description": {
          "source_sha256": "3963d95f49b6a4fae8c7d9143508774b0c59611695ca4c9325d042568f59be44",
          "translation": "SyncScope: требует self; возвращенный предмет входит в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetItemOnHex%23bde72d72df216ffd/description": {
          "source_sha256": "3963d95f49b6a4fae8c7d9143508774b0c59611695ca4c9325d042568f59be44",
          "translation": "SyncScope: требует self; возвращенный предмет входит в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetItemOnHex%23fd531ae0c65b5f38/description": {
          "source_sha256": "3963d95f49b6a4fae8c7d9143508774b0c59611695ca4c9325d042568f59be44",
          "translation": "SyncScope: требует self; возвращенный предмет входит в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetItems%2383c145745774df22/description": {
          "source_sha256": "d17d3b485c61c17ff891edc84abc839f1c868c99227907916743cd0586bfa233",
          "translation": "SyncScope: требует self; возвращенные предметы входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetItems%23986ac88634199639/description": {
          "source_sha256": "d17d3b485c61c17ff891edc84abc839f1c868c99227907916743cd0586bfa233",
          "translation": "SyncScope: требует self; возвращенные предметы входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetItems%23b851260ade7c353c/description": {
          "source_sha256": "d17d3b485c61c17ff891edc84abc839f1c868c99227907916743cd0586bfa233",
          "translation": "SyncScope: требует self; возвращенные предметы входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetItems%23ef66ddcc26718dfe/description": {
          "source_sha256": "d17d3b485c61c17ff891edc84abc839f1c868c99227907916743cd0586bfa233",
          "translation": "SyncScope: требует self; возвращенные предметы входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetItemsInRadius%231b2344cf4e6a8ad6/description": {
          "source_sha256": "d17d3b485c61c17ff891edc84abc839f1c868c99227907916743cd0586bfa233",
          "translation": "SyncScope: требует self; возвращенные предметы входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetItemsInRadius%232c10a43df574d95a/description": {
          "source_sha256": "d17d3b485c61c17ff891edc84abc839f1c868c99227907916743cd0586bfa233",
          "translation": "SyncScope: требует self; возвращенные предметы входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetItemsInRadius%2371e75da3d8138709/description": {
          "source_sha256": "d17d3b485c61c17ff891edc84abc839f1c868c99227907916743cd0586bfa233",
          "translation": "SyncScope: требует self; возвращенные предметы входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetItemsInRadius%23e5b26ab1ca51093e/description": {
          "source_sha256": "d17d3b485c61c17ff891edc84abc839f1c868c99227907916743cd0586bfa233",
          "translation": "SyncScope: требует self; возвращенные предметы входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetItemsOnHex%232becb51a4793de35/description": {
          "source_sha256": "d17d3b485c61c17ff891edc84abc839f1c868c99227907916743cd0586bfa233",
          "translation": "SyncScope: требует self; возвращенные предметы входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetItemsOnHex%235db3ed64fff8551d/description": {
          "source_sha256": "d17d3b485c61c17ff891edc84abc839f1c868c99227907916743cd0586bfa233",
          "translation": "SyncScope: требует self; возвращенные предметы входят в покрытие self, пока сохраняется покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetLocation/description": {
          "source_sha256": "52729e99bc6f89d58eab7e2ee6b590813e80f362cb3acf54b01923255ba60be9",
          "translation": "SyncScope: требует self; возвращает родительскую локацию, но не покрывает ее для последующего чтения."
        },
        "/symbols/@id=script.method.server.Map.GetPathLength%23aaa618b299e12baf/description": {
          "source_sha256": "3d71d4138ace01a752d6e6cb0608d53f407a84a93ec517ce8c774023d6553e62",
          "translation": "SyncScope: требует self и cr; поиск пути читает блокировки карты и состояние cr."
        },
        "/symbols/@id=script.method.server.Map.GetPathLength%23b14b16361e6bc348/description": {
          "source_sha256": "cb862a100b14a95320ba4e880f398d5875c06b95337b1efb4867000b873229f2",
          "translation": "SyncScope: требует self; поиск пути читает блокировки карты и необязательные предметы callback-фильтра."
        },
        "/symbols/@id=script.method.server.Map.GetPlayerCritterCount/description": {
          "source_sha256": "f5727d3a73eb5fdb726a9c3b02be32fcbbf1d5ea9dc87cd115a1dd6732462b0f",
          "translation": "SyncScope: требует self; читает состав криттеров-игроков карты, не материализуя его."
        },
        "/symbols/@id=script.method.server.Map.GetSpectatorPlayers/description": {
          "source_sha256": "13a95779b5b4a7077bcc55fb064a0924c36b134849934eed81ac22a86a765fae",
          "translation": "SyncScope: требует self; возвращает текущих игроков-наблюдателей карты. Наблюдатель является независимым корнем Player, не входящим ни в покрытие карты, ни в покрытие ее локации. Поэтому код, уничтожающий карту или локацию, сначала покрывает каждого возвращенного Player, а затем повторно читает список, подтверждая неизменность состава."
        },
        "/symbols/@id=script.method.server.Map.GetStaticItem/description": {
          "source_sha256": "589e827ab82a681dfb955d065d27085baf300bbba15ba92046569dd16e29222f",
          "translation": "SyncScope: требует self; возвращенный статический предмет является статическими данными карты и входит в покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetStaticItemOnHex%232ff535bb81b4c46e/description": {
          "source_sha256": "589e827ab82a681dfb955d065d27085baf300bbba15ba92046569dd16e29222f",
          "translation": "SyncScope: требует self; возвращенный статический предмет является статическими данными карты и входит в покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetStaticItemOnHex%238f12443105465e0c/description": {
          "source_sha256": "589e827ab82a681dfb955d065d27085baf300bbba15ba92046569dd16e29222f",
          "translation": "SyncScope: требует self; возвращенный статический предмет является статическими данными карты и входит в покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetStaticItems%2305085759f098a103/description": {
          "source_sha256": "9cc65d1eeb6ff5bd57ca0626b963c9769bd5b596b87faf02f1042bc2b974fa3c",
          "translation": "SyncScope: требует self; возвращенные статические предметы являются статическими данными карты и входят в покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetStaticItems%233d6e192e1648eca6/description": {
          "source_sha256": "9cc65d1eeb6ff5bd57ca0626b963c9769bd5b596b87faf02f1042bc2b974fa3c",
          "translation": "SyncScope: требует self; возвращенные статические предметы являются статическими данными карты и входят в покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetStaticItems%23ba60a4d88539cc01/description": {
          "source_sha256": "9cc65d1eeb6ff5bd57ca0626b963c9769bd5b596b87faf02f1042bc2b974fa3c",
          "translation": "SyncScope: требует self; возвращенные статические предметы являются статическими данными карты и входят в покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetStaticItems%23e35ab59d1c820445/description": {
          "source_sha256": "9cc65d1eeb6ff5bd57ca0626b963c9769bd5b596b87faf02f1042bc2b974fa3c",
          "translation": "SyncScope: требует self; возвращенные статические предметы являются статическими данными карты и входят в покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetStaticItemsInRadius%239fcecfdd954f2f40/description": {
          "source_sha256": "9cc65d1eeb6ff5bd57ca0626b963c9769bd5b596b87faf02f1042bc2b974fa3c",
          "translation": "SyncScope: требует self; возвращенные статические предметы являются статическими данными карты и входят в покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetStaticItemsInRadius%23b716f83c2f22af43/description": {
          "source_sha256": "9cc65d1eeb6ff5bd57ca0626b963c9769bd5b596b87faf02f1042bc2b974fa3c",
          "translation": "SyncScope: требует self; возвращенные статические предметы являются статическими данными карты и входят в покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetStaticItemsInRadius%23f3c9729ff42f4ae8/description": {
          "source_sha256": "9cc65d1eeb6ff5bd57ca0626b963c9769bd5b596b87faf02f1042bc2b974fa3c",
          "translation": "SyncScope: требует self; возвращенные статические предметы являются статическими данными карты и входят в покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetStaticItemsOnHex%234a9a56826105ef2b/description": {
          "source_sha256": "9cc65d1eeb6ff5bd57ca0626b963c9769bd5b596b87faf02f1042bc2b974fa3c",
          "translation": "SyncScope: требует self; возвращенные статические предметы являются статическими данными карты и входят в покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetStaticItemsOnHex%235d15ee5943a3edd0/description": {
          "source_sha256": "9cc65d1eeb6ff5bd57ca0626b963c9769bd5b596b87faf02f1042bc2b974fa3c",
          "translation": "SyncScope: требует self; возвращенные статические предметы являются статическими данными карты и входят в покрытие карты."
        },
        "/symbols/@id=script.method.server.Map.GetWallHexInPath/description": {
          "source_sha256": "ea714299efc882c9f2acb6f0af7a4ab75a94580761dd7ddfe5d4fd54a3274bfc",
          "translation": "SyncScope: требует self; трассировка пути читает только блокировки стен."
        },
        "/symbols/@id=script.method.server.Map.IsHexMovable/description": {
          "source_sha256": "f0b49a72fe76f06b8ca503b3f171ed09681d4deaddf0b3177c26760690d3ad69",
          "translation": "SyncScope: требует self; читает состояние блокировки карты."
        },
        "/symbols/@id=script.method.server.Map.IsHexShootable/description": {
          "source_sha256": "7b6c33cdd1a19f4ea49277d524c39d412254aed54c88ccda247a0bb36cafe2dc",
          "translation": "SyncScope: требует self; читает состояние блокировки стрельбы на карте."
        },
        "/symbols/@id=script.method.server.Map.IsHexValid/description": {
          "source_sha256": "721b11a7bbef9e490eff1c017660d3fc07fda441f87646f15872e41381c345ae",
          "translation": "SyncScope: требует self; читает только размер карты."
        },
        "/symbols/@id=script.method.server.Map.IsHexesMovable/description": {
          "source_sha256": "f0b49a72fe76f06b8ca503b3f171ed09681d4deaddf0b3177c26760690d3ad69",
          "translation": "SyncScope: требует self; читает состояние блокировки карты."
        },
        "/symbols/@id=script.method.server.Map.IsOutsideArea/description": {
          "source_sha256": "e133dc3f7b858708bb852c0eb0f97c4e0da8531ed843b0ff92b6744235f82101",
          "translation": "SyncScope: требует self; читает состояние наружной или внутренней области карты."
        },
        "/symbols/@id=script.method.server.Map.MoveHexByDir%2362392271e1b42030/description": {
          "source_sha256": "01eb530a27238d58d577534ede09ede04af1f1b791ae2aade767c47ace817df4",
          "translation": "SyncScope: требует self; использует размер карты для одного чистого шага по координатам."
        },
        "/symbols/@id=script.method.server.Map.MoveHexByDir%23b39016610645244b/description": {
          "source_sha256": "fe0796d0a7d2cd16fe025795710315c771969eaa36845ca0507e17edba0fa5f7",
          "translation": "SyncScope: требует self; использует размер карты для чистых шагов по координатам."
        },
        "/symbols/@id=script.method.server.Map.Regenerate/description": {
          "source_sha256": "385f054228016fd8739d6a9dbbf0ef15c40ff15d20f6f331794395b53892a15b",
          "translation": "SyncScope: требует self; перегенерирует содержимое карты и кеши размещения."
        },
        "/symbols/@id=script.method.server.Map.RemoveStaticItem%237b30d7a907ece580/description": {
          "source_sha256": "638689478bfb191cc85bf57c60122124ba97abd90f0c3bd2af90fe5a52d2f3b9",
          "translation": "Удаление одностороннее на всё время жизни экземпляра карты: клиентам, уже находящимся на карте, сообщается только об исчезновении статического предмета, поэтому попытка вынуть id обратно из списка отклоняется, а не игнорируется молча"
        },
        "/symbols/@id=script.method.server.Map.RemoveStaticItem%23a89f4bb2ef62c35a/description": {
          "source_sha256": "eb4f1f62d700eb201e01f2c5223e001f9bc4a03382bf5214fb8875834d2b0188",
          "translation": "SyncScope: requires self; изменяет собственный список удалений карты, который property sync рассылает клиентам"
        },
        "/symbols/@id=script.method.server.Map.SetupScript/description": {
          "source_sha256": "834a6f6d0882c8a4240b31bc41c1f21e10c123a6ae4ae02ebe741a9cec7b034e",
          "translation": "SyncScope: требует self; callback инициализации выполняется в том же покрытии и должен расширить его перед обращением к другим сущностям."
        },
        "/symbols/@id=script.method.server.Map.SetupScriptEx/description": {
          "source_sha256": "834a6f6d0882c8a4240b31bc41c1f21e10c123a6ae4ae02ebe741a9cec7b034e",
          "translation": "SyncScope: требует self; callback инициализации выполняется в том же покрытии и должен расширить его перед обращением к другим сущностям."
        },
        "/symbols/@id=script.method.server.Map.UnblockHex/description": {
          "source_sha256": "d6c6d251386b259bb338d46a1d87ada99b03e80bdc8b4998e676d6e9d700b3e6",
          "translation": "SyncScope: требует self; изменяет ручную блокировку одного гекса карты."
        },
        "/symbols/@id=script.method.server.Map.VerifyTrigger/description": {
          "source_sha256": "ca5eeefb067126cd7c2535535f546b5b097f139c33b365cc96fc29a090d348d9",
          "translation": "SyncScope: требует self и cr; проверка триггера может читать или изменять состояние карты со стороны криттера."
        },
        "/symbols/@id=script.method.server.Player.Disconnect/description": {
          "source_sha256": "ecd0b689b0f23f048bd713863f9700ebcb25bed34801b1a227661037ee670497",
          "translation": "SyncScope: требует self; закрывает соединение этого игрока."
        },
        "/symbols/@id=script.method.server.Player.GetControlledCritter/description": {
          "source_sha256": "1cdc01e425e5acaf744fca1e7a5eed7608dcf117fa22b500d72758e40ea3a619",
          "translation": "SyncScope: требует self; возвращает дескриптор управляемого криттера, автоматически добавляемого в покрытие при синхронизации self."
        },
        "/symbols/@id=script.method.server.Player.GetDisconnectReason/description": {
          "source_sha256": "5ef864991f8f9527b6442b8b867c15795728a92dd9ef5cdbc242859b25077cf5",
          "translation": "SyncScope: требует self; читает только состояние соединения."
        },
        "/symbols/@id=script.method.server.Player.GetHost/description": {
          "source_sha256": "4e1ab4e9cb1154c192d00029a15a2918cbe987f2e4abb4b839936818786782f5",
          "translation": "SyncScope: требует self; читает только конечную точку соединения."
        },
        "/symbols/@id=script.method.server.Player.GetPort/description": {
          "source_sha256": "4e1ab4e9cb1154c192d00029a15a2918cbe987f2e4abb4b839936818786782f5",
          "translation": "SyncScope: требует self; читает только конечную точку соединения."
        },
        "/symbols/@id=script.method.server.Player.GetViewMapTarget/description": {
          "source_sha256": "8fcc139634f3f341b5776e24dca1276bf3d9e3d9c0faba313b0f4185541e2390",
          "translation": "SyncScope: требует self; возвращает карту, которую сейчас наблюдает self, но не покрывает ее для последующего чтения. Цель представления является независимым корнем Map, не входящим в покрытие self. Поэтому вызывающий код сначала покрывает возвращенную карту, а после чтения или изменения повторно читает этот дескриптор, подтверждая неизменность цели представления."
        },
        "/symbols/@id=script.method.server.Player.HardDisconnect/description": {
          "source_sha256": "4bb3d5a6522ea8da83c28a55a1bed14b9e89bcefd4955b9d279dd754961a1bab",
          "translation": "SyncScope: требует self; принудительно закрывает соединение этого игрока."
        },
        "/symbols/@id=script.method.server.Player.RefreshCritterMoving/description": {
          "source_sha256": "ca9abf72ed21eaa55f003757509ca687373b9e2d98c2f7ae879a21b597f603fd",
          "translation": "SyncScope: требует self и cr; отправляет состояние движения криттера, видимого на текущей карте игрока."
        },
        "/symbols/@id=script.method.server.Player.ResetViewMap/description": {
          "source_sha256": "4e46fb9a041249f224ccb9c1453ca709908dc6f00372d840558dffb29c80b102",
          "translation": "SyncScope: требует self; очищает состояние представления карты без смены родителя сущности."
        },
        "/symbols/@id=script.method.server.Player.SetName/description": {
          "source_sha256": "1f161df84d7a7cf9ee5592e79bb4a98de06bd52e686c2dc99cbca425ccfdd3d7",
          "translation": "SyncScope: требует self; изменяет только имя игрока."
        },
        "/symbols/@id=script.method.server.Player.SwitchCritter/description": {
          "source_sha256": "be9ab9e37d76e28c95b5314c898efe13c9c7aa9018a0576f414f69d5bfc46eaf",
          "translation": "SyncScope: требует self и cr, если cr не равен null; до связывания вызывающий код должен явно покрыть обе сущности."
        },
        "/symbols/@id=script.method.server.Player.UnloadMap/description": {
          "source_sha256": "fea79f895515bcbb899aaff66d198aeb59f11dac6dcf6aca5cfa702ed7f12074",
          "translation": "SyncScope: требует self; очищает состояние представления карты и отправляет выгрузку без смены родителя сущности."
        },
        "/symbols/@id=script.method.server.Player.ViewMap/description": {
          "source_sha256": "d4466057c483cb3399185e161be602be2cac48f5abf86f656c371a62ae00f78e",
          "translation": "SyncScope: требует self, карту и локацию карты; отправляет данные загрузки карты и открывает для self представление карты."
        },
        "/symbols/@id=script.property.Critter.AttachMaster/description": {
          "source_sha256": "7322c3094e8eed388df1fba240578d7855801138f86b0c715e6941ef08babbe4",
          "translation": "Идентификатор ведущего прикрепления; равен нулю, если криттер не прикреплён."
        },
        "/symbols/@id=script.property.Critter.Condition/description": {
          "source_sha256": "2afcc291a8b5a505cd1930649d35673632251f86ff1ce75de5e9b6ec964f3e33",
          "translation": "Текущее состояние жизни, используемое анимацией, фильтрацией и игровыми запросами."
        },
        "/symbols/@id=script.property.Critter.ControlledByPlayer/description": {
          "source_sha256": "6fe4912752db582cec69d3de354ada545935ac26ed477846853ab955c2b5c3c0",
          "translation": "Классифицирует криттера как управляемого игроком независимо от его текущего сетевого состояния."
        },
        "/symbols/@id=script.property.Critter.CustomHolderEntry/description": {
          "source_sha256": "1050e666d84a94010a810b27fa9d7f3ad171a30f9a7d8d759bfb66b9dc73a348",
          "translation": "Для пользовательской сущности задаёт запись держателя, через которую она прикреплена."
        },
        "/symbols/@id=script.property.Critter.CustomHolderId/description": {
          "source_sha256": "f84e0928a758c5e497d28a042fd88d98879212b1ac2f6931f329526772f507b3",
          "translation": "Для пользовательской сущности хранит постоянный идентификатор владеющего держателя; равен нулю, если у держателя нет постоянного идентификатора."
        },
        "/symbols/@id=script.property.Critter.DeadDrawNoFlatten/description": {
          "source_sha256": "891621e672774d5264b2ffb1613683cb9ab83fad4f2f877721d48851f40bd601",
          "translation": "Сохраняет мёртвого криттера в обычном порядке отрисовки вместо плоского порядка мёртвых криттеров."
        },
        "/symbols/@id=script.property.Critter.Dir/description": {
          "source_sha256": "ec2df791dfe2567ef28726bdb6eb1631477d238ed40d57f9cfcffaaa445ddede",
          "translation": "Текущее направление взгляда на сетке карты."
        },
        "/symbols/@id=script.property.Critter.Elevation/description": {
          "source_sha256": "0d356e2b8b3c58596328c573c25bb438a96615db22c714bd5c0e23932af67cba",
          "translation": "Вертикальный уровень отрисовки криттера."
        },
        "/symbols/@id=script.property.Critter.ExplicitlyPersistent/description": {
          "source_sha256": "909a82b41efa2f84a7e1fd273e8267c3b69fc21f3390ff505defbb973cf11e51",
          "translation": "Помечает сущность как самостоятельно сохраняемую, а не сохраняемую только из-за вложения в другую сущность."
        },
        "/symbols/@id=script.property.Critter.GlobalMapTripId/description": {
          "source_sha256": "150133a813a0a180910efe456a696c997b1e7e0f9e443affb685091d90f2b678",
          "translation": "Назначенный сервером идентификатор, общий для участников одной текущей поездки по глобальной карте."
        },
        "/symbols/@id=script.property.Critter.Hex/description": {
          "source_sha256": "4673dc90632e2343fafd7d22411b309cb8670c1153963561fbbbf3bf76c08227",
          "translation": "Исходный гекс, занимаемый криттером на текущей карте."
        },
        "/symbols/@id=script.property.Critter.HexOffset/description": {
          "source_sha256": "d5b05576494249b7957e87938fb0c13671789b2fe9b5b252914a906a3fedc9bc",
          "translation": "Внутригексовое смещение в пространстве карты для интерполяции движения и отрисовки."
        },
        "/symbols/@id=script.property.Critter.HideSprite/description": {
          "source_sha256": "f65ac8e86db89b74cfbdc7b4435eecb83865fb9f2f5c899a1fa9208e9b141445",
          "translation": "Скрывает текущий клиентский спрайт на карте, не удаляя присутствие криттера на карте."
        },
        "/symbols/@id=script.property.Critter.InitScript/description": {
          "source_sha256": "b4b717c3f31356bff2f72d8197f7658746d0b2af05f9fb966c335c9f074412de",
          "translation": "Серверная функция инициализации, вызываемая после события инициализации для нового или восстановленного криттера."
        },
        "/symbols/@id=script.property.Critter.IsAttached/description": {
          "source_sha256": "b8587bbd99ce1fc420a5c32a110491c986d513981939362dacd32bf490be8d36",
          "translation": "Показывает, что этот криттер сейчас следует за другим криттером как прикреплённый."
        },
        "/symbols/@id=script.property.Critter.IsChosen/description": {
          "source_sha256": "381e130d01d4c815747cf6091918b078756c0360817a237010518e9b5b3aee79",
          "translation": "Показывает, что этот криттер является локально выбранным на текущем клиенте."
        },
        "/symbols/@id=script.property.Critter.IsPlayerOffline/description": {
          "source_sha256": "f153b3cf89aebef940af174bddc8a7f977265dfc401cd362959b2fc3a9246e71",
          "translation": "Клиентское состояние соединения, сообщённое для управляемого игроком криттера."
        },
        "/symbols/@id=script.property.Critter.ItemIds/description": {
          "source_sha256": "b36a3cf283ea2690381cf7a72659b34381f660c9436d905a97d00694169ed90d",
          "translation": "Сохраняемые идентификаторы предметов, непосредственно находящихся в инвентаре криттера."
        },
        "/symbols/@id=script.property.Critter.LightColor/description": {
          "source_sha256": "88d328cc2723924031ded0647f20671259a644ea8b912439ab1560bf25e463cd",
          "translation": "Цвет RGBA, излучаемый клиентским источником света криттера."
        },
        "/symbols/@id=script.property.Critter.LightDistance/description": {
          "source_sha256": "f25441db4ccf37f9477696ec349a9229623d2e1b5d2d1a2a12e1d2f1cb062573",
          "translation": "Радиус действия клиентского источника света криттера в гексах."
        },
        "/symbols/@id=script.property.Critter.LightFlags/description": {
          "source_sha256": "8046c6aff9fc965d52aa6f346beacf6560ff28bdb8b15e8346f029d6fd0ddbc4",
          "translation": "Битовая маска глобального, инверсного и блокирующего направления поведения источника света."
        },
        "/symbols/@id=script.property.Critter.LightIntensity/description": {
          "source_sha256": "f14dfed224d2691eccdc99cd59b5d17080fa909760b4424f94a30b2c9a361c0e",
          "translation": "Знаковая интенсивность клиентского источника света криттера в процентах."
        },
        "/symbols/@id=script.property.Critter.LightSource/description": {
          "source_sha256": "81799139e0e90b3da0d8ff6cc9c815d3b7c033f5507e7a9d1eaa6e4673557b8c",
          "translation": "Включает клиентский источник света карты с центром на этом криттере."
        },
        "/symbols/@id=script.property.Critter.LookDistance/description": {
          "source_sha256": "c8034068f82917328834377f3d8b396d9ce4402ba0b433b81cadfbd44f8c031f",
          "translation": "Максимальная дистанция обзора карты в гексах для серверной обработки видимости."
        },
        "/symbols/@id=script.property.Critter.MapId/description": {
          "source_sha256": "59c6b611b4325b1c6c16dc0993104036c13ddaf388c8b2c22a948c745f285633",
          "translation": "Идентификатор карты, содержащей криттера; равен нулю, пока криттер находится на глобальной карте."
        },
        "/symbols/@id=script.property.Critter.ModelLayers/description": {
          "source_sha256": "1d2a56becb527cfd62f862977b11e16a1c119a556c7eec6702746d191b605974",
          "translation": "Клиентские значения фиксированного размера, передаваемые слоям 3D-модели и обработчику анимации."
        },
        "/symbols/@id=script.property.Critter.ModelName/description": {
          "source_sha256": "69d124a0012e5742bdf62f5aee5c124f95d439b041e250f0006d87511f5ad63d",
          "translation": "Ресурс спрайта или 3D-модели для представления криттера."
        },
        "/symbols/@id=script.property.Critter.MovingSpeed/description": {
          "source_sha256": "f473809fb05663ef513259a86b455e883426981039533dd06e89483977da8c01",
          "translation": "Текущая серверная скорость активного движения."
        },
        "/symbols/@id=script.property.Critter.Multihex/description": {
          "source_sha256": "8243c8fafcd3fb39b49333e131ef30daff5ed37b5a7dd63c229c8facd67aaf19",
          "translation": "Радиус занимаемой криттером области в гексах для движения, поиска пути и расчёта расстояний."
        },
        "/symbols/@id=script.property.Critter.NameOffset/description": {
          "source_sha256": "c1808ffa3b13587c823c7eef6cab1adc0e5d2d2987c2bc4ef07687ea887f74d2",
          "translation": "Вертикальная пиксельная поправка положения подписи имени криттера."
        },
        "/symbols/@id=script.property.Critter.ScaleFactor/description": {
          "source_sha256": "de043ac920f0dcf58b124093ede046063447afb7ad4d69db37585cbf6b868152",
          "translation": "Масштаб 3D-модели в тысячных долях; ноль выбирает стандартный масштаб 1000."
        },
        "/symbols/@id=script.property.Critter.ShowCritterDist1/description": {
          "source_sha256": "f0fa76d680d51b3ca727d663ae6456c87525ae6da02daf967bce05532f3388b4",
          "translation": "Необязательная первая дистанция событий видимости в гексах; ноль отключает эту группу расстояния."
        },
        "/symbols/@id=script.property.Critter.ShowCritterDist2/description": {
          "source_sha256": "b12e13e50471425a135e4e9f12be606edc4fcf3ae917ba5a6ff5d8d2573b7548",
          "translation": "Необязательная вторая дистанция событий видимости в гексах; ноль отключает эту группу расстояния."
        },
        "/symbols/@id=script.property.Critter.ShowCritterDist3/description": {
          "source_sha256": "3c063f897d07ccd7dc2d66e41a791e0e37c5d6793fa356076deaaade0b0adcfe",
          "translation": "Необязательная третья дистанция событий видимости в гексах; ноль отключает эту группу расстояния."
        },
        "/symbols/@id=script.property.Critter.VisibilityMode/description": {
          "source_sha256": "ba9e8d77f08fbaee8cd10f84866c21c5d60edd7a4f0c31ff9af07d0fe57c77fa",
          "translation": "Режим детализации видимости, назначенный этому криттеру с точки зрения текущего клиента."
        },
        "/symbols/@id=script.property.Game.CustomHolderEntry/description": {
          "source_sha256": "1050e666d84a94010a810b27fa9d7f3ad171a30f9a7d8d759bfb66b9dc73a348",
          "translation": "Для пользовательской сущности задаёт запись держателя, через которую она прикреплена."
        },
        "/symbols/@id=script.property.Game.CustomHolderId/description": {
          "source_sha256": "f84e0928a758c5e497d28a042fd88d98879212b1ac2f6931f329526772f507b3",
          "translation": "Для пользовательской сущности хранит постоянный идентификатор владеющего держателя; равен нулю, если у держателя нет постоянного идентификатора."
        },
        "/symbols/@id=script.property.Game.ExplicitlyPersistent/description": {
          "source_sha256": "909a82b41efa2f84a7e1fd273e8267c3b69fc21f3390ff505defbb973cf11e51",
          "translation": "Помечает сущность как самостоятельно сохраняемую, а не сохраняемую только из-за вложения в другую сущность."
        },
        "/symbols/@id=script.property.Game.FrameDeltaTime/description": {
          "source_sha256": "80b962a4dafcdc037c383b89a00f41a366509487ff4d8dc9a55c1e33185d1b60",
          "translation": "Монотонный интервал времени между текущим и предыдущим продвижением кадра."
        },
        "/symbols/@id=script.property.Game.FrameTime/description": {
          "source_sha256": "4ac1adaf0ecb932d611fde730016a70376e7106562925745fdb1d61cc4b8df33",
          "translation": "Монотонное время движка, зафиксированное для текущего кадра."
        },
        "/symbols/@id=script.property.Game.FramesPerSecond/description": {
          "source_sha256": "af7bcd808b483f6ba7ba99c5cb433354ca787d0805e517296552e9d66a7b18f1",
          "translation": "Число кадров, измеренное за последний завершённый секундный интервал."
        },
        "/symbols/@id=script.property.Game.GlobalDayTime/description": {
          "source_sha256": "48b727c407fd07178ba3edb0eb1b8cb786cd993ac01eacc11393f49db28fbb7a",
          "translation": "Текущая позиция глобального цикла освещения суток в минутах, управляемая игровыми скриптами."
        },
        "/symbols/@id=script.property.Game.HistoryRecordsId/description": {
          "source_sha256": "04fcda552bf4bc32e4565732e5d7f56670f4592df70a4d7217559518c448d04e",
          "translation": "Сохраняемая верхняя граница, используемая при выделении идентификаторов серверных записей истории."
        },
        "/symbols/@id=script.property.Game.LastEntityId/description": {
          "source_sha256": "33c99a5565bd0372c65279444d594e7009d4d7c0b5c56975b92e55d9ef098157",
          "translation": "Сохраняемая верхняя граница, используемая при выделении постоянных идентификаторов сущностей."
        },
        "/symbols/@id=script.property.Game.LastGlobalMapTripId/description": {
          "source_sha256": "f4713b13d34c539e17b09f7c87720671fa595feb006f13739d920c4bfed419e2",
          "translation": "Последний назначенный сервером идентификатор путешествия по глобальной карте."
        },
        "/symbols/@id=script.property.Game.SynchronizedTime/description": {
          "source_sha256": "b3b19825ecbf47932380edbc656ddb32ec464f78f78095ebbce4d777410e3dd9",
          "translation": "Текущее синхронизированное игровое время, общее для сервера и клиентов и сохраняемое сервером."
        },
        "/symbols/@id=script.property.ImGui.CustomHolderEntry/description": {
          "source_sha256": "1050e666d84a94010a810b27fa9d7f3ad171a30f9a7d8d759bfb66b9dc73a348",
          "translation": "Для пользовательской сущности задаёт запись держателя, через которую она прикреплена."
        },
        "/symbols/@id=script.property.ImGui.CustomHolderId/description": {
          "source_sha256": "f84e0928a758c5e497d28a042fd88d98879212b1ac2f6931f329526772f507b3",
          "translation": "Для пользовательской сущности хранит постоянный идентификатор владеющего держателя; равен нулю, если у держателя нет постоянного идентификатора."
        },
        "/symbols/@id=script.property.ImGui.ExplicitlyPersistent/description": {
          "source_sha256": "909a82b41efa2f84a7e1fd273e8267c3b69fc21f3390ff505defbb973cf11e51",
          "translation": "Помечает сущность как самостоятельно сохраняемую, а не сохраняемую только из-за вложения в другую сущность."
        },
        "/symbols/@id=script.property.Item.AlwaysHideSprite/description": {
          "source_sha256": "35bbd94aefd466f34cc5b9d2561f4cd554850378266d72e52df6b764d0a7d1d2",
          "translation": "Не позволяет рисовать спрайт предмета во время выполнения и по умолчанию скрывает его в Mapper."
        },
        "/symbols/@id=script.property.Item.Colorize/description": {
          "source_sha256": "fc4a04b90caa7c6602957d4a260cffa28ad283acc864ed3116d2f5339e341817",
          "translation": "Включает тонирование спрайта предмета на карте цветом ColorizeColor."
        },
        "/symbols/@id=script.property.Item.ColorizeColor/description": {
          "source_sha256": "ebe85964e70fa2e7f5b2c315636c32f31b3a0a5115fb6d3f01eaf2ee68bd0de2",
          "translation": "Оттенок RGBA, применяемый при включённом Colorize; альфа также задаёт исходную непрозрачность спрайта."
        },
        "/symbols/@id=script.property.Item.ContainerId/description": {
          "source_sha256": "c85a3e9812e7fc48a9e9a55573956448664d61f40174c8a48d8b6844555da73a",
          "translation": "Идентификатор родительского предмета, пока Ownership равен ItemContainer; в остальных случаях равен нулю."
        },
        "/symbols/@id=script.property.Item.ContainerStack/description": {
          "source_sha256": "a88ea8a1f9f4099039b20d4ecede9d8894dd4fcda99b506ce39b39fd0b108481",
          "translation": "Определяемый проектом ключ группировки для выбора и объединения предметов внутри контейнера."
        },
        "/symbols/@id=script.property.Item.Corner/description": {
          "source_sha256": "daaaf946091f088f124d52c8573ad8e0b445dd278ffb9abb2bd6149263438b57",
          "translation": "Ориентация угла стены, используемая освещением карты и прозрачностью переднего плана."
        },
        "/symbols/@id=script.property.Item.CritterId/description": {
          "source_sha256": "13163e321142cdc5a2132d01d1196e72b7881953b23a53297d7b9456720b3d56",
          "translation": "Идентификатор владеющего криттера, пока Ownership равен CritterInventory; в остальных случаях равен нулю."
        },
        "/symbols/@id=script.property.Item.CritterSlot/description": {
          "source_sha256": "04356d847e6a4adad69bf5df6099ddd423664b953973627513ed2fb933c60886",
          "translation": "Слот инвентаря или экипировки, занятый предметом, пока он принадлежит криттеру."
        },
        "/symbols/@id=script.property.Item.CustomHolderEntry/description": {
          "source_sha256": "1050e666d84a94010a810b27fa9d7f3ad171a30f9a7d8d759bfb66b9dc73a348",
          "translation": "Для пользовательской сущности задаёт запись держателя, через которую она прикреплена."
        },
        "/symbols/@id=script.property.Item.CustomHolderId/description": {
          "source_sha256": "f84e0928a758c5e497d28a042fd88d98879212b1ac2f6931f329526772f507b3",
          "translation": "Для пользовательской сущности хранит постоянный идентификатор владеющего держателя; равен нулю, если у держателя нет постоянного идентификатора."
        },
        "/symbols/@id=script.property.Item.DisableEgg/description": {
          "source_sha256": "166fd72b77aab431e0f9a90190521321c69a4cc47972ada45f5515f2eaef9ff6",
          "translation": "Отключает обработку прозрачности переднего плана для спрайта предмета на карте."
        },
        "/symbols/@id=script.property.Item.DrawFlatten/description": {
          "source_sha256": "8c42c5f7962a272d8b9e70aade0133b2beae3deb1203b7f6b0f01b2d864c097c",
          "translation": "Рисует предмет в плоском проходе карты вместо обычного прохода предметов с сортировкой по глубине."
        },
        "/symbols/@id=script.property.Item.DrawMultihexLines/description": {
          "source_sha256": "e1f92c7770e5a03345518079545fbedfff6a27a97c418d31d7d98e5399525ae3",
          "translation": "Рисует повторные спрайты предмета на гексах занимаемой области, созданных MultihexLines."
        },
        "/symbols/@id=script.property.Item.DrawMultihexMesh/description": {
          "source_sha256": "c24ca063a44af2b82ae183fab57ad10825260e0e22e2f52d4d288d5be2d51181",
          "translation": "Рисует повторные спрайты предмета на явно заданных гексах MultihexMesh."
        },
        "/symbols/@id=script.property.Item.DrawOrderSubLayer/description": {
          "source_sha256": "55fb2bfaa60af95d8078bb9e8e7479fcf877e7408b86da776626d6946d46a736",
          "translation": "Точный порядок внутри основного слоя отрисовки предмета; изменение синхронизируется во время игры."
        },
        "/symbols/@id=script.property.Item.Elevation/description": {
          "source_sha256": "1a2a1b15c27eca391a5e41748dc34b495971a1be9dd6d1f4bf7c1cb3a34cd53b",
          "translation": "Вертикальный уровень отрисовки предмета на карте."
        },
        "/symbols/@id=script.property.Item.ExplicitlyPersistent/description": {
          "source_sha256": "909a82b41efa2f84a7e1fd273e8267c3b69fc21f3390ff505defbb973cf11e51",
          "translation": "Помечает сущность как самостоятельно сохраняемую, а не сохраняемую только из-за вложения в другую сущность."
        },
        "/symbols/@id=script.property.Item.Hex/description": {
          "source_sha256": "dffc781d0273108a8166191f1ee7febb58907456ba4a0c8571a8548e5dbf7a33",
          "translation": "Исходный гекс карты, используемый пока предмет размещён на карте."
        },
        "/symbols/@id=script.property.Item.Hidden/description": {
          "source_sha256": "637af3b02f94ec0a51dfc10801f441ca0dc7c2a5ad7f5bde36e947edcdecd812",
          "translation": "Серверный флаг видимости, скрывающий динамический предмет из клиентских представлений."
        },
        "/symbols/@id=script.property.Item.HideSprite/description": {
          "source_sha256": "03595d24e3807b1bd2adda9a5d7fbc3e87341f55193ecc8f6ed0ef53830613db",
          "translation": "Скрывает текущий клиентский спрайт на карте, не удаляя присутствие предмета на карте."
        },
        "/symbols/@id=script.property.Item.InitScript/description": {
          "source_sha256": "92c8c2cd2af271cbebda880be7310c5cdae7e3a75135bc0873b8dbb4dfa56b82",
          "translation": "Серверная функция инициализации, вызываемая после события инициализации для нового или восстановленного предмета."
        },
        "/symbols/@id=script.property.Item.InnerItemIds/description": {
          "source_sha256": "e0d3bca11c2ebef564c2c5adaea9ac4544cd821ae15094f6fd6791ea1405a876",
          "translation": "Сохраняемые идентификаторы предметов, непосредственно содержащихся в этом предмете."
        },
        "/symbols/@id=script.property.Item.IsGag/description": {
          "source_sha256": "d6ead5d157ce9a339e1981db6301c067f80773f5dc0006728c6a64a4efb2eb6d",
          "translation": "Помечает блокирующий предмет как условно проходимый через callback gag карты."
        },
        "/symbols/@id=script.property.Item.IsRoofTile/description": {
          "source_sha256": "b019a3275120fddbf135b646be5d3691f333ec42ea2c77142e8263a5d66bc64a",
          "translation": "Выбирает отрисовку крыши вместо тайла земли, когда включён IsTile."
        },
        "/symbols/@id=script.property.Item.IsScenery/description": {
          "source_sha256": "e41d65a20f9fbd4390072cc498f637608fde707756922c1a5692e7612c840c4a",
          "translation": "Классифицирует предмет как декорацию для фильтрации в Mapper и правил освещения плоской отрисовки."
        },
        "/symbols/@id=script.property.Item.IsTile/description": {
          "source_sha256": "03a9b963535708e07109769fdd25dea31bae0958dda28e54cc151695caa469cb",
          "translation": "Классифицирует предмет как тайл земли или крыши, отрисовываемый в слое тайлов."
        },
        "/symbols/@id=script.property.Item.IsTrigger/description": {
          "source_sha256": "7cfbc5d256b1e4dfb364fe05767e6bbb741d5b9696c0b4e07cbb0047694970c1",
          "translation": "Включает предмет в поиск триггеров карты и обработку триггеров перемещения."
        },
        "/symbols/@id=script.property.Item.IsWall/description": {
          "source_sha256": "5dc61a298f187be1900a6a22c3319644558b714cd962655e392997b97f85b668",
          "translation": "Классифицирует предмет как стену для фильтрации в Mapper и представления карты."
        },
        "/symbols/@id=script.property.Item.LightColor/description": {
          "source_sha256": "571e9fe8175d07be7ddd5db7a81dc0bcd27976f8e519632996682416dbb95931",
          "translation": "Цвет RGBA, излучаемый источником света предмета."
        },
        "/symbols/@id=script.property.Item.LightDistance/description": {
          "source_sha256": "ad159f0529a1fdffa5884404e3e1f88a13da7381faf87c08f13a0918ab29bc6e",
          "translation": "Радиус действия источника света предмета в гексах."
        },
        "/symbols/@id=script.property.Item.LightFlags/description": {
          "source_sha256": "8046c6aff9fc965d52aa6f346beacf6560ff28bdb8b15e8346f029d6fd0ddbc4",
          "translation": "Битовая маска глобального, инверсного и блокирующего направления поведения источника света."
        },
        "/symbols/@id=script.property.Item.LightIntensity/description": {
          "source_sha256": "b58932e26f9f005302377f2cfa1110c75ded4c1ea422638619290be9f1ed37ba",
          "translation": "Знаковая интенсивность источника света предмета в процентах."
        },
        "/symbols/@id=script.property.Item.LightSource/description": {
          "source_sha256": "d287baff16708fe3fc54acc82e11370dbe4c75368b824c1217b6701811552284",
          "translation": "Включает источник света карты с центром на этом предмете."
        },
        "/symbols/@id=script.property.Item.LightThru/description": {
          "source_sha256": "1037af338e9b7376b3a18c459cdfadf082ea98fba93afd2c1cd145c9a404f823",
          "translation": "Разрешает распространение света карты через все гексы, занятые предметом."
        },
        "/symbols/@id=script.property.Item.MapId/description": {
          "source_sha256": "2c46f45492a4e7e8b84eea7f0d09c5ddc481e712e59c1f4cb3f1a3847a38f066",
          "translation": "Идентификатор владеющей карты, пока Ownership равен MapHex; в остальных случаях равен нулю."
        },
        "/symbols/@id=script.property.Item.MultihexGeneration/description": {
          "source_sha256": "fc29904b19512b32c28da26f6e561fade5d8e0e100c83d4cf5b83fd90d713b77",
          "translation": "Стратегия объединения в Mapper, по которой MultihexMesh строится из совместимых размещений предметов."
        },
        "/symbols/@id=script.property.Item.MultihexLines/description": {
          "source_sha256": "cb8c7af3792f23d28e56ca10e77c1e42880daa622880376c303f6e8759237e73",
          "translation": "Пары направления и числа шагов, прокладывающие дополнительные гексы занимаемой области от каждого начала сетки."
        },
        "/symbols/@id=script.property.Item.MultihexMesh/description": {
          "source_sha256": "64d3fad57d3b2158528f52ee892636e53709072c139e7c15d4e7cf2b36cd7e3b",
          "translation": "Явно заданные гексы карты, разделяющие занимаемую область предмета и необязательный повторяемый спрайт."
        },
        "/symbols/@id=script.property.Item.NoBlock/description": {
          "source_sha256": "47c83de8812ede09ff101593fe047c00fe7fe8ad0df398ad0825d74c6e938d8c",
          "translation": "Разрешает перемещение через все гексы, занятые предметом."
        },
        "/symbols/@id=script.property.Item.NoHighlight/description": {
          "source_sha256": "3913f9b16e667e72c3057841165a1c035be5191e2d72d60203a709d27322eb80",
          "translation": "Запрещает клиенту применять обычное визуальное выделение предмета."
        },
        "/symbols/@id=script.property.Item.NoLightInfluence/description": {
          "source_sha256": "a0eac1c042bcb0ffd45a7ce06e9181e22ccf36207156193ed9c52f5ce387d08b",
          "translation": "Не позволяет окружающему освещению карты тонировать спрайт предмета."
        },
        "/symbols/@id=script.property.Item.Offset/description": {
          "source_sha256": "7a272511540548ee8b56d6ed151072068dcc37b4a6dfa1e42ea13f148ad16132",
          "translation": "Пиксельное смещение спрайта предмета относительно его исходного гекса."
        },
        "/symbols/@id=script.property.Item.Ownership/description": {
          "source_sha256": "7f18b6727e88f6a9f2dd9e4ac8fa9f2954debee9351d8c1d9cda9660afc20d7f",
          "translation": "Текущая категория размещения: гекс карты, инвентарь криттера, контейнер-предмет или отсутствие размещения."
        },
        "/symbols/@id=script.property.Item.PicInv/description": {
          "source_sha256": "a14861a79d378dd986d0c5a1f31cb43d745b23dcd5502f66ca74fa8e5a4f15ee",
          "translation": "Ресурс спрайта для представления предмета в интерфейсах инвентаря."
        },
        "/symbols/@id=script.property.Item.PicMap/description": {
          "source_sha256": "ab14f55b75cc41008483bf44e6eb5d60046db1eb89c820cc29227f941f262567",
          "translation": "Ресурс спрайта для отрисовки предмета на карте."
        },
        "/symbols/@id=script.property.Item.ShootThru/description": {
          "source_sha256": "bc1513365e7604c60ab42986e2e235bf63ae81f5081ee66377dbc348d0a157ae",
          "translation": "Разрешает трассировку снарядов через все гексы, занятые предметом."
        },
        "/symbols/@id=script.property.Item.Static/description": {
          "source_sha256": "5fd25d0321400cdb6825f1b256dbf52f6e3a41c4be58a508e6375fe045a30fb2",
          "translation": "Помечает данные предмета на карте как статическую декорацию, а не динамическую сущность предмета."
        },
        "/symbols/@id=script.property.Item.StaticScript/description": {
          "source_sha256": "80accddad61a6cbeb107b37c7e6fc4691023d6304302fbd93627672e584a67ea",
          "translation": "Серверный callback, вызываемый при взаимодействии криттера с этим статическим предметом."
        },
        "/symbols/@id=script.property.Item.TileLayer/description": {
          "source_sha256": "a406efdae80c13b34e1cd584889d5d940a6943a27c70fd1f486b7f7a37b131cf",
          "translation": "Индекс с нуля слоя отрисовки земли или крыши для предмета-тайла."
        },
        "/symbols/@id=script.property.Item.TriggerScript/description": {
          "source_sha256": "8fde30c2a2608ca0eb769ffd696ba7fee6c5df33a2002299a603d40e4fe273d7",
          "translation": "Серверный callback, вызываемый при входе криттера в этот триггер-предмет или выходе из него."
        },
        "/symbols/@id=script.property.Location.CustomHolderEntry/description": {
          "source_sha256": "1050e666d84a94010a810b27fa9d7f3ad171a30f9a7d8d759bfb66b9dc73a348",
          "translation": "Для пользовательской сущности задаёт запись держателя, через которую она прикреплена."
        },
        "/symbols/@id=script.property.Location.CustomHolderId/description": {
          "source_sha256": "f84e0928a758c5e497d28a042fd88d98879212b1ac2f6931f329526772f507b3",
          "translation": "Для пользовательской сущности хранит постоянный идентификатор владеющего держателя; равен нулю, если у держателя нет постоянного идентификатора."
        },
        "/symbols/@id=script.property.Location.ExplicitlyPersistent/description": {
          "source_sha256": "909a82b41efa2f84a7e1fd273e8267c3b69fc21f3390ff505defbb973cf11e51",
          "translation": "Помечает сущность как самостоятельно сохраняемую, а не сохраняемую только из-за вложения в другую сущность."
        },
        "/symbols/@id=script.property.Location.InitScript/description": {
          "source_sha256": "06ca5c2f44541f145f85a9eb9c2d230cb115412a59951ee233501cefa4eeae3a",
          "translation": "Серверная функция инициализации, вызываемая после события инициализации для новой или восстановленной локации."
        },
        "/symbols/@id=script.property.Location.MapIds/description": {
          "source_sha256": "c534f6bf02f4b86795dfab21f1c845908827df13ba74c7a0a6d9b831e615232e",
          "translation": "Сохраняемые идентификаторы карт этой локации в порядке списка карт локации."
        },
        "/symbols/@id=script.property.Map.CritterIds/description": {
          "source_sha256": "383b430c8c33bf1885c300520c17fd38067ff56b78d668e11ac9244035dd8e8f",
          "translation": "Сохраняемые идентификаторы неигровых криттеров, принадлежащих этой карте."
        },
        "/symbols/@id=script.property.Map.CustomHolderEntry/description": {
          "source_sha256": "1050e666d84a94010a810b27fa9d7f3ad171a30f9a7d8d759bfb66b9dc73a348",
          "translation": "Для пользовательской сущности задаёт запись держателя, через которую она прикреплена."
        },
        "/symbols/@id=script.property.Map.CustomHolderId/description": {
          "source_sha256": "f84e0928a758c5e497d28a042fd88d98879212b1ac2f6931f329526772f507b3",
          "translation": "Для пользовательской сущности хранит постоянный идентификатор владеющего держателя; равен нулю, если у держателя нет постоянного идентификатора."
        },
        "/symbols/@id=script.property.Map.DayColor/description": {
          "source_sha256": "8c28d7782ce766bae7a87f21602faf98ccc756e3917e876a0278936521dae885",
          "translation": "Поканальные значения RGB для соответствующих ключевых цветов освещения карты."
        },
        "/symbols/@id=script.property.Map.DayColorTime/description": {
          "source_sha256": "063442b339f136a862ee76aca06b2b9f76af23eef2bdcef6d597bacafc297b48",
          "translation": "Локальные для карты моменты ключевых цветов освещения в минутах суточного цикла."
        },
        "/symbols/@id=script.property.Map.ExplicitlyPersistent/description": {
          "source_sha256": "909a82b41efa2f84a7e1fd273e8267c3b69fc21f3390ff505defbb973cf11e51",
          "translation": "Помечает сущность как самостоятельно сохраняемую, а не сохраняемую только из-за вложения в другую сущность."
        },
        "/symbols/@id=script.property.Map.FixedDayTime/description": {
          "source_sha256": "733a7356ce97118638d8a96d452edf88bb2b23c6af70c8ca437978b1124fee05",
          "translation": "Локальное для карты значение переопределения времени суток, обычно выраженное в минутах и интерпретируемое игровыми скриптами."
        },
        "/symbols/@id=script.property.Map.GlobalDayColor/description": {
          "source_sha256": "5062b0632e9dfa916cb4a1452f07becc6317345af600ffa19e3857a4faf8a19d",
          "translation": "Текущий клиентский цвет глобального дневного освещения, переданный через SetDayColors для скриптов и эффектов."
        },
        "/symbols/@id=script.property.Map.GlobalDayLightCapacity/description": {
          "source_sha256": "0e896da615c499ca6b6d72bbfb4ff6cce8634eee240e64afb1eb6f58bb28a46d",
          "translation": "Текущая дневная ёмкость источников света с флагом global в процентах, ограниченная диапазоном от 0 до 100."
        },
        "/symbols/@id=script.property.Map.InitScript/description": {
          "source_sha256": "b346fcb09dd09317254f8bd4a470e5686139f49d77fdddb12cc789c9b9a54fdf",
          "translation": "Серверная функция инициализации, вызываемая после события инициализации для новой или восстановленной карты."
        },
        "/symbols/@id=script.property.Map.ItemIds/description": {
          "source_sha256": "f68bdd19c02a3c7072ef0c3f60c46e20895921dc5864e549679ff50e67587c65",
          "translation": "Сохраняемые идентификаторы динамических предметов, размещённых непосредственно на этой карте."
        },
        "/symbols/@id=script.property.Map.LocId/description": {
          "source_sha256": "a03a7cf8f8affc1651b2f66086f024e3a3e58ae8f73bc470d3f60fd31ec661e9",
          "translation": "Идентификатор локации, владеющей этой картой."
        },
        "/symbols/@id=script.property.Map.LocMapIndex/description": {
          "source_sha256": "edc543ed913945fdf817c99f20c8174c2f26112564f57b9a1d30a42ba8ba5d59",
          "translation": "Индекс с нуля этой карты в списке карт владеющей локации."
        },
        "/symbols/@id=script.property.Map.MapDayColor/description": {
          "source_sha256": "7d45ea8d535569211311209d1e1b090eff8bd95a7711ad597fe4674d6b8c39f3",
          "translation": "Текущий клиентский оттенок карты, переданный через SetDayColors и используемый отрисовкой карты."
        },
        "/symbols/@id=script.property.Map.MapDayLightCapacity/description": {
          "source_sha256": "a7905a27180f72a6d5c60e80fbd6a24dcd91c21834c106f7ffbd18129444961f",
          "translation": "Текущая дневная ёмкость обычных источников света карты в процентах, ограниченная диапазоном от 0 до 100."
        },
        "/symbols/@id=script.property.Map.RemovedStaticItemIds/description": {
          "source_sha256": "10145eb732c492e95bd1f053d5f0dd6f9130a2d46594d4d1bdd479c2eed8351f",
          "translation": "Идентификаторы запечённых статических предметов, которые убрал этот экземпляр карты; удаление одностороннее на всё время жизни экземпляра."
        },
        "/symbols/@id=script.property.Map.ScrollAxialArea/description": {
          "source_sha256": "3fa8a2bad17f4366872010bfc71dd29fae1130ec58631caac1921a43c94da421",
          "translation": "Прямоугольник в аксиальных координатах, ограничивающий прокрутку карты; нулевой прямоугольник оставляет доступной всю карту."
        },
        "/symbols/@id=script.property.Map.ScrollOffset/description": {
          "source_sha256": "db936c3fe0561e0b2e76721fec01b38c190f6d0df6c06e0c0de5db60f847e17c",
          "translation": "Округлённое клиентское смещение области просмотра в пикселях пространства карты."
        },
        "/symbols/@id=script.property.Map.Size/description": {
          "source_sha256": "55bb18dc4ab688f68beaf3fb1b2bfed3d1d671b87a6c09cf6816c70f83e77e49",
          "translation": "Ширина и высота сетки карты в гексах."
        },
        "/symbols/@id=script.property.Map.SpritesZoom/description": {
          "source_sha256": "e7dab76f2064735454657cf83bfd532048bf61a2dbf2c0e7a92b8e919305b47c",
          "translation": "Текущий клиентский коэффициент масштаба спрайтов карты."
        },
        "/symbols/@id=script.property.Map.SpritesZoomTarget/description": {
          "source_sha256": "5cc47384c7e656b8df01bf7003c3ca3f136e115eb89e50dc18affa7ba19589d1",
          "translation": "Целевой коэффициент масштаба, к которому интерполируется клиентский вид карты."
        },
        "/symbols/@id=script.property.Map.WorkHex/description": {
          "source_sha256": "39e3f4def04bf163c5b07c4ede4f0dbe86be876eeee8e51712a36a3b3162a429",
          "translation": "Рабочий гекс редактирования, используемый как начальный центр вида Mapper."
        },
        "/symbols/@id=script.property.Player.ControlledCritterId/description": {
          "source_sha256": "50735bd539780ae0a251c72d1a8fae09c6c4cec76045a2822db625e07ca4e0e9",
          "translation": "Идентификатор криттера, которым сейчас управляет этот игрок; равен нулю, если криттер не прикреплён."
        },
        "/symbols/@id=script.property.Player.CustomHolderEntry/description": {
          "source_sha256": "1050e666d84a94010a810b27fa9d7f3ad171a30f9a7d8d759bfb66b9dc73a348",
          "translation": "Для пользовательской сущности задаёт запись держателя, через которую она прикреплена."
        },
        "/symbols/@id=script.property.Player.CustomHolderId/description": {
          "source_sha256": "f84e0928a758c5e497d28a042fd88d98879212b1ac2f6931f329526772f507b3",
          "translation": "Для пользовательской сущности хранит постоянный идентификатор владеющего держателя; равен нулю, если у держателя нет постоянного идентификатора."
        },
        "/symbols/@id=script.property.Player.ExplicitlyPersistent/description": {
          "source_sha256": "909a82b41efa2f84a7e1fd273e8267c3b69fc21f3390ff505defbb973cf11e51",
          "translation": "Помечает сущность как самостоятельно сохраняемую, а не сохраняемую только из-за вложения в другую сущность."
        },
        "/symbols/@id=script.property.Player.LastControlledCritterId/description": {
          "source_sha256": "c2855b57f97fd38a8854d0420584adcc506c88f70d5c20aadd6a91e6bad27cf7",
          "translation": "Сохраняемый идентификатор последнего управляемого криттера, остающийся после отвязки для восстановления управления."
        },
        "/symbols/@id=script.property.Player.LoggedIn/description": {
          "source_sha256": "28d0480c6e66d4c5f83b55070dd129b6a59345fea9256a118058fa790a152ba3",
          "translation": "Показывает, завершило ли это соединение игрока вход на сервер."
        },
        "/symbols/@id=script.ref-field.client.FogLayer.CenterColor/description": {
          "source_sha256": "90beb63a2e253ebfc49d1a56105761e260026e1e0db6cbeb6389b7846ef95d23",
          "translation": "Цвет центра трассируемой зоны."
        },
        "/symbols/@id=script.ref-field.client.FogLayer.CheckShootBlocks/description": {
          "source_sha256": "6d7706521d0414eab6e5cd56578789c302062e7b6e28e6b3998afc1884705701",
          "translation": "Учитывает блокирующую стрельбу геометрию карты при построении границы тумана."
        },
        "/symbols/@id=script.ref-field.client.FogLayer.ClearRadius/description": {
          "source_sha256": "c8b026ce723182cd8b91768f0e11f842068b81ef51d4530fe360c0f17b66936b",
          "translation": "Доля области, сохраняемой чёткой до затухания на границе; меньшее значение даёт более широкую границу."
        },
        "/symbols/@id=script.ref-field.client.FogLayer.Depth/description": {
          "source_sha256": "ec2b7f7957ed53a74f143eb336e285a52af5137fc8e5574ee7adbb1f4900ff2f",
          "translation": "Дополнительное затемнение по мере удаления за границу."
        },
        "/symbols/@id=script.ref-field.client.FogLayer.Disposed/description": {
          "source_sha256": "17dc3d395b16fbd1762abc81ad513e6c9f0e0f694c6f0356d00722eb6ca7db6d",
          "translation": "Доступный скрипту признак: true, если вызван Dispose или уничтожена владеющая карта; после этого слой следует создать заново."
        },
        "/symbols/@id=script.ref-field.client.FogLayer.Distance/description": {
          "source_sha256": "025d389d6d68a7d112648ed832f8b966c42209798dfc5bcf96cf2293166c2927",
          "translation": "Дальность трассируемой зоны в гексах; 0 вычисляет её из дистанции обзора."
        },
        "/symbols/@id=script.ref-field.client.FogLayer.EdgeNoise/description": {
          "source_sha256": "171ea8a521832f2e0764fdba40acfbc7675ae222e7f81b54a26f3a0cec4c723a",
          "translation": "Сила ряби дрейфующего тумана на границе."
        },
        "/symbols/@id=script.ref-field.client.FogLayer.Enabled/description": {
          "source_sha256": "772159a05044e3dcbd856670e3c52de0296c7f826a915e184cd083c54296805d",
          "translation": "Включает построение формы, сохраняя состояние перехода при переключении."
        },
        "/symbols/@id=script.ref-field.client.FogLayer.ExtraLength/description": {
          "source_sha256": "e4ce020b51a7cf5526959ba950d138965736fe980dca5ad5d17eb16666e859b8",
          "translation": "Дополнительная длина обзора, прибавляемая к вычисленному радиусу."
        },
        "/symbols/@id=script.ref-field.client.FogLayer.OriginHex/description": {
          "source_sha256": "68f3e8bc48efe017889616d65a701d4f18a87c0766ef837756bd1190d28eabc3",
          "translation": "Начальный гекс тумана, привязанного к гексу; игнорируется при следовании за криттером."
        },
        "/symbols/@id=script.ref-field.client.FogLayer.OvalRoundness/description": {
          "source_sha256": "faea64319f379fff658443849b941d1ad9c66ee3ea822fd3639db8371afe87c5",
          "translation": "0 задаёт исходный шестиугольник, 1 — полностью сглаженный овал."
        },
        "/symbols/@id=script.ref-field.client.FogLayer.OverlayColor/description": {
          "source_sha256": "81c428b5fe27499f92737c0de36968cb78706b9f245dce5b5f395e2878761343",
          "translation": "Цвет наложения трассируемой зоны."
        },
        "/symbols/@id=script.ref-field.client.FogLayer.Radius/description": {
          "source_sha256": "78095c8f7eda666b864d5f1fd4566f52c9ad87ae7a88abc4cf264a0f97779bbc",
          "translation": "Радиус обзора в гексах; 0 использует дистанцию обзора исходного криттера."
        },
        "/symbols/@id=script.ref-field.client.FogLayer.TintColor/description": {
          "source_sha256": "4295bf52a2a6e4c6d31bd84a6079c7db2a6487ebf87e6c48df07c72b9ab154b4",
          "translation": "Холодный затемняющий оттенок невидимой области; используются RGB, альфа игнорируется."
        },
        "/symbols/@id=script.ref-field.client.FogLayer.Traced/description": {
          "source_sha256": "6e646848221eb3a12cd74514d235240d3a880995f8a6b95d69981dadc1855e77",
          "translation": "Выбирает положительное наложение трассируемой зоны атаки или наблюдения вместо обратного тумана обзора."
        },
        "/symbols/@id=script.ref-field.client.FogLayer.TransitionDuration/description": {
          "source_sha256": "0bc0ba10a4869be92c7de3bd2e8d448aad2d86bb220299a35312b51693d4c45d",
          "translation": "Длительность увеличения, перемещения или уменьшения формы в миллисекундах."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.Angle/description": {
          "source_sha256": "50bcfa9a0a01fca468657e43876fccd919046ac269acaf899dd997185e1a39bb",
          "translation": "Начальный угол спрайта в градусах, применяемый при ненулевом значении."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.Color/description": {
          "source_sha256": "0678f75de54a452d37b57e57ad03150bac494be09fc00dde882cf7489c0e8727",
          "translation": "Необязательный упакованный цвет с фиксированной альфой, применяемый при присоединении; пустое значение не меняет цвет спрайта."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.Corner/description": {
          "source_sha256": "cc038ff07d6f2c398acfda60b034260a9cd4965a94d098d5b16d39e4891d3c1a",
          "translation": "Заданная вручную классификация угла для освещения и egg-эффекта, когда ProtoId пуст."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.DisableEgg/description": {
          "source_sha256": "f9b23f0e2174d2a91b066adb472855746d337bd3080bf20d2eeeb1c610500f9c",
          "translation": "Заданный вручную переключатель, подавляющий egg-эффект, когда ProtoId пуст."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.DrawOrder/description": {
          "source_sha256": "f2fc5e5568b7bad6d9c8dd277681e13f4d4eb0261b3c3fdc68a7544a5b01c588",
          "translation": "Заданная вручную позиция порядка отрисовки, используемая при пустом ProtoId."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.DrawOrderSubLayer/description": {
          "source_sha256": "bf909dec6a1fc9d6da5f9bc3c597b06796a5ca59e0ecd54b2cdaa5592862d7fe",
          "translation": "Точный порядок внутри DrawOrder, используемый при пустом ProtoId."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.Hex/description": {
          "source_sha256": "ca6b06b6b793f657fc61139cafe151036b6a0c98be2429d1aebc1fb5b488391d",
          "translation": "Гекс карты, используемый как якорь спрайта и точка проверки видимости."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.IsFlat/description": {
          "source_sha256": "24851dfd34da37c71c0cd4e9e3601b77c8f821e273a4bfbacf8d0b52564f3681",
          "translation": "Заданный вручную выбор плоского спрайта, используемый при пустом ProtoId."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.IsTweakAlpha/description": {
          "source_sha256": "3ff37af50685a7dd00caa2e081cb8cfd3fd2cc1baea2e96bf6f9435c8cfd0d0d",
          "translation": "Включает непрерывное отслеживание альфы через TweakAlpha после присоединения."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.IsTweakOffs/description": {
          "source_sha256": "99c4f5aff1777b8fc0bceadd09302ba349bb110e25db887926ce5845cc63254e",
          "translation": "Включает непрерывное отслеживание смещения через TweakOffset после присоединения."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.MapProjected/description": {
          "source_sha256": "45f0252859d260ac671084a5ebf1f76f7de75a51adfef4b061adda2cea07d74b",
          "translation": "Запрашивает отрисовку в проекции карты при присоединении спрайта."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.NoLight/description": {
          "source_sha256": "e094d73335203ee7c4dfe22b86583c45d33632a1076e05e37ba3fc0a118943ca",
          "translation": "Заданное вручную отключение освещения, используемое при пустом ProtoId."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.Offset/description": {
          "source_sha256": "8b2b9590ea106691cd367b418f1b17f9d6f32def52a8f4cbbd4bf28ce721f6b3",
          "translation": "Базовое смещение в пикселях карты, применяемое при присоединении спрайта."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.ProtoId/description": {
          "source_sha256": "c83bc58e1d7501a748e1aebdf7760ab07839e583624826c0c9e31c8d308b8b70",
          "translation": "Необязательный прототип предмета, чьи цвет, плоскостность, освещение, порядок отрисовки, угол и настройки egg переопределяют соответствующие поля держателя."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.SprId/description": {
          "source_sha256": "db5f6e69ba5cf8997a948143be18e3cb9bf8ae9d8d67dbe01f64a896356e6561",
          "translation": "Дескриптор ресурса спрайта, разрешаемый при присоединении держателя методом Map.DrawMapSprite."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.TweakAlpha/description": {
          "source_sha256": "7aec616c5799188a63046b87e955f125dc42a887b7143f547b64d7525a4a49f6",
          "translation": "Изменяемая альфа, читаемая присоединённым спрайтом, если IsTweakAlpha был включён при присоединении."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.TweakOffset/description": {
          "source_sha256": "43cda99c5171fb34c06d4c3534f5c07c437af81c50ef90930247719728caf110",
          "translation": "Изменяемое смещение в пикселях карты, читаемое присоединённым спрайтом, если IsTweakOffs был включён при присоединении."
        },
        "/symbols/@id=script.ref-field.client.MapSpriteHolder.Valid/description": {
          "source_sha256": "e33845a22dd085f9d6d46b3441b908b2f1367b245cbb46814df0337cb9fb46b5",
          "translation": "Показывает, остаётся ли присоединённый спрайт карты действительным; при аннулировании спрайт записывает false."
        },
        "/symbols/@id=script.ref-field.client.SpritePattern.CheckTileProperty/description": {
          "source_sha256": "4d090a1e31cfc8ed00848214804651532b22f28b1c1b00b86d092a2bcf2cb5fb",
          "translation": "Включает обязательный фильтр свойства наземного тайла; текущее значение false подавляет всё размещение шаблона."
        },
        "/symbols/@id=script.ref-field.client.SpritePattern.EveryHex/description": {
          "source_sha256": "ab20df76c49a27bd15581a48b3c1a7c479ef5bab287130fe477d19424ca7b019",
          "translation": "Положительные ненулевые интервалы по X и Y в гексах, используемые как делители по модулю при выборе ячеек размещения."
        },
        "/symbols/@id=script.ref-field.client.SpritePattern.ExpectedTilePropertyValue/description": {
          "source_sha256": "7511362bfe037c8bc363792ab2eba937445f205eab602ed670e96ac731f26c1b",
          "translation": "Целое значение, которому должно быть равно выбранное свойство наземного тайла для размещения спрайта."
        },
        "/symbols/@id=script.ref-field.client.SpritePattern.Finished/description": {
          "source_sha256": "f586ba1ff1b9e7b4d7eec49bf9d5f97439f12c0eb25ddaab3263390bd91eb2a8",
          "translation": "Показывает, остановил ли Finish этот шаблон и освободил ли его экземпляры спрайтов."
        },
        "/symbols/@id=script.ref-field.client.SpritePattern.InteractWithRoof/description": {
          "source_sha256": "166896fdb8a43127a8d4b4a791a25184511d72285a56b9dce7b7419f55a88dbd",
          "translation": "Скрывает шаблон под невидимыми крышами и размещает подходящие спрайты крыш в порядке отрисовки частиц крыш."
        },
        "/symbols/@id=script.ref-field.client.SpritePattern.TileProperty/description": {
          "source_sha256": "c3f9c5619dca479aaa9611e107a6cd4ee508fd1e743badbbf0ae7f9cb2675418",
          "translation": "Свойство предмета наземного тайла, читаемое при включённом CheckTileProperty."
        },
        "/symbols/@id=script.ref-field.client.VideoPlayback.Stopped/description": {
          "source_sha256": "ce994b5476050ee14671f04d415f2d6123d441744d2d6b194f2b88f86b601999",
          "translation": "Становится true, когда DrawVideoPlayback обнаруживает остановку исходного клипа и освобождает ресурсы воспроизведения."
        },
        "/symbols/@id=script.ref-method.client.FogLayer.Dispose/description": {
          "source_sha256": "41d3a5f5bd7e3e60e7a833f85ec8cf901ca89f6246b3e3e6c843e9aa3c23b5d6",
          "translation": "Помечает слой для удаления во время следующей подготовки тумана карты; повторные вызовы безвредны."
        },
        "/symbols/@id=script.ref-method.client.MapSpriteHolder.StopDraw/description": {
          "source_sha256": "549c2db5e224f0bb1e758d74feee23110bd6016f7b5cf978c9ba896f34178221",
          "translation": "Аннулирует присоединённый спрайт карты, записывает false в Valid через его обратный вызов и отсоединяет держатель; повторные вызовы безвредны."
        },
        "/symbols/@id=script.ref-method.client.SpritePattern.Finish/description": {
          "source_sha256": "b3b65c2ceab66e8b341fedac5c8900f5ac8743c04ce7424e47d595bd8d1e8d68",
          "translation": "Очищает спрайты шаблона и помечает контроллер завершённым; повторные вызовы безвредны."
        },
        "/symbols/@id=script.ref-method.common.MovingContext.EvaluateNearestPathHex/description": {
          "source_sha256": "11c65b980d68f533c1137dd8137d36b78536acbb3201154cad170c676ae96f9a",
          "translation": "Возвращает ближайший к from_hex гекс маршрута, начиная с current_hex, либо fallback_hex, если более близкой точки пути нет."
        },
        "/symbols/@id=script.ref-method.common.MovingContext.EvaluatePathHexes/description": {
          "source_sha256": "741fcb20d63d466a3ad39efbdd56c45aa8cab9934dc9416c3903bb5c5dd501eb",
          "translation": "Возвращает гексы маршрута от current_hex до доступного конца пути либо пару текущего и конечного гексов для маршрута без сохранённых шагов."
        },
        "/symbols/@id=script.ref-method.common.MovingContext.EvaluateProjectedHex/description": {
          "source_sha256": "fa4727c41cf06444958c390a2a7401d2e2c538c359043421acd2748d2013e3e0",
          "translation": "Вычисляет гекс маршрута для сохранённого прошедшего времени с добавленным неотрицательным интервалом упреждения в миллисекундах."
        },
        "/symbols/@id=script.ref-method.common.MovingContext.GetBlockHex/description": {
          "source_sha256": "02e792a8eb99510f933e5ebc025bc6397c699a01ec05b4dd07b459f175c0d09c",
          "translation": "Возвращает сохранённый для маршрута блокирующий гекс."
        },
        "/symbols/@id=script.ref-method.common.MovingContext.GetCompleteReason/description": {
          "source_sha256": "e35a7e2757d89ce0a21bdf784426296d38b5e5c450ea4ae867d4f618798f74bf",
          "translation": "Возвращает причину, переданную при завершении движения."
        },
        "/symbols/@id=script.ref-method.common.MovingContext.GetElapsedTime/description": {
          "source_sha256": "f78b682c277c209d21b2c8578abfcb203fa69dee252c1f44fdcc3465bacda22f",
          "translation": "Возвращает сохранённое прошедшее время движения в миллисекундах."
        },
        "/symbols/@id=script.ref-method.common.MovingContext.GetEndHex/description": {
          "source_sha256": "c01e53b92151213f861b45c7f26abeed42e2eb1cd405c7a5bcd79dafe0e1c671",
          "translation": "Возвращает конечный гекс карты, полученный из сохранённых шагов маршрута."
        },
        "/symbols/@id=script.ref-method.common.MovingContext.GetEndHexOffset/description": {
          "source_sha256": "5828973ab8916b36626dd299e294232666cae0801f82aad008800fae2bc99a8c",
          "translation": "Возвращает смещение в пикселях карты, применяемое на конечном гексе маршрута."
        },
        "/symbols/@id=script.ref-method.common.MovingContext.GetPreBlockHex/description": {
          "source_sha256": "ffcd867c8ed847ce676535f7e2c15febcbd6489e63a369aa02259c71d34c59c0",
          "translation": "Возвращает последний достижимый гекс, сохранённый непосредственно перед блокирующим гексом."
        },
        "/symbols/@id=script.ref-method.common.MovingContext.GetSpeed/description": {
          "source_sha256": "1f10737c4a22261437477500a8dc1ecdeafacc5e087db7a3c23647a632cf9d0e",
          "translation": "Возвращает скорость движения, использованную для расчёта времени маршрута."
        },
        "/symbols/@id=script.ref-method.common.MovingContext.GetStartHex/description": {
          "source_sha256": "cd8dbb0960dafd40715f76d79d289b599f17b671c048e6bfd4318df3b2024958",
          "translation": "Возвращает первый гекс карты сохранённого маршрута."
        },
        "/symbols/@id=script.ref-method.common.MovingContext.GetStartHexOffset/description": {
          "source_sha256": "9818a2e5e65162d9071f27e37efb2c4aa034d636fc436987249525ef497642a0",
          "translation": "Возвращает смещение в пикселях карты, применяемое на начальном гексе маршрута."
        },
        "/symbols/@id=script.ref-method.common.MovingContext.GetWholeDist/description": {
          "source_sha256": "a4a18adfbc5238d89d6f895972484d2d121e9e5138c2acde0cda7301d5680035",
          "translation": "Возвращает полное расстояние в пикселях проекции карты по всем сегментам между управляющими точками."
        },
        "/symbols/@id=script.ref-method.common.MovingContext.GetWholeTime/description": {
          "source_sha256": "2bdcb5292d1298ad8c1cc098a47b0b955aae617bf77760837b8820f8857e0817",
          "translation": "Возвращает полную длительность маршрута в миллисекундах с учётом скорости и смещений конечных точек."
        },
        "/symbols/@id=script.ref-method.common.MovingContext.IsCompleted/description": {
          "source_sha256": "2dafb2ebf6ce168c16f5c1cfa54f202fcde25240ffad6b1b7af249d767694009",
          "translation": "Показывает, было ли движение явно завершено."
        },
        "/symbols/@id=script.ref-method.common.TimeEventContext.GetData/description": {
          "source_sha256": "1a722ed5fee0e9516c8e0198f2adf1d3da6a7d6ffe8273c6c3022c76cb07eb94",
          "translation": "Возвращает первое значение полезной нагрузки или пустое значение any, если полезная нагрузка отсутствует."
        },
        "/symbols/@id=script.ref-method.common.TimeEventContext.GetDataArray/description": {
          "source_sha256": "894720a5401c1c7afcf95e002c3750579c5187afb0b28793a2e170be560accf4",
          "translation": "Возвращает копию полного массива полезной нагрузки, доступного этому обратному вызову."
        },
        "/symbols/@id=script.ref-method.common.TimeEventContext.GetId/description": {
          "source_sha256": "594012cb21d2cf467019b542eb15676bb6112c0b269c208b49983ee92c21654d",
          "translation": "Возвращает уникальный идентификатор события, которое сейчас вызывает обработчик."
        },
        "/symbols/@id=script.ref-method.common.TimeEventContext.GetRepeat/description": {
          "source_sha256": "2bce1967e4c84a5e5ae7e47cad7eef0468fb56f78b932b1a3a61743712765c96",
          "translation": "Возвращает текущий интервал повторения, включая значение, назначенное методом Repeat в этом обратном вызове."
        },
        "/symbols/@id=script.ref-method.common.TimeEventContext.HasData/description": {
          "source_sha256": "c51cf2854d19e7dee46378a03161a4cbf3ddccb4abcc690950fdfa4229653a21",
          "translation": "Показывает, содержит ли контекст обратного вызова хотя бы одно значение полезной нагрузки."
        },
        "/symbols/@id=script.ref-method.common.TimeEventContext.IsStopped/description": {
          "source_sha256": "34783e46b0156fe20454b36db3202f4adf73fc171520c227664bba60506af5d7",
          "translation": "Показывает, был ли через этот контекст запрошен Stop."
        },
        "/symbols/@id=script.ref-method.common.TimeEventContext.Repeat/description": {
          "source_sha256": "db0da7c987357df62aaddb41c5b65caa7b4d8b358bf70902496797fccd8291a9",
          "translation": "Заменяет интервал повторения и планирует следующее срабатывание от завершения обработчика, ограничивая интервал снизу минимумом Engine."
        },
        "/symbols/@id=script.ref-method.common.TimeEventContext.SetData/description": {
          "source_sha256": "eb62139448f33e826bf587fcd3a68bfaf3f11387fbc7bf4030983de1a7fc6b6d",
          "translation": "Заменяет полезную нагрузку события одним значением после возврата из обработчика."
        },
        "/symbols/@id=script.ref-method.common.TimeEventContext.SetDataArray/description": {
          "source_sha256": "82b6dd37abede39a2d2b3c1116b86d9bda4bb436d9285ff99e6feb3122ce6f4c",
          "translation": "Заменяет полную полезную нагрузку события копией переданного массива после возврата из обработчика."
        },
        "/symbols/@id=script.ref-method.common.TimeEventContext.Stop/description": {
          "source_sha256": "b4678e08685f4e62412b9d50a91f230e306f849046d1d1a3b21a87177346f00c",
          "translation": "Помечает текущее событие для удаления после возврата из обработчика."
        },
        "/symbols/@id=script.ref-type.client.FogLayer/description": {
          "source_sha256": "ba30b49f6329ae33246525aa0d6264e6047b5feaa959a05e439fd14b9ba160f5",
          "translation": "Принадлежащий карте слой тумана или трассируемой зоны, форма и параметры композиции которого каждый кадр перестраиваются из изменяемых полей скрипта."
        },
        "/symbols/@id=script.ref-type.client.MapSpriteHolder/description": {
          "source_sha256": "6dd77da22220fb1409858ca8eb3b0e8c7653bdabadb0594b9048882677201e5a",
          "translation": "Настраиваемый скриптом держатель локального клиентского спрайта карты, добавляемого через Map.DrawMapSprite и сохраняемого до аннулирования или остановки."
        },
        "/symbols/@id=script.ref-type.client.SpritePattern/description": {
          "source_sha256": "15290657ffb65aae6d83d83ccf86a8dff13e17e29affeef8929d1f9644800271",
          "translation": "Принадлежащий карте контроллер, который размещает копии именованного спрайта на подходящих видимых гексах до завершения или уничтожения карты."
        },
        "/symbols/@id=script.ref-type.client.VideoPlayback/description": {
          "source_sha256": "d70610aab8c9ec537e7020c6ba6906ef7b96a7c8dcdfa00ee31964bd582cb8cb",
          "translation": "Принадлежащий скрипту контроллер видеоклипа и текстуры вывода, создаваемый Game.CreateVideoPlayback и продвигаемый Game.DrawVideoPlayback."
        },
        "/symbols/@id=script.ref-type.common.MovingContext/description": {
          "source_sha256": "eb540cde7cf91eb046c3ebca3c5da1e0f615486de990c894b24fe99bfc027e55",
          "translation": "Общее состояние пути движения с геометрией маршрута, временем, смещениями, данными блокировки и текущим ходом завершения."
        },
        "/symbols/@id=script.ref-type.common.TimeEventContext/description": {
          "source_sha256": "36cc0a91bab40b305c515c7f7de93a7c2698c8003beb6510069a9c2ce851a5f0",
          "translation": "Временный контекст обратного вызова для чтения и изменения срабатывающего события времени; запрошенные изменения применяются после возврата из обработчика."
        },
        "/symbols/@id=script.value-field.GamepadState.Available/description": {
          "source_sha256": "391d07af65cada08546e44516de4067a2b86dc03403853898bac920e2374bdcc",
          "translation": "Показывает, открыт ли сейчас игровой контроллер приложением."
        },
        "/symbols/@id=script.value-field.GamepadState.Back/description": {
          "source_sha256": "2d8cfc9d44a3a518b8fe3e38501ced88ca8fac33a098ce2cb27653abd2608715",
          "translation": "Показывает, нажата ли кнопка возврата."
        },
        "/symbols/@id=script.value-field.GamepadState.DpadDown/description": {
          "source_sha256": "7f0fd3cf35f1475cf51028b1d0322877371492c7c458be449f69ff86f56d98ee",
          "translation": "Показывает, нажато ли направление вниз на крестовине."
        },
        "/symbols/@id=script.value-field.GamepadState.DpadLeft/description": {
          "source_sha256": "be8be95365ffc847b9c07c5866023148f670ce2cbd678aeab820e7f5e771bbb3",
          "translation": "Показывает, нажато ли направление влево на крестовине."
        },
        "/symbols/@id=script.value-field.GamepadState.DpadRight/description": {
          "source_sha256": "66ddaab030c2e0bb38811e10caa3be53f22c6e7356dc5f6dbb0cd57e1069fae1",
          "translation": "Показывает, нажато ли направление вправо на крестовине."
        },
        "/symbols/@id=script.value-field.GamepadState.DpadUp/description": {
          "source_sha256": "2a04ebe3138563d741c45c04b27733bf9ec430e8c1cf361b49205d9adc102601",
          "translation": "Показывает, нажато ли направление вверх на крестовине."
        },
        "/symbols/@id=script.value-field.GamepadState.East/description": {
          "source_sha256": "7340784c4222ecfbd8bed91af2f9c481517696c6de41308ec09d16aa3f7a56ca",
          "translation": "Показывает, нажата ли восточная лицевая кнопка."
        },
        "/symbols/@id=script.value-field.GamepadState.LeftShoulder/description": {
          "source_sha256": "1c55e7f2df5e9cf41d5acd4f442abdb1f9e8e0d8bd082332fa3b4fe1adb72975",
          "translation": "Показывает, нажата ли левая плечевая кнопка."
        },
        "/symbols/@id=script.value-field.GamepadState.LeftStickButton/description": {
          "source_sha256": "a1e799c49b31dc56e04a368d695e907fdfccfad55f9fa6acbc89aaf36af550b0",
          "translation": "Показывает, нажата ли кнопка левого стика."
        },
        "/symbols/@id=script.value-field.GamepadState.LeftStickX/description": {
          "source_sha256": "be29f9e8604f39f0897035c7a9e4804cdd08b5cb33a77bd4223a3d9d0adebd67",
          "translation": "Горизонтальная ось левого стика, нормализованная от -1 до 1 после мёртвой зоны."
        },
        "/symbols/@id=script.value-field.GamepadState.LeftStickY/description": {
          "source_sha256": "8d59a6311a2ad195171bc23b6153899ee64ce1516546bf0801ea24156c1e4190",
          "translation": "Вертикальная ось левого стика, нормализованная от -1 до 1 после мёртвой зоны."
        },
        "/symbols/@id=script.value-field.GamepadState.LeftTrigger/description": {
          "source_sha256": "f8b2a7f4f1f199aaba713bf06ea5adad4f5dd2fa93e0126ab189fb6b8a577a31",
          "translation": "Нажатие левого триггера, нормализованное от 0 до 1 после мёртвой зоны."
        },
        "/symbols/@id=script.value-field.GamepadState.North/description": {
          "source_sha256": "27b59157d4da7f464a32b84dc95e748f0e1eae8decd6beb17e015dbe10c28241",
          "translation": "Показывает, нажата ли северная лицевая кнопка."
        },
        "/symbols/@id=script.value-field.GamepadState.Reserved/description": {
          "source_sha256": "36b4e87863ba88d89b39b6c9481c24ca33422d965f9a9c7b9958f32592d35992",
          "translation": "Зарезервированное поле совместимости; текущий input backend оставляет его равным false."
        },
        "/symbols/@id=script.value-field.GamepadState.RightShoulder/description": {
          "source_sha256": "ef2483bf89670a81e9d195f40baeff49144b2066c5d262ab3a3a69b07e44e827",
          "translation": "Показывает, нажата ли правая плечевая кнопка."
        },
        "/symbols/@id=script.value-field.GamepadState.RightStickButton/description": {
          "source_sha256": "54380095cafac9f5cd4471af8a82caaea41ae1041e06ea4d41a05e3ed235b5e7",
          "translation": "Показывает, нажата ли кнопка правого стика."
        },
        "/symbols/@id=script.value-field.GamepadState.RightStickX/description": {
          "source_sha256": "217cbc941452eb84c578c4da47f8b0895815009b78e1d152284861156b6641d6",
          "translation": "Горизонтальная ось правого стика, нормализованная от -1 до 1 после мёртвой зоны."
        },
        "/symbols/@id=script.value-field.GamepadState.RightStickY/description": {
          "source_sha256": "0c08656659b51bb69b10b2a71a6ed96a31f57f127fb60449955f314df2ce6095",
          "translation": "Вертикальная ось правого стика, нормализованная от -1 до 1 после мёртвой зоны."
        },
        "/symbols/@id=script.value-field.GamepadState.RightTrigger/description": {
          "source_sha256": "9a86769ef5a689c007e5c9208b113a69eba3f1bf15ab33ee3a9854e53ef0f161",
          "translation": "Нажатие правого триггера, нормализованное от 0 до 1 после мёртвой зоны."
        },
        "/symbols/@id=script.value-field.GamepadState.South/description": {
          "source_sha256": "726f36829e7f3f29952af6849dbd602cb33e7c119ee19d96f29b930660971d6f",
          "translation": "Показывает, нажата ли южная лицевая кнопка."
        },
        "/symbols/@id=script.value-field.GamepadState.Start/description": {
          "source_sha256": "8bc07c8be9da6c25536aae6d27ffaffc2168183d439ac943bb51ee1695dd4bb3",
          "translation": "Показывает, нажата ли кнопка запуска."
        },
        "/symbols/@id=script.value-field.GamepadState.West/description": {
          "source_sha256": "505edabd15a0b2649eecc7faa86330e0dac7a29f47ad6e684f337e33c35ce22e",
          "translation": "Показывает, нажата ли западная лицевая кнопка."
        },
        "/symbols/@id=script.value-field.LanguageName.Name/description": {
          "source_sha256": "eb1cc016be2e299f3d1688a1a9b0a3b7fdd0e1c6fca5edb19bb9d774b6be851d",
          "translation": "Хешированный идентификатор языка для выбора локализованных текстовых ресурсов."
        },
        "/symbols/@id=script.value-field.TextFormat.Flags/description": {
          "source_sha256": "148bd6e0cfea5c6352fa1d11a195bf692eb509ca798985699478f8334a7a96de",
          "translation": "Битовая маска FontFlag, управляющая выравниванием, переносом, обрезкой, цветовыми тегами и представлением глифов."
        },
        "/symbols/@id=script.value-field.TextFormat.Font/description": {
          "source_sha256": "a538761208ed8b0ca0029064b3d97ab582ff66e39565b2510ec7c0645d790e85",
          "translation": "Слот шрифта, выбранный для измерения и отрисовки текста."
        },
        "/symbols/@id=script.value-field.TextFormat.SkipLines/description": {
          "source_sha256": "242deb77254f90fe07879d04e2b13c92bee685e77664531a000c13b3a04e3336",
          "translation": "Число пропускаемых строк: по умолчанию сверху, а при установленном AlignBottom — снизу."
        },
        "/symbols/@id=script.value-field.TextPackKey.Collection/description": {
          "source_sha256": "9228be538ddfbf1af7480856f9be889ba4fb4a78df7f06c2c6dc5d815bac9d4d",
          "translation": "Коллекция текстового пакета, в которой разрешается ключ."
        },
        "/symbols/@id=script.value-field.TextPackKey.Key1/description": {
          "source_sha256": "ac2175e995768c3b2d14d256ac9dfad882252206bf595c300acdac77300925d2",
          "translation": "Основной хешированный компонент ключа поиска."
        },
        "/symbols/@id=script.value-field.TextPackKey.Key2/description": {
          "source_sha256": "d90aa7fc115165fc79718e6766cb25edb468b23543f1277e850520cbe7d7ebcf",
          "translation": "Необязательный второй хешированный компонент ключа поиска."
        },
        "/symbols/@id=script.value-field.TextPackKey.Key3/description": {
          "source_sha256": "82212dd6ba2648f51cb3152444b75c5de08a175e7c77af13caed2ccd194d29c3",
          "translation": "Необязательный третий хешированный компонент ключа поиска."
        },
        "/symbols/@id=script.value-field.TextPackName.Name/description": {
          "source_sha256": "24a5482296a0f391c6f634f9b49e763c8f105abb6fac6abd4caa8f2b486cf391",
          "translation": "Хешированное имя коллекции текстового пакета."
        },
        "/symbols/@id=script.value-field.fpos.x/description": {
          "source_sha256": "f084901625c8e0daa99f69b1cee9fc00fb8828b6fb266968ee5f0310a819a181",
          "translation": "32-битный компонент позиции X с плавающей точкой."
        },
        "/symbols/@id=script.value-field.fpos.y/description": {
          "source_sha256": "2926ee107ce45cf12928dbcf16203d0a220e22a035d5effb8b831da87dd1b519",
          "translation": "32-битный компонент позиции Y с плавающей точкой."
        },
        "/symbols/@id=script.value-field.frect.height/description": {
          "source_sha256": "00a422fa7907320787fd76a0c01a9a455eaa50b09bb9f17518092365b63ffca8",
          "translation": "32-битная высота прямоугольника с плавающей точкой."
        },
        "/symbols/@id=script.value-field.frect.width/description": {
          "source_sha256": "341472c2445bbef4b6237154a4c78a0643caaf2b1856733e38e84db6bf42ea02",
          "translation": "32-битная ширина прямоугольника с плавающей точкой."
        },
        "/symbols/@id=script.value-field.frect.x/description": {
          "source_sha256": "bd3b02ed5a6977c0121dbd8a23f76557ff90806b29cc073bf92f52100f754196",
          "translation": "32-битная координата X начала прямоугольника с плавающей точкой."
        },
        "/symbols/@id=script.value-field.frect.y/description": {
          "source_sha256": "f9f4f3f4ecdafadf57a4ac8c77c95317ce43b2e826b369734c270555e663e8d1",
          "translation": "32-битная координата Y начала прямоугольника с плавающей точкой."
        },
        "/symbols/@id=script.value-field.fsize.height/description": {
          "source_sha256": "d1b6aeab503f87064489ad8c4f1a198b68ffc2235fd96c81f2163b86c1d54a66",
          "translation": "32-битный компонент высоты с плавающей точкой."
        },
        "/symbols/@id=script.value-field.fsize.width/description": {
          "source_sha256": "9839969f1febbb869bc4d22f8c232268c40ff43168f56c8271215933bd959ee5",
          "translation": "32-битный компонент ширины с плавающей точкой."
        },
        "/symbols/@id=script.value-field.hdir.value/description": {
          "source_sha256": "2bec76c9baf72f8a68c1f84bc9044dc9b50d9e14b4a3728522f00eb2576ef180",
          "translation": "Индекс направления, нормализованный от 0 до количества направлений в выбранной шести- или восьминаправленной геометрии минус один."
        },
        "/symbols/@id=script.value-field.ident.value/description": {
          "source_sha256": "06d28a65933648d4bc78304eab902584a8c6441e257ff680cdd2bbd3127b4793",
          "translation": "Знаковая 64-битная полезная нагрузка идентификатора; ноль обозначает пустой идентификатор."
        },
        "/symbols/@id=script.value-field.ipos.x/description": {
          "source_sha256": "4866f8c0cc839e64379c5b93d0e6f0054c6a2199f7ebe765f50758440b1ba48d",
          "translation": "Знаковый 32-битный компонент позиции X."
        },
        "/symbols/@id=script.value-field.ipos.y/description": {
          "source_sha256": "7483a93f85cd449568017b32653660a588d00cf71d7ec4963303bf69b0414012",
          "translation": "Знаковый 32-битный компонент позиции Y."
        },
        "/symbols/@id=script.value-field.ipos16.x/description": {
          "source_sha256": "5d9b0c1e59b185a22b1c3c4e2ad776d9680f8c9363e21312a7e46135b183a319",
          "translation": "Знаковый 16-битный компонент позиции X."
        },
        "/symbols/@id=script.value-field.ipos16.y/description": {
          "source_sha256": "9a4177dea3553c5e5350a602c5b2b15772966781b32c6e51bdad85e76d89b685",
          "translation": "Знаковый 16-битный компонент позиции Y."
        },
        "/symbols/@id=script.value-field.ipos8.x/description": {
          "source_sha256": "024d33aab3023e9593ccc8b9d606ade5f4d5d03e8c9218b3cbcfb26569d16457",
          "translation": "Знаковый 8-битный компонент позиции X."
        },
        "/symbols/@id=script.value-field.ipos8.y/description": {
          "source_sha256": "3ed63661baa9df45671c5053eb9517c73d0a53a6fa3a68510e2c3084ff3e21a6",
          "translation": "Знаковый 8-битный компонент позиции Y."
        },
        "/symbols/@id=script.value-field.irect.height/description": {
          "source_sha256": "34da99e9287d8bd1317c6aad312b2558b7e7339c92c0cf4f95dd30ad041670ca",
          "translation": "Знаковая 32-битная высота прямоугольника."
        },
        "/symbols/@id=script.value-field.irect.width/description": {
          "source_sha256": "b183e403936f741c9942c4ed6b86fbcf46b3ca4f61d94e93c3b9de81d537a2e7",
          "translation": "Знаковая 32-битная ширина прямоугольника."
        },
        "/symbols/@id=script.value-field.irect.x/description": {
          "source_sha256": "b621e650e209dd42d496dd3871ae6948a7a72d5c7c739b9f29aa11520f8e0222",
          "translation": "Знаковая 32-битная координата X начала прямоугольника."
        },
        "/symbols/@id=script.value-field.irect.y/description": {
          "source_sha256": "5e6c8dec6e4ad56e9a537547c2a7b0708240ed4710bb1748d0c0ddfb9084b5cf",
          "translation": "Знаковая 32-битная координата Y начала прямоугольника."
        },
        "/symbols/@id=script.value-field.isize.height/description": {
          "source_sha256": "0cf5d3c8b3cc92712e32005d1f99221f54525125e918b71ac66f8b325ac70db4",
          "translation": "Знаковый 32-битный компонент высоты."
        },
        "/symbols/@id=script.value-field.isize.width/description": {
          "source_sha256": "8986fc7cff09210ced421244afac828bf0a404ae6a7270830a7994844f1f08ca",
          "translation": "Знаковый 32-битный компонент ширины."
        },
        "/symbols/@id=script.value-field.mdir.angle/description": {
          "source_sha256": "f66af5a4c70216e18e659644e214c0daf78d46bb3b23500636f2cb7fe6a15c83",
          "translation": "Угол направления в градусах, нормализованный в замкнутый диапазон от 0 до 359."
        },
        "/symbols/@id=script.value-field.mpos.x/description": {
          "source_sha256": "2c7a8c296aa980598ece0ea8ea915df0543ae30ffa53cb6457b737575ea24e14",
          "translation": "Знаковый компонент X координаты ячейки карты."
        },
        "/symbols/@id=script.value-field.mpos.y/description": {
          "source_sha256": "8210dada4f05b27f2e36893f7e7937e453226ae6a8f2e3bbec8c8213420088b9",
          "translation": "Знаковый компонент Y координаты ячейки карты."
        },
        "/symbols/@id=script.value-field.msize.height/description": {
          "source_sha256": "0159b4c99d9376bb8cc013431ef76ffdf62e5264c62111631adc8b74538a785e",
          "translation": "Высота карты в адресуемых ячейках."
        },
        "/symbols/@id=script.value-field.msize.width/description": {
          "source_sha256": "153321512c524d42e6f6a76f90e9d5102f44545f08b7b9d5e0d4a9c4479c9a04",
          "translation": "Ширина карты в адресуемых ячейках."
        },
        "/symbols/@id=script.value-field.nanotime.value/description": {
          "source_sha256": "8289b08702977ff044cffe5916ccf8b135a0520d771124b0f620f769f1acbe13",
          "translation": "Наносекунды от локальной для процесса эпохи монотонных steady clock; это не гражданское календарное время."
        },
        "/symbols/@id=script.value-field.synctime.value/description": {
          "source_sha256": "b1a48a52efcf59da40c2d5801c4597a014411ffe1e47433020797eb21336a517",
          "translation": "Миллисекунды во временном домене игры, синхронизированном Engine."
        },
        "/symbols/@id=script.value-field.timespan.value/description": {
          "source_sha256": "c8b6a4424fd5604ec474046bef28024d8fc654bf206d9448caa13c538a203000",
          "translation": "Знаковое значение длительности в наносекундах."
        },
        "/symbols/@id=script.value-field.ucolor.value/description": {
          "source_sha256": "82e3f10b8cefb690b314fb545115c06165533c64ca8462a5197a192d3fb27c02",
          "translation": "Упакованное 32-битное хранилище RGBA, используемое для равенства, упорядочивания, хеширования и передачи в скрипт."
        },
        "/symbols/@id=script.value-type.GamepadState/description": {
          "source_sha256": "bf1144a66510c901ff745423eb164948079e11ab22d65f9ac1cb83082d4f7982",
          "translation": "Снимок состояния геймпада за кадр, содержащий доступность, значения стиков и триггеров, лицевые и плечевые кнопки, кнопки стиков и состояние крестовины."
        },
        "/symbols/@id=script.value-type.LanguageName/description": {
          "source_sha256": "6adbe5e1d01dd9514d9a82347bde8af9d1af2b4cfe979f75a9e2cfbf9728e41f",
          "translation": "Хешированное имя, идентифицирующее язык в локализованных текстовых ресурсах."
        },
        "/symbols/@id=script.value-type.TextFormat/description": {
          "source_sha256": "84dba9b3cf1288a173c4ea39036c6fbcc13c136549396e59b7a945fe52d0a292",
          "translation": "Набор параметров форматирования текста: слот шрифта, битовая маска FontFlag и счетчик пропуска строк.\n`SkipLines` по умолчанию пропускает строки сверху; при установленном FontFlag::AlignBottom строки пропускаются снизу (с конца)."
        },
        "/symbols/@id=script.value-type.TextPackKey/description": {
          "source_sha256": "aad5bf3b7c68dc0751e2667623cfc0f43b8a0cf4e00146018cc77b91fe0e58bf",
          "translation": "Ключ поиска текста, состоящий из имени коллекции и не более трёх хешированных компонентов ключа."
        },
        "/symbols/@id=script.value-type.TextPackName/description": {
          "source_sha256": "d6ec69308c633dbec9cc3e6e726a014b2f11e826778da14162a53250437977e4",
          "translation": "Хешированное имя, идентифицирующее коллекцию текстового пакета."
        },
        "/symbols/@id=script.value-type.fpos/description": {
          "source_sha256": "a222e7789d364f94071d10bc40af3ec3cb729cf86e7b8527ddd6b255a45f7243",
          "translation": "Двумерная позиция с 32-битными компонентами с плавающей точкой, доступная скриптам как изменяемые x и y."
        },
        "/symbols/@id=script.value-type.frect/description": {
          "source_sha256": "d5d6c26dc4f264d25047de0ef015cb2512a60329c00c9a8fd13085366c1bd815",
          "translation": "Прямоугольник с 32-битными компонентами с плавающей точкой, доступный скриптам как изменяемые компоненты начала координат и размера."
        },
        "/symbols/@id=script.value-type.fsize/description": {
          "source_sha256": "d23ac1087f3aeab2a5e2d0c8463623c8d71a29fde25aeee5476276deab727b13",
          "translation": "Двумерный размер с 32-битными компонентами с плавающей точкой, доступный скриптам как изменяемые width и height."
        },
        "/symbols/@id=script.value-type.hdir/description": {
          "source_sha256": "f0addaf98410dba5575958d9374fc577a67dd1cb4a2a51c89a858760ec83080d",
          "translation": "Дискретное направление на карте, нормализованное по модулю настроенной геометрии из шести направлений для hex или восьми для square."
        },
        "/symbols/@id=script.value-type.ident/description": {
          "source_sha256": "3cbffea791314fa33522832d305431abd470b6aa143c0a29cb153103ed590c49",
          "translation": "Строго типизированный знаковый 64-битный идентификатор, нулевое значение которого считается false, а порядок определяется сохранённым значением."
        },
        "/symbols/@id=script.value-type.ipos/description": {
          "source_sha256": "2a4e1fb4ea7c89f8f2bf5faa85017d98e090f0e5f1dfcebe01a8fb2fd910fdb5",
          "translation": "Стандартная двумерная знаковая 32-битная целочисленная позиция, доступная скриптам как изменяемые компоненты x и y."
        },
        "/symbols/@id=script.value-type.ipos16/description": {
          "source_sha256": "57fe41a2e457286810d54874a5da0bef8a36e6ca39660087cf28bd671b150f2d",
          "translation": "Двумерная знаковая 16-битная целочисленная позиция, доступная скриптам как изменяемые компоненты x и y."
        },
        "/symbols/@id=script.value-type.ipos8/description": {
          "source_sha256": "7a1a129728d452f1fc8ec2ebac25913512dcd1cb5b5e141a1ffe0d61ce601f6f",
          "translation": "Двумерная знаковая 8-битная целочисленная позиция, доступная скриптам как изменяемые компоненты x и y."
        },
        "/symbols/@id=script.value-type.irect/description": {
          "source_sha256": "e035e7c03937148528d83212fe8e4447396e707fa4cbfda66102c78f91265101",
          "translation": "Знаковый 32-битный целочисленный прямоугольник, доступный скриптам как изменяемые компоненты начала координат и размера."
        },
        "/symbols/@id=script.value-type.isize/description": {
          "source_sha256": "28981dc1b74cead3dc0336acdfd794f6972c6552e7b1cebc4891c2c851432048",
          "translation": "Двумерный знаковый 32-битный целочисленный размер, доступный скриптам как изменяемые компоненты width и height."
        },
        "/symbols/@id=script.value-type.mdir/description": {
          "source_sha256": "9724e03c29d6b7f0606deba0845a9c75a7bafccaaa9648d78111890dbd8c6486",
          "translation": "Угол направления на карте, сохранённый как знаковое 16-битное значение с операциями преобразования и поворота для дискретных направлений."
        },
        "/symbols/@id=script.value-type.mpos/description": {
          "source_sha256": "820942c8d1513d67fa5064785339ee84fba7dd1cdd9d4956d1d2225800ffe068",
          "translation": "Позиция в координатах карты из знаковых 16-битных компонентов, доступная скриптам как изменяемые x и y."
        },
        "/symbols/@id=script.value-type.msize/description": {
          "source_sha256": "559f799f4411c1ac634fa0db646d2526932b2e6d734ee74892a1a3536bff6d33",
          "translation": "Размер карты из знаковых 16-битных компонентов, доступный скриптам как изменяемые width и height."
        },
        "/symbols/@id=script.value-type.nanotime/description": {
          "source_sha256": "dfabe0f60bdc4de2b9b54b64e79d216e03077088931a04129f5f5b0e47172ea5",
          "translation": "Монотонная точка времени steady clock, хранящаяся как знаковый 64-битный счётчик наносекунд; это не гражданское календарное время."
        },
        "/symbols/@id=script.value-type.synctime/description": {
          "source_sha256": "65901e3b7d244868bde7111773ed0f7a2260436b0c98058342fc6dc6134f442f",
          "translation": "Синхронизируемая движком точка времени, хранящаяся как знаковый 64-битный счётчик миллисекунд для общего состояния игрового времени."
        },
        "/symbols/@id=script.value-type.timespan/description": {
          "source_sha256": "fccf96a88f0997b940ce85347e4025dca5f6cf92edda31ae884483362c9fcc54",
          "translation": "Знаковая длительность с наносекундным разрешением, хранящаяся как 64-битный счётчик."
        },
        "/symbols/@id=script.value-type.ucolor/description": {
          "source_sha256": "4d31875bdc9804641c7b56a34d2403d832608ae3a7fb3dfacc47b886fd5705d1",
          "translation": "Тип цвета"
        },
        "/symbols/@id=setting.client.Audio.DisableAudio/description": {
          "source_sha256": "bfcb7319f882071416545dd0ce3feb7fb4da34280d0bfb6800f82ca76addb6fa",
          "translation": "Если true, звук отключен"
        },
        "/symbols/@id=setting.client.Audio.MixRate/description": {
          "source_sha256": "0b0886890f0a433af20732dc2253d38e2126e4d62158b1baef6deb6468a87f60",
          "translation": "Частота дискретизации, на которой движок микширует звук перед передачей устройству; устройство выполняет передискретизацию, если работает на другой частоте."
        },
        "/symbols/@id=setting.client.Audio.MusicVolume/description": {
          "source_sha256": "a61fef5f2d0be048ec94ff7b652357f01d7300d1927622bc1e9322a6c9ea73e8",
          "translation": "Громкость музыки в процентах"
        },
        "/symbols/@id=setting.client.Audio.SoundFileExtensions/description": {
          "source_sha256": "02e3b0c2a286769135e815f9825d49f9f30953592d8160bb65b91a28ef599d22",
          "translation": "Расширения исходников, принимаемые индексом имён звуков; каждый запечённый payload имеет формат Ogg Vorbis независимо от расширения."
        },
        "/symbols/@id=setting.client.Audio.SoundVolume/description": {
          "source_sha256": "bc010f8808501fd7f24738922abd60510dc0e6bcad505ebe9b93a894cf211644",
          "translation": "Громкость звуков в процентах"
        },
        "/symbols/@id=setting.client.Client.ClientPropertiesPackData/description": {
          "source_sha256": "cbe9e0cd3942fd38f0afdcd35887b9595afa9763b946e64b0265d980eb150a3a",
          "translation": "Если true, клиентские сущности с прототипами используют оверлейное хранилище свойств"
        },
        "/symbols/@id=setting.client.Client.DefaultSplash/description": {
          "source_sha256": "256fc9b8e68a86e2beecfec75c60f86c6abe061ec6794c880092360fdbeb0a8c",
          "translation": "Заставка по умолчанию"
        },
        "/symbols/@id=setting.client.Client.DefaultSplashPack/description": {
          "source_sha256": "fbe8b329b3a6caee5ba7cf9910fea8e24b4ad47f1d8c224c479d4fa5bef0fb1c",
          "translation": "Пакет заставки по умолчанию"
        },
        "/symbols/@id=setting.client.Client.DirectMoveExtendAheadSteps/description": {
          "source_sha256": "0d425a53149e8eff65344213c589c7f1775133f12ba4077222e5d23e4938b796",
          "translation": "План удерживаемого направления продолжается следующим, когда остаётся не больше указанного числа шагов; значение должно быть меньше DirectMoveTraceSteps"
        },
        "/symbols/@id=setting.client.Client.DirectMoveLeaseRenewSteps/description": {
          "source_sha256": "cab3546f798fa8c4413def63850dd6cd313469af76525c8c21e10d8d16590ce7",
          "translation": "Lease продлевается, когда впереди игрока остаётся не больше указанного числа подтверждённых шагов; значение должно быть меньше DirectMoveLeaseSteps"
        },
        "/symbols/@id=setting.client.Client.DirectMoveLeaseSteps/description": {
          "source_sha256": "79f9404bf970e3fe628b15e3f0068e1ef669dbc3424001f861225d27de711bb6",
          "translation": "Число гексов впереди игрока, до которых сервер и наблюдатели могут проиграть план удерживаемого направления; ограничивает движение при зависании линии игрока"
        },
        "/symbols/@id=setting.client.Client.DirectMoveRetargetImmediateAngle/description": {
          "source_sha256": "1442855107c6090697512226f1fb446c283b3acf03788eb9e994aec5566b61aa",
          "translation": "Поворот удерживаемого направления не меньше указанного числа градусов применяется сразу"
        },
        "/symbols/@id=setting.client.Client.DirectMoveRetargetMinMs/description": {
          "source_sha256": "94737c867ab89b4a2fe6bc33e3b24a10e0c072cdfa8cb5f1a6e177e9b5956bca",
          "translation": "Минимальный интервал в миллисекундах между перепланированием поворотов меньше DirectMoveRetargetImmediateAngle"
        },
        "/symbols/@id=setting.client.Client.DirectMoveSlide/description": {
          "source_sha256": "2d90cd7c1f1118d9446732cca7d4638fb6119a9c1b6e4877d753493b499defbe",
          "translation": "Если true, заблокированное удерживаемое направление продолжает движение вдоль препятствия к заданному направлению"
        },
        "/symbols/@id=setting.client.Client.DirectMoveTraceSteps/description": {
          "source_sha256": "34a5383c254d35e4c325eaa4d5f3462b29a0bf6393469cfaf93d6293bbe2ea77",
          "translation": "Число гексов, протрассированных вперёд одним планом удерживаемого направления; следующий план строится до завершения текущего"
        },
        "/symbols/@id=setting.client.Client.ForceEmbeddedRuntime/description": {
          "source_sha256": "56fcd7ab7caaf6e89297910cc19a1c8b64f16e35231b5c0aa10fa7250136d85b",
          "translation": "Если true, хост клиента запускает встроенный движок вместо первоначальной загрузки поставляемой runtime DLL (явный --ClientLibPath по-прежнему загружает DLL); читается из командной строки при запуске хоста до разрешения остальных настроек"
        },
        "/symbols/@id=setting.client.Client.Language/description": {
          "source_sha256": "d29c9ab6ebd304db97654cb01d0c8d60d72fc608aab0fc6498f4e4be2b60696f",
          "translation": "Язык"
        },
        "/symbols/@id=setting.client.Client.MoveCatchUpRate/description": {
          "source_sha256": "647c754aa04b2366394cd4e286646c9e6165f5081b09d76e49b00aecf1f099ae",
          "translation": "Множитель скорости, с которым другой криттер догоняет текущее положение своего запоздавшего плана вместо скачка"
        },
        "/symbols/@id=setting.client.Client.MoveCatchUpSmoothMaxMs/description": {
          "source_sha256": "37ba2ed5744ae7a728bd08899c08550fdc1c94776b53c68715f2067a6ca35d48",
          "translation": "Наибольшее опоздание в миллисекундах, догоняемое плавно; оставшаяся часть более позднего плана пропускается сразу"
        },
        "/symbols/@id=setting.client.Client.UpdaterInfoDelay/description": {
          "source_sha256": "8f04e4c40399a8205fb57107f09e40a61620a15a9ebd1c90d8805ad505abd2b4",
          "translation": "Задержка информации updater-а в миллисекундах"
        },
        "/symbols/@id=setting.client.Client.UpdaterInfoPos/description": {
          "source_sha256": "d1d836d1e82da73d766192ee1c4cb7d2b619602fb86a6ace264445adc5261cec",
          "translation": "Позиция информации updater-а (<1 — сверху, 0 — по центру, >1 — снизу)"
        },
        "/symbols/@id=setting.client.ClientNetwork.ChannelServerKeys/description": {
          "source_sha256": "c9ccb9ff8f98e133dd1c4f900beb35a62d126f2b2bc8788d156ce271ccc4a297",
          "translation": "Закреплённые публичные ключи сервера защищённого канала, по 64 шестнадцатеричных знака; все предлагаются одновременно, поэтому следующий ключ можно добавить до ротации"
        },
        "/symbols/@id=setting.client.ClientNetwork.DebugNet/description": {
          "source_sha256": "75aeb4feff001b54ae2388ec4f30783fe59ec762dec8fe15909babb1dd739d0d",
          "translation": "Если true, включена отладка сети"
        },
        "/symbols/@id=setting.client.ClientNetwork.PingPeriod/description": {
          "source_sha256": "351296212815c67270504519c771d19c6052ca32ce2a0e13ffbbaab93fab77fe",
          "translation": "Период ping в миллисекундах"
        },
        "/symbols/@id=setting.client.ClientNetwork.PingTimeout/description": {
          "source_sha256": "242d85e22e8fdfb7b143e25881828989e85fcf66d2cb3f206c82febc24313293",
          "translation": "Время в миллисекундах, в течение которого при полном отсутствии данных от сервера можно ждать ответа на защищённое рукопожатие или ping до признания соединения потерянным (0 — ждать бесконечно)"
        },
        "/symbols/@id=setting.client.ClientNetwork.ProxyHost/description": {
          "source_sha256": "d609fcc9b1b76210c47b335240db086610de3c841fa6a774d5a2c28387f83b1f",
          "translation": "Адрес proxy-хоста"
        },
        "/symbols/@id=setting.client.ClientNetwork.ProxyPass/description": {
          "source_sha256": "3978a115c658449645b59552985be4cc2573dc6b889d382f8e951e2447fb58c3",
          "translation": "Пароль proxy"
        },
        "/symbols/@id=setting.client.ClientNetwork.ProxyPort/description": {
          "source_sha256": "9d4035b95b7dd29da3fafab017196a7269d4c905bfe600a6b938f9965e0fd2be",
          "translation": "Номер порта proxy"
        },
        "/symbols/@id=setting.client.ClientNetwork.ProxyType/description": {
          "source_sha256": "eaa671b100292508b0752f54ec766a18d51b27472abb47663832ccefebe239f8",
          "translation": "Тип proxy"
        },
        "/symbols/@id=setting.client.ClientNetwork.ProxyUser/description": {
          "source_sha256": "4d4135dc3ab09b95118997126d03ec157241d2074093ff54250c4c42092c43cf",
          "translation": "Имя пользователя proxy"
        },
        "/symbols/@id=setting.client.ClientNetwork.ServerHost/description": {
          "source_sha256": "0c6680f7bfb8df70a10762372a852f08622c484ec3ea0b9682942df1efea66a7",
          "translation": "Адрес хоста сервера"
        },
        "/symbols/@id=setting.client.ClientNetwork.UseUdp/description": {
          "source_sha256": "77f8c6bcb65964a72b44b3ca9829676cdbf3a0e9898f0361e088c1eecdcd7a3a",
          "translation": "Если true, вместо TCP используется нативный транспорт UDP"
        },
        "/symbols/@id=setting.client.ClientNetwork.WebSocketHost/description": {
          "source_sha256": "bbf79c4a2eeab25fb78259da1a2d89c267616b9d232764971d9053c157dc6f27",
          "translation": "Хост сервера WebSocket для подключения клиента"
        },
        "/symbols/@id=setting.client.CritterView.NameOffset/description": {
          "source_sha256": "f954cd6e04f029390b01700cd7ff542d3e9e97bf12254ebad7b0a309845327ca",
          "translation": "Смещение имени"
        },
        "/symbols/@id=setting.client.Hex.FullscreenMouseScroll/description": {
          "source_sha256": "914a339273dbffa0b374d4873b0b9f1b48c33506faf238869ac0cf4af8ab9421",
          "translation": "Если true, включена прокрутка мышью в полноэкранном режиме"
        },
        "/symbols/@id=setting.client.Hex.ScrollBlockSize/description": {
          "source_sha256": "16d641f978d639554bf6a739688cf4b3c94872fa26f35abf3d82d139a9b41e5f",
          "translation": "Число заблокированных гексов вокруг линии, блокирующей прокрутку"
        },
        "/symbols/@id=setting.client.Hex.ScrollFixedDt/description": {
          "source_sha256": "a06b1d9ba6337ef9aa62260118ab535d377b1542ba45996dbd5bb30ec9b41c98",
          "translation": "Фиксированный шаг delta time прокрутки в миллисекундах"
        },
        "/symbols/@id=setting.client.Hex.ScrollSpeed/description": {
          "source_sha256": "c9431351dd200fd48c7d0a024009d0e2ff42a5c196a3d29ee2471d888b5cf4b9",
          "translation": "Скорость прокрутки в пикселях в секунду"
        },
        "/symbols/@id=setting.client.Hex.WindowedMouseScroll/description": {
          "source_sha256": "cc95b1db7796b9626c7f252d9721b66d023a593c5c941ac92120427efbb30953",
          "translation": "Если true, включена прокрутка мышью в оконном режиме"
        },
        "/symbols/@id=setting.client.Hex.ZoomSpeed/description": {
          "source_sha256": "ada34ae3ea398a1a65ae556cc7d28ff235ee8bb5f8416b9d35a88ff8917fca62",
          "translation": "Скорость масштабирования"
        },
        "/symbols/@id=setting.client.Input.ConsoleHistorySize/description": {
          "source_sha256": "3038660afdcbf188ff182e16bb56f07190bbe15f5f14e49e9ab4d8f29b5656a8",
          "translation": "Размер истории консоли"
        },
        "/symbols/@id=setting.client.Input.DisableGamepad/description": {
          "source_sha256": "b432ffab479071bdacb6822c57380b5d23ecfaa9505e38fb646b3d56f555ef07",
          "translation": "Если true, поддержка геймпада отключена"
        },
        "/symbols/@id=setting.client.Mapper.ParticlePreviewEffect/description": {
          "source_sha256": "f056beb30603da0d573afc7d04da1339a2f20703e1f98478b0ea68e6e4280c62",
          "translation": "Ресурс частиц для предпросмотра после открытия стартовой карты"
        },
        "/symbols/@id=setting.client.Mapper.ParticlePreviewPrewarm/description": {
          "source_sha256": "59995e02dec22cf25dcbb1136ee7d22c66a2764919890d4774193ccf21c46edd",
          "translation": "Если true, выполняется предварительный прогрев стартового предпросмотра частиц"
        },
        "/symbols/@id=setting.client.Mapper.ParticlePreviewScale/description": {
          "source_sha256": "d01fa6d867db0526d2b6033c4d85d3de13af811ddd46f520210edcb0e7bb59b7",
          "translation": "Масштаб стартового предпросмотра частиц"
        },
        "/symbols/@id=setting.client.Mapper.ParticlePreviewSeed/description": {
          "source_sha256": "522587314a3d65317692f42eec018bcda62441efdc2dbc2d4f6c37d0e82d8adc",
          "translation": "Seed стартового предпросмотра, используемый выбранным runtime при поддержке детерминированного seed"
        },
        "/symbols/@id=setting.client.Mapper.StartHexX/description": {
          "source_sha256": "8a7f93cb56463833c68f251b3ea101367cbab1f3b921989dadd4a99f083c351e",
          "translation": "Начальная координата гекса X"
        },
        "/symbols/@id=setting.client.Mapper.StartHexY/description": {
          "source_sha256": "c35e4d79ae4057e1b318c6af2cc95d073701ff1ac9ad83ae55a9192591584600",
          "translation": "Начальная координата гекса Y"
        },
        "/symbols/@id=setting.client.Mapper.StartMap/description": {
          "source_sha256": "d40e25f02079a61b57e0155374b6359a93babd8d415a08a9e1a3cc5ddd095cc8",
          "translation": "Имя начальной карты"
        },
        "/symbols/@id=setting.client.View.DisableFog/description": {
          "source_sha256": "f334be85a2eafa71d9875b05dc24e6e4b048fe0b4ea1be3d5816d1fe1ec5df5e",
          "translation": "Отключает туман для повышения производительности"
        },
        "/symbols/@id=setting.client.View.DisableIndoorMask/description": {
          "source_sha256": "627759838c73d80835ce40221b3d99ecdbe2892152b82504956436765c134a75",
          "translation": "Если true, MapView пропускает проход рендеринга _rtIndoorMask, экономя одну отрисовку спрайта и смену RT за кадр. Используйте в проектах без погоды или для отладочного просмотра погоды сквозь скрытые крыши"
        },
        "/symbols/@id=setting.client.View.DisableLighting/description": {
          "source_sha256": "47c51fce1169e58f350028df1cdf0b8eaeab19acf4353f93d2620ac649b2a9f8",
          "translation": "Отключает освещение для повышения производительности"
        },
        "/symbols/@id=setting.client.View.FadingDuration/description": {
          "source_sha256": "7d2d5e222ae878817575d9c2ddc92995fee258db28debdea3000c887febf642b",
          "translation": "Длительность затухания в миллисекундах"
        },
        "/symbols/@id=setting.client.View.GlobalDayColor/description": {
          "source_sha256": "6f5abcaa621938e7241e47c66b4c6595fbd3c32364a8d161f1bde3b8b5f923a9",
          "translation": "Общий для проекта DayColor по умолчанию (12 байт, сначала каналы: R0..R3 G0..G3 B0..B3); каждая карта может переопределить значение через Map.DayColor"
        },
        "/symbols/@id=setting.client.View.GlobalDayColorTime/description": {
          "source_sha256": "e51f37165c1cb91383a33532d553d72d72533a1ae08eec31d6c628ff04c5c6d7",
          "translation": "Общий для проекта DayColorTime по умолчанию в минутах (4 ключа); каждая карта может переопределить значение через Map.DayColorTime"
        },
        "/symbols/@id=setting.client.View.HideNativeCursor/description": {
          "source_sha256": "315d207b60d547e9ea14b5b069e6c4835d4a5cf9536618f9f720c855265e490c",
          "translation": "Если true, нативный курсор скрыт"
        },
        "/symbols/@id=setting.client.View.MapDirectDraw/description": {
          "source_sha256": "c179d38c43af58ac16be74cc65dbd5896c4461fa668d1f9f0ac805acb770bbe8",
          "translation": "Рисует карту напрямую в основной framebuffer: ускоряет рендеринг, но отключает масштабирование и делает прокрутку скачкообразной"
        },
        "/symbols/@id=setting.client.View.MapRenderTargetScale/description": {
          "source_sha256": "c06e9cdce3785dd47d7df0391ff7af2c53e805645b25ab351399d8a62bea3a91",
          "translation": "Фиксированный масштаб render target карты, освещения и маски помещений относительно логического экрана; ограничивается максимальным размером текстуры устройства"
        },
        "/symbols/@id=setting.client.View.MapZoomEnabled/description": {
          "source_sha256": "cfd62d50790ea88985797fdb7773674ccc566630379fd5d686aa6b83a20877d4",
          "translation": "Масштабирование представления карты"
        },
        "/symbols/@id=setting.client.View.MonitorHeight/description": {
          "source_sha256": "95912798304624c79e517e71b8f9aab1e3feb6169163b56fbfe9791257910c12",
          "translation": "Высота монитора (только чтение)"
        },
        "/symbols/@id=setting.client.View.MonitorWidth/description": {
          "source_sha256": "4f274fa1d9bf51032718c2735cd583bbbb6a4621a97dac2df126146fab97422a",
          "translation": "Ширина монитора (только чтение)"
        },
        "/symbols/@id=setting.client.View.ScreenHeight/description": {
          "source_sha256": "c0ebb43c4f244169dcc17400dc4dcb9aba586118f86cdc78b7807a633a379c24",
          "translation": "Высота экрана в пикселях"
        },
        "/symbols/@id=setting.client.View.ScreenWidth/description": {
          "source_sha256": "d378cd57e7d5927e3d4851402996e58a249e9b0b76e6cef32bbaadbf5c40a7d6",
          "translation": "Ширина экрана в пикселях"
        },
        "/symbols/@id=setting.client.Web.AspectFactor/description": {
          "source_sha256": "f0faa49081224ca44fe2f308800586c07ce5cfe7de4331d4a5dd6bc380e4cea4",
          "translation": "Отношение высоты web canvas к ширине; ширина = высота / коэффициент"
        },
        "/symbols/@id=setting.client.Web.AutoResize/description": {
          "source_sha256": "cc7e1e228d1867fb501176b86c5f356e83fb6355ad92e7528998828de373af43",
          "translation": "Если true, разрешение web-экрана пересчитывается при изменении размера окна браузера"
        },
        "/symbols/@id=setting.client.Web.BackgroundColor/description": {
          "source_sha256": "58c22fbb92261f432c1f97bfa509d27f0ca2330a9d0e8eca5b765107f348a8ae",
          "translation": "Цвет фона web-страницы вокруг игрового экрана"
        },
        "/symbols/@id=setting.client.Web.HorizontalPosFactor/description": {
          "source_sha256": "b3945b10ac96b8d1d3305fd6b44b1d09d30b698951d4914fd6cc706035f72b23",
          "translation": "Коэффициент горизонтальной позиции в свободной ширине страницы: 0 = слева, 0.5 = по центру, 1 = справа"
        },
        "/symbols/@id=setting.client.Web.LoadingImage/description": {
          "source_sha256": "825e6b3ef1c1bbb5fd2feb4084c3b5a41399d4ae4b1d454da0c15693b15207d7",
          "translation": "Путь изображения загрузки для web-страницы относительно основного файла fomain"
        },
        "/symbols/@id=setting.client.Web.MaxHeight/description": {
          "source_sha256": "1c7a4ea455bd5e4fa0f28a4f56b1b8acbaf98d5932b6218af6ffece8d16d16fa",
          "translation": "Максимальная адаптивная высота web canvas в пикселях"
        },
        "/symbols/@id=setting.client.Web.MaxWidth/description": {
          "source_sha256": "48364c36b6004ef2e9e39adf91bc7129f25b69c2470ecfc8ef4ec280fede7de4",
          "translation": "Максимальная адаптивная ширина web canvas в пикселях"
        },
        "/symbols/@id=setting.client.Web.MinHeight/description": {
          "source_sha256": "13f9c2372b38cb93b9535210d4404761604e72d3eb5fdb6c670502228e9f8447",
          "translation": "Минимальная адаптивная высота web canvas в пикселях"
        },
        "/symbols/@id=setting.client.Web.MinWidth/description": {
          "source_sha256": "c460b8a45031d568643c4056ef3796968412422438e81a529643de1c2fc69be9",
          "translation": "Минимальная адаптивная ширина web canvas в пикселях"
        },
        "/symbols/@id=setting.client.Web.ScreenHeightPercent/description": {
          "source_sha256": "8de5b1ac71e074ae366dff31060ece23cb3c94986ed21b90c90acd1a1bde4762",
          "translation": "Высота web canvas в процентах от высоты страницы"
        },
        "/symbols/@id=setting.client.Web.VerticalPosFactor/description": {
          "source_sha256": "87435303b603f1731bae8837314895ad1fb632ab3e1ef4a78d37989038f365b5",
          "translation": "Коэффициент вертикальной позиции в свободной высоте страницы: 0 = сверху, 0.5 = по центру, 1 = снизу"
        },
        "/symbols/@id=setting.common.AngelScript.AttributedFunctionDirectCallAllowedNamespaces/description": {
          "source_sha256": "02ea8d110e30b4507cd141bc298f6d73c687fdd0056052f126d75b2a4f98caa3",
          "translation": "Пространства имён AngelScript, сопоставляемые как префиксы, чьи функции могут напрямую вызывать атрибутированные функции ([[Event]], [[TimeEvent]] и другие), минуя runtime-диспетчер."
        },
        "/symbols/@id=setting.common.AngelScript.DebuggerBindHost/description": {
          "source_sha256": "105a78df920b5eff592a7b61b87549eafae8dc678d5a81fa84a1d60ce54be218",
          "translation": "TCP-адрес привязки отладчика AngelScript."
        },
        "/symbols/@id=setting.common.AngelScript.DebuggerEnabled/description": {
          "source_sha256": "023502e5be8c2b3ce899fbedf31537d51473f6e2933db0ec53fc530caf732ab3",
          "translation": "Включает endpoint отладчика AngelScript."
        },
        "/symbols/@id=setting.common.AngelScript.ExtraDirectCallBlockingAttributes/description": {
          "source_sha256": "65c5c19e2ca50c78b03fddafc1504dbf59a764d5e23a8415ac949aa5f2db059a",
          "translation": "Проектные имена атрибутов, которые дополнительно запрещают прямые вызовы между функциями AngelScript сверх встроенного списка атрибутов, требующих диспетчеризации."
        },
        "/symbols/@id=setting.common.AngelScript.MutableGlobalsAllowedNamespaces/description": {
          "source_sha256": "45e5cb643af7e6546dce72772afdfe5cff2dd965e7fe859eca742e0f46d97677",
          "translation": "Пространства имён AngelScript, сопоставляемые как префиксы, где глобальные переменные модуля могут быть изменяемыми; в остальных разрешены только константы."
        },
        "/symbols/@id=setting.common.AngelScript.OverrunReportTime/description": {
          "source_sha256": "2f940020ef7475c5be65a3b8f1773996fcec7643ca58c8b9325eea9e8c8f4a04",
          "translation": "Время выполнения AngelScript или ожидания entity-lock в миллисекундах, после которого сообщается превышение; 0 отключает отчёт."
        },
        "/symbols/@id=setting.common.Baking.AllowRepeatedProtoParents/description": {
          "source_sha256": "bc93f96eda5667f24ca75c3b5450b23d990f2480d850bdedbc330ef483cdf114",
          "translation": "Если false, prototype с одним ancestor по нескольким записям $Parent отклоняется при baking; если повтор разрешён, ancestor добавляет свои fields только при первом достижении"
        },
        "/symbols/@id=setting.common.Baking.AudioVorbisQuality/description": {
          "source_sha256": "c22df8f9f16f9d00527cc400585e58ee2f6c86b5ac6efde4a44d7c966fc9be69",
          "translation": "Качество Vorbis VBR при запекании аудио: от -0.1 для наименьшего размера до 1.0 для наибольшего."
        },
        "/symbols/@id=setting.common.Baking.BakeLanguages/description": {
          "source_sha256": "2f356d66742cfc44e45d055b0260213838e3157f35c7724f27ada03007e2efee",
          "translation": "Языки для запекания"
        },
        "/symbols/@id=setting.common.Baking.BakeOutput/description": {
          "source_sha256": "caa86e9db185c228a52a95f13c88466035c3d23fbfc6c775d275bd587107e7e0",
          "translation": "Выходной каталог запекания"
        },
        "/symbols/@id=setting.common.Baking.BootstrapGameSettings/description": {
          "source_sha256": "b6d09bfc4cf6066366c5d8235af3e1452157ad4f7d78edde54006a6f8ca0ebba",
          "translation": "Настройки игры, которые встраиваемый проект читает до доступности метаданных (в ApplicationInitHook и раньше); записываются в бинарную конфигурацию полностью, а не как дельта подконфигурации"
        },
        "/symbols/@id=setting.common.Baking.BundleCompressLevel/description": {
          "source_sha256": "6ac0ec394437e5145700bab5f90f9eaf6dca5edd134e5a7cfd5125242cfc9791",
          "translation": "Уровень сжатия дистрибутивов и встроенного в исполняемый файл пакета Embedded по шкале zlib для любого кодека: 0 без сжатия, 9 максимально"
        },
        "/symbols/@id=setting.common.Baking.CacheResources/description": {
          "source_sha256": "b73a2fe61ba6dd64d06526898296c8f00b854b8a246968335211b76fc4e4000a",
          "translation": "Каталог кеша ресурсов"
        },
        "/symbols/@id=setting.common.Baking.ClientResources/description": {
          "source_sha256": "dc13e0a37be9983970e884a4a1e6734f64ea8329b275c48e048cb0ccc98607d0",
          "translation": "Каталог ресурсов клиента"
        },
        "/symbols/@id=setting.common.Baking.Direct3DLevel9Shaders/description": {
          "source_sha256": "c5f0bcdce449a6108e365ad6a097523424836f7fc952d408a832cef7b52b0d7b",
          "translation": "Если true, эффекты Direct3D, кроме модельных, также содержат код для уровня 9.3, а сборка без 3D принимает устройства feature level 9.3; эффект, не укладывающийся в уровень 9.3, прерывает запекание"
        },
        "/symbols/@id=setting.common.Baking.ForceBaking/description": {
          "source_sha256": "4db6ccbe94bccb8b5aaada22144eec3f24de082096ddf1fad3825ff7c38c1883",
          "translation": "Если true, принудительно запекаются все пакеты"
        },
        "/symbols/@id=setting.common.Baking.IgnoreInputDirs/description": {
          "source_sha256": "69e78a580d1cc450cf72ed45169ce82c5ab36fc3e4fee8688df61d0b336b5450",
          "translation": "Каталоги входов ресурсных пакетов, исключаемые из всех пакетов относительно конфигурации, объявившей пакет; каждый должен быть входом какого-либо пакета."
        },
        "/symbols/@id=setting.common.Baking.IgnoreMissingBakerWarning/description": {
          "source_sha256": "ec1017b11204e5843a1750ef038f0023c2ed5850aaf480862c56213709edf388",
          "translation": "Если true, предупреждение об отсутствующем baker-е подавляется, когда уже существуют устаревшие запеченные ресурсы"
        },
        "/symbols/@id=setting.common.Baking.ModelAttachmentMaxExtent/description": {
          "source_sha256": "16363e92cb5692096b36a2a5614ca31bd68c46052c2f34c30332bd3d61813054",
          "translation": "Наибольший мировой размер напрямую присоединённой модели; при его превышении экспорт использует более крупное пространство единиц, и клиент не может построить кадр спрайта."
        },
        "/symbols/@id=setting.common.Baking.ModelAttachmentMinExtent/description": {
          "source_sha256": "d6cb08b61f6ec170195e8646b85c2ba32bd0eaf76c7004342263e5ebe29d6d0e",
          "translation": "Наименьший мировой размер напрямую присоединённой модели; ниже него экспорт использует пространство единиц меньшего масштаба, чем движок."
        },
        "/symbols/@id=setting.common.Baking.PlatformBinaries/description": {
          "source_sha256": "f6c416bd17d29f1a813c4eae79e270cccb6d9f9030937919e9fc15f3cb63f4fb",
          "translation": "Каталог runtime-бинарных файлов клиента для каждой платформы, предоставляемых updater-ом"
        },
        "/symbols/@id=setting.common.Baking.PrebakeOnStartup/description": {
          "source_sha256": "937bb52fe511828480b24b13c2bc63e438ecb5b466f2fa2fb4b96fca3e2d3d65",
          "translation": "Если false, непакетированное приложение использует уже запечённые ресурсы вместо запуска baker; применяется при запуске нескольких процессов из одного только что запечённого checkout"
        },
        "/symbols/@id=setting.common.Baking.PreciseModelBounds/description": {
          "source_sha256": "0597d7306b734f8b672d97b6c54eb57ede50655d340d26f4b46012f236d92c03",
          "translation": "Если true, границы модели измеряют каждую skinned-вершину; если false, per-bone envelope boxes значительно быстрее дают консервативное надмножество"
        },
        "/symbols/@id=setting.common.Baking.ProtoFileExtensions/description": {
          "source_sha256": "e4b24bd4666bbc4cbd4a7b80d9aa8523b81fec588b5632fbde04b65c22405b85",
          "translation": "Расширения авторских контейнеров прототипов"
        },
        "/symbols/@id=setting.common.Baking.RawCopyFileExtensions/description": {
          "source_sha256": "b2df2c59477113ca8fae7e1a1f46fe0e75acb2616835da936bacb7014063f497",
          "translation": "Расширения файлов для копирования без преобразования"
        },
        "/symbols/@id=setting.common.Baking.ResourcePackCompressLevel/description": {
          "source_sha256": "e973fad524f8cd2c9edd0716e60fd07537887db20626ff44a62b18f818b19d17",
          "translation": "Уровень сжатия пакетов ресурсов по шкале zlib для любого кодека: 0 без сжатия, 9 максимально"
        },
        "/symbols/@id=setting.common.Baking.ResourcePackMinCompressGain/description": {
          "source_sha256": "1121119449f0a3a821492bc433765e465befe0c69c14be557d7fa808edac656f",
          "translation": "Минимальный процент уменьшения размера блока, при котором он сжимается вместо хранения без сжатия"
        },
        "/symbols/@id=setting.common.Baking.ServerResources/description": {
          "source_sha256": "6adc8d3d036c22236ced92bf4220e2208b7ce1cd338009818220607f67ac2c43",
          "translation": "Каталог ресурсов сервера"
        },
        "/symbols/@id=setting.common.Baking.SingleThreadBaking/description": {
          "source_sha256": "512a88fdecba368e21484023c0027693dde8b95bef2435c3c0f6c5506109502d",
          "translation": "Если true, включено однопоточное запекание"
        },
        "/symbols/@id=setting.common.Common.AsyncLogWrite/description": {
          "source_sha256": "436ee2776ffc7d3214d7e8c18beab0c492386c5ca87908c52830efa9b1b64780",
          "translation": "Если true, выделенный фоновый поток записывает сообщения лога в файл и консоль"
        },
        "/symbols/@id=setting.common.Common.GameName/description": {
          "source_sha256": "75a486c1d1e7dba9804fc9503a233d738fd39a69d7db1a239d4d6b3b78b1c0f0",
          "translation": "Имя игры, используемое в логах и заголовке окна"
        },
        "/symbols/@id=setting.common.Common.GameVersion/description": {
          "source_sha256": "21b6c6a6ccd530ca9f1b91014c55e19d66336de1e4b39ce8391fb016542532c6",
          "translation": "Версия игры, используемая в логах и заголовке окна"
        },
        "/symbols/@id=setting.common.Common.Packaged/description": {
          "source_sha256": "ce8c99725bab653a35c82f3c3fc3c6a5ea92b9cd34d1c0cdc9a3312b4559d2d3",
          "translation": "Если yes, упаковка выполнена (только чтение)"
        },
        "/symbols/@id=setting.common.Common.SecretSettingTokens/description": {
          "source_sha256": "ca17dee98cb802f600af5284a3246be7593fd24b68225b87aba3097859a3f4d9",
          "translation": "Регистронезависимые подстроки, помечающие имя настройки как credential; ее значение маскируется строкой \"***\" в логах переопределений командной строки"
        },
        "/symbols/@id=setting.common.Common.UnpackagedSubConfig/description": {
          "source_sha256": "80518118be9a3111e2e6de34199969d4817bef48b98bf726293dbe00b3ca2260",
          "translation": "Конфигурация, применяемая в неупакованных сборках"
        },
        "/symbols/@id=setting.common.Common.UserWritablePath/description": {
          "source_sha256": "2cf833ef4fecb22fe2fb5efeaa30757a29f9c3c94f7df46e3938f28928c00064",
          "translation": "Только чтение. Корень данных для всего, что записывается во время выполнения: журналов, кеша, наложения ресурсов, самообновляемых бинарных файлов и базы данных сервера. Определяется при запуске до любого чтения с диска и потому НЕ может задаваться в конфигурационном файле: путь задаёт командная строка; иначе маркер INSTALLED рядом с исполняемым файлом выбирает системный каталог пользовательских данных плюс имя проекта (Windows %LOCALAPPDATA% или %APPDATA%; macOS/iOS ~/Library/Application Support; Linux/Android $XDG_DATA_HOME или ~/.local/share), а без маркера всё остаётся относительно рабочего каталога. Базовые ресурсы только для чтения остаются на месте, а этот каталог накладывается поверх них."
        },
        "/symbols/@id=setting.common.Geometry.CritterBlockHex/description": {
          "source_sha256": "b2837c05e692850cfe11e54b33477c8fb4b79ed69319f5502618c2e7cc5d775c",
          "translation": "Если true, криттеры блокируют гексы"
        },
        "/symbols/@id=setting.common.Geometry.MapCameraAngle/description": {
          "source_sha256": "bca02a7d6855676aed0f4af2bcc66bd1a85e557e51519a6122ec016b733f9a52",
          "translation": "Угол, используемый при движении и рендеринге криттеров"
        },
        "/symbols/@id=setting.common.Geometry.MapDataPrefix/description": {
          "source_sha256": "ae21a1bf04aa7944cdc7b3ccb9eb74e0ae71c537d728313c828ccae7e9d16383",
          "translation": "Путь и префикс имен спрайтов геометрии"
        },
        "/symbols/@id=setting.common.Geometry.MapFreeMovement/description": {
          "source_sha256": "5d4560a0b24ef8621e5072659792ec8db6820d64018093b39076685fb78db6a9",
          "translation": "Если true, включено свободное перемещение по карте"
        },
        "/symbols/@id=setting.common.Geometry.MapHexHeight/description": {
          "source_sha256": "30b29497966c167389b9180f15db5698c46cebe24b4a314aaecf55c86f350c72",
          "translation": "Высота гекса или квадрата"
        },
        "/symbols/@id=setting.common.Geometry.MapHexLineHeight/description": {
          "source_sha256": "ba36c94a146fbd0ad1a6f4d1479332d4b156685b3274a73427a6a3c18b6d4ce9",
          "translation": "Высота строки гексов или квадратов"
        },
        "/symbols/@id=setting.common.Geometry.MapHexWidth/description": {
          "source_sha256": "0243061ad7529f726709ab0c3f943b8b516200150191e73de1679904ad509aec",
          "translation": "Ширина гекса или квадрата"
        },
        "/symbols/@id=setting.common.Geometry.MapRoofElevation/description": {
          "source_sha256": "484ce993b69c8e743d162f73987b5b4585f8c34b765fe942ebeca40e66e2ef23",
          "translation": "3D-высота тайла крыши, применяемая к каждому тайлу крыши: крыша является обычным тайлом, поднятым в 3D для отрисовки над стенами. Заменяет прежний 2D-подъем MapRoofOffs*; плоское XY-смещение тайла или крыши теперь задается свойством Offset прототипа BaseTile"
        },
        "/symbols/@id=setting.common.Geometry.MapSmoothPath/description": {
          "source_sha256": "a2fecad09688a16111550d84da776213d81cea1daa49ad240511b12b7b3e0cf4",
          "translation": "Включает сглаживание пути после pathfinding"
        },
        "/symbols/@id=setting.common.Geometry.MapTileStep/description": {
          "source_sha256": "fa24e159750e2ce5d1a47bac3b06ed5c27983abd4fce3947483e4eba47429d25",
          "translation": "Шаг тайла"
        },
        "/symbols/@id=setting.common.Geometry.MaxPathFindLength/description": {
          "source_sha256": "0af7be618ba6559feb5a36e61c808a64a73e2fc66f69e78e1a44e9e6c264fcf2",
          "translation": "Максимальная длина pathfinding"
        },
        "/symbols/@id=setting.common.Geometry.PathFindCritterDetour/description": {
          "source_sha256": "7200452f94f033226946fc44667272fb2bdb485a2022d1e35520d3cb820d1843",
          "translation": "Число шагов обхода, которыми поиск пути оценивает проход через одного живого криттера."
        },
        "/symbols/@id=setting.common.Geometry.PathFindEnclosureProbe/description": {
          "source_sha256": "24045423e05f77bed9277f02454a15d54b29650e1b46334ad39593b547414256",
          "translation": "Число гексов для обратной проверки замкнутости цели поиска пути; 0 отключает проверку."
        },
        "/symbols/@id=setting.common.ManagedScript.AdditionalFiles/description": {
          "source_sha256": "3fe5c2fff1bcb263d74bfcbbe11e12183864029b760da9600dd4e0fe260927fc",
          "translation": "Пути к файлам конфигурации анализаторов, передаваемым компиляции скриптов как AdditionalFiles."
        },
        "/symbols/@id=setting.common.ManagedScript.AnalysisLevel/description": {
          "source_sha256": "86b62e749432fcb52427d5d0cf9e11961ab8b94c9fb660d416989bc2b9b0e2fe",
          "translation": "Уровень анализа сгенерированного managed-проекта; пустое значение сохраняет значение SDK по умолчанию."
        },
        "/symbols/@id=setting.common.ManagedScript.AnalysisMode/description": {
          "source_sha256": "0677da7b23c97052a65b673871d49b6e0e93464643e8888217f4a39ac98e65ad",
          "translation": "Режим анализа сгенерированного managed-проекта; пустое значение сохраняет значение SDK по умолчанию."
        },
        "/symbols/@id=setting.common.ManagedScript.AnalyzerPackages/description": {
          "source_sha256": "800cfac78cc552ecbf254431b075aabd031db416a72577aaba1cd22d28dbbc7f",
          "translation": "NuGet-пакеты анализаторов Roslyn в виде записей name,version; версия обязательна и должна быть точной."
        },
        "/symbols/@id=setting.common.ManagedScript.Analyzers/description": {
          "source_sha256": "22f0ea497d4c1f5f2c6e6f510723f769eef94995187eb103264684b153c9b2a2",
          "translation": "Пути к проектам анализаторов Roslyn, подключаемым к сгенерированному managed-проекту, чтобы их диагностика выполнялась при сборке скриптов."
        },
        "/symbols/@id=setting.common.ManagedScript.Assemblies/description": {
          "source_sha256": "23726bf8ad6ca5993edcd8a2944060a6f29a195f0788016e38bcd73b6695bf8d",
          "translation": "Собираемые сборки managed-скриптов."
        },
        "/symbols/@id=setting.common.ManagedScript.BakerDryRun/description": {
          "source_sha256": "d00367ffd07cb131f486ae411542a076d6c09eb00338f2414c5da519bb426558",
          "translation": "Заставляет managed baker записывать stub-маркеры вместо компиляции сборок."
        },
        "/symbols/@id=setting.common.ManagedScript.ClientPatchesEnabled/description": {
          "source_sha256": "3abbca1aa2f68a82b6ff63909121efa573e271d84c23b13af7f4ec4d817f5fdf",
          "translation": "Если true, клиент применяет патчи скриптов, присланные его сервером; каждый клиент читает собственную конфигурацию."
        },
        "/symbols/@id=setting.common.ManagedScript.DeepTrackEntityWrappers/description": {
          "source_sha256": "45e85cf0088313e8edd5772f232059f2c27f5bdef65e9baf64262b418c41f5bd",
          "translation": "Дополнительно отслеживает каждую managed-обёртку сущности слабой ссылкой, чтобы при завершении назвать обёртки, всё ещё удерживающие нативную сущность; это стоит одной записи в словарь на обёртку, а число живых обёрток для отчёта сохраняется всегда."
        },
        "/symbols/@id=setting.common.ManagedScript.Dirs/description": {
          "source_sha256": "6671ace21111298582b86636c049bb7437a0c1c1ea13d835c53701f08f06b3ba",
          "translation": "Каталоги исходников managed-скриптов; файлы .cs верхнего уровня каждого каталога компилируются на месте."
        },
        "/symbols/@id=setting.common.ManagedScript.ExtraReferences/description": {
          "source_sha256": "84437271dda887f1e2665b6218e84a66413e3d99264e4eeccd1295ff36606b5f",
          "translation": "Дополнительные ссылки на managed-сборки в виде записей assembly,target,reference."
        },
        "/symbols/@id=setting.common.ManagedScript.ExtraSources/description": {
          "source_sha256": "bc7d93fcaf111366f70de7fbdc16ddb2d06b0d93288e1f5ff5d23968182c2bc4",
          "translation": "Дополнительные managed-исходники в виде записей assembly,target,path."
        },
        "/symbols/@id=setting.common.ManagedScript.GeneratedDir/description": {
          "source_sha256": "074d425c006b4246222e111ece975a2cafbe7a8039b80244bb5289676eb4e72a",
          "translation": "Каталог сгенерированных managed-скриптов и файлов проекта; пустое значение выбирает build-каталог GeneratedSource/Managed."
        },
        "/symbols/@id=setting.common.ManagedScript.InteropProbeOnStart/description": {
          "source_sha256": "ab2b12288bf1f7676f37a14f3cd866bcd19c880461436d0958baa3f3bc7822e5",
          "translation": "Если true, после запуска скриптов один раз проверяется каждый доступный runtime transport native-to-managed с отдельной строкой INTEROP-TRANSPORT на каждую проверку; это квалифицирует клиент, где test suite не запускается, например браузер или устройство."
        },
        "/symbols/@id=setting.common.ManagedScript.MsBuild/description": {
          "source_sha256": "b58d126e674f2f05d81720694ba4a8eb61369ab01e915594ca5286c7ce24eb51",
          "translation": "Команда managed msbuild."
        },
        "/symbols/@id=setting.common.ManagedScript.OverrunReportTime/description": {
          "source_sha256": "7caa7c7c060a941c955c47847dc2ce87009fff7b77088025c3a4eecf3f828c4d",
          "translation": "Время выполнения managed-скрипта или ожидания entity-lock в миллисекундах, после которого сообщается превышение; 0 отключает отчёт."
        },
        "/symbols/@id=setting.common.ManagedScript.PatchPointWeaver/description": {
          "source_sha256": "6f9fc7dc0ee3f5cb9c90893d87a979cfbf8aba7383a577c46132b001703f8157",
          "translation": "Путь к проекту weaver точек подмены; при его задании сборка скриптов добавляет точку подмены в каждый подходящий метод, чтобы работающий процесс мог заменить его тело (ScriptPatches)."
        },
        "/symbols/@id=setting.common.ManagedScript.ProjectName/description": {
          "source_sha256": "b683583d33aeadbc31c49a8cae5f98382efefe99ecc9b2a348dfdc5de6cb5ea3",
          "translation": "Базовое имя managed-проекта."
        },
        "/symbols/@id=setting.common.ManagedScript.ServerPatchesEnabled/description": {
          "source_sha256": "1b51619f0ab2d041c83cf95ef14d9c265a5e8eb6223bca50ab77d2230a644954",
          "translation": "Если true, сервер применяет патчи скриптов (ScriptPatches.Apply); стоимость вплетённых точек подмены не зависит от этого переключателя."
        },
        "/symbols/@id=setting.common.ManagedScript.TargetFramework/description": {
          "source_sha256": "ba83b843eb1acfced86fd1a2fc0ef7ad35468b874125266cdb5845e03c5bc141",
          "translation": "Целевой framework managed-проекта."
        },
        "/symbols/@id=setting.common.Network.ArtificalLags/description": {
          "source_sha256": "1522d8102c330ba08db15696ea0139bb5d34660e682b408de05e422f1f492745",
          "translation": "Искусственная задержка в миллисекундах, применяемая в обоих направлениях"
        },
        "/symbols/@id=setting.common.Network.ArtificalLagsJitter/description": {
          "source_sha256": "b1f42459b227788a35952854859ae4ff43a979ff8947793d2323e4247f91fa06",
          "translation": "Дополнительная случайная задержка каждой порции данных в миллисекундах поверх искусственной задержки, имитирующая остановки."
        },
        "/symbols/@id=setting.common.Network.CompatibilityVersion/description": {
          "source_sha256": "b5765ed9514fe4e1c45dbc7b698d614ab4a8300e73bb53943a26fa39df852a15",
          "translation": "Версия совместимости (только чтение)"
        },
        "/symbols/@id=setting.common.Network.DisableInterthreadCommunication/description": {
          "source_sha256": "03c31a929c1c98e4e37ce96b844f40850bdb87a428d155145efcfc9e61f5243c",
          "translation": "Если true, сервер не регистрирует внутрипроцессный межпоточный listener; клиенты того же процесса переходят к TCP/UDP"
        },
        "/symbols/@id=setting.common.Network.DisableTcpNagle/description": {
          "source_sha256": "46b341e758dc72a10e8f53504479f699db787d1dec8a9adf7f5fe29ced193228",
          "translation": "Если true, алгоритм Nagle для TCP отключен"
        },
        "/symbols/@id=setting.common.Network.DisableZlibCompression/description": {
          "source_sha256": "e62f0bd7898198730ebddae72942af545d699e1f6d967b2d6a2bea818282421d",
          "translation": "Если true, сжатие Zlib отключено"
        },
        "/symbols/@id=setting.common.Network.ForceCompatibilityVersion/description": {
          "source_sha256": "5cdfe5dd79d376a531d93530af2d1e9eacee261c127564fa1acdb2268b05ae9d",
          "translation": "Пользовательская версия совместимости"
        },
        "/symbols/@id=setting.common.Network.ForceMetadataVersion/description": {
          "source_sha256": "2d985233e7265d52c22e0ab7c8062eb789f0e5f265d04689973488056b0286a6",
          "translation": "Пользовательская версия метаданных для имитации клиента, запечённого отдельно от сервера"
        },
        "/symbols/@id=setting.common.Network.LinkDelayRebaseMs/description": {
          "source_sha256": "d09c6a0d9130b6c07624952994d85b23a317abe493f66c3682f4a82fcafdd776",
          "translation": "Если каждое сообщение линии опаздывает в течение указанного числа миллисекунд, новое время прохода становится обычным"
        },
        "/symbols/@id=setting.common.Network.LinkDelayWindowMs/description": {
          "source_sha256": "737a152857a726f9fda6b4709b9d4d3f85fff46db0e27ff53edbbec52897f775",
          "translation": "Период в миллисекундах, за который хранится обычное время прохода линии; опоздание измеряется превышением над его медианой"
        },
        "/symbols/@id=setting.common.Network.MoveLateCatchUpMaxMs/description": {
          "source_sha256": "1b44f5d75f35bc52679e723d15692a6e2eee5cdf32b935ac2a1425bfb232f51f",
          "translation": "Верхняя граница в миллисекундах для перемотки запоздавшего плана движения вперёд"
        },
        "/symbols/@id=setting.common.Network.MoveLateCatchUpMinMs/description": {
          "source_sha256": "ff043e6382d66b3b33930c6eee4f3c428a040cdb08975dd60d87e891b9e665f8",
          "translation": "План с превышением обычного времени прохода линии не меньше указанного числа миллисекунд проигрывается с текущей временной точки; такие сообщения не входят в обычную оценку"
        },
        "/symbols/@id=setting.common.Network.MovePlanJoinMaxSteps/description": {
          "source_sha256": "f68973bea12f64b4fcd151d4a5609b095da0ca5f890ef5dfd56bb7e1444971b5",
          "translation": "Принятый план присоединяется с текущей позиции криттера, если тот уже прошёл его начало в пределах указанного числа шагов, без возврата к старту; 0 отключает присоединение"
        },
        "/symbols/@id=setting.common.Network.MoveSyncTrace/description": {
          "source_sha256": "1fbb1cacbeea4ecd18183ee31942e31d8b782412b0d3569d936d72f270844e96",
          "translation": "Если true, сервер и клиент записывают по одной строке MOVESYNC на событие синхронизации движения со стабильными полями key=value для внешнего анализа; слишком подробно для production"
        },
        "/symbols/@id=setting.common.Network.NetBufferSize/description": {
          "source_sha256": "e5fdec5ca91d617dad9724d85abc9bf82b0411d437d17be80d34efbe91f0c3d8",
          "translation": "Размер сетевого буфера"
        },
        "/symbols/@id=setting.common.Network.SecuredWebSockets/description": {
          "source_sha256": "6132a6795b02f9aa19fd28027193c4995b8101d6df82a823745bfc0a37084e3c",
          "translation": "Если true, включены защищенные WebSocket-соединения"
        },
        "/symbols/@id=setting.common.Network.ServerPort/description": {
          "source_sha256": "ad9b94c66cc16bc1c0820b93983c94ad574d8aeb353a87b68bf06d71088da8d3",
          "translation": "Номер порта сервера"
        },
        "/symbols/@id=setting.common.Network.UdpConnectRetry/description": {
          "source_sha256": "f1b53b678c72e5b3027add4c604fc128c0bf970c57040fb1f83b8fe0f11352e0",
          "translation": "Интервал повторной попытки подключения UDP в миллисекундах"
        },
        "/symbols/@id=setting.common.Network.UdpConnectTimeout/description": {
          "source_sha256": "bc672fd8d13212787fb625b64423f2fa57adb9e33b7fef6d59ad3fe494e34cab",
          "translation": "Тайм-аут подключения UDP в миллисекундах до отказа инициализации транспорта"
        },
        "/symbols/@id=setting.common.Network.UdpPacketSize/description": {
          "source_sha256": "8a7accbe53e776955f2604be408c3aeca80fc60cb27622f1aef83554c6f9fe3a",
          "translation": "Целевой лимит payload UDP в байтах"
        },
        "/symbols/@id=setting.common.Network.UdpPortOffset/description": {
          "source_sha256": "ed39d9256e196e4a014f83a4fc606a0a574ab1677fefacbf22e6e7d714b98080",
          "translation": "Смещение порта UDP относительно ServerPort"
        },
        "/symbols/@id=setting.common.Network.UdpRedundancy/description": {
          "source_sha256": "8e1be36b0f6cfcb75a6f0f98b00960013126edffd98d2c9c2cb917510ea15e03",
          "translation": "Число предыдущих пакетов UDP, повторно отправляемых с новыми данными"
        },
        "/symbols/@id=setting.common.Network.UdpResendTimeout/description": {
          "source_sha256": "13876cc44d29b2671c3bb35c1cce7da563fe8896171b0ffe5a22c9c7394b81e4",
          "translation": "Тайм-аут повторной отправки пакета UDP в миллисекундах"
        },
        "/symbols/@id=setting.common.Network.UdpSendUpdateInterval/description": {
          "source_sha256": "9e82779a00e1f6e27b9360d10f3ad58017a52293a91eb45fcc222f623f09bef9",
          "translation": "Интервал тика отправки UDP в миллисекундах"
        },
        "/symbols/@id=setting.common.Network.UdpWindowSize/description": {
          "source_sha256": "0ae2e418c3f666f699d3787c86e569d03975d2aaae56ae1a570f5f2c3d773682",
          "translation": "Размер окна надежной отправки UDP в байтах"
        },
        "/symbols/@id=setting.common.Network.UpdateFileMaxPortionSize/description": {
          "source_sha256": "88ad8ef808fcc52705d472d32805b8fbe76b2120bd6ff302ad5f35b873cd5d66",
          "translation": "Максимальный размер части файла обновления в байтах"
        },
        "/symbols/@id=setting.common.Network.WebSocketPort/description": {
          "source_sha256": "d092eaab9ccc4d12eab1f66a683f35c5443f29838d8901f864a65905f4f3d7ef",
          "translation": "Порт WebSocket для прослушивания сервером и подключения клиента"
        },
        "/symbols/@id=setting.common.Render.AllowSoftwareRenderer/description": {
          "source_sha256": "3c1f7a2e96da05ceb1503caa47fcf2f2be41f70d0bc5f824f1e4315754bd7ee8",
          "translation": "Если true, программный растеризатор может использоваться при отсутствии аппаратного устройства"
        },
        "/symbols/@id=setting.common.Render.AlwaysOnTop/description": {
          "source_sha256": "c3ec773fa47953a04979a579c387ccfed058378f6b3d75b943ccfa1a9cef46f9",
          "translation": "Если true, окно всегда поверх остальных"
        },
        "/symbols/@id=setting.common.Render.Animation3dFPS/description": {
          "source_sha256": "610bfe98da69d44a03600b036893adaf049405c4d23c6e2013894f93da1275b2",
          "translation": "Частота 3D-анимации в кадрах в секунду"
        },
        "/symbols/@id=setting.common.Render.Animation3dSmoothTime/description": {
          "source_sha256": "fef811fbc14ad5ea3fbffc8f6cbcb723ead4c8d5c919263ad3aa505b2a6160ae",
          "translation": "Время сглаживания 3D-анимации в миллисекундах"
        },
        "/symbols/@id=setting.common.Render.AtlasLinearFiltration/description": {
          "source_sha256": "95f18e688b72908f0053ae60f19db2255c734d63ace2e51c18dae247cb195898",
          "translation": "Если true, включена линейная фильтрация атласа"
        },
        "/symbols/@id=setting.common.Render.Brightness/description": {
          "source_sha256": "06afb1e94c4c087631df5ca38454ec62291447b6e04980fe9dab7b24f0fc5c11",
          "translation": "Яркость"
        },
        "/symbols/@id=setting.common.Render.CritterBodyTurnFactor/description": {
          "source_sha256": "650bf10f3d55b00045ecc8de72e3894f0b0423bf96dc266f348a985abf6e2116",
          "translation": "Коэффициент поворота тела криттера"
        },
        "/symbols/@id=setting.common.Render.CritterHeadTurnFactor/description": {
          "source_sha256": "b7946304e2107fcaa3690ffe6e153fb4bb500cdeaedfd2cbdde891d386b3f9f7",
          "translation": "Коэффициент поворота головы криттера"
        },
        "/symbols/@id=setting.common.Render.CritterStubSpriteName/description": {
          "source_sha256": "efdd9b42f546b5ee5acc245031917918b4d502dfa1836fd34b448f0a30d1f61b",
          "translation": "Резервный спрайт криттера; при пустом значении используется встроенный runtime dummy-спрайт"
        },
        "/symbols/@id=setting.common.Render.CritterTurnAngle/description": {
          "source_sha256": "afdf0efcdc5c9792952a0b83e9c77de0efc820a2fba7b2a03cf014982150d296",
          "translation": "Угол поворота криттера"
        },
        "/symbols/@id=setting.common.Render.DefaultParticleDrawHeight/description": {
          "source_sha256": "a794164a388924970d4c4713a3643d1c5d59d65766a416394afe229ab89cff24",
          "translation": "Высота отрисовки частиц по умолчанию"
        },
        "/symbols/@id=setting.common.Render.DefaultParticleDrawWidth/description": {
          "source_sha256": "d1a78073978f041d3ea9cbadf5f0bf4779bb3c378479df54fab14c5194ef0483",
          "translation": "Ширина отрисовки частиц по умолчанию"
        },
        "/symbols/@id=setting.common.Render.DrawWireframe/description": {
          "source_sha256": "4545b322f9c1a37787116f41a99714c1d390e66998ff37550d27c0ab977546af",
          "translation": "Если true, для отладки геометрии поверх отрисованных спрайтов и треугольников частиц показываются их ребра"
        },
        "/symbols/@id=setting.common.Render.EggEllipseHeightExt/description": {
          "source_sha256": "f382d9e69f63b1cc15c32e8a19d72d4ecb250caf12b8f8406aa0d88cb6f75604",
          "translation": "Дополнительная высота эллипса маски прозрачности в пикселях, добавляемая к логической высоте спрайта или представления"
        },
        "/symbols/@id=setting.common.Render.EggEllipseWidthExt/description": {
          "source_sha256": "cbf470ed1b8f80d199f8dfe8c7e4529fe4fb1579be1ea8b00ec9daf54d901e20",
          "translation": "Дополнительная ширина эллипса маски прозрачности в пикселях, добавляемая к логической ширине спрайта или представления"
        },
        "/symbols/@id=setting.common.Render.EggTransparencyTransitionFactor/description": {
          "source_sha256": "8e359e36e266a4b54fe36c9cfa979ffaf60de85b53caa8eb3fdb744e205f40a4",
          "translation": "Доля egg-маски, остающаяся полностью прозрачной перед линейным переходом к непрозрачности"
        },
        "/symbols/@id=setting.common.Render.FixedFPS/description": {
          "source_sha256": "cab1ca537bc84be2350a572fab2d9fa165723987fe9a7caed03e508447522541",
          "translation": "Ограничение частоты кадров; имеет приоритет над Sleep (0 отключает)"
        },
        "/symbols/@id=setting.common.Render.ForceDirect3D/description": {
          "source_sha256": "4461296882785b960a564020694d36f3541b0ab6fbe29a5dff6dd312d1e8f167",
          "translation": "Если true, принудительно используется Direct3D"
        },
        "/symbols/@id=setting.common.Render.ForceGlslEsProfile/description": {
          "source_sha256": "39887af1861e1846d4dcd8743deeeeaaa8a2e88fe98812d1a98bd1997a9c7d2d",
          "translation": "Если true, принудительно используется профиль GLSL ES"
        },
        "/symbols/@id=setting.common.Render.ForceMetal/description": {
          "source_sha256": "a0d1255538195541c7414a98f737cdf6813aa0b910adec60c5998cb320fe4734",
          "translation": "Если true, принудительно используется Metal"
        },
        "/symbols/@id=setting.common.Render.ForceOpenGL/description": {
          "source_sha256": "54e943fc1a15ed700535639ddd81b6764e78debb19b8ef2f6db4331d6d9c256c",
          "translation": "Если true, принудительно используется OpenGL"
        },
        "/symbols/@id=setting.common.Render.ForceSDLGpu/description": {
          "source_sha256": "7b70ca5ce6cc3291b95168dbd445620df5732327c81c188b5108a6d32007eecb",
          "translation": "Если true, принудительно используется backend SDL_GPU"
        },
        "/symbols/@id=setting.common.Render.ForceVulkan/description": {
          "source_sha256": "20f9860eb4ac4fa9846254d6ffa461c825e168cf10467c9c5790f5a46904af58",
          "translation": "Если true, принудительно используется Vulkan"
        },
        "/symbols/@id=setting.common.Render.Fullscreen/description": {
          "source_sha256": "f81212097829922b8f41915b24d93f4a247e15e4628bde7569e0274852b42858",
          "translation": "Если true, включен полноэкранный режим"
        },
        "/symbols/@id=setting.common.Render.HeadBone/description": {
          "source_sha256": "0de6bec6b7acf6d419061b6bd6d23f9837aa53ded65229ba65363ced7cc55000",
          "translation": "Имя кости головы (Todo: перенести HeadBone в настройки fo3d)"
        },
        "/symbols/@id=setting.common.Render.HeadlessWindow/description": {
          "source_sha256": "4f25d72b53f22598e9f6bafa6e5766974623b8dc73c0bd86bb9c2085f864a62c",
          "translation": "Если true, окно создается скрытым для внеэкранного рендеринга"
        },
        "/symbols/@id=setting.common.Render.ImGuiColorStyle/description": {
          "source_sha256": "70ea72551c7c444ac0bdefefebb83088f8a2cb6d56497d75229ee008745ca284",
          "translation": "Тема ImGui: Light, Classic или Dark"
        },
        "/symbols/@id=setting.common.Render.ImGuiDefaultEffect/description": {
          "source_sha256": "62798d900179a2036c08949a4aa0f05351bde9c8bc6e1778465658ab40dae4ff",
          "translation": "Шейдерный эффект ImGui"
        },
        "/symbols/@id=setting.common.Render.ImGuiFontTextureSize/description": {
          "source_sha256": "ac8a84030350113b214ad5b04bd71515e7c2dffce2de1b296cbe74c41076b0d0",
          "translation": "Минимальный размер текстуры ImGui"
        },
        "/symbols/@id=setting.common.Render.ItemStubSpriteName/description": {
          "source_sha256": "d57eace66c979bddc1f1cc01ec1ef82a5f33b4183f05fab1d5fbf274ae2459ff",
          "translation": "Резервный спрайт предмета; при пустом значении используется встроенный runtime dummy-спрайт"
        },
        "/symbols/@id=setting.common.Render.LegBones/description": {
          "source_sha256": "ab7f47752dc5abdf96cd33d8ae44aeb45989262a533847b2f803e5ba513c5953",
          "translation": "Имена костей ног (Todo: перенести LegBones в настройки fo3d)"
        },
        "/symbols/@id=setting.common.Render.MapMaxElevation/description": {
          "source_sha256": "caeb1e02813a7c219805a62128827c5543397b2fb53d6b7a5a8398da4dd75d3f",
          "translation": "Максимальное абсолютное возвышение спрайта в пикселях для размера диапазона глубины сцены каждой карты; меньшее значение повышает точность depth buffer и уменьшает z-fighting, но спрайты за пределами диапазона будут отсечены по глубине"
        },
        "/symbols/@id=setting.common.Render.ModelDirectDraw/description": {
          "source_sha256": "47436e1b9a94c07933c0a19f69a1c5ebfa1ce4f4c779ad7fcb91f079d819ed81",
          "translation": "Если true, 3D-модели карты рендерятся напрямую в depth buffer сцены; иначе они рендерятся как кешированные спрайты атласа"
        },
        "/symbols/@id=setting.common.Render.ModelLayerProperties/description": {
          "source_sha256": "302d5b6ca22125573a8adc656ab97f76881744f2682191134c2fac3bbc04e371",
          "translation": "Свойства криттера, передаваемые слоям модели, в виде пар \"<PropertyName>=<LayerIndex>\"; инструменты используют их для экипировки прототипа так же, как игра"
        },
        "/symbols/@id=setting.common.Render.ModelProjFactor/description": {
          "source_sha256": "f9100beea6b6c023062cff5911a1cb657bad994c0bed840984519014002d7a3b",
          "translation": "Число экранных пикселей на единицу 3D-мира (1 единица = 1 гекс = 1 м); масштабирует 3D-модели и частицы в сцене"
        },
        "/symbols/@id=setting.common.Render.ModelSpriteMaxTextureHeight/description": {
          "source_sha256": "264221c4de7f16d6d6425d87b723ce16045c3a698790b3936509dd8988c23615",
          "translation": "Максимальная высота GPU scratch texture, которую может выделить спрайт 3D-модели; более крупные envelopes ограничиваются и рисуются с crop"
        },
        "/symbols/@id=setting.common.Render.ModelSpriteMaxTextureWidth/description": {
          "source_sha256": "ef3bad459fcfcae345e7ac790cc265108df5554a0faccf105acb3eb183fab223",
          "translation": "Максимальная ширина GPU scratch texture, которую может выделить спрайт 3D-модели; более крупные envelopes ограничиваются и рисуются с crop"
        },
        "/symbols/@id=setting.common.Render.NullRenderer/description": {
          "source_sha256": "5fa4323150c42ed136c2e451204ff83952651661633de8674dc03b16e5fbb922",
          "translation": "Если true, используется null renderer"
        },
        "/symbols/@id=setting.common.Render.RecreateClientOnError/description": {
          "source_sha256": "02d8054ba9a130f1208a5badcc456ccaa57db6d0943ab56127c8ef2436f2aafb",
          "translation": "Если true, при ошибке клиент создается заново"
        },
        "/symbols/@id=setting.common.Render.RenderDebug/description": {
          "source_sha256": "f6688f9f023234ac4671b0f146111f7a4b163a02c237834010a45a49918eb87c",
          "translation": "Если true, включена отладка рендеринга"
        },
        "/symbols/@id=setting.common.Render.RunAnimBaseSpeed/description": {
          "source_sha256": "69616720af3749296ed7f1f096225bd7803519d5bd8e5ecfa1e7a4e84f0dfa9e",
          "translation": "Базовая скорость анимации бега"
        },
        "/symbols/@id=setting.common.Render.RunAnimStartSpeed/description": {
          "source_sha256": "8f459543b9f5bf1efe8a09599326731616e185d57d810d00b44cb55f11e79c8f",
          "translation": "Начальная скорость анимации бега"
        },
        "/symbols/@id=setting.common.Render.SDLGpuDriver/description": {
          "source_sha256": "c4d66721071d58e91f665c0183e0506097ef2d465b52a9353402265b9514951d",
          "translation": "Предпочтительное имя драйвера SDL_GPU (vulkan / metal / direct3d12); пустое значение позволяет SDL выбрать драйвер"
        },
        "/symbols/@id=setting.common.Render.Sleep/description": {
          "source_sha256": "a11de795aa83921966ddcf8539af57a194b68a036645f538a85f3908683e5736",
          "translation": "Ожидание между кадрами в миллисекундах, только при FixedFPS = 0 (0 уступает поток, -1 отключает)"
        },
        "/symbols/@id=setting.common.Render.SpriteHitValue/description": {
          "source_sha256": "f5aab8884635d252427936d82bc703b45aab5671320813d121fc568088a16bcf",
          "translation": "Проверка попадания проходит, если alpha превышает это значение"
        },
        "/symbols/@id=setting.common.Render.VSync/description": {
          "source_sha256": "df5169079f9114616d592fe7a9d4dfab1cdf16414b29faf19cbbc7d1971b7539",
          "translation": "Если true, включена вертикальная синхронизация"
        },
        "/symbols/@id=setting.common.Render.WalkAnimBaseSpeed/description": {
          "source_sha256": "b47fad8701ac6ce43a0e6da675433228c1cb50f763af20de65c11946ee3b6984",
          "translation": "Базовая скорость анимации ходьбы"
        },
        "/symbols/@id=setting.common.Render.WindowCentered/description": {
          "source_sha256": "9dcf89db3fb6c3658df416b67a7ef72ea2c98c3762e06d4af7fe0725fb7dab82",
          "translation": "Если true, окно располагается по центру"
        },
        "/symbols/@id=setting.common.Render.WindowResizable/description": {
          "source_sha256": "05e9fe23428e95794324dd2288aed8806e70020e56898cc83c8f213fbf01c0ef",
          "translation": "Если true, размер окна можно изменять"
        },
        "/symbols/@id=setting.common.SpriteMesh.AlphaThreshold/description": {
          "source_sha256": "e7599cc283b523d8f063a402dac1f53cb6b340f7b1e79268a2a101e0eb23ce33",
          "translation": "Минимальный alpha-порог отсечения геометрии sprite mesh (0-254)"
        },
        "/symbols/@id=setting.common.SpriteMesh.AreaSavingsWeight/description": {
          "source_sha256": "0dfba7673a15c7badb439e1e80c5036ed66f8b4ed9b1dd996d1cc05fffc355c5",
          "translation": "Вес оценки за удаление полной площади кадра; один балл компенсирует один добавленный треугольник"
        },
        "/symbols/@id=setting.common.SpriteMesh.Enabled/description": {
          "source_sha256": "139b67a44c13780f13b386b1ae93c9f6492bfc92dfe3689ec272170548b1e671",
          "translation": "Если true, при запекании изображений создаются полигональные sprite mesh"
        },
        "/symbols/@id=setting.common.SpriteMesh.MaxTriangles/description": {
          "source_sha256": "d16299c1a76eaaaee7cd0981aa3f9e58670c1401f8908df3f4f45be798ba62f2",
          "translation": "Максимальный бюджет треугольников, проверяемый среди кандидатов для всего спрайта, отдельных компонентов и детальной сетки"
        },
        "/symbols/@id=setting.common.Timer.DeltaTimeCap/description": {
          "source_sha256": "12d88d13b283234836af6e38829dc44b8335626ca2e576a8b166310181790c72",
          "translation": "Ограничение frame delta time в миллисекундах"
        },
        "/symbols/@id=setting.server.Android.CompileSdk/description": {
          "source_sha256": "9abe9cd9106c23bfc1b5562db4ecf9b660e3c37eee2e707a1bf61028791e1367",
          "translation": "Уровень Android compile SDK для инструментов упаковки"
        },
        "/symbols/@id=setting.server.Android.Icon/description": {
          "source_sha256": "82127fa0a2a410fa0d7ef333fb31a7763552a24f1c8134e72e577d81727356fe",
          "translation": "Путь исходного PNG значка launcher-а Android для инструментов упаковки"
        },
        "/symbols/@id=setting.server.Android.KeyAlias/description": {
          "source_sha256": "4ba90124fb5e27d18d82e87891b4d4f6a194e48854940517810b08ba47fcdd05",
          "translation": "Alias ключа подписи release-сборки Android для инструментов упаковки"
        },
        "/symbols/@id=setting.server.Android.KeyPassword/description": {
          "source_sha256": "2982397c731f175c9bfef7550e35366771a8a9244453f6ed2ac71274f2d5ab17",
          "translation": "Пароль ключа подписи release-сборки Android для инструментов упаковки"
        },
        "/symbols/@id=setting.server.Android.Keystore/description": {
          "source_sha256": "3c2f65f2093b162dabba5655fbfeaa73fd1c354d7a486c634f572ce4ea635c44",
          "translation": "Путь к keystore подписи release-сборки Android для инструментов упаковки"
        },
        "/symbols/@id=setting.server.Android.KeystorePassword/description": {
          "source_sha256": "8b6919a824c2333f7e10981ecad9053adec986ee74b6c9d7e7663e5c39e40612",
          "translation": "Пароль keystore подписи release-сборки Android для инструментов упаковки"
        },
        "/symbols/@id=setting.server.Android.MinSdk/description": {
          "source_sha256": "417515ba0fb29e5bee940e9d0ae11ae7650b2c5caa235d7bbd7fee33a776482a",
          "translation": "Минимальный поддерживаемый уровень Android SDK для инструментов упаковки"
        },
        "/symbols/@id=setting.server.Android.PackageName/description": {
          "source_sha256": "75b0ef6525bcd1be0376c9158bde41b5d812ab3d580b06d178ccb7e1b5957cac",
          "translation": "Имя пакета приложения Android для инструментов упаковки"
        },
        "/symbols/@id=setting.server.Android.ScreenOrientation/description": {
          "source_sha256": "7d67b57d355e740ed911593f35bd72f0a12912b6b01595c7f78bda5a8f495d8b",
          "translation": "Ориентация экрана activity Android для инструментов упаковки"
        },
        "/symbols/@id=setting.server.Android.TargetSdk/description": {
          "source_sha256": "308c44f1d044fe3b86af4b3a5421d39700ab3fcf4ee760d0db18ecdac3158655",
          "translation": "Целевой уровень Android SDK для инструментов упаковки"
        },
        "/symbols/@id=setting.server.Android.VersionCode/description": {
          "source_sha256": "e94ea6a9f646e2598d38b54681b51791469b7150eca7ddeb67f74193b7112f4b",
          "translation": "Код версии приложения Android для инструментов упаковки"
        },
        "/symbols/@id=setting.server.Critter.CritterSlotEnabled/description": {
          "source_sha256": "3b1383c87701b9bc85b47287988ded8193aa4dec223c2941090b3e5436252ee5",
          "translation": "Флаги включения слотов криттера"
        },
        "/symbols/@id=setting.server.Critter.CritterSlotMultiItem/description": {
          "source_sha256": "81d7d7cab19efb044cf119f45f9a5568ae8c5132c73dfadf1a5d1a9f037ddbdc",
          "translation": "Флаги поддержки нескольких предметов в слотах криттера"
        },
        "/symbols/@id=setting.server.Critter.CritterSlotSendData/description": {
          "source_sha256": "e344f617f1d57a27cdf05e2ddac30377ec2aeb9552091d36bce2070ed3b91588",
          "translation": "Флаги отправки данных слотов криттера"
        },
        "/symbols/@id=setting.server.DataBase.CustomCollections/description": {
          "source_sha256": "49e668ada0a8f61e885b5a64f5ce523b3af410855d9b363e12975d8e8d3c2ac4",
          "translation": "Разделенные пробелами пользовательские коллекции базы данных в формате CollectionName:Int или CollectionName:Str"
        },
        "/symbols/@id=setting.server.DataBase.JsonIndent/description": {
          "source_sha256": "85d9780175684af2a33b560d1dfc3d5b31fdb1eab8b63296f6c06585570c104b",
          "translation": "Отступ JSON-backend-а; 0 задает компактный вывод"
        },
        "/symbols/@id=setting.server.DataBase.MongoEscapeChar/description": {
          "source_sha256": "a1d129fca0c26ec405bc1e0be0773fd9c2b3b15e2f9ada11b4e85e6e39be50e8",
          "translation": "Один символ для замены точек в ключах документов Mongo"
        },
        "/symbols/@id=setting.server.DataBase.OpLogEnabled/description": {
          "source_sha256": "7749a4e4a05f466fd4f7076f96264e1eaa560a80ca5e614416f2993d0fdd4bba",
          "translation": "Если true, ожидающие изменения базы данных зеркалируются в oplog для восстановления; если false, любая ошибка записи в базу данных немедленно вызывает panic"
        },
        "/symbols/@id=setting.server.DataBase.OpLogPath/description": {
          "source_sha256": "a0ce5dfec1ff5ec542aad25fefe42558bfdbcea95aefa446fde8b3f561e3148d",
          "translation": "Путь oplog ожидающих изменений базы данных; путь прогресса воспроизведения формируется добавлением -committed к этому значению"
        },
        "/symbols/@id=setting.server.DataBase.PanicOpLogSizeThreshold/description": {
          "source_sha256": "aeee95400970c8fb05028157a8c8527b0775350893725465571e7bcbc3ae1414",
          "translation": "Порог размера файла ожидающих изменений базы данных в байтах, после которого вызывается panic"
        },
        "/symbols/@id=setting.server.DataBase.PanicShutdownTimeout/description": {
          "source_sha256": "19a0330902ff5395add96686711ea17af1e5000d684d8e20aff82d509bc585de",
          "translation": "Тайм-аут штатного завершения в миллисекундах после callback паники базы данных, по истечении которого процесс завершается принудительно"
        },
        "/symbols/@id=setting.server.DataBase.ReconnectRetryPeriod/description": {
          "source_sha256": "2895ccf785720b567efc1af6c107419e53b8a4b3e6b155822b88ef69298f2a47",
          "translation": "Период повторной попытки подключения backend-а базы данных в миллисекундах при активном режиме oplog"
        },
        "/symbols/@id=setting.server.Packaging.AppIcon/description": {
          "source_sha256": "9dabfcb6cc2f0f181b3cea2432af845d940a8bd8a700ff2458afc67264dcb66c",
          "translation": "Путь исходного ICO значка приложения Windows для инструментов упаковки"
        },
        "/symbols/@id=setting.server.Packaging.CodeSigningHook/description": {
          "source_sha256": "5c7392c56a2f4b7c6a4282b2612eb9005f97b19a167477284aff036ce7be2fc3",
          "translation": "Путь исполняемого hook-а подписи кода Windows для инструментов упаковки"
        },
        "/symbols/@id=setting.server.Packaging.MsiUpgradeCode/description": {
          "source_sha256": "9ee98c28a355dc168585a6734edc202d779ae4e3f0f849dcddca07d1613ada60",
          "translation": "GUID обновления MSI-установщика Windows для инструментов упаковки; после выпуска MSI значение нельзя изменять"
        },
        "/symbols/@id=setting.server.Server.AutoStartClientOnServer/description": {
          "source_sha256": "6f1927be64d2b34067a550d4486b3f3391b8e1b8e12626319c484d6140ff1820",
          "translation": "Число встроенных клиентов, автоматически запускаемых при старте сервера; 0 отключает функцию"
        },
        "/symbols/@id=setting.server.Server.CollapseLogOnStart/description": {
          "source_sha256": "40c53a8102a49f49c6123be8a7754d0d7e341beffdd940245702ad84a61b611a",
          "translation": "Если true, лог сворачивается при запуске"
        },
        "/symbols/@id=setting.server.Server.ConnectionProcessPeriodMs/description": {
          "source_sha256": "4a3a630b5cee371e670b92f32ab51d826a50c7cfbb973edab2e7052c5ae07c38",
          "translation": "Период повторного опроса задания соединения игрока или еще не вошедшего игрока между пробуждениями по поступлению данных, в миллисекундах"
        },
        "/symbols/@id=setting.server.Server.CritterMovingPeriodMs/description": {
          "source_sha256": "e45a27006467e713b8ff5a6a0d32db27befee77bf1ec25f01e1923c923b92a02",
          "translation": "Период задания шага движения криттера в миллисекундах"
        },
        "/symbols/@id=setting.server.Server.DbStorage/description": {
          "source_sha256": "c7b311bca212a1dde5ab8d41560e53fd3d80d902eccd77bff1c8eb829993b475",
          "translation": "Тип хранилища базы данных"
        },
        "/symbols/@id=setting.server.Server.EntityIdReserveBatch/description": {
          "source_sha256": "3d958f0ce097b31e3ca850bab3a4a636bdb7fe5af270a438b009c9ade7fff843",
          "translation": "Число ID сущностей, резервируемых при каждом увеличении сохраняемого счетчика, чтобы создание каждой сущности не требовало записи маркера последнего ID в базу данных"
        },
        "/symbols/@id=setting.server.Server.EntityStartId/description": {
          "source_sha256": "50b79c4e96d6befe77bb00c5fa1c0cc86a114eb5e44fd428ca6192e2ec2de5e1",
          "translation": "Начальный ID сущности"
        },
        "/symbols/@id=setting.server.Server.FrameTimePeriodNs/description": {
          "source_sha256": "b3d1da8b9372e257bf3cc19c78490f7c140463f4e9bd1149e6ca043efae2abb4",
          "translation": "Период задания обновления времени кадра в наносекундах"
        },
        "/symbols/@id=setting.server.Server.HealthFilePeriodMs/description": {
          "source_sha256": "cdbc46b57cdde9b62dea29a08ba895602786619540ee86304912c703e3af5b26",
          "translation": "Период задания обновления health-файла в миллисекундах"
        },
        "/symbols/@id=setting.server.Server.LockMaxWaitTime/description": {
          "source_sha256": "3da861a24b4b88d2fb091f412932e11104deb5df35fc4be6a64b4795794211de",
          "translation": "Максимальное время ожидания блокировки в миллисекундах"
        },
        "/symbols/@id=setting.server.Server.MapInstanceGridType/description": {
          "source_sha256": "af169d74f593ffcb5c545c0cc1bbb96fb197e738cab2d227e3ee51af302d909e",
          "translation": "Хранение полей экземпляра карты: Static, Chunked или Dynamic"
        },
        "/symbols/@id=setting.server.Server.MaxServerLogLines/description": {
          "source_sha256": "a389080c1c45f52a0298f241fb477dcaf08fa152398d39bdfd3753a40e52be8d",
          "translation": "Максимальное число строк серверного лога в UI"
        },
        "/symbols/@id=setting.server.Server.MoveBridgeReportHexes/description": {
          "source_sha256": "739cabff521eafd8c2911bb72cb1602a2ecd294e3efecabf96de3fd345dd5171",
          "translation": "Длина async-fix bridge в гексах, начиная с которой логируется расхождение движения клиента и сервера; 0 отключает отчёт"
        },
        "/symbols/@id=setting.server.Server.MoveFinishCatchUpMaxMs/description": {
          "source_sha256": "3aebb593db4fcd6f4a38b183101dc0dc831f2246be3187869158710779bc99d7",
          "translation": "Верхняя граница в миллисекундах для остатка движения, который можно ускорить по сообщению клиента о прибытии; фактический допуск также ограничен временем пути туда-обратно для соединения"
        },
        "/symbols/@id=setting.server.Server.NoStart/description": {
          "source_sha256": "0ae880c046794a245346333643eab0a60197b97a6ec8f2427dc1338049c47f8c",
          "translation": "Если true, запуск сервера отключен"
        },
        "/symbols/@id=setting.server.Server.ProtoMapGridType/description": {
          "source_sha256": "abf24322229d810c62715f66df0f5ee830d1c71a5b92937bb3997fd742988346",
          "translation": "Хранение общих полей прототипа: Static, Chunked или Dynamic"
        },
        "/symbols/@id=setting.server.Server.ServerHeight/description": {
          "source_sha256": "afdf7d228bb939109b2053aa0d355eade24ef1139113a42423dac259c5ea2469",
          "translation": "Высота окна сервера в пикселях для хоста тестового стенда до запуска любого клиента"
        },
        "/symbols/@id=setting.server.Server.ServerPropertiesPackData/description": {
          "source_sha256": "f3ff134c5d47e74cfc70bf05784d364b5b6ff19b27285a701d30fea481d73032",
          "translation": "Если true, серверные сущности с прототипами используют оверлейное хранилище свойств"
        },
        "/symbols/@id=setting.server.Server.ServerWidth/description": {
          "source_sha256": "677b3b7701267f5e21f97a7406ab310eb067fea325c2885b3665102605c3f85b",
          "translation": "Ширина окна сервера в пикселях для хоста тестового стенда до запуска любого клиента"
        },
        "/symbols/@id=setting.server.Server.ShutdownGraceMs/description": {
          "source_sha256": "cfac6937ce0c7b94adb198b762986d075d62c32f43b8f75d4501a37f0232af37",
          "translation": "Льготный период завершения в миллисекундах: текущие задания worker-ов должны закончиться до принудительного прерывания ожидающих блокировку сущности потоков"
        },
        "/symbols/@id=setting.server.Server.SingleThreadedLogic/description": {
          "source_sha256": "f0c058599eae0f4edca39d294d1481bef9a88125d846712efdb5a7713359592a",
          "translation": "Если true, вся игровая логика выполняется в одном worker thread и скриптам не нужна явная синхронизация сущностей"
        },
        "/symbols/@id=setting.server.Server.SyncPeriodMs/description": {
          "source_sha256": "f38db5ef388a156ffea687f3debce4890206245b2c12fa6f2fec9fd326b89d3f",
          "translation": "Период задания точки синхронизации в миллисекундах (по умолчанию 100 FPS)"
        },
        "/symbols/@id=setting.server.Server.WorkerThreads/description": {
          "source_sha256": "99d24cf6d6e50d541ef7082d434cde217b5bda0254ae41493857223553064624",
          "translation": "Число worker-потоков обработки сущностей (0 = автоматически)"
        },
        "/symbols/@id=setting.server.Server.WriteHealthFile/description": {
          "source_sha256": "740f5635ac98b8d97e7557efb966c0da71cac5e0624d1ec304eb758ef75271ee",
          "translation": "Если true, записывается health-файл"
        },
        "/symbols/@id=setting.server.ServerNetwork.ChannelSecretKey/description": {
          "source_sha256": "158252f60f63e426a0b508791371f5c5b44c0243e4a51540a4f702c4de20a019",
          "translation": "Статический секретный ключ X25519 защищённого канала из 64 шестнадцатеричных знаков; нужен каждому серверу, включая внутрипроцессные соединения"
        },
        "/symbols/@id=setting.server.ServerNetwork.ClientPingTime/description": {
          "source_sha256": "d795ab758e484ba83dcec4900f597c5b4311c73cdc2eb3c55b3d2fb2e0396353",
          "translation": "Время ping клиента в миллисекундах"
        },
        "/symbols/@id=setting.server.ServerNetwork.DisableNetworking/description": {
          "source_sha256": "0ec2ee7325a9c4d56d23135cfbb5637ea732095f8a6c1c009c31fe6e65caa27c",
          "translation": "Если true, серверные сетевые listener-ы не запускаются"
        },
        "/symbols/@id=setting.server.ServerNetwork.EnableUdp/description": {
          "source_sha256": "3d9c5c1a76f3d1ae56b0e916154a432f852fbc4d0ab18e387f0fb4b6d203579d",
          "translation": "Если true, listener UDP включен для нативных клиентов"
        },
        "/symbols/@id=setting.server.ServerNetwork.InactivityDisconnectTime/description": {
          "source_sha256": "e439335f922cc3a536c43f737d14de7bb4e493cfd2cb0c07b2e8b42f4319e090",
          "translation": "Время до отключения из-за неактивности в миллисекундах"
        },
        "/symbols/@id=setting.server.ServerNetwork.ListenRetryDelay/description": {
          "source_sha256": "071d6043d7f11341caaba2acbc22bb0dbe6e0fe43c8ec147fd551a5dedba0fc4",
          "translation": "Задержка в миллисекундах между попытками привязать слушателя"
        },
        "/symbols/@id=setting.server.ServerNetwork.ListenRetryTime/description": {
          "source_sha256": "f167ea3322ef30cac7c1759f3b01ceeb7680d5c99f144e0cb6af5f90b6da620b",
          "translation": "Время в миллисекундах, в течение которого повторяются попытки для слушателя, чей порт всё ещё держит предыдущий процесс (0 — не повторять)"
        },
        "/symbols/@id=setting.server.ServerNetwork.LoginTimeout/description": {
          "source_sha256": "c8d412b042c6dac764bda0a88b6bca5739ebdce6f79ddb13880b4520f5bc0c81",
          "translation": "Максимальное время жизни соединения до входа без прогресса handshake, аутентификации или обновления, в миллисекундах (0 = без ограничения)"
        },
        "/symbols/@id=setting.server.ServerNetwork.MaxBufferedInputSize/description": {
          "source_sha256": "a4acd521d44db235f411db199f70381bad1adbd374231eaed8d191f66085d2fc",
          "translation": "Максимальное число непрочитанных входных байтов, сохраняемых для одного соединения (0 = без ограничения)"
        },
        "/symbols/@id=setting.server.ServerNetwork.MaxConnections/description": {
          "source_sha256": "2d0bd3fc64c22c52a4616939bbcfebc1caef731fc09b282cd95196aed2b8bc02",
          "translation": "Максимальное число одновременных соединений, включая еще не вошедшие (0 = без ограничения); сверх лимита новые соединения отклоняются при accept"
        },
        "/symbols/@id=setting.server.ServerNetwork.MaxMessageSize/description": {
          "source_sha256": "310d7a1c449a586a5dd429fa5ab4e0b3ab8b5c1d1507857b9fe182430f04d63a",
          "translation": "Максимальный размер одного входящего сообщения в байтах (0 = без ограничения); превышение отклоняется при чтении заголовка"
        },
        "/symbols/@id=setting.server.ServerNetwork.MaxMessagesPerProcessPass/description": {
          "source_sha256": "5e83f40d54608067eb789080a7392ba3cfb14d2418a6c43f567ca003954e887b",
          "translation": "Максимальное число сообщений, извлекаемых из одного соединения за проход задания worker-а (0 = без ограничения)"
        },
        "/symbols/@id=setting.server.ServerNetwork.MaxPlayers/description": {
          "source_sha256": "ad0b40cccc89c090046777b0a7244e3e320502281206d088671be349d3ab88d9",
          "translation": "Максимальное число одновременно вошедших игроков (0 = без ограничения); сверх лимита новые соединения отклоняются при accept"
        },
        "/symbols/@id=setting.server.ServerNetwork.MaxRemoteCallPayloadSize/description": {
          "source_sha256": "0697aaea07a03add65d0fd18524918d9d0d0b8d32312e15ddb3a704ad4392a39",
          "translation": "Runtime-предел decoded payload удалённого вызова (0 = только структурный per-call предел)"
        },
        "/symbols/@id=setting.server.ServerNetwork.MaxUdpReorderAhead/description": {
          "source_sha256": "c4037dc9e27286a727aec6092d5ef280e7d3406b86378f1243841d0390c0ff45",
          "translation": "Максимальное число пакетов UDP, буферизуемых впереди следующего ожидаемого sequence number (0 = без ограничения)"
        },
        "/symbols/@id=setting.server.ServerNetwork.NewConnectionRatePerSec/description": {
          "source_sha256": "a0c517a8bb64c24fe7e4274118845a0ae545ed298edcd90b1d05eb8cf75d17c1",
          "translation": "Максимальное число новых соединений с одного исходного хоста в секунду (0 = без ограничения); превышающие лимит всплески отбрасываются при accept"
        },
        "/symbols/@id=setting.server.ServerNetwork.RejectUdpConnections/description": {
          "source_sha256": "4093000d0f4cf919d3953312155fdbec58477fa9db1a5d574f31bff3f2258f4c",
          "translation": "Если true, listener UDP без ответа отбрасывает входящие пакеты Connect, чтобы клиенты перешли на TCP; предназначено для отладки"
        },
        "/symbols/@id=setting.server.ServerNetwork.UpdateFilesInMemory/description": {
          "source_sha256": "9b6391264a204d9b382df76c411e871aee19babc3c0518090d8c8bef2925270e",
          "translation": "Если true, файлы updater-а отдаются из памяти, иначе с диска"
        },
        "/symbols/@id=setting.server.ServerNetwork.WssCertificate/description": {
          "source_sha256": "bc5f837071cf65677490231703f54f00cd3a0f9805ec11517d1713818c8c3fe2",
          "translation": "Сертификат защищенного WebSocket"
        },
        "/symbols/@id=setting.server.ServerNetwork.WssPrivateKey/description": {
          "source_sha256": "db82685ecf12b80c08ba089ca50bdded3ee37cf20534d42acd149600a028fbaa",
          "translation": "Закрытый ключ защищенного WebSocket"
        },
        "/symbols/@id=script.method.client.Game.GetDisplayModes/description": {
          "source_sha256": "cb53c66a9189868ed1a767ff537ab67bc8b356805b516172e2938c78f4d95239",
          "translation": "Возвращает уникальные размеры полноэкранных режимов в пикселях для дисплея с окном клиента или пустой список, если данные недоступны."
        },
        "/symbols/@id=script.method.client.Game.GetDisplaySize/description": {
          "source_sha256": "7b2ac372ca3eb2404fee4e794e1d947b973f55b2aca64d7575acc610bf8a80ed",
          "translation": "Возвращает размеры рабочего стола в пикселях для дисплея с окном клиента или нулевой размер, если данные недоступны."
        }
      }
    }
  }
}
