Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d9c847c557 | |||
| 1bf5b526be | |||
| eb122d52a9 |
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
<!-- OPENWC_CLAIM:M02-GMP-INPUT-001:sindo-main-codex:2026-07-16 -->
|
<!-- OPENWC_CLAIM:M02-GMP-INPUT-001:sindo-main-codex:2026-07-16 -->
|
||||||
<!-- OPENWC_HANDOFF:READY:M02-GMP-INPUT-001:6bd2e84 -->
|
<!-- OPENWC_HANDOFF:READY:M02-GMP-INPUT-001:6bd2e84 -->
|
||||||
|
<!-- OPENWC_INTEGRATION:ACCEPTED:M02-GMP-INPUT-001:14dead1 -->
|
||||||
|
|
||||||
## Ownership
|
## Ownership
|
||||||
|
|
||||||
|
|||||||
@@ -86,6 +86,7 @@ turn consumption at the server-contract default turn rate.
|
|||||||
- Blocked by:
|
- Blocked by:
|
||||||
|
|
||||||
<!-- OPENWC_HANDOFF:READY:M02-GMP-INPUT-PROFILE-335-001:8776a6b -->
|
<!-- OPENWC_HANDOFF:READY:M02-GMP-INPUT-PROFILE-335-001:8776a6b -->
|
||||||
|
<!-- OPENWC_INTEGRATION:ACCEPTED:M02-GMP-INPUT-PROFILE-335-001:eb122d5 -->
|
||||||
|
|
||||||
## Handoff
|
## Handoff
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
<!-- OPENWC_CLAIM:M02-GMP-MOVEMENT-001:sindo-main-codex:2026-07-16 -->
|
<!-- OPENWC_CLAIM:M02-GMP-MOVEMENT-001:sindo-main-codex:2026-07-16 -->
|
||||||
<!-- OPENWC_HANDOFF:READY:M02-GMP-MOVEMENT-001:435e1c9 -->
|
<!-- OPENWC_HANDOFF:READY:M02-GMP-MOVEMENT-001:435e1c9 -->
|
||||||
|
<!-- OPENWC_INTEGRATION:ACCEPTED:M02-GMP-MOVEMENT-001:5206c42 -->
|
||||||
|
|
||||||
## Ownership
|
## Ownership
|
||||||
|
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ explicit `RenderSandbox` profile and are rejected by `Blizzlike335`.
|
|||||||
- Blocked by:
|
- Blocked by:
|
||||||
|
|
||||||
<!-- OPENWC_HANDOFF:READY:M02-GMP-SANDBOX-CAPABILITIES-001:742c415 -->
|
<!-- OPENWC_HANDOFF:READY:M02-GMP-SANDBOX-CAPABILITIES-001:742c415 -->
|
||||||
|
<!-- OPENWC_INTEGRATION:ACCEPTED:M02-GMP-SANDBOX-CAPABILITIES-001:c3094c9 -->
|
||||||
|
|
||||||
## Handoff
|
## Handoff
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
<!-- OPENWC_CLAIM:M02-GMP-TERRAIN-QUERY-001:sindo-main-codex:2026-07-16 -->
|
<!-- OPENWC_CLAIM:M02-GMP-TERRAIN-QUERY-001:sindo-main-codex:2026-07-16 -->
|
||||||
<!-- OPENWC_HANDOFF:READY:M02-GMP-TERRAIN-QUERY-001:a45d521 -->
|
<!-- OPENWC_HANDOFF:READY:M02-GMP-TERRAIN-QUERY-001:a45d521 -->
|
||||||
|
<!-- OPENWC_INTEGRATION:ACCEPTED:M02-GMP-TERRAIN-QUERY-001:f5bb64e -->
|
||||||
|
|
||||||
## Ownership
|
## Ownership
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,111 @@
|
|||||||
|
# M02-QAR-INTEGRATOR-CLOSEOUT-001 — M02 milestone closeout
|
||||||
|
|
||||||
|
<!-- OPENWC_CLAIM:M02-QAR-INTEGRATOR-CLOSEOUT-001:sindo-main-codex:2026-07-17 -->
|
||||||
|
|
||||||
|
## Ownership
|
||||||
|
|
||||||
|
- Target: M02
|
||||||
|
- Program: QAR
|
||||||
|
- Owner/Agent ID: sindo-main-codex
|
||||||
|
- Branch: `work/sindo-main-codex/m02-integrator-closeout`
|
||||||
|
- Lease expires UTC: 2026-07-17
|
||||||
|
- Integrator: sindo-main-codex, continuing the user-directed milestone workflow on 2026-07-15
|
||||||
|
|
||||||
|
## Outcome
|
||||||
|
|
||||||
|
Audit every merged M02 package on current master, record final structural and
|
||||||
|
fidelity evidence, close M02 and activate M03 only when all target and repository
|
||||||
|
gates pass.
|
||||||
|
|
||||||
|
## Non-goals
|
||||||
|
|
||||||
|
- Change player, movement, terrain, camera, presentation or renderer behavior.
|
||||||
|
- Claim complete WoW 3.3.5a locomotion/camera parity.
|
||||||
|
- Implement recorded jump/fall/swim/fly, collision or timing gaps.
|
||||||
|
- Commit proprietary assets, generated UIDs, caches or user scene changes.
|
||||||
|
|
||||||
|
## Paths
|
||||||
|
|
||||||
|
- Exclusive: M02/M03 target status, M02 final Evidence, all M02 claim acceptance markers
|
||||||
|
- Shared/hotspots: `targets/README.md`, `targets/DEVELOPMENT_ROADMAP.md`, this claim
|
||||||
|
- Generated/ignored: local Godot imports, native DLL, renderer corpus and `user://` reports
|
||||||
|
|
||||||
|
## Contracts and data
|
||||||
|
|
||||||
|
- Runtime APIs, Input Map actions, fixture schemas and cache formats: unchanged
|
||||||
|
- Consumers: milestone sequence and future M03 renderer-facade packages
|
||||||
|
- Fidelity classification distinguishes direct build-12340 binding evidence,
|
||||||
|
server/reference compatibility evidence and explicitly unverified gaps
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
- Requires: all seven M02 READY packages integrated through master `eb122d5`
|
||||||
|
- Blocks: M03 activation
|
||||||
|
- External state: private original-client files are hash/provenance inputs only
|
||||||
|
|
||||||
|
## Verification
|
||||||
|
|
||||||
|
- Commands: all M02 input/movement/capability/terrain/camera/presentation tests,
|
||||||
|
coordinate/streaming boundaries, unified renderer dry-run, documentation,
|
||||||
|
coordination and diff hygiene
|
||||||
|
- Fidelity evidence: build-12340 default binding hashes and selected facts;
|
||||||
|
pinned TrinityCore turn rate; public reference routing; explicit remaining gaps
|
||||||
|
- Performance: no runtime change; renderer baseline remains the performance guard
|
||||||
|
|
||||||
|
## Documentation deliverables
|
||||||
|
|
||||||
|
- M02 final target Evidence/checklist and limitation statement
|
||||||
|
- M02 claim integration-acceptance markers
|
||||||
|
- Target index and roadmap transition to M03
|
||||||
|
- Existing API/module specifications and diagrams audited without behavioral edits
|
||||||
|
|
||||||
|
## Simplicity and naming
|
||||||
|
|
||||||
|
- Important names introduced: none beyond the closeout work-package ID
|
||||||
|
- Simplest approach: evidence/status-only integrator patch
|
||||||
|
- Rejected complexity: behavioral fixes or a new closeout framework
|
||||||
|
- Unavoidable complexity: explicit evidence classification prevents false 1:1 claims
|
||||||
|
|
||||||
|
## Status
|
||||||
|
|
||||||
|
- State: ready-for-review
|
||||||
|
- Done: accepted seven M02 packages, reran post-merge gates, recorded complete
|
||||||
|
target Evidence, closed M02 and activated M03
|
||||||
|
- Next: merge closeout commit `1bf5b52` before starting an M03 implementation claim
|
||||||
|
- Blocked by:
|
||||||
|
|
||||||
|
<!-- OPENWC_HANDOFF:READY:M02-QAR-INTEGRATOR-CLOSEOUT-001:1bf5b52 -->
|
||||||
|
|
||||||
|
## Handoff
|
||||||
|
|
||||||
|
- Commit: `1bf5b52`.
|
||||||
|
- Branch: `work/sindo-main-codex/m02-integrator-closeout`.
|
||||||
|
- Outcome: M02 is `DONE` with all eight structural checklist items and complete
|
||||||
|
classified Evidence; M03 is the only `ACTIVE` target and the target index/
|
||||||
|
roadmap point to renderer-facade extraction.
|
||||||
|
- Integration audit: all seven READY implementation commits are ancestors of
|
||||||
|
merged master `eb122d5`; their claims now carry the corresponding
|
||||||
|
`OPENWC_INTEGRATION:ACCEPTED` merge markers.
|
||||||
|
- Verification: input `16/9/3/1/3`, movement `15` cases and `2` transitions,
|
||||||
|
capability `3` profiles and `2` scenes, terrain `4/1/1/2`, camera `12/3`,
|
||||||
|
presentation `9/10/3`, coordinate boundaries `103` files and StreamingFocus
|
||||||
|
`2` runtime scenes/`3` capture tools all passed. Unified renderer dry-run
|
||||||
|
passed project/material/dedupe/shutdown gates, manifest `7/7/7`, calibration
|
||||||
|
maximum error `0.000015`, server-spawn renderer and seven checkpoint plans.
|
||||||
|
- Repository gates: documentation passed with `8` module specs and `7` required
|
||||||
|
files. Coordination passed with one active target; `13` expired M00 claim
|
||||||
|
warnings are historical and unrelated to M02.
|
||||||
|
- Fidelity: direct build-12340 binding hashes/facts are preserved in the
|
||||||
|
sanitized fixture. TrinityCore turn rate and WoWee mouse routing remain
|
||||||
|
explicitly reference-only. Translation speeds/camera values are sandbox
|
||||||
|
regressions, and jump/fall/swim/fly parity remains unimplemented/unverified.
|
||||||
|
Debug sprint/free flight is negatively proven absent from `Blizzlike335`.
|
||||||
|
- Remaining risks: target Evidence carries exact follow-up scope for M09/M10/M12:
|
||||||
|
movement/camera timing, jump/fall/swim/fly, autorun/LMB semantics, active
|
||||||
|
collision, terrain/liquid policy, persisted bindings, server authority and
|
||||||
|
prediction/reconciliation. No complete `1:1` claim is made.
|
||||||
|
- Runtime/cache/migration: no behavioral change, dependency, cache schema or
|
||||||
|
persisted settings migration in closeout.
|
||||||
|
- Documentation: M02 target Evidence/checklist, seven acceptance markers,
|
||||||
|
target index and roadmap state updated. Existing input, movement, terrain,
|
||||||
|
camera and presentation API/module specs and diagrams passed the documentation gate.
|
||||||
@@ -90,6 +90,7 @@ no-collision sandbox baseline.
|
|||||||
- Blocked by:
|
- Blocked by:
|
||||||
|
|
||||||
<!-- OPENWC_HANDOFF:READY:M02-RND-CAMERA-001:8c1cf9b -->
|
<!-- OPENWC_HANDOFF:READY:M02-RND-CAMERA-001:8c1cf9b -->
|
||||||
|
<!-- OPENWC_INTEGRATION:ACCEPTED:M02-RND-CAMERA-001:68e6f60 -->
|
||||||
|
|
||||||
## Handoff
|
## Handoff
|
||||||
|
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ components without changing the current sandbox presentation.
|
|||||||
- Blocked by:
|
- Blocked by:
|
||||||
|
|
||||||
<!-- OPENWC_HANDOFF:READY:M02-RND-CHARACTER-PRESENTATION-001:97bb53f -->
|
<!-- OPENWC_HANDOFF:READY:M02-RND-CHARACTER-PRESENTATION-001:97bb53f -->
|
||||||
|
<!-- OPENWC_INTEGRATION:ACCEPTED:M02-RND-CHARACTER-PRESENTATION-001:8c71e46 -->
|
||||||
|
|
||||||
## Handoff
|
## Handoff
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
# M02 — Player Decomposition
|
# M02 — Player Decomposition
|
||||||
|
|
||||||
<!-- OPENWC_TARGET:ACTIVE -->
|
<!-- OPENWC_TARGET:DONE -->
|
||||||
|
<!-- OPENWC_TARGET_DONE:M02:work/sindo-main-codex/m02-integrator-closeout:2026-07-15 -->
|
||||||
|
|
||||||
## Outcome
|
## Outcome
|
||||||
|
|
||||||
@@ -8,14 +9,14 @@
|
|||||||
|
|
||||||
## Steps
|
## Steps
|
||||||
|
|
||||||
- [ ] Заменить hardcoded keys на remappable Input Map actions с профилем 3.3.5a.
|
- [x] Заменить hardcoded keys на remappable Input Map actions с профилем 3.3.5a.
|
||||||
- [ ] Выделить `PlayerInputSource → MoveIntent`.
|
- [x] Выделить `PlayerInputSource → MoveIntent`.
|
||||||
- [ ] Выделить local movement state/controller.
|
- [x] Выделить local movement state/controller.
|
||||||
- [ ] Выделить `TerrainQuery` и убрать прямой ADT parsing из player.
|
- [x] Выделить `TerrainQuery` и убрать прямой ADT parsing из player.
|
||||||
- [ ] Выделить third-person camera rig и camera collision policy.
|
- [x] Выделить third-person camera rig и camera collision policy.
|
||||||
- [ ] Выделить character appearance и animation presenters.
|
- [x] Выделить character appearance и animation presenters.
|
||||||
- [ ] Оставить sprint/flight debug-функции только в sandbox profile.
|
- [x] Оставить sprint/flight debug-функции только в sandbox profile.
|
||||||
- [ ] Добавить movement/camera state tests и regression scene.
|
- [x] Добавить movement/camera state tests и regression scene.
|
||||||
|
|
||||||
## Fidelity evidence
|
## Fidelity evidence
|
||||||
|
|
||||||
@@ -27,10 +28,47 @@
|
|||||||
|
|
||||||
## Evidence
|
## Evidence
|
||||||
|
|
||||||
- Date:
|
- Date: 2026-07-15
|
||||||
- Revision/worktree:
|
- Revision/worktree: merged master `eb122d5`; closeout
|
||||||
- Commands:
|
`work/sindo-main-codex/m02-integrator-closeout`.
|
||||||
- Results:
|
- Commands: `verify_player_input.gd`; `verify_local_player_movement.gd`;
|
||||||
- Fidelity comparison:
|
`verify_player_movement_capabilities.gd`; `verify_terrain_query.gd`;
|
||||||
- Changed files:
|
`verify_third_person_camera_rig.gd`; `verify_character_presentation.gd`;
|
||||||
- Remaining risks:
|
`verify_coordinate_conversion_boundaries.gd`; `verify_streaming_focus.gd`;
|
||||||
|
`tools/run_render_baseline.ps1 -DryRun`; documentation, coordination and
|
||||||
|
diff-hygiene gates.
|
||||||
|
- Results: input PASS (`16` actions, `9` intent cases, `3` profiles, one
|
||||||
|
provenance fixture, `3` real-scene cases); movement PASS (`15` cases, `2`
|
||||||
|
state transitions); profile capabilities PASS (`3` profiles, sprint/flight
|
||||||
|
allow/reject and `2` scenes); terrain PASS (`4` contract, interpolation,
|
||||||
|
cache and `2` failure cases); camera PASS (`12` state and `3` policy cases);
|
||||||
|
presentation PASS (`9` appearance and `10` animation cases across `3`
|
||||||
|
scenes); coordinate boundary PASS (`103` files, `5` consumers); StreamingFocus
|
||||||
|
PASS (`2` runtime scenes, `3` capture tools). Renderer dry-run passed project,
|
||||||
|
material, dedupe and shutdown gates, manifest `7/7/7`, calibration maximum
|
||||||
|
error `0.000015`, server-spawn renderer and all seven planned checkpoints.
|
||||||
|
- Fidelity comparison: selected build-12340 default bindings are direct private
|
||||||
|
observations pinned by `DefaultBindings.wtf` SHA-256
|
||||||
|
`35FFA0E4E2356A13A0633A848F9E57ABE7DF9D8A16C2245E15D33013AD2F56A5`
|
||||||
|
and `Bindings.xml` SHA-256
|
||||||
|
`2E01276AFB7462F1417710F13B4BF1A456341F7F28CC8AE0D6D9C7442D7F6793`;
|
||||||
|
only sanitized selected facts are committed. `3.141594` rad/s keyboard turn
|
||||||
|
is pinned to TrinityCore 3.3.5 revision
|
||||||
|
`2853a621d6af91a803787a2b8a509f4ce3e0300d`; right-mouse A/D strafe routing
|
||||||
|
is supported by WoWee revision `626243e937fb93965fa583a6507ed5a1aa7dda4b`.
|
||||||
|
These two sources are compatibility references, not direct client timing/
|
||||||
|
conditional-behavior proof. Translation speeds and camera values remain
|
||||||
|
sandbox regression baselines rather than original-client parity evidence;
|
||||||
|
jump/fall/swim/fly gameplay is not implemented by this decomposition target.
|
||||||
|
Debug sprint/free flight is proven unable to execute in `Blizzlike335`.
|
||||||
|
- Changed files: typed input intent/actions/source, local movement/capabilities,
|
||||||
|
terrain query, camera rig/collision policy, character appearance/animation
|
||||||
|
presenters, player composition, Input Map configuration, asset-free regression
|
||||||
|
scenes, sanitized input fixture, M02 verifiers, module specifications and M02
|
||||||
|
coordination claims.
|
||||||
|
- Remaining risks: direct build-12340 timing evidence for movement/camera,
|
||||||
|
jump/fall/swim/fly, autorun, left-button camera/select behavior, active camera
|
||||||
|
collision, terrain slopes/holes/liquids, persisted keybindings, server authority,
|
||||||
|
prediction and reconciliation remain for M09/M10/M12. Runtime renderer scenes
|
||||||
|
continue to default to explicit `RenderSandbox` until an application shell
|
||||||
|
selects `Blizzlike335`. M02 makes no complete `1:1` compatibility claim.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# M03 — Renderer Facade and Safe Extraction
|
# M03 — Renderer Facade and Safe Extraction
|
||||||
|
|
||||||
<!-- OPENWC_TARGET:OPEN -->
|
<!-- OPENWC_TARGET:ACTIVE -->
|
||||||
|
|
||||||
## Outcome
|
## Outcome
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ OpenWC должен предоставить четыре согласованн
|
|||||||
|
|
||||||
- MPQ/BLP/ADT/WDT/M2/WMO native parsing и renderer vertical slice уже существуют.
|
- MPQ/BLP/ADT/WDT/M2/WMO native parsing и renderer vertical slice уже существуют.
|
||||||
- Runtime streaming, terrain quality, MultiMesh M2, WMO caches, liquids, sky и character experiments находятся в рабочем состоянии, но сосредоточены в крупных orchestration scripts.
|
- Runtime streaming, terrain quality, MultiMesh M2, WMO caches, liquids, sky и character experiments находятся в рабочем состоянии, но сосредоточены в крупных orchestration scripts.
|
||||||
- Renderer baseline M00 завершён: paired comparison с оригинальным клиентом записывает измеренные gaps без заявления parity, а обязательные diagnostic gaps закрыты или явно классифицированы. M01 завершил coordinate, identity и streaming-focus seams; текущая работа M02 декомпозирует player input, movement, terrain query, camera и presentation без observable regression.
|
- Renderer baseline M00 завершён: paired comparison с оригинальным клиентом записывает измеренные gaps без заявления parity, а обязательные diagnostic gaps закрыты или явно классифицированы. M01 завершил coordinate, identity и streaming-focus seams; M02 декомпозировал player input, movement, terrain query, camera и presentation без observable regression. Текущая работа M03 закрывает renderer стабильным facade и извлекает planner/scheduler без rewrite.
|
||||||
- Gameplay domain, network protocol, production UI/Lua, audio orchestration и server adapters в основном предстоит реализовать.
|
- Gameplay domain, network protocol, production UI/Lua, audio orchestration и server adapters в основном предстоит реализовать.
|
||||||
- Editor plugin пока решает extraction/preview задачи, но не является полноценной authoring platform.
|
- Editor plugin пока решает extraction/preview задачи, но не является полноценной authoring platform.
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
## Current target
|
## Current target
|
||||||
|
|
||||||
`M02` — [02-player-decomposition.md](02-player-decomposition.md)
|
`M03` — [03-renderer-facade.md](03-renderer-facade.md)
|
||||||
|
|
||||||
Одновременно `ACTIVE` может быть только одна цель. Следующая цель становится `ACTIVE` после появления валидной `OPENWC_TARGET_DONE` метки у предыдущей.
|
Одновременно `ACTIVE` может быть только одна цель. Следующая цель становится `ACTIVE` после появления валидной `OPENWC_TARGET_DONE` метки у предыдущей.
|
||||||
|
|
||||||
@@ -35,8 +35,8 @@
|
|||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| M00 | [Renderer baseline](00-render-baseline.md) | — | DONE |
|
| M00 | [Renderer baseline](00-render-baseline.md) | — | DONE |
|
||||||
| M01 | [Coordinates and architecture seams](01-coordinates-and-seams.md) | M00 | DONE |
|
| M01 | [Coordinates and architecture seams](01-coordinates-and-seams.md) | M00 | DONE |
|
||||||
| M02 | [Player decomposition](02-player-decomposition.md) | M01 | ACTIVE |
|
| M02 | [Player decomposition](02-player-decomposition.md) | M01 | DONE |
|
||||||
| M03 | [Renderer facade and extraction](03-renderer-facade.md) | M02 | OPEN |
|
| M03 | [Renderer facade and extraction](03-renderer-facade.md) | M02 | ACTIVE |
|
||||||
| M04 | [Godot Editor shell](04-editor-shell.md) | M03 | OPEN |
|
| M04 | [Godot Editor shell](04-editor-shell.md) | M03 | OPEN |
|
||||||
| M05 | [Content Project](05-content-project.md) | M04 | OPEN |
|
| M05 | [Content Project](05-content-project.md) | M04 | OPEN |
|
||||||
| M06 | [Server database adapters](06-server-adapters.md) | M05 | OPEN |
|
| M06 | [Server database adapters](06-server-adapters.md) | M05 | OPEN |
|
||||||
|
|||||||
Reference in New Issue
Block a user