diff --git a/Aetheria.Unity/Packages/manifest.json b/Aetheria.Unity/Packages/manifest.json index c017cb21c..16fb70819 100644 --- a/Aetheria.Unity/Packages/manifest.json +++ b/Aetheria.Unity/Packages/manifest.json @@ -9,6 +9,6 @@ "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.62" + "org.gamecult.eve.unity-scene": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.3.63" } } diff --git a/Aetheria.Unity/Packages/packages-lock.json b/Aetheria.Unity/Packages/packages-lock.json index 083059c2e..f7125df07 100644 --- a/Aetheria.Unity/Packages/packages-lock.json +++ b/Aetheria.Unity/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.62", + "version": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.3.63", "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": "ed92fa7be0e2e7e386ab50ad36d6fd954d2d86a5" + "hash": "3135d24bb84f40719b121b51634811c85af0a7af" }, "com.unity.modules.assetbundle": { "version": "1.0.0", diff --git a/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs b/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs index 12ca7b6e8..864987d91 100644 --- a/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs +++ b/Assets/Scripts/Tests/DaemonRuntimeDocumentTests.cs @@ -721,7 +721,7 @@ public class DaemonRuntimeDocumentTests asset.Ref.Metadata["unity.volume.texturePort.surfaceHeight"] == "_NebulaSurfaceHeight" && asset.Ref.Metadata["unity.volume.matrixPort.cameraToWorld"] == "_CamToWorld" && asset.Ref.Metadata["unity.volume.matrixSemantic.previousViewProjection"] == - "current-projection.previous-view.v1" && + "non-render-target-projection.previous-view.v1" && asset.Ref.Metadata["unity.volume.quality.bootstrap"] == "ultra" && asset.Ref.Metadata["unity.volume.quality.ultra.keyword"] == "ULTRA_QUALITY" && asset.Ref.Metadata["unity.volume.pass.temporal"] == "1" && diff --git a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeAssets.cs b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeAssets.cs index 839480b68..ff1fad48e 100644 --- a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeAssets.cs +++ b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeAssets.cs @@ -253,7 +253,7 @@ namespace GameCult.Aetheria.State.Verse ["unity.volume.matrixPort.cameraInverseViewProjection"] = "_CamInvProj", ["unity.volume.matrixPort.cameraToWorld"] = "_CamToWorld", ["unity.volume.matrixPort.previousViewProjection"] = "_PrevVP", - ["unity.volume.matrixSemantic.previousViewProjection"] = "current-projection.previous-view.v1", + ["unity.volume.matrixSemantic.previousViewProjection"] = "non-render-target-projection.previous-view.v1", ["unity.volume.vectorPort.cameraProjectionExtents"] = "_ProjectionExtents", ["unity.volume.floatPort.raymarchOffset"] = "_RaymarchOffset", ["unity.volume.floatPort.resetHistory"] = "_ResetHistory", diff --git a/docs/aetheria-perfect-machine-map.md b/docs/aetheria-perfect-machine-map.md index 75ca69362..b7c0a8153 100644 --- a/docs/aetheria-perfect-machine-map.md +++ b/docs/aetheria-perfect-machine-map.md @@ -1200,9 +1200,11 @@ legacy catalog cache, and legacy UI paths should be migration-only or deleted. generic runtime does not use local gameplay time or provider identifiers. The provider shader constructs both its raymarch and temporal-reprojection rays using the historical Unity shader camera transform, whose local forward - is positive Z. EveUnity `0.3.62` supplies that transform instead of the - negative-Z `Camera.cameraToWorldMatrix`; provider bundle verification rejects - divergence between the two passes. + is positive Z. EveUnity `0.3.63` supplies that transform instead of the + negative-Z `Camera.cameraToWorldMatrix`. The provider also advertises + `non-render-target-projection.previous-view.v1`, preserving the historical + `Graphics.Blit` GPU-projection convention without making it a client guess; + provider bundle verification rejects divergence between the two passes. - Semantic split: `gravity.height` is the negative gameplay terrain projection; `fog.surface_height` is the positive visual displacement the fossil `PowerBrush` camera supplied to `_NebulaSurfaceHeight`. Both derive from the @@ -1262,10 +1264,13 @@ legacy catalog cache, and legacy UI paths should be migration-only or deleted. placed the camera below the fog surface. The controlled zero-noise run was a diagnostic, not the adopted rendering contract. Blue tint, luminance, patch structure, gravity-wave readability, and world geometry remain open visual - parity work. Released EveUnity `0.3.62` also restores the provider-advertised + parity work. Released EveUnity `0.3.63` also restores the provider-advertised previous-view/current-projection temporal policy, the fossil ultra-quality first history frame, adaptive histogram exposure, and HDR grading before - ACES. The alpha-fixed cold HD witness uses bundle + ACES, and lowers the provider-selected non-render-target temporal projection. + The released warm witness records 359 fog composites while retaining the + daemon gameplay assertions and camera-channel isolation. The alpha-fixed cold + HD witness uses bundle `a829e57731fbe08f4564fa131468148e99f6b4204708ad3e64498885532b5091` and passes in 52.7 seconds. Its temporal history stores direct density in alpha; bundle verification rejects any composite that again unpacks that