From 71d6396d8b1df0f1fb9ec4c30d16ad061c2c2ed6 Mon Sep 17 00:00:00 2001 From: min Date: Mon, 8 Jun 2026 19:09:25 +0300 Subject: [PATCH] =?UTF-8?q?docs(lua):=20=D0=B8=D1=82=D0=B5=D1=80=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D1=8F=202=20Crossroads=20=D0=B2=20CHANGELOG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Зафиксированы все правки сделанные при работе с Crossroads: - XML-парсер для старых .rbxl (~330 строк) - BrickColor таблица расширена с 50 до 120 цветов - Force-anchored для всех импортированных Part - 4 новых слайдера в Свет и атмосфера (заливка теней, экспозиция, контраст, насыщенность) через imageProcessingConfiguration - Persistence настроек света в projectData.scene.lighting - mat.ambientColor=(1,1,1) обязательно для scene.ambientColor работы - Деплой rbxl-importer на VM 130 через прямой SSH (CI не настроен) Известные баги Crossroads: - 2 скрипта Regenerate* падают на model:clone() и Instance.new('Message') — не критично, Anchored держит постройки. --- RUBLOX_LUA_API_CHANGELOG.md | 133 ++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) diff --git a/RUBLOX_LUA_API_CHANGELOG.md b/RUBLOX_LUA_API_CHANGELOG.md index 16f8e36..a46a3f0 100644 --- a/RUBLOX_LUA_API_CHANGELOG.md +++ b/RUBLOX_LUA_API_CHANGELOG.md @@ -8,6 +8,139 @@ Roblox-играми. Цель — потом продублировать тот --- +## 2026-06-08 — Итерация 2: Crossroads (arch1_Original_Crossroads.rbxl, проект 2827) + +**Контекст:** Классическая Roblox-карта 2009 года для PvP, **XML-формат** .rbxl +(старее бинарного). 877 instances, 777 Part, 83 Model. Состоит из 4 зон: +крепость (Castle), дом (House Platform), деревья, дорожки крест-накрест. +2 скрипта: «Regenerate Playground» и «Regenerate Castle» — периодически +удаляют и восстанавливают постройки (для PvP). + +### Главное: XML-парсер для .rbxl + +`rbxl-importer/src/rbxl_xml_parser.py` (новый файл, ~330 строк): + +- `is_xml_rbxl(blob)` — детект по `N` — особый случай: в старом XML цвет + лежит как int с именем `BrickColor`, заворачиваем в `BrickColor(code=N)`. + +В `app.py` добавлен автодетект формата: +```python +is_binary = blob.lstrip().startswith(b'