Use Aetheria state handles for render feeds
This commit is contained in:
parent
e0e8265682
commit
69327bbe19
5 changed files with 35 additions and 8 deletions
|
|
@ -325,11 +325,17 @@ Assert-NotContains $actionGameManager "ResolveClient(stateBoot.StateFilePath).Op
|
|||
Assert-NotContains $actionGameManager "ItemManager = new ItemManager(" "ActionGameManager must not construct ItemManager directly."
|
||||
Assert-NotContains $actionGameManager "ZoneRenderer.SetDroppedPickupItemProjector(" "ActionGameManager must not configure renderer pickup projection directly."
|
||||
Assert-NotContains $actionGameManager "ZoneRenderer.BodySettingsCollections = Settings.BodySettingsCollections" "ActionGameManager must not configure renderer body settings directly."
|
||||
Assert-Contains $observedFrameApplier "ZoneRenderAsync()" "Unity observed frame application must consume the typed zone-render facade."
|
||||
Assert-Contains $observedFrameApplier ".Aetheria()" "Unity observed frame application must enter state through the semantic Aetheria facade."
|
||||
Assert-Contains $observedFrameApplier ".ZoneRender" "Unity observed frame application must consume the typed zone-render document handle."
|
||||
Assert-Contains $observedFrameApplier ".LatestAsync()" "Unity observed frame application must read typed zone-render snapshots."
|
||||
Assert-NotContains $observedFrameApplier ".ZoneRenderAsync()" "Unity observed frame application must not use the transitional zone-render helper."
|
||||
Assert-NotContains $observedFrameApplier "ProjectZoneRender(" "Unity observed frame application must not rebuild zone-render feeds from raw frames."
|
||||
Assert-NotContains $observedFrameApplier "LastObservedState?.Run" "Unity observed frame application must not read the raw observed run for current-zone lookups."
|
||||
Assert-NotContains $observedFrameApplier "FramePath" "Unity observed frame application should key the presentation cache by typed projection identity, not publication file paths."
|
||||
Assert-Contains $observedTargetQuery "ZoneContactsAsync()" "Unity target queries must consume the typed zone-contacts facade."
|
||||
Assert-Contains $observedTargetQuery ".Aetheria()" "Unity target queries must enter state through the semantic Aetheria facade."
|
||||
Assert-Contains $observedTargetQuery ".ZoneContacts" "Unity target queries must consume the typed zone-contacts document handle."
|
||||
Assert-Contains $observedTargetQuery ".LatestAsync()" "Unity target queries must read typed zone-contacts snapshots."
|
||||
Assert-NotContains $observedTargetQuery ".ZoneContactsAsync()" "Unity target queries must not use the transitional zone-contacts helper."
|
||||
Assert-NotContains $observedTargetQuery "AetheriaRuntimeZoneSnapshotCommit" "Unity target queries must not receive raw zone snapshots."
|
||||
Assert-NotContains $observedTargetQuery "AetheriaRuntimeDaemonRenderQueries.TryQueryEntityContact" "Unity target queries must not query contacts from raw zone snapshots."
|
||||
Assert-NotContains $observedTargetQuery "AetheriaRuntimeDaemonRenderQueries.TryQueryEntityTarget" "Unity target queries must not query targets from raw zone snapshots."
|
||||
|
|
@ -645,7 +651,10 @@ Assert-Contains $zoneRenderer "_zoneRenderBodyPoses" "ZoneRenderer must consume
|
|||
Assert-Contains $zoneRenderer "_zoneRenderAsteroidBeltPoses" "ZoneRenderer must consume asteroid belt poses from the zone-render feed."
|
||||
Assert-Contains $zoneRenderer "beltPose.InstancePoses" "ZoneRenderer asteroid rendering must consume typed asteroid instance poses from the zone-render feed."
|
||||
Assert-Contains $zoneRenderer "RestoreDroppedPickupsFromZoneRender" "ZoneRenderer dropped-pickup restore must consume the typed zone-render feed."
|
||||
Assert-Contains $zoneRenderer "ZoneContactsAsync()" "ZoneRenderer target distance cache must read the typed zone-contacts feed."
|
||||
Assert-Contains $zoneRenderer ".Aetheria()" "ZoneRenderer target distance cache must enter state through the semantic Aetheria facade."
|
||||
Assert-Contains $zoneRenderer ".ZoneContacts" "ZoneRenderer target distance cache must read the typed zone-contacts document handle."
|
||||
Assert-Contains $zoneRenderer ".LatestAsync()" "ZoneRenderer target distance cache must read a typed zone-contacts snapshot."
|
||||
Assert-NotContains $zoneRenderer ".ZoneContactsAsync()" "ZoneRenderer target distance cache must not use the transitional zone-contacts helper."
|
||||
Assert-Contains $zoneRenderer "_daemonTargetRowsByEntityIndex" "ZoneRenderer target distance cache must store typed target rows."
|
||||
Assert-Contains $zoneRenderer "_daemonContactRows" "ZoneRenderer compass and visibility state must cache typed contact rows."
|
||||
Assert-Contains $zoneRenderer "ObjectsViewportAsync(ToViewportBounds(viewport))" "ZoneRenderer presentation loading must use the typed objects viewport facade."
|
||||
|
|
@ -675,6 +684,9 @@ $actionGameManager = Read-Text "Assets\Scripts\Gameplay\ActionGameManager.cs"
|
|||
$observedFrameApplier = Read-Text "Assets\Scripts\Gameplay\AetheriaUnityObservedFrameApplier.cs"
|
||||
$gameplayLoopShell = Read-Text "Assets\Scripts\Gameplay\AetheriaUnityGameplayLoopShell.cs"
|
||||
Assert-Contains $actionGameManager "ObservedFrameApplier.ApplyLatestZoneRender()" "ActionGameManager must delegate typed zone-render application to the observed frame applier."
|
||||
Assert-Contains $actionGameManager ".Aetheria()" "ActionGameManager current-entity binding must enter zone-render state through the semantic Aetheria facade."
|
||||
Assert-Contains $actionGameManager ".ZoneRender" "ActionGameManager current-entity binding must resolve the typed zone-render document handle."
|
||||
Assert-NotContains $actionGameManager ".ZoneRenderAsync()" "ActionGameManager current-entity binding must not use the transitional zone-render helper."
|
||||
Assert-Contains $actionGameManager "private AetheriaUnityGameplayLoopShell GameplayLoopShell =>" "ActionGameManager should delegate per-frame Unity presentation/input ticking to the gameplay loop shell."
|
||||
Assert-Contains $actionGameManager "GameplayLoopShell.Tick(Time.deltaTime, Time.time)" "ActionGameManager Update should only forward time into the gameplay loop shell."
|
||||
Assert-Contains $actionGameManager "GameplayLoopShell.LateTick()" "ActionGameManager LateUpdate should only forward into the gameplay loop shell."
|
||||
|
|
@ -690,7 +702,7 @@ Assert-NotContains $actionGameManager "_paused" "ActionGameManager must not own
|
|||
Assert-NotContains $actionGameManager "_time" "ActionGameManager must not keep unused local simulation time."
|
||||
Assert-Contains $observedFrameApplier "TryRestoreEntityGraphFromZoneRender" "Observed frame applier must restore Unity shell state from the typed zone-render feed."
|
||||
Assert-Contains $observedFrameApplier "ApplyLatestZoneRender" "Observed frame applier must name the handoff as zone-render application."
|
||||
Assert-Contains $observedFrameApplier "ZoneRenderAsync()" "Observed frame applier must use the shared zone-render facade at the frame handoff."
|
||||
Assert-Contains $observedFrameApplier ".ZoneRender" "Observed frame applier must use the shared zone-render document handle at the frame handoff."
|
||||
Assert-Contains $observedFrameApplier "render.EntityFacades" "Observed frame applier entity restoration must consume the typed zone-render entity facade payload."
|
||||
Assert-NotContains $observedFrameApplier "Func<Galaxy>" "Observed frame applier must not depend on the whole observed galaxy facade."
|
||||
Assert-Contains $observedFrameApplier "_resolveObservedZone" "Observed frame applier should name the narrow target-zone resolver explicitly."
|
||||
|
|
|
|||
|
|
@ -65,7 +65,13 @@ public class ActionGameManager : MonoBehaviour
|
|||
SetCurrentEntity = entity => CurrentEntity = entity,
|
||||
GetViewDirection = () => _viewDirection,
|
||||
SetViewDirection = direction => _viewDirection = direction,
|
||||
ResolveZoneRender = () => ResolveDaemonObserver()?.Client?.ZoneRenderAsync().GetAwaiter().GetResult(),
|
||||
ResolveZoneRender = () => ResolveDaemonObserver()
|
||||
?.Client
|
||||
?.Aetheria()
|
||||
.ZoneRender
|
||||
.LatestAsync()
|
||||
.GetAwaiter()
|
||||
.GetResult(),
|
||||
ApplyActionBarBindings = ActionBarBindings.ApplyBindings,
|
||||
EnablePlayerInput = EnablePlayerInput,
|
||||
DisablePlayerInput = DisablePlayerInput,
|
||||
|
|
|
|||
|
|
@ -74,7 +74,9 @@ public sealed class AetheriaUnityObservedFrameApplier
|
|||
try
|
||||
{
|
||||
return observer.Client
|
||||
.ZoneRenderAsync()
|
||||
.Aetheria()
|
||||
.ZoneRender
|
||||
.LatestAsync()
|
||||
.GetAwaiter()
|
||||
.GetResult();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -93,7 +93,12 @@ public sealed class AetheriaUnityObservedTargetQuery
|
|||
{
|
||||
try
|
||||
{
|
||||
return _resolveClient()?.ZoneContactsAsync().GetAwaiter().GetResult();
|
||||
return _resolveClient()
|
||||
?.Aetheria()
|
||||
.ZoneContacts
|
||||
.LatestAsync()
|
||||
.GetAwaiter()
|
||||
.GetResult();
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
|
|
|||
|
|
@ -923,7 +923,9 @@ public class ZoneRenderer : MonoBehaviour
|
|||
try
|
||||
{
|
||||
var contacts = ResolveClient()
|
||||
.ZoneContactsAsync()
|
||||
.Aetheria()
|
||||
.ZoneContacts
|
||||
.LatestAsync()
|
||||
.GetAwaiter()
|
||||
.GetResult();
|
||||
foreach (var target in contacts?.Targets ?? Array.Empty<AetheriaRuntimeZoneTargetRow>())
|
||||
|
|
|
|||
Loading…
Reference in a new issue