|
|
|
@@ -76,7 +76,51 @@ explicit `RenderSandbox` profile and are rejected by `Blizzlike335`.
|
|
|
|
|
|
|
|
|
|
## Status
|
|
|
|
|
|
|
|
|
|
- State: active
|
|
|
|
|
- Done: claim and isolated worktree from merged presentation master
|
|
|
|
|
- Next: implement capability contract, gate controller/player and add regressions
|
|
|
|
|
- State: ready-for-review
|
|
|
|
|
- Done: added immutable capability contract, gated sprint/free-flight, covered
|
|
|
|
|
pure and real-scene profiles and updated movement/input specifications
|
|
|
|
|
- Next: milestone integrator reviews and merges `742c415`
|
|
|
|
|
- Blocked by:
|
|
|
|
|
|
|
|
|
|
<!-- OPENWC_HANDOFF:READY:M02-GMP-SANDBOX-CAPABILITIES-001:742c415 -->
|
|
|
|
|
|
|
|
|
|
## Handoff
|
|
|
|
|
|
|
|
|
|
- Branch/commit: `work/sindo-main-codex/m02-sandbox-capabilities` at `742c415`.
|
|
|
|
|
- Outcome: debug sprint and free flight now require explicit
|
|
|
|
|
`PlayerMovementCapabilities.render_sandbox()`; `Blizzlike335`, unknown and
|
|
|
|
|
null capability inputs reject both effects.
|
|
|
|
|
- Public contract: immutable profile ID plus `allows_debug_sprint` and
|
|
|
|
|
`allows_debug_free_flight`; named factories map configuration once at the
|
|
|
|
|
composition boundary. The movement controller exposes its effective profile ID.
|
|
|
|
|
- Runtime composition: `ThirdPersonWowController.movement_profile_id` defaults
|
|
|
|
|
to `RenderSandbox`, preserving renderer-scene behavior. Selecting
|
|
|
|
|
`Blizzlike335` keeps ordinary movement while ignoring Shift/Space/E/Q effects.
|
|
|
|
|
- Verification: capability `profiles=3 sprint=2 flight=2 scenes=2 boundary=1`,
|
|
|
|
|
movement `cases=12 state_transitions=2`, input `actions=12 intent_cases=6`,
|
|
|
|
|
terrain `contract=4 interpolation=1 cache=1 failures=2`, camera
|
|
|
|
|
`state_cases=12 policy_cases=3`, presentation
|
|
|
|
|
`appearance_cases=9 animation_cases=10`, coordinate boundaries
|
|
|
|
|
`files=101 consumers=5`, and StreamingFocus `runtime_scenes=2 capture_tools=3` passed.
|
|
|
|
|
- Renderer: dry-run passed project/material/dedupe/cache/manifest/calibration/
|
|
|
|
|
coordinate/server-spawn gates and planned all seven checkpoints; the combined
|
|
|
|
|
run reported coordinate `files=103`. Missing proprietary GLB/DBC/ADT inputs
|
|
|
|
|
produced the expected diagnostics only.
|
|
|
|
|
- Repository gates: documentation `module_specs=8`, coordination
|
|
|
|
|
`fallback_claims=30`; five unrelated expired M00 claim warnings remain.
|
|
|
|
|
- Fidelity: this package provides negative evidence that sandbox-only debug
|
|
|
|
|
movement cannot alter the `Blizzlike335` profile. It does not prove ordinary
|
|
|
|
|
movement, bindings, flight or timing match build 12340.
|
|
|
|
|
- Migration: direct `LocalPlayerMovementController.new(...)` callers that need
|
|
|
|
|
debug behavior must now pass `render_sandbox()`; omitted/null capability is
|
|
|
|
|
intentionally compatibility-safe. Existing repository scenes require no edit.
|
|
|
|
|
- Cache/persistence: no schema, cache, binding or stored-profile migration.
|
|
|
|
|
- Local ignored inputs: native extension DLL, UID cache and generated ADT
|
|
|
|
|
resource scripts supported renderer verification and are not committed.
|
|
|
|
|
- Risks: runtime renderer scenes still default to `RenderSandbox`; the future
|
|
|
|
|
application shell must explicitly choose its profile. `Blizzlike335` currently
|
|
|
|
|
guarantees only debug exclusion, not complete movement fidelity.
|
|
|
|
|
- Recommended merge order: merge after presentation (already on master), then
|
|
|
|
|
perform the final M02 integration/evidence audit before any target closeout.
|
|
|
|
|
- Documentation: updated movement/input API, inputs/outputs, data flow, state,
|
|
|
|
|
sequence, ownership, failure/recovery, capabilities, verification and source maps.
|
|
|
|
|