Track EveUnity generic host proof
This commit is contained in:
parent
826e0791aa
commit
f6c44d9d65
3 changed files with 47 additions and 8 deletions
|
|
@ -686,9 +686,14 @@ Recently cut:
|
|||
at `AetheriaRuntimeVerseRecordKeys.DaemonAssetManifest`. EveUnity still
|
||||
consumes only the generic provider/plugin contracts and sidecar transport
|
||||
ports; Aetheria keeps the gameplay and asset authority. The remaining blocker
|
||||
is rendered-frame proof from the future EveUnity owner repo, with provider
|
||||
receipts plus daemon snapshots driving Unity frames rather than
|
||||
renderer-local simulation.
|
||||
has narrowed again: Aetheria now mounts
|
||||
`AetheriaEveUnitySceneProviderComponent` through the generic
|
||||
`EveUnityPlayableWorldClientHost`, instantiates provider-authored daemon
|
||||
entities under a real Unity `GameObject` scene root, and drives the generic
|
||||
camera rig from the advertised player entity without Aetheria-specific Unity
|
||||
client code. The remaining blocker is owner-repo PNG/frame capture from the
|
||||
future EveUnity repo, with provider receipts plus daemon snapshots driving
|
||||
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
|
||||
|
|
@ -1016,12 +1021,18 @@ Recently cut:
|
|||
`AetheriaRuntimeVerseRecordKeys.DaemonAssetManifest` record, submits movement
|
||||
through the advertised `gamecult.eve.command.v1` boundary, observes
|
||||
provider-owned receipts, and refreshes from daemon snapshots without
|
||||
importing Aetheria product authority into EveUnity. Eve records this as the
|
||||
`aetheria-playable-world-consumer-proof` observed-provider move set in
|
||||
importing Aetheria product authority into EveUnity. Aetheria also proves the
|
||||
generic Unity scene body, not only a recording sink:
|
||||
`GenericEveUnityClientHostInstantiatesAetheriaDaemonWorldThroughProviderComponent`
|
||||
mounts the public provider component through `EveUnityPlayableWorldClientHost`,
|
||||
creates provider-authored `EveUnityPlayableWorldEntityMarker` GameObjects, and
|
||||
applies `EveUnityPlayableWorldCameraRig` against the advertised player.
|
||||
Eve records this as the `aetheria-playable-world-consumer-proof`
|
||||
observed-provider move set in
|
||||
`runtimes/incubating/eve-unity-scene/eveunity-scene-split-handoff.json`, and
|
||||
the split-target plus Aetheria consumer smokes assert it from the conformance
|
||||
export. The remaining blocker is live transport/rendered-frame proof from
|
||||
the future EveUnity owner repo, not whether the Unity client is generic.
|
||||
export. The remaining blocker is owner-repo PNG/frame capture from the future
|
||||
EveUnity repo, not whether the Unity client is generic.
|
||||
- Aetheria now has repeatable Unity package consumer-build evidence for the
|
||||
Eve UI Toolkit runtime. `scripts/run-aetheria-unity-package-smoke.ps1`
|
||||
verifies Aetheria's Unity `Packages/manifest.json` consumes Eve's surface,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ param(
|
|||
[string] $UnityExe = "C:\Program Files\Unity\Hub\Editor\6000.4.2f1\Editor\Unity.exe",
|
||||
[string] $OutputRoot = "",
|
||||
[string] $PackageName = "org.gamecult.eve.unity-uitoolkit",
|
||||
[string] $TestAssembly = "GameCult.Eve.UnityUIToolkit.Tests"
|
||||
[string] $TestAssembly = "GameCult.Eve.UnityUIToolkit.Tests",
|
||||
[string] $TestFilter = ""
|
||||
)
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
|
@ -73,6 +74,9 @@ try {
|
|||
"-testResults", $resultsPath,
|
||||
"-logFile", $logPath
|
||||
)
|
||||
if (-not [string]::IsNullOrWhiteSpace($TestFilter)) {
|
||||
$arguments += @("-testFilter", $TestFilter)
|
||||
}
|
||||
|
||||
$process = Start-Process -FilePath $UnityExe -ArgumentList $arguments -Wait -PassThru -WindowStyle Hidden
|
||||
$exitCode = $process.ExitCode
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ $aetheriaEveRuntimePackage = Join-Path $AetheriaRoot "Packages\org.gamecult.aeth
|
|||
$aetheriaEveRuntimeAsmdef = Join-Path $AetheriaRoot "Packages\org.gamecult.aetheria.eve-runtime\Runtime\GameCult.Aetheria.EveRuntime.asmdef"
|
||||
$aetheriaSceneBridge = Join-Path $AetheriaRoot "Packages\org.gamecult.aetheria.eve-runtime\Runtime\AetheriaEveUnitySceneProviderBridge.cs"
|
||||
$aetheriaSceneProviderComponent = Join-Path $AetheriaRoot "Packages\org.gamecult.aetheria.eve-runtime\Runtime\AetheriaEveUnitySceneProviderComponent.cs"
|
||||
$aetheriaDaemonRuntimeTests = Join-Path $AetheriaRoot "Assets\Scripts\Tests\DaemonRuntimeDocumentTests.cs"
|
||||
$aetheriaClientState = Join-Path $AetheriaRoot "Packages\org.gamecult.aetheria.state\Runtime\AetheriaClientState.cs"
|
||||
$aetheriaSurfaceCatalog = Join-Path $AetheriaRoot "Packages\org.gamecult.aetheria.state\Runtime\AetheriaRuntimeEveSurfaceCatalog.cs"
|
||||
$aetheriaGameSurfaceBuilder = Join-Path $AetheriaRoot "Packages\org.gamecult.aetheria.state\Runtime\AetheriaRuntimeDaemonGameSurfaceBuilder.cs"
|
||||
|
|
@ -47,6 +48,9 @@ if (-not (Test-Path $aetheriaSceneBridge)) {
|
|||
if (-not (Test-Path $aetheriaSceneProviderComponent)) {
|
||||
throw "Aetheria Eve Unity scene provider component not found: $aetheriaSceneProviderComponent"
|
||||
}
|
||||
if (-not (Test-Path $aetheriaDaemonRuntimeTests)) {
|
||||
throw "Aetheria daemon runtime tests not found: $aetheriaDaemonRuntimeTests"
|
||||
}
|
||||
if (-not (Test-Path $aetheriaClientState)) {
|
||||
throw "Aetheria client state not found: $aetheriaClientState"
|
||||
}
|
||||
|
|
@ -181,6 +185,8 @@ foreach ($symbol in @(
|
|||
"stateFilePathOverride",
|
||||
"surfaceId",
|
||||
"runtimeId",
|
||||
"public void Configure(",
|
||||
"Dispose();",
|
||||
"Refresh",
|
||||
"Submit",
|
||||
"SubmitCommand"
|
||||
|
|
@ -190,6 +196,24 @@ foreach ($symbol in @(
|
|||
}
|
||||
}
|
||||
|
||||
$daemonRuntimeTests = Get-Content -Raw -LiteralPath $aetheriaDaemonRuntimeTests
|
||||
foreach ($symbol in @(
|
||||
"GenericEveUnityClientHostInstantiatesAetheriaDaemonWorldThroughProviderComponent",
|
||||
"AetheriaEveUnitySceneProviderComponent",
|
||||
"provider.Configure(",
|
||||
"EveUnityPlayableWorldClientHost",
|
||||
"host.Configure(",
|
||||
"rootObject.GetComponentsInChildren<EveUnityPlayableWorldEntityMarker>()",
|
||||
"EveUnityPlayableWorldCameraRig",
|
||||
"cameraRig.ApplyRig(0f)",
|
||||
"TestGameObjectAssetProvider",
|
||||
"IEveUnityGameObjectAssetProvider"
|
||||
)) {
|
||||
if (-not $daemonRuntimeTests.Contains($symbol)) {
|
||||
throw "Aetheria daemon runtime tests missing generic EveUnity GameObject host proof symbol: $symbol"
|
||||
}
|
||||
}
|
||||
|
||||
$surfaceCatalog = Get-Content -Raw -LiteralPath $aetheriaSurfaceCatalog
|
||||
foreach ($symbol in @(
|
||||
"AetheriaRuntimeEveWorldInteractionAdvertisement",
|
||||
|
|
|
|||
Loading…
Reference in a new issue