dd412e6d0d
Work-Package: M01-QAR-INTEGRATOR-CLOSEOUT-001 Agent: sindo-main-codex Tests: all M01 domain gates, unified renderer dry-run, coordination and documentation gates Fidelity: five build-12340 points, raw ADT and mapped AzerothCore spawn evidence; no 1:1 claim
3.6 KiB
3.6 KiB
M01 — Coordinates and Architecture Seams
Outcome
Ввести независимые от scene tree типы координат, identity и streaming focus.
Steps
- Создать domain/value-object слой без
Node/Resourcedependencies. - Определить canonical WoW, Godot, ADT tile/chunk и local coordinate types.
- Реализовать единственный
CoordinateMapperдля position и orientation. - Собрать golden points из ADT, server spawn и оригинального клиента.
- Ввести
StreamingFocusвместо неявной зависимости от active Camera3D. - Ввести stable
ContentId,EntityIdи отличить их от WoW GUID/server entry. - Запретить ручные axis conversion через code review rule/test search.
Verification
- Unit round-trip и boundary tests для всех coordinate spaces.
- Golden server spawn отображается в ожидаемой точке renderer.
- Existing render checkpoints не ухудшились.
Exit criteria
Renderer/test scene получают focus через контракт; координаты конвертируются централизованно; domain tests работают headless без сцены.
Evidence
- Date: 2026-07-14
- Revision/worktree: merged master
c8e99f2; closeoutwork/sindo-main-codex/m01-integrator-closeout - Commands:
tools/run_render_baseline.ps1 -DryRun -WaitSeconds 0.1 -MeasureSeconds 0.1;verify_coordinate_mapper.gd;verify_coordinate_golden_fixtures.gd;verify_streaming_focus.gd;verify_domain_identities.gd; coordination/documentation/diff gates. - Results: CoordinateMapper PASS (
5golden points,8tile boundaries,2raw MCNK,5yaw); golden fixtures PASS (1server spawn,1raw ADT,5original-client points); StreamingFocus PASS (1contract,2runtime scenes,3capture tools); identities PASS (5/5/6/5); conversion boundary PASS (84files, one native boundary, one oracle, four consumers, six classifiers); server-spawn renderer PASS at ADT(32,48), MCNK(3,12); renderer manifest PASS (7/7/7) and calibration maximum error0.000015. - Fidelity comparison: five build-12340 camera observations, pinned AzerothCore
Human Warrior spawn and private raw ADT metadata agree through coordinate
contract version 2. Cache-complete cold/warm GUI capture places the mapped
spawn marker on rendered Northshire terrain with focus
(32,48), quality100/100, missing cache0; PNG SHA-256 values are recorded in the server spawn handoff. The final ADT-boundary regression passed2/2; the full M01 regression captured14/14, with11strict passes and three low-mean timing/animation-phase differences rather than coordinate drift. - Changed files:
src/domain/coordinates/,src/domain/identity/,src/domain/streaming/, migrated sky/player/streaming/terrain consumers, coordinate/renderer fixtures and tools, runtime scenes, ADR 0001/0002, coordinate/domain/renderer module specs, coding/render documentation and M01 coordination claims. - Remaining risks: TrinityCore populated spawn equivalence is not verified;
native parser conversion remains one separately calibrated boundary; MDDF/
MODF placement Euler parity is outside world-yaw scope; renderer visual parity
gaps and the known anonymous ObjectDB teardown warning continue. No
1:1compatibility claim is made by M01.