Prove released Stardust temporal inputs
This commit is contained in:
parent
0974154fa7
commit
79c4332c6a
6 changed files with 48 additions and 6 deletions
|
|
@ -808,6 +808,22 @@ namespace GameCult.EveUnity.GenericClient.PlayModeTests
|
|||
particleAbiError);
|
||||
Assert.That(fieldParticles.ProgramReady, Is.True,
|
||||
"The generic field-particle lowerer rejected the advertised provider ABI or assets.");
|
||||
var liveParticleMaterial = typeof(EveUnityFieldsParticleRenderer)
|
||||
.GetField("_material", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic)
|
||||
?.GetValue(fieldParticles) as Material;
|
||||
Assert.That(liveParticleMaterial, Is.Not.Null);
|
||||
var ditherTextureProperty = particleMaterialMetadata["unity.particles.texturePort.dither"];
|
||||
var ditherCoordinatesProperty = particleMaterialMetadata["unity.particles.vectorPort.ditherCoordinates"];
|
||||
var renderFrameProperty = particleMaterialMetadata["unity.particles.intPort.frameIndex"];
|
||||
var liveDitherTexture = liveParticleMaterial.GetTexture(ditherTextureProperty);
|
||||
Assert.That(liveDitherTexture, Is.Not.Null,
|
||||
"The generic lowerer did not bind the advertised provider dither texture.");
|
||||
Assert.That(liveParticleMaterial.GetVector(ditherCoordinatesProperty).x,
|
||||
Is.EqualTo((float)camera.pixelWidth / liveDitherTexture.width).Within(0.0001f));
|
||||
Assert.That(liveParticleMaterial.GetVector(ditherCoordinatesProperty).y,
|
||||
Is.EqualTo((float)camera.pixelHeight / liveDitherTexture.height).Within(0.0001f));
|
||||
Assert.That(liveParticleMaterial.GetInt(renderFrameProperty), Is.GreaterThan(0),
|
||||
"The generic lowerer did not advance the advertised render-frame port.");
|
||||
Assert.That(fieldParticles.PresentedFrameId, Is.GreaterThanOrEqualTo(0));
|
||||
Assert.That(fieldParticles.ParticleCount, Is.EqualTo(65536));
|
||||
Assert.That(fieldParticles.DispatchCount, Is.GreaterThan(0));
|
||||
|
|
|
|||
|
|
@ -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.56",
|
||||
"org.gamecult.eve.unity-scene": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.3.57",
|
||||
"org.gamecult.eve.unity-uitoolkit": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-uitoolkit#eveunity-uitoolkit-v0.1.1"
|
||||
},
|
||||
"testables": [
|
||||
|
|
|
|||
|
|
@ -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.56",
|
||||
"version": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-scene#eveunity-scene-v0.3.57",
|
||||
"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": "dfa843cde2c0d9328bb2fa342c9378bf3cdfe6f4"
|
||||
"hash": "0974154fa7c7982c9a8ea0ca006d2698a53e1235"
|
||||
},
|
||||
"org.gamecult.eve.unity-uitoolkit": {
|
||||
"version": "https://github.com/GameCult/EveUnity.git?path=/packages/org.gamecult.eve.unity-uitoolkit#eveunity-uitoolkit-v0.1.1",
|
||||
|
|
|
|||
|
|
@ -808,6 +808,22 @@ namespace GameCult.EveUnity.GenericClient.PlayModeTests
|
|||
particleAbiError);
|
||||
Assert.That(fieldParticles.ProgramReady, Is.True,
|
||||
"The generic field-particle lowerer rejected the advertised provider ABI or assets.");
|
||||
var liveParticleMaterial = typeof(EveUnityFieldsParticleRenderer)
|
||||
.GetField("_material", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic)
|
||||
?.GetValue(fieldParticles) as Material;
|
||||
Assert.That(liveParticleMaterial, Is.Not.Null);
|
||||
var ditherTextureProperty = particleMaterialMetadata["unity.particles.texturePort.dither"];
|
||||
var ditherCoordinatesProperty = particleMaterialMetadata["unity.particles.vectorPort.ditherCoordinates"];
|
||||
var renderFrameProperty = particleMaterialMetadata["unity.particles.intPort.frameIndex"];
|
||||
var liveDitherTexture = liveParticleMaterial.GetTexture(ditherTextureProperty);
|
||||
Assert.That(liveDitherTexture, Is.Not.Null,
|
||||
"The generic lowerer did not bind the advertised provider dither texture.");
|
||||
Assert.That(liveParticleMaterial.GetVector(ditherCoordinatesProperty).x,
|
||||
Is.EqualTo((float)camera.pixelWidth / liveDitherTexture.width).Within(0.0001f));
|
||||
Assert.That(liveParticleMaterial.GetVector(ditherCoordinatesProperty).y,
|
||||
Is.EqualTo((float)camera.pixelHeight / liveDitherTexture.height).Within(0.0001f));
|
||||
Assert.That(liveParticleMaterial.GetInt(renderFrameProperty), Is.GreaterThan(0),
|
||||
"The generic lowerer did not advance the advertised render-frame port.");
|
||||
Assert.That(fieldParticles.PresentedFrameId, Is.GreaterThanOrEqualTo(0));
|
||||
Assert.That(fieldParticles.ParticleCount, Is.EqualTo(65536));
|
||||
Assert.That(fieldParticles.DispatchCount, Is.GreaterThan(0));
|
||||
|
|
|
|||
|
|
@ -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.56` includes generic lowering for Eve Fields `0.2.3`'s
|
||||
`0.3.57` 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
|
||||
|
|
@ -132,7 +132,7 @@ 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 `0.3.57` 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
|
||||
|
|
@ -141,6 +141,16 @@ 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.
|
||||
|
||||
The fossil Stardust material used a screen-space coverage mask that changes on
|
||||
every rendered frame and depends on TAA to reconstruct stable subpixel stars.
|
||||
The earlier URP port had replaced that with a fixed alpha threshold and
|
||||
additive blending. Aetheria now advertises the provider dither texture,
|
||||
viewport scale, and logical render-frame port; generic EveUnity binds them
|
||||
without knowing their product meaning. The live witness resolves those native
|
||||
ports from provider metadata and checks the actual material instance. The
|
||||
provider bundle source gate requires the temporal clip, overwrite blend, and
|
||||
depth write and rejects `_AlphaClip`.
|
||||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ param(
|
|||
)
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
$expectedEveUnityCommit = "dfa843cde2c0d9328bb2fa342c9378bf3cdfe6f4"
|
||||
$expectedEveUnityCommit = "0974154fa7c7982c9a8ea0ca006d2698a53e1235"
|
||||
$expectedEveFieldsCommit = "c5a4a75c1b727499b16c2dae1895f29e2a9f72f0"
|
||||
$expectedEveUnityUiToolkitCommit = "4d0cbe0185bdc4fc65eb63503a7c5cb578539669"
|
||||
$expectedCultLibCommit = "419053ebe2325848051c4f4d8ba352cd4286c424"
|
||||
|
|
|
|||
Reference in a new issue