docs(runtime): close canonical entity object lifetime
This commit is contained in:
parent
119b7c1151
commit
77c013998b
11 changed files with 249 additions and 43 deletions
|
|
@ -1,7 +1,6 @@
|
|||
# Modern runtime Slice J — presentation-independent runtime
|
||||
|
||||
**Status:** J0–J2 COMPLETE; J3.1–J3.5 COMPLETE; J3.6 adversarial lifetime
|
||||
hardening and zero-owner closeout are active
|
||||
**Status:** J0–J3 COMPLETE; J4 gameplay-state lifetime groups are active
|
||||
**Parent:** `2026-07-24-modern-runtime-architecture.md`, Slice J
|
||||
**Authorization:** the user approved Slices F–L, including the otherwise-frozen
|
||||
Slice J gameplay-owner moves, on 2026-07-24
|
||||
|
|
@ -183,20 +182,21 @@ git revert 75930787741db40a83eab8663e4464dce8d687ba
|
|||
**Detailed execution plan:**
|
||||
[`2026-07-25-modern-runtime-slice-j3.md`](2026-07-25-modern-runtime-slice-j3.md).
|
||||
|
||||
**Current checkpoint:** J3.1–J3.5 are complete. Runtime owns accepted entity
|
||||
**Completed 2026-07-26.** Runtime owns accepted entity
|
||||
wire state and the only canonical identity/incarnation/local-ID directory.
|
||||
App's `LiveEntityProjectionStore` and every materialized presentation/spatial
|
||||
workset are keyed by exact `RuntimeEntityKey`; the temporary GUID-shaped
|
||||
compatibility view is deleted. `RuntimeEntityObjectLifetime` now owns the
|
||||
exact entity directory and live `ClientObjectTable`; App, routing, interaction,
|
||||
and UI borrow both. Exact J3.5 binary `ce3ac310` now publishes one committed
|
||||
and UI borrow both. Exact J3.5 binary `ce3ac310` publishes one committed
|
||||
per-generation Runtime entity/object delta stream, issues identity before App
|
||||
hydration, and supplies direct allocation-free views to graphical and
|
||||
no-window hosts. App reconstructs neither entity nor inventory state/events.
|
||||
Its 8,472 Release tests / 5 skips and exact seven-checkpoint connected gate at
|
||||
`logs/connected-world-gate-20260726-064324/report.json` pass. J3.6 now
|
||||
failure-injects the complete lifetime and proves every reset/disposal owner
|
||||
converges to zero.
|
||||
J3.6 at `119b7c11` makes every canonical commit, callback, teardown receipt,
|
||||
reset, and direct disposal failure-safe and proves the full owner ledger
|
||||
converges to zero. Its 8,484 Release tests / 5 skips, exact seven-checkpoint
|
||||
lifecycle/reconnect gate, and canonical nine-stop route pass. Evidence:
|
||||
[`../research/2026-07-26-slice-j3-6-lifetime-closeout.md`](../research/2026-07-26-slice-j3-6-lifetime-closeout.md).
|
||||
|
||||
- Strip renderer, particle, Wb, and streaming components from the canonical
|
||||
record into an App projection store keyed only by local identity/incarnation.
|
||||
|
|
@ -213,6 +213,8 @@ match current traces; App has no server-GUID ownership.
|
|||
|
||||
### J4 — chat, inventory, magic, and gameplay-state services
|
||||
|
||||
**Active 2026-07-26.**
|
||||
|
||||
- Move canonical chat history/channel state, inventory transactions, spell and
|
||||
component state, enchantments, vitals, skills/attributes, and gameplay
|
||||
cooldown state by coherent owner groups.
|
||||
|
|
@ -224,6 +226,23 @@ match current traces; App has no server-GUID ownership.
|
|||
Gate: deterministic command/response traces and graphical ViewModel revisions
|
||||
match; no Runtime type references UI abstractions.
|
||||
|
||||
Detailed execution begins with a source-ownership inventory. Move one coherent
|
||||
lifetime group at a time in this order:
|
||||
|
||||
1. chat history/channel/command state;
|
||||
2. inventory transaction and gameplay item-use state that is not already
|
||||
canonical in `RuntimeEntityObjectLifetime`;
|
||||
3. learned spells, formulas/components, enchantments, and cast/cooldown state;
|
||||
4. vitals, skills, attributes, advancement, and target/combat gameplay state;
|
||||
5. plugin/bot borrowed views and typed commands over those same owners;
|
||||
6. delete every replaced App owner/adapter, then run the combined no-window,
|
||||
graphical parity, teardown, Release, lifecycle/reconnect, and nine-stop
|
||||
gates.
|
||||
|
||||
Panel trees, text layout, icons, 3-D paperdolls, status bars, and animation/VFX
|
||||
remain App presentation. The inventory object collection already moved in J3;
|
||||
J4 must borrow it rather than create another inventory model.
|
||||
|
||||
### J5 — movement, physics, interaction, and combat group
|
||||
|
||||
- Move presentation-free movement interpretation, authoritative/predicted
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue