From be6aeb8bf817ca47ce2204370e84ba80cb4e3c20 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Fri, 10 Jul 2026 16:03:25 +0100 Subject: [PATCH] Graduate fields plugin with Unity capture --- docs/eve-migration-roadmap.md | 22 +++++++++++++++------- scripts/run-eveunity-owner-smoke.ps1 | 2 +- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/docs/eve-migration-roadmap.md b/docs/eve-migration-roadmap.md index eb53130..a0014e8 100644 --- a/docs/eve-migration-roadmap.md +++ b/docs/eve-migration-roadmap.md @@ -120,10 +120,18 @@ advertisements and typed command/receipt documents are the boundary. resources, asset overlays, and capability-gap reporting. The general CultUI lowerer dispatches plugin component kinds without field-specific branches. - EvePlugins publishes runtime-neutral C# fields contracts as UPM and .NET - packages. EveUnity scene `0.1.2` owns the second native adapter: structured - splat buffers, RenderTexture rasterization, and the generic fields shader. + packages. EveUnity scene `0.1.4` owns the second native adapter: structured + splat buffers, RenderTexture rasterization, layer texture allocation, and the + generic fields shader. Aetheria implements the plugin interfaces and retains only a MonoScript-GUID - compatibility shell; its buffer and shader authority are deleted. + compatibility shell; its buffer, shader, layer filtering, blend selection, + and texture-allocation authority are deleted. Aetheria retains only the table + mapping canonical layers onto product material properties and shader globals. +- The released Unity adapter's provider-independent EditMode witness renders a + synthetic `gamecult.fields.splats.v1` document through the GPU path, asserts + nonblank pixels, and writes `artifacts/fields-surface/latest/unity-fields.png`. + With browser and Unity native proofs plus the sidecar witness, `fields.surface` + is graduated in EvePlugins. - The TeX owner sidecar serves its Eve ABI over CultNet RUDP operation envelopes; its stdio protocol is retained only as a local debug adapter. - Aetheria owns its provider advertisement, world surface, scenario, asset @@ -168,10 +176,10 @@ advertisements and typed command/receipt documents are the boundary. is its semantic owner. Sai already owns VN/Ink execution and its live witness. - Keep nested plugin availability explicit and non-transitive: Sai does not own Norn or TeX. -- Add a provider-independent EveUnity render capture for `fields.surface` - before graduating the plugin from incubation. Keep projection native to each - runtime; do not move Canvas/WebGL or Unity shader implementation into plugin - semantics. +- Move any remaining provider-specific field source composition only when it + can consume the portable contracts without weakening provider ownership. + Keep projection native to each runtime; do not move Canvas/WebGL or Unity + shader implementation into plugin semantics. ### Conformance diff --git a/scripts/run-eveunity-owner-smoke.ps1 b/scripts/run-eveunity-owner-smoke.ps1 index 304333b..e256fa4 100644 --- a/scripts/run-eveunity-owner-smoke.ps1 +++ b/scripts/run-eveunity-owner-smoke.ps1 @@ -30,7 +30,7 @@ $expectedDependencies = @{ "org.gamecult.eve.surface" = "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.surface#eveunity-surface-v0.1.0" "org.gamecult.eve.unity-uitoolkit" = "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-uitoolkit#eveunity-uitoolkit-v0.1.0" "org.gamecult.eve.plugin-fields" = "https://github.com/GameCult/EvePlugins.git?path=/plugins/eve-plugin-fields/unity/org.gamecult.eve.plugin-fields#eve-plugin-fields-unity-v0.1.1" - "org.gamecult.eve.unity-scene" = "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.1.2" + "org.gamecult.eve.unity-scene" = "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.1.4" } foreach ($entry in $expectedDependencies.GetEnumerator()) {