feat(runtime): expose dormant placement receipts
This commit is contained in:
parent
4c02ac4259
commit
270f5154b9
9 changed files with 223 additions and 4 deletions
|
|
@ -262,6 +262,36 @@ Two boundaries intentionally remain open for 4B2:
|
|||
the per-object report/tracking owner required for that boolean is not yet in
|
||||
Runtime, and the former environment/object-presence guess is forbidden.
|
||||
|
||||
### Slice 4B2 checkpoint 1 — public dormant host seam
|
||||
|
||||
The first 4B2 checkpoint exposes the dormant receipt owner through
|
||||
`RuntimePlacementProjectionChannel`. Graphical and no-window hosts can observe
|
||||
the one ordered placement stream, retry the exact immutable pending receipts,
|
||||
peek the FIFO head, measure pending debt, and acknowledge only the exact head.
|
||||
Mutation and retry calls require the current `RuntimeGenerationToken`; a stale
|
||||
generation, stale revision, reordered token, duplicate acknowledgement, or
|
||||
reused GUID cannot consume current placement debt. The channel delegates to
|
||||
`RuntimeSetPositionState` and `RuntimeEntityObjectEventStream`; it owns no
|
||||
second queue, mirror, or rollback path.
|
||||
|
||||
Shared local-controller body adoption is deliberately deferred. A reviewed
|
||||
prototype that prepared directly on the canonical body was rejected: a
|
||||
snapshot/rollback lease cannot safely coexist with reentrant SetPosition,
|
||||
remote/projectile binding, deletion/GUID reuse, owner replacement, object-clock
|
||||
epoch changes, or disposal. Correct adoption requires either an exclusive
|
||||
Runtime transaction integrated with every canonical writer, or off-canonical
|
||||
preparation followed by one validated atomic body/controller publication.
|
||||
Either choice belongs to the all-route ownership cutover, not this narrow
|
||||
dormant-seam checkpoint.
|
||||
|
||||
This is still a deliberately non-activating checkpoint. Production spawn,
|
||||
Position, projectile, drop/pickup/parent, and portal routes do not submit to
|
||||
the dormant SetPosition owner yet. The cutover remains blocked on the real
|
||||
retail collision report/tracking return, exact ordered Setup spheres/scale/
|
||||
step heights/flags/cell-local preparation, presentation-only rebucketing, and
|
||||
placement-prefix quiescence before collision retirement. AP-1 and AD-1 remain
|
||||
open until those prerequisites and every production route land together.
|
||||
|
||||
AD-2 remains the explicit async adaptation: collision readiness can publish in
|
||||
a different frame from retail's blocking load. A failed wake is safely re-
|
||||
indexed to the next exact generation instead of inheriting retail's
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue