refactor(runtime): define the update-frame contract

This commit is contained in:
Erik 2026-07-22 00:15:27 +02:00
parent a36a7015c4
commit 99a3e819c4
8 changed files with 646 additions and 26 deletions

View file

@ -13,7 +13,7 @@ never hidden behind a retry, delay, suppression flag, or reordered callback.
## Progress ledger
- [ ] A — freeze the complete production phase graph and introduce the typed
- [x] A — freeze the complete production phase graph and introduce the typed
orchestration contract plus structural/order guards.
- [ ] B — extract the pre-network live-object presentation phase and the
non-advancing post-network spatial reconciler; remove callbacks into
@ -35,6 +35,13 @@ never hidden behind a retry, delay, suppression flag, or reordered callback.
Every checked checkpoint is committed as one bisectable architectural unit.
Documentation records the exact commit and accepted test count as work lands.
Checkpoint A introduced the internal `AcDream.App.Update` contract, one typed
`UpdateFrameClock`/`IPhysicsScriptTimeSource`, the twelve-phase outer-order
oracle, exact teardown and invalid-delta tests, and guards against a transitive
`GameWindow` clock capture. Production now publishes PES time once per update;
18 focused Release tests and the full 2,709-test App project pass, and all
three corrected-diff reviews are clean.
## 1. Outcome and non-goals
At slice exit, `GameWindow.OnUpdate` starts the profiler scope and delegates one