Add Unity command receipt boundary
This commit is contained in:
parent
c66d3fb590
commit
ccbaba2a05
11 changed files with 218 additions and 22 deletions
|
|
@ -617,7 +617,10 @@ Recently cut:
|
|||
`EveUnityPlayableWorldLiveClient` now composes the provider connection with
|
||||
the playable-world presenter, so provider snapshots immediately drive scene
|
||||
presentation and Unity input still exits through the provider command sink
|
||||
rather than local simulation.
|
||||
rather than local simulation. The same live client now observes provider
|
||||
command receipts through `IEveUnitySceneCommandReceiptSource`: pending
|
||||
receipts remain status only, while accepted or reconciled receipts refresh
|
||||
from the provider surface source instead of moving entities locally.
|
||||
`EveUnityPlayableWorldPresenter` now maps provider-authored entity rows and
|
||||
asset refs into scene sink operations, including removal of entities absent
|
||||
from later provider snapshots, without importing Aetheria entity/prefab
|
||||
|
|
@ -634,8 +637,8 @@ Recently cut:
|
|||
Unity client boundary is generic before it learns live transport. The next
|
||||
blocker is the live generic Unity player loop: implement that CultMesh/CultNet
|
||||
adapter, implement the concrete CultMesh/CultCache asset-manifest source, and
|
||||
route provider receipts/next frames through the live client rather than
|
||||
renderer-local simulation.
|
||||
prove provider receipts plus daemon snapshots drive rendered Unity frames
|
||||
rather than renderer-local simulation.
|
||||
- EveElectron capture lifecycle now carries the same kind of structured pending
|
||||
capture contract. `captureContract` names the Electron shell runtime, capture
|
||||
kind, PNG artifact pattern, conformance attachment point, required Aetheria
|
||||
|
|
|
|||
|
|
@ -489,6 +489,11 @@ runtime-owned port to implement. The runtime now also declares
|
|||
provider connection with `EveUnityPlayableWorldPresenter`, applies every live
|
||||
snapshot to the scene sink, and delegates player intent back to the advertised
|
||||
provider command boundary. The runtime now also declares
|
||||
`providerCommandReceipts`: `IEveUnitySceneCommandReceiptSource` and
|
||||
`EveUnitySceneCommandReceipt` keep provider-owned pending/accepted/denied/
|
||||
reconciled command status distinct from scene state; accepted or reconciled
|
||||
receipts can refresh the provider snapshot, but receipts do not mutate world
|
||||
entities. The runtime now also declares
|
||||
`playableWorldScenePresentation`: `EveUnityPlayableWorldPresenter` maps
|
||||
provider-authored entity rows and asset refs into scene sink operations while
|
||||
removing entities absent from later provider snapshots. The runtime now also
|
||||
|
|
@ -504,8 +509,8 @@ and `EveUnityPlayableWorldAssetManifestCache` key live manifest updates by the
|
|||
`playableWorld.AssetManifest` pointer, giving the future CultMesh/CultCache
|
||||
reader a narrow slot that does not change scene lowering. The remaining blocker
|
||||
is the live CultMesh/CultNet adapter, a concrete CultMesh/CultCache provider
|
||||
asset-manifest source, receipt-aware refresh through the live client, and Unity
|
||||
screenshot or frame-capture PNG production from EveUnity.
|
||||
asset-manifest source, and Unity screenshot or frame-capture PNG production from
|
||||
EveUnity.
|
||||
|
||||
Runtime capture probe coverage is exported as `runtimeCaptureProbeCoverage[]`.
|
||||
Each record joins runtime status, capture owner, lifecycle capture contract,
|
||||
|
|
|
|||
|
|
@ -166,8 +166,11 @@ radii, asset refs, controllability, and command affordances. The generic
|
|||
while `IEveUnitySceneCommandSink` receives command envelopes.
|
||||
`EveUnityPlayableWorldLiveClient` composes that connection with the playable
|
||||
world presenter: every provider snapshot is lowered into a presentation pass,
|
||||
and Unity input still emits provider-owned command intents rather than mutating
|
||||
local world truth.
|
||||
Unity input still emits provider-owned command intents rather than mutating
|
||||
local world truth, and `IEveUnitySceneCommandReceiptSource` reports provider
|
||||
receipts as derived command status. Pending receipts do not move the scene;
|
||||
accepted or reconciled receipts only trigger a refresh from the provider surface
|
||||
source, so the next presentation still comes from daemon-authored state.
|
||||
`EveUnityPlayableWorldPresenter` maps the provider-authored entity rows and
|
||||
asset refs into scene operations through `IEveUnityPlayableWorldSceneSink` and
|
||||
`IEveUnityPlayableWorldAssetResolver`, including removal of entities that
|
||||
|
|
@ -188,9 +191,9 @@ locally.
|
|||
|
||||
This is not yet the final playable client. The remaining cut is a live
|
||||
CultMesh/CultNet provider subscription adapter implementing those source/sink
|
||||
ports, a concrete CultMesh/CultCache asset-manifest source implementation,
|
||||
receipt-aware refresh over the same live client, and proof that daemon receipts
|
||||
drive the next rendered Unity frame rather than renderer-local state.
|
||||
ports, a concrete CultMesh/CultCache asset-manifest source implementation, and
|
||||
proof that daemon receipts plus provider snapshots drive the next rendered
|
||||
Unity frame rather than renderer-local state.
|
||||
|
||||
## Non-Goals
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue