diff --git a/ReleaseConsumerProject/Assets/Tests/PlayMode/GameCult.EveUnity.GenericClient.PlayModeTests.asmdef b/ReleaseConsumerProject/Assets/Tests/PlayMode/GameCult.EveUnity.GenericClient.PlayModeTests.asmdef index 4eadab4..d387468 100644 --- a/ReleaseConsumerProject/Assets/Tests/PlayMode/GameCult.EveUnity.GenericClient.PlayModeTests.asmdef +++ b/ReleaseConsumerProject/Assets/Tests/PlayMode/GameCult.EveUnity.GenericClient.PlayModeTests.asmdef @@ -6,7 +6,8 @@ "GameCult.Eve.Surface", "GameCult.Eve.UnityUIToolkit", "GameCult.Eve.UnityScene", - "GameCult.Eve.UnityScene.CultMesh" + "GameCult.Eve.UnityScene.CultMesh", + "Unity.RenderPipelines.Universal.Runtime" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/ReleaseConsumerProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs b/ReleaseConsumerProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs index f43d2f8..206c913 100644 --- a/ReleaseConsumerProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs +++ b/ReleaseConsumerProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs @@ -12,6 +12,7 @@ using GameCult.Eve.UnityScene.Fields; using GameCult.Mesh; using NUnit.Framework; using UnityEngine; +using UnityEngine.Rendering.Universal; using UnityEngine.TestTools; using UnityEngine.UIElements; @@ -811,6 +812,13 @@ namespace GameCult.EveUnity.GenericClient.PlayModeTests Assert.That(fieldParticles.ParticleCount, Is.EqualTo(65536)); Assert.That(fieldParticles.DispatchCount, Is.GreaterThan(0)); Assert.That(fieldParticles.DrawCount, Is.GreaterThan(0)); + Assert.That(fieldVolume.LastGridCenter, Is.EqualTo(fieldParticles.LastGridCenter), + "Fog and stateless particles were lowered against different world-grid frames."); + var pilotCameraData = camera.GetUniversalAdditionalCameraData(); + Assert.That(pilotCameraData.antialiasing, Is.EqualTo(AntialiasingMode.TemporalAntiAliasing), + "The advertised temporal reconstruction contract did not reach the pilot camera."); + Assert.That(pilotCameraData.taaSettings.baseBlendFactor, Is.EqualTo(0.99f).Within(0.0001f)); + Assert.That(pilotCameraData.taaSettings.jitterScale, Is.EqualTo(0.1f).Within(0.0001f)); var fieldDocument = typeof(EveUnityFieldsVolumeRenderer) .GetField("_document", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic) ?.GetValue(fieldVolume); diff --git a/ReleaseConsumerProject/Packages/manifest.json b/ReleaseConsumerProject/Packages/manifest.json index 3828f0f..93d9bc4 100644 --- a/ReleaseConsumerProject/Packages/manifest.json +++ b/ReleaseConsumerProject/Packages/manifest.json @@ -9,7 +9,7 @@ "org.gamecult.cultlib": "https://github.com/GameCult/CultLib.git?path=/unity/org.gamecult.cultlib#cultlib-unity-v1.0.15", "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.2.3", "org.gamecult.eve.surface": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.surface#eveunity-surface-v0.2.2", - "org.gamecult.eve.unity-scene": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.3.55", + "org.gamecult.eve.unity-scene": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.3.56", "org.gamecult.eve.unity-uitoolkit": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-uitoolkit#eveunity-uitoolkit-v0.1.1" }, "testables": [ diff --git a/ReleaseConsumerProject/Packages/packages-lock.json b/ReleaseConsumerProject/Packages/packages-lock.json index 07e9785..34af8c4 100644 --- a/ReleaseConsumerProject/Packages/packages-lock.json +++ b/ReleaseConsumerProject/Packages/packages-lock.json @@ -144,7 +144,7 @@ "hash": "140e1bd963a0033e66777a3b2c5fe6e9c97dfe32" }, "org.gamecult.eve.unity-scene": { - "version": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.3.55", + "version": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.3.56", "depth": 0, "source": "git", "dependencies": { @@ -155,7 +155,7 @@ "com.unity.render-pipelines.universal": "17.4.0", "com.unity.modules.particlesystem": "1.0.0" }, - "hash": "745ce7cc24c514ad442d53807722b6a4651d9521" + "hash": "dfa843cde2c0d9328bb2fa342c9378bf3cdfe6f4" }, "org.gamecult.eve.unity-uitoolkit": { "version": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-uitoolkit#eveunity-uitoolkit-v0.1.1", diff --git a/TestProject/Assets/Tests/PlayMode/GameCult.EveUnity.GenericClient.PlayModeTests.asmdef b/TestProject/Assets/Tests/PlayMode/GameCult.EveUnity.GenericClient.PlayModeTests.asmdef index 4eadab4..d387468 100644 --- a/TestProject/Assets/Tests/PlayMode/GameCult.EveUnity.GenericClient.PlayModeTests.asmdef +++ b/TestProject/Assets/Tests/PlayMode/GameCult.EveUnity.GenericClient.PlayModeTests.asmdef @@ -6,7 +6,8 @@ "GameCult.Eve.Surface", "GameCult.Eve.UnityUIToolkit", "GameCult.Eve.UnityScene", - "GameCult.Eve.UnityScene.CultMesh" + "GameCult.Eve.UnityScene.CultMesh", + "Unity.RenderPipelines.Universal.Runtime" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/TestProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs b/TestProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs index f43d2f8..206c913 100644 --- a/TestProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs +++ b/TestProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs @@ -12,6 +12,7 @@ using GameCult.Eve.UnityScene.Fields; using GameCult.Mesh; using NUnit.Framework; using UnityEngine; +using UnityEngine.Rendering.Universal; using UnityEngine.TestTools; using UnityEngine.UIElements; @@ -811,6 +812,13 @@ namespace GameCult.EveUnity.GenericClient.PlayModeTests Assert.That(fieldParticles.ParticleCount, Is.EqualTo(65536)); Assert.That(fieldParticles.DispatchCount, Is.GreaterThan(0)); Assert.That(fieldParticles.DrawCount, Is.GreaterThan(0)); + Assert.That(fieldVolume.LastGridCenter, Is.EqualTo(fieldParticles.LastGridCenter), + "Fog and stateless particles were lowered against different world-grid frames."); + var pilotCameraData = camera.GetUniversalAdditionalCameraData(); + Assert.That(pilotCameraData.antialiasing, Is.EqualTo(AntialiasingMode.TemporalAntiAliasing), + "The advertised temporal reconstruction contract did not reach the pilot camera."); + Assert.That(pilotCameraData.taaSettings.baseBlendFactor, Is.EqualTo(0.99f).Within(0.0001f)); + Assert.That(pilotCameraData.taaSettings.jitterScale, Is.EqualTo(0.1f).Within(0.0001f)); var fieldDocument = typeof(EveUnityFieldsVolumeRenderer) .GetField("_document", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic) ?.GetValue(fieldVolume); diff --git a/docs/aetheria-released-package-witness.md b/docs/aetheria-released-package-witness.md index b277427..6c288f0 100644 --- a/docs/aetheria-released-package-witness.md +++ b/docs/aetheria-released-package-witness.md @@ -118,7 +118,7 @@ present in the map-only frame. This is transport, authority, field-production, and lowering proof, not visual parity: the current pilot capture contains the blue fog field and provider geometry, but nearby ships remain too dark and the celestial composition lacks the fossil capture's readable close body. Release -`0.3.55` includes generic lowering for Eve Fields `0.2.3`'s +`0.3.56` includes generic lowering for Eve Fields `0.2.3`'s `AnimatedRadialCosine` source alongside `PowerPulse`, dither-scale, temporal-history, and finite-look-at semantics. Aetheria publishes the fossil global animated simplex/cellular/ambient producer stack, body-owned radial wave @@ -131,6 +131,16 @@ presentation/composition or provider art calibration rather than missing state delivery. Color, lighting, patch structure, readable world geometry, and gravity-wave visual parity remain open. EveUnity must not compensate with Aetheria-specific lighting or fog rules. + +The `0.3.56` run also closes two camera-contract omissions. Aetheria advertises +the fossil pilot camera's neutral temporal-reprojection values; the released +generic lowerer applies URP TAA with `0.99` history blend, `0.1` jitter scale, +high quality, and zero sharpening. Fog and Stardust now consume one generic +camera-relative viewport-frame resolver rather than projecting the same splat +document independently. The live witness fails unless their snapped grid +centers are identical; this run resolved both to `(-6,-6)` after movement. +The capture is still visibly rough and is not a visual-parity claim. + Substance is not part of this path; later texture baking belongs in Blender. Aetheria currently bundles ambientCG's 1K `Metal012` color, normal, and metalness maps under CC0. The same pre-generated maps now replace dead diff --git a/scripts/run-aetheria-daemon-world-witness.ps1 b/scripts/run-aetheria-daemon-world-witness.ps1 index 772a54a..2e47ca3 100644 --- a/scripts/run-aetheria-daemon-world-witness.ps1 +++ b/scripts/run-aetheria-daemon-world-witness.ps1 @@ -13,7 +13,7 @@ param( ) $ErrorActionPreference = "Stop" -$expectedEveUnityCommit = "745ce7cc24c514ad442d53807722b6a4651d9521" +$expectedEveUnityCommit = "dfa843cde2c0d9328bb2fa342c9378bf3cdfe6f4" $expectedEveFieldsCommit = "c5a4a75c1b727499b16c2dae1895f29e2a9f72f0" $expectedEveUnityUiToolkitCommit = "4d0cbe0185bdc4fc65eb63503a7c5cb578539669" $expectedCultLibCommit = "419053ebe2325848051c4f4d8ba352cd4286c424"