обновление аудита
This commit is contained in:
@@ -686,6 +686,26 @@ SKYBOX_MODEL ...
|
|||||||
- полноценный liquid rendering там не реализован;
|
- полноценный liquid rendering там не реализован;
|
||||||
- skybox/liquid не стоит напрямую переносить как готовый код.
|
- skybox/liquid не стоит напрямую переносить как готовый код.
|
||||||
|
|
||||||
|
По WoWee (reviewed update `626243e937fb93965fa583a6507ed5a1aa7dda4b` →
|
||||||
|
`8456c236b57140e98667d6d8188f5cd1cc226daf`, 2026-08-12):
|
||||||
|
|
||||||
|
- сильнейший M04 signal — не новый renderer целиком, а узкие regression fixtures:
|
||||||
|
M2 global-sequence/color-alpha sampling, `$FSD` event timing, 8x8 liquid masks,
|
||||||
|
rotated WMO liquid projection и CPU vertex/shader interface checks;
|
||||||
|
- общий M2+skin/external-`.anim` resolver и selective animation loading полезны как
|
||||||
|
decomposition, но должны использовать существующие OpenWC repository/worker/
|
||||||
|
main-thread finalization boundaries;
|
||||||
|
- track sampler пока линейно обрабатывает Hermite/Bezier, а particle/ribbon path
|
||||||
|
содержит flame/smoke и orientation heuristics; это не fidelity oracle. Для
|
||||||
|
effect architecture Benilla остаётся более полным secondary reference;
|
||||||
|
- placement rotation order для наклонённых doodads в WoWee явно не решён.
|
||||||
|
OpenWC не меняет calibrated MDDF/MODF transforms без tilted build-12340 fixture;
|
||||||
|
- real-asset tests, которые превращают отсутствие assets в success, не считаются
|
||||||
|
evidence. OpenWC fixture обязан иметь provenance/hash и явно fail/skip-report;
|
||||||
|
- modified MIT license WoWee запрещает использование как основы/компонента
|
||||||
|
commercial video game без разрешения: используем только независимо проверенные
|
||||||
|
идеи и tests, не копируем/не вендорим код без legal review.
|
||||||
|
|
||||||
По Benilla (pinned research commit
|
По Benilla (pinned research commit
|
||||||
`9f3de200fb4a239809acd3641671d63146098a91`):
|
`9f3de200fb4a239809acd3641671d63146098a91`):
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -22,12 +22,13 @@ Reference-код используется для исследования фор
|
|||||||
|
|
||||||
### WoWee
|
### WoWee
|
||||||
|
|
||||||
|
- Исследование обновлено до `master` commit `8456c236b57140e98667d6d8188f5cd1cc226daf` (2026-08-12), относительно прежнего pin `626243e937fb93965fa583a6507ed5a1aa7dda4b`.
|
||||||
- `reference/WoWee/docs/architecture.md` — разделение renderer/network/game/UI/pipeline.
|
- `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/tools/editor/FORMAT_SPEC.md` — open formats, coordinates, collision, packaging и SQL export.
|
||||||
- `reference/WoWee/TESTING.md` — единая точка запуска тестов, fixtures, sanitizers и CI discipline.
|
- `reference/WoWee/TESTING.md` — единая точка запуска тестов, fixtures, sanitizers и CI discipline.
|
||||||
- `reference/WoWee/EXPANSION_GUIDE.md` — protocol/data profile separation.
|
- `reference/WoWee/EXPANSION_GUIDE.md` — protocol/data profile separation.
|
||||||
|
|
||||||
Используем: детерминированные authoring formats, headless parity, adapter profiles и validation-first pipeline. Не принимаем автоматически конкретные форматы или заявленную полноту реализации.
|
Особенно полезны: WotLK M2 track/footstep fixtures, liquid mask/surface-grid tests, shader-interface checks, retained widget tree, единый XML→Lua `CreateFrame` path, поэлементный takeover default UI и большая система headless/static FrameXML/Lua audits. Не переносим монолитный Lua/game binding, unknown-API fallback, Vulkan-specific ownership или native-padding `.w*` formats. Particle/render rules, placement rotations и UI semantics требуют независимых build-12340 fixtures; часть real-asset tests WoWee пропускает отсутствие assets как success. Лицензия содержит дополнительный запрет commercial-game use, поэтому WoWee остаётся research-only reference без копирования или вендоринга кода. Полная evaluation card: [`TOOLING_CATALOG.md`](TOOLING_CATALOG.md#wowee--карточка-референса).
|
||||||
|
|
||||||
### Noggit Red
|
### Noggit Red
|
||||||
|
|
||||||
|
|||||||
+17
-1
@@ -40,7 +40,7 @@ Decision/ADR:
|
|||||||
| OpenWC native loaders | ADOPTED | MPQ/BLP/ADT/WDT/M2/WMO | Текущий import/render pipeline | Неполная fidelity форматов |
|
| OpenWC native loaders | ADOPTED | MPQ/BLP/ADT/WDT/M2/WMO | Текущий import/render pipeline | Неполная fidelity форматов |
|
||||||
| StormLib | ADOPTED | MPQ | Чтение архивов через native extension | Version/license/update audit |
|
| StormLib | ADOPTED | MPQ | Чтение архивов через native extension | Version/license/update audit |
|
||||||
| WowUnreal | REFERENCE | Полный клиент | Coverage, acceptance criteria, networking/UI research | Unreal-specific design |
|
| WowUnreal | REFERENCE | Полный клиент | Coverage, acceptance criteria, networking/UI research | Unreal-specific design |
|
||||||
| WoWee | REFERENCE | Клиент/editor/formats | Architecture, editor workflows, tests, open formats | Заявления требуют независимой проверки |
|
| WoWee | REFERENCE | WotLK client/render/UI/editor | M2/liquid fixtures, retained FrameXML UI, Lua diagnostics, progressive UI takeover и authoring validation | Modified MIT запрещает commercial-game use; fidelity claims требуют build-12340 oracle |
|
||||||
| Original WoW 3.3.5a build 12340 client | ADOPTED | Visual/behavior oracle | Private static/temporal capture corpus, settings and paired comparison | Proprietary artifacts remain outside Git; camera/settings provenance must be explicit |
|
| Original WoW 3.3.5a build 12340 client | ADOPTED | Visual/behavior oracle | Private static/temporal capture corpus, settings and paired comparison | Proprietary artifacts remain outside Git; camera/settings provenance must be explicit |
|
||||||
| Noggit Red | REFERENCE | World editor | Terrain/placement UX, UID workflows и secondary render-composition reference | Не Godot architecture; не authoritative lighting/material/shadow/liquid oracle |
|
| Noggit Red | REFERENCE | World editor | Terrain/placement UX, UID workflows и secondary render-composition reference | Не Godot architecture; не authoritative lighting/material/shadow/liquid oracle |
|
||||||
| open-realm | REFERENCE | Formats/runtime | Независимая проверка parsers/render behavior | Другая архитектура и coverage |
|
| open-realm | REFERENCE | Formats/runtime | Независимая проверка parsers/render behavior | Другая архитектура и coverage |
|
||||||
@@ -59,6 +59,22 @@ Decision/ADR:
|
|||||||
| [Keira3](https://github.com/azerothcore/Keira3) | REFERENCE | AzerothCore DB editor | Field semantics, SQL generation и DB editor UX | AGPL; schema-specific web architecture |
|
| [Keira3](https://github.com/azerothcore/Keira3) | REFERENCE | AzerothCore DB editor | Field semantics, SQL generation и DB editor UX | AGPL; schema-specific web architecture |
|
||||||
| [WowBench](https://sourceforge.net/projects/wowbench/) | REFERENCE | WoW UI/API | Offline XML/Lua API emulation и addon test ideas | Старый и неполный implementation |
|
| [WowBench](https://sourceforge.net/projects/wowbench/) | REFERENCE | WoW UI/API | Offline XML/Lua API emulation и addon test ideas | Старый и неполный implementation |
|
||||||
|
|
||||||
|
## WoWee — карточка референса
|
||||||
|
|
||||||
|
- **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.
|
||||||
|
- **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.
|
||||||
|
- **UI/FrameXML findings:** retained widget tree отделён от renderer, сохраняет WoW bottom-left/y-up coordinates до единственного draw-boundary flip и покрывает anchors, draw order, hit testing, visibility, scroll, controls и ownership headless tests. XML компилируется в Lua и проходит тот же `CreateFrame`/template path, что Lua-created widgets. Progressive takeover передаёт отдельные default-UI элементы FrameXML с явными bridges для portrait/model/minimap/world-map content. Это сильная модель поэтапной миграции M05, но не готовая архитектура OpenWC.
|
||||||
|
- **Lua/tooling findings:** runtime ограничивает стандартные библиотеки, ставит instruction-hook timeout, копирует listener list перед dispatch, ограничивает event recursion, нормализует event argument types и диагностирует stack/source/line. Большой headless corpus и статические audits проверяют XML emission, templates, `$parent`, handler arity, event order/arity, missing APIs, nil arithmetic, globals и keybinding takeover. Однако `lua_engine.cpp` монолитен, unknown-API fallback маскирует отсутствующие контракты, а настоящих taint/secure execution semantics нет; OpenWC сохраняет отдельный `LuaRuntime`, view models/intents и fail-closed compatibility tiers.
|
||||||
|
- **Pipeline/editor findings:** общий bounded binary-I/O layer, finite vertex sanitization, DXT block tests, streaming manifest parse и единые validation/save reports полезны как test/validation patterns. Собственные `.w*` formats зависят от native padding/endianness и не подходят как canonical portable OpenWC artifacts без отдельной спецификации.
|
||||||
|
- **License/data risk:** repository LICENSE — MIT с дополнительным запретом использовать software как основу или компонент commercial video games без письменного разрешения; original music имеет отдельный all-rights-reserved notice. Поэтому допустимы research, decomposition и независимо реализованные fixtures; копирование/вендоринг кода требует предварительного legal review.
|
||||||
|
- **Fidelity limits:** проект WotLK-aware и использует build 12340, но остаётся active WIP. В исследованном diff нет систематического paired original-client visual corpus; часть tests повторяет internal implementation, а README перечисляет runtime regressions. WoWee — источник гипотез и test cases, не oracle. Oracle OpenWC остаётся оригинальный клиент 3.3.5a build 12340.
|
||||||
|
- **Bounded adoption:** для M04 приоритетны обязательные (не silent-skip) build-12340 fixtures для M2 global-sequence/color-alpha sampling, MH2O/MCLQ/MLIQ masks и rotated WMO water, CPU-mesh/shader interface verification и tilted placement order. Для M05 — engine-free widget/layout core, единый XML/Lua creation path, progressive takeover и headless audit taxonomy. Любое поведение принимается только после paired capture/fixture с provenance и hash.
|
||||||
|
- **Decision / ADR:** `REFERENCE`, не dependency. ADR нужен, если WoWee-inspired решение меняет публичный renderer/UI/Lua contract, artifact schema, engine boundary или вводит third-party code.
|
||||||
|
|
||||||
## rilua — карточка кандидата
|
## rilua — карточка кандидата
|
||||||
|
|
||||||
- **Problem solved:** Lua 5.1.1 VM, bytecode, embedding и официальный compatibility corpus для addon runtime.
|
- **Problem solved:** Lua 5.1.1 VM, bytecode, embedding и официальный compatibility corpus для addon runtime.
|
||||||
|
|||||||
@@ -22,6 +22,15 @@ effect buffers, M2 particles/ribbons и WMO portal traversal. Поскольку
|
|||||||
проверяется на build-12340 fixture и адаптируется к существующим Godot/M03
|
проверяется на build-12340 fixture и адаптируется к существующим Godot/M03
|
||||||
ownership, scheduling и finalization boundaries.
|
ownership, scheduling и finalization boundaries.
|
||||||
|
|
||||||
|
WoWee revision `8456c236b57140e98667d6d8188f5cd1cc226daf` добавляет полезные 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
|
||||||
|
частично аппроксимированы, tilted placement order не решён, а часть asset tests
|
||||||
|
silent-skips missing data. OpenWC fixtures обязаны фиксировать build 12340,
|
||||||
|
provenance/hash и фактическое исполнение. Из-за дополнительного license restriction
|
||||||
|
WoWee используется только как research reference без копирования/вендоринга кода.
|
||||||
|
|
||||||
Reference corpus принимает versioned CSV и приватные captures. Для каждой
|
Reference corpus принимает versioned CSV и приватные captures. Для каждой
|
||||||
выбранной локации базовый набор содержит две позиции: `wide` для sky/fog/WDL и
|
выбранной локации базовый набор содержит две позиции: `wide` для sky/fog/WDL и
|
||||||
общей композиции, `ground` для terrain/material/M2/WMO. Специализированные
|
общей композиции, `ground` для terrain/material/M2/WMO. Специализированные
|
||||||
|
|||||||
@@ -90,7 +90,13 @@
|
|||||||
|
|
||||||
- Original 3.3.5a FrameXML/Lua extracted from legally owned data is primary behavior corpus.
|
- 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.
|
- `rilua`/PUC-Rio are VM candidates/oracles, not complete WoW UI.
|
||||||
- WowBench/Wowser/WowUnreal/WoWee provide API/event/loader test ideas.
|
- WoWee revision `8456c236b57140e98667d6d8188f5cd1cc226daf` 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,
|
||||||
|
not its monolithic Lua/game binding, permissive unknown-API fallback or absent
|
||||||
|
secure/taint semantics; its restricted license also keeps it reference-only.
|
||||||
|
- WowBench/Wowser/WowUnreal provide additional API/event/loader test ideas.
|
||||||
- Pinned [Benilla](https://github.com/samwhosung/benilla) provides a strong
|
- Pinned [Benilla](https://github.com/samwhosung/benilla) provides a strong
|
||||||
engine-free TOC/FrameXML/Lua decomposition and compatibility-test reference:
|
engine-free TOC/FrameXML/Lua decomposition and compatibility-test reference:
|
||||||
document/load order, templates, anchors, widget identity, handler globals,
|
document/load order, templates, anchors, widget identity, handler globals,
|
||||||
|
|||||||
Reference in New Issue
Block a user