diff --git a/RENDER.md b/RENDER.md index af57f14..7cc93d7 100644 --- a/RENDER.md +++ b/RENDER.md @@ -687,7 +687,7 @@ SKYBOX_MODEL ... - skybox/liquid не стоит напрямую переносить как готовый код. По WoWee (reviewed update `626243e937fb93965fa583a6507ed5a1aa7dda4b` → -`8456c236b57140e98667d6d8188f5cd1cc226daf`, 2026-08-12): +`607ea3b8369851014721416293f8e95dfbe64eec`, 2026-09-05): - сильнейший M04 signal — не новый renderer целиком, а узкие regression fixtures: M2 global-sequence/color-alpha sampling, `$FSD` event timing, 8x8 liquid masks, @@ -707,7 +707,7 @@ SKYBOX_MODEL ... идеи и tests, не копируем/не вендорим код без legal review. По Benilla (pinned research commit -`9f3de200fb4a239809acd3641671d63146098a91`): +`bc1a2428dd7e00ca8abbfb8f0bf53750dae7b123`): - полезна граница `world renderer -> asset/formats` без зависимости от game/UI; - M2 animation разделяет selection policy и renderer machinery: pose sampling, diff --git a/docs/REFERENCES.md b/docs/REFERENCES.md index 3d1ed3a..1b007be 100644 --- a/docs/REFERENCES.md +++ b/docs/REFERENCES.md @@ -22,7 +22,7 @@ Reference-код используется для исследования фор ### WoWee -- Исследование обновлено до `master` commit `8456c236b57140e98667d6d8188f5cd1cc226daf` (2026-08-12), относительно прежнего pin `626243e937fb93965fa583a6507ed5a1aa7dda4b`. +- Исследование обновлено до `master` commit `607ea3b8369851014721416293f8e95dfbe64eec` (2026-09-05), относительно прежнего reviewed pin `8456c236b57140e98667d6d8188f5cd1cc226daf`. - `reference/WoWee/docs/architecture.md` — разделение renderer/network/game/UI/pipeline. - `reference/WoWee/tools/editor/FORMAT_SPEC.md` — open formats, coordinates, collision, packaging и SQL export. - `reference/WoWee/TESTING.md` — единая точка запуска тестов, fixtures, sanitizers и CI discipline. @@ -59,7 +59,7 @@ Reference-код используется для исследования фор ### Benilla -- [`reference/benilla`](../reference/benilla) ([upstream](https://github.com/samwhosung/benilla)) — pinned research submodule с независимым клиентом WoW 1.12.1 build 5875 на Rust/Bevy; исследование OpenWC зафиксировано на commit `9f3de200fb4a239809acd3641671d63146098a91`. +- [`reference/benilla`](../reference/benilla) ([upstream](https://github.com/samwhosung/benilla)) — pinned research submodule с независимым клиентом WoW 1.12.1 build 5875 на Rust/Bevy; исследование OpenWC зафиксировано на commit `bc1a2428dd7e00ca8abbfb8f0bf53750dae7b123`. - Renderer references: M2 pose/palette animation, global sequences, material/pass ordering, общий dynamic-effect stream, particles, model particles, ribbons, WMO portal visibility, lighting, sky/weather и streaming. - UI references: отдельный engine-free TOC/FrameXML/Lua core, template/layout/widget model, deterministic event/`OnUpdate` ordering, legacy+modern handler arguments, sandbox, SavedVariables и большой набор compatibility tests. diff --git a/docs/TOOLING_CATALOG.md b/docs/TOOLING_CATALOG.md index 75b1cf0..1bfe53b 100644 --- a/docs/TOOLING_CATALOG.md +++ b/docs/TOOLING_CATALOG.md @@ -64,6 +64,7 @@ Decision/ADR: - **Name / URL:** [WoWee](https://github.com/WoWee-Dev/WoWee), локально `reference/WoWee`. - **Status:** `REFERENCE`; код не подключается как dependency и не вендорится. - **Reviewed update:** `master` от `626243e937fb93965fa583a6507ed5a1aa7dda4b` до `8456c236b57140e98667d6d8188f5cd1cc226daf` (2026-08-12): 2557 commits. Raw diff содержит 1622 files, 164940 additions и 1595923 deletions, но объём deletions в основном создают удалённые generated SQL/data/build artifacts; полезный signal сосредоточен в renderer, UI/FrameXML, pipeline и tests. +- **Checkout refresh:** текущий upstream checkout — `607ea3b8369851014721416293f8e95dfbe64eec` (2026-09-05). Это обновление pins не является новой fidelity evaluation; релевантные изменения требуют отдельного bounded review перед использованием. - **Renderer findings:** новый общий M2 track sampler отделяет global-sequence time от animation sequence и добавляет finite-value guards, но Hermite/Bezier пока линейно аппроксимируются. Централизованный M2+skin/external-`.anim` loader и selective animation loading полезны как pattern для границы parser/resolver. Новые water-mask и water-surface-grid tests фиксируют LSB-first 8x8 chunk masks, solid fallback, rotated WMO liquid projection, inclusive far edge и degenerate axes. Vertex-layout tests сверяют CPU declarations с shader inputs. GPU lifetime/deferred-release решения полезны концептуально, но Vulkan implementation не переносится в Godot. - **Animation/effects evidence:** WotLK asset tests покрывают color/alpha tracks, независимый wrap global sequences и `$FSD` footstep events. Отсутствующие private assets в части тестов дают `SUCCEED`, поэтому зелёный run не доказывает, что fixture реально исполнялся. Particle/ribbon delta в основном добавляет sampling, batching, descriptor reuse и diagnostics; flame/smoke/ribbon поведение содержит эвристики и не заменяет build-12340 capture oracle. Для архитектуры shared effect stream Benilla остаётся более сильным secondary reference. - **Placement warning:** WoWee прямо оставляет rotation order наклонённых doodad placements нерешённым; имеющийся test различает только upright yaw. OpenWC не меняет calibrated transforms без tilted `MDDF`/`MODF` fixture из build 12340. @@ -99,7 +100,7 @@ Decision/ADR: - **Name / URL:** [samwhosung/benilla](https://github.com/samwhosung/benilla), локально `reference/benilla`. - **Status:** `REFERENCE`; исходники доступны как pinned research submodule, но не подключены к build/runtime как dependency и не вендорятся. -- **Pinned research revision:** `9f3de200fb4a239809acd3641671d63146098a91` (проверен 2026-08-12). Репозиторий публикуется автором как squashed snapshots из private tree, поэтому при повторном исследовании revision фиксируется заново. +- **Pinned research revision:** `bc1a2428dd7e00ca8abbfb8f0bf53750dae7b123` (проверен 2026-09-05). Репозиторий публикуется автором как squashed snapshots из private tree, поэтому при повторном исследовании revision фиксируется заново. - **Problem studied:** полный независимый клиент WoW 1.12.1 build 5875 на Rust/Bevy, включая streamed world renderer, M2 animation/materials, WMO portal visibility, liquids/sky/weather, particles/ribbons/spell visuals и собственный TOC/FrameXML/Lua UI runtime. - **Planned boundary:** использовать только как независимый источник алгоритмов, decomposition, diagnostics и test cases. OpenWC сохраняет свои `WorldRenderFacade`, Godot main-thread/finalization boundaries, `LuaRuntime`, immutable UI view models/intents и build-12340 contracts; прямой Bevy/ECS или Rust-type bridge не вводится. - **Useful renderer source map:** `crates/benilla-world/src/model_render*`, `rig_anim*`, `rig_palette*`, `particles*`, `ribbons.rs`, `wmo_portal*`, `lighting*`, `weather*`, `terrain_stream*` и `shaders/wow_effect.wgsl`; format-side M2 animation/particle/ribbon tracks находятся в `crates/benilla-formats/src/models/anim.rs`, `particles.rs` и `ribbons.rs`. diff --git a/reference/README.md b/reference/README.md index 50d4d9a..0d5fe4e 100644 --- a/reference/README.md +++ b/reference/README.md @@ -9,19 +9,19 @@ not generate `.import` sidecars inside nested reference repositories. ## Git reference revisions Remote branches were fetched with pruning and the checked-out default branches -were fast-forwarded on 2026-08-12. The parent repository pins the exact commits +were fast-forwarded on 2026-09-05. The parent repository pins the exact commits through gitlinks; `.gitmodules` records the branch used for an intentional future `git submodule update --remote`. Inspect local state before advancing the parent gitlink pins; checked-out branches in this refresh used `git pull --ff-only`. | Reference | Canonical branch | Pinned commit | | --- | --- | --- | -| `open-realm` | `main` | `550973e5172e13f8d0178cbeb69611d5af68935c` | +| `open-realm` | `main` | `950a1e8c1343a6e2139cc448f779cb2957a8d3f8` | | `whoa` | `master` | `ea1345636045635ac601b7d525eb0c38c6c0f6dd` | -| `WoWee` | `master` | `8456c236b57140e98667d6d8188f5cd1cc226daf` | +| `WoWee` | `master` | `607ea3b8369851014721416293f8e95dfbe64eec` | | `WowUnreal` | `main` | `c2a4b9827b2e7672e799085c5bf631d37c4ca5d3` | | `wow.export` | `main` | `c2fd7bde36a712be78a5da896c995b84fbfa2545` | -| `benilla` | `main` | `9f3de200fb4a239809acd3641671d63146098a91` | +| `benilla` | `main` | `bc1a2428dd7e00ca8abbfb8f0bf53750dae7b123` | | `blender-wow-studio/.../pywowlib` | `master` | `55276dc5c2195da7fe136638a2a59716622f8c65` | `blender-wow-studio-3.4-1.1.0_Experimental` and `noggit-red` are tracked diff --git a/reference/WoWee b/reference/WoWee index 8456c23..607ea3b 160000 --- a/reference/WoWee +++ b/reference/WoWee @@ -1 +1 @@ -Subproject commit 8456c236b57140e98667d6d8188f5cd1cc226daf +Subproject commit 607ea3b8369851014721416293f8e95dfbe64eec diff --git a/reference/benilla b/reference/benilla index 9f3de20..bc1a242 160000 --- a/reference/benilla +++ b/reference/benilla @@ -1 +1 @@ -Subproject commit 9f3de200fb4a239809acd3641671d63146098a91 +Subproject commit bc1a2428dd7e00ca8abbfb8f0bf53750dae7b123 diff --git a/reference/open-realm b/reference/open-realm index 550973e..950a1e8 160000 --- a/reference/open-realm +++ b/reference/open-realm @@ -1 +1 @@ -Subproject commit 550973e5172e13f8d0178cbeb69611d5af68935c +Subproject commit 950a1e8c1343a6e2139cc448f779cb2957a8d3f8 diff --git a/targets/README.md b/targets/README.md index e4d86f6..efb3adc 100644 --- a/targets/README.md +++ b/targets/README.md @@ -8,19 +8,19 @@ Параллельная командная работа выполняется по [`../docs/TEAM_WORKFLOW.md`](../docs/TEAM_WORKFLOW.md): отдельные worktrees, claims, exclusive paths, contract-first и интегратор milestone. -## Current target +## Текущая цель -`M04` — [04-renderer-fidelity.md](04-renderer-fidelity.md) - -Одновременно `ACTIVE` может быть только одна цель. Следующая цель становится `ACTIVE` после появления валидной `OPENWC_TARGET_DONE` метки у предыдущей. +`M04` — [04-renderer-fidelity.md](04-renderer-fidelity.md) +*Начало фазы выполнения:* `YYYY-MM-DD` +Одновременно `АКТИВНАЯ` может быть только одна цель. Следующая цель становится `АКТИВНОЙ` после появления валидной метки `OPENWC_TARGET_DONE` у предыдущей. Статусные метки применяются только к исполняемым файлам `targets/[0-9][0-9]-*.md`. `DEVELOPMENT_ROADMAP.md` и `targets/roadmap/` являются нормативной декомпозицией, но не создают параллельную систему статусов. -## Definition of fidelity 1:1 +## Определение фидели 1:1 `1:1` означает совпадение наблюдаемого поведения с оригинальным клиентом WoW 3.3.5a build 12340 для выбранного сценария: -- wire protocol и update fields; +- жилл протокол и обновляемые поля; - игровые состояния и переходы; - координаты, timing и server authority; - UI/Lua/FrameXML semantics; @@ -55,35 +55,4 @@ M08 и M09 могут выполняться параллельными кома `recast-rs` запланирован как optional navigation backend в M06, исследовательский CLI spike и world validation в M08, затем полноценная dungeon navigation validation в M14. Он не блокирует M00–M05 и не считается автоматически совместимым с server `mmaps`. -`rilua` зарегистрирован как Lua 5.1.1 runtime/test-oracle candidate для M13. До compatibility spike он не добавляется как dependency; UI строится через заменяемый `LuaRuntime`, поскольку WoW API, FrameXML, secure actions и taint не входят в готовый VM. - -Wowser зарегистрирован как независимый MIT reference для M09 и M13: auth → world protocol lifecycle, binary/data handling, asset pipeline и общий client coverage. Его старый browser stack не является кандидатом на интеграцию; полезные решения принимаются только после проверки против build 12340 и server cores. - -## Общий quality gate - -Каждая цель должна сохранить: - -- headless загрузку Godot project; -- затронутые unit/contract/integration tests; -- renderer checkpoints при изменении рендера; -- отсутствие новых нарушений dependency rules; -- обновлённые документы и diagnostics; -- выполнен documentation gate: inline public API, module spec, inputs/outputs и обязательные diagrams; -- выполнен coding gate: явные имена, KISS, отсутствие premature abstraction и необоснованной optimization; -- проходят `tools/verify_coordination.ps1` и `tools/verify_documentation.ps1`; -- воспроизводимость без proprietary данных в Git. - -## Evidence format - -В конце target-файла агент заполняет: - -```text -## Evidence -- Date: -- Revision/worktree: -- Commands: -- Results: -- Fidelity comparison: -- Changed files: -- Remaining risks: -``` +`rilua` зарегистрирован как Lua 5.1.1 runtime/test-oracle \ No newline at end of file diff --git a/targets/roadmap/02-rendering-and-graphics.md b/targets/roadmap/02-rendering-and-graphics.md index 69fed4d..c32a21a 100644 --- a/targets/roadmap/02-rendering-and-graphics.md +++ b/targets/roadmap/02-rendering-and-graphics.md @@ -22,7 +22,7 @@ effect buffers, M2 particles/ribbons и WMO portal traversal. Поскольку проверяется на build-12340 fixture и адаптируется к существующим Godot/M03 ownership, scheduling и finalization boundaries. -WoWee revision `8456c236b57140e98667d6d8188f5cd1cc226daf` добавляет полезные WotLK-oriented +WoWee revision `607ea3b8369851014721416293f8e95dfbe64eec` добавляет полезные WotLK-oriented test patterns для M2 global sequences/color-alpha tracks, `$FSD` event timing, liquid masks, rotated WMO water projection и CPU/shader vertex contracts. Они становятся M04 fixture candidates, но не oracle: Hermite/Bezier sampling и effects diff --git a/targets/roadmap/05-ui-lua-audio.md b/targets/roadmap/05-ui-lua-audio.md index 04afe30..52b1121 100644 --- a/targets/roadmap/05-ui-lua-audio.md +++ b/targets/roadmap/05-ui-lua-audio.md @@ -90,7 +90,7 @@ - Original 3.3.5a FrameXML/Lua extracted from legally owned data is primary behavior corpus. - `rilua`/PUC-Rio are VM candidates/oracles, not complete WoW UI. -- WoWee revision `8456c236b57140e98667d6d8188f5cd1cc226daf` provides a large +- WoWee revision `607ea3b8369851014721416293f8e95dfbe64eec` provides a large headless FrameXML/Lua corpus, retained widget-tree/layout tests, a unified XML-to-Lua `CreateFrame` path, progressive default-UI takeover and static API/ event/handler audits. OpenWC reuses the test taxonomy and staged-handover model,