From 36b9642aa87fc85fec62ea7c35e9f29ce04f05d8 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 15 Jul 2026 09:20:04 +0100 Subject: [PATCH] Prove authored Aetheria camera composition --- .../PlayMode/GenericWorldCaptureTests.cs | 4 +++- .../PlayMode/GenericWorldCaptureTests.cs | 4 +++- docs/aetheria-released-package-witness.md | 20 +++++++++++++------ 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/ReleaseConsumerProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs b/ReleaseConsumerProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs index 6e802c3..cef9d89 100644 --- a/ReleaseConsumerProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs +++ b/ReleaseConsumerProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs @@ -469,9 +469,11 @@ namespace GameCult.EveUnity.GenericClient.PlayModeTests aimDotDistance = Vector3.Distance(playerMarker.transform.position, aimRenderer.ViewDotPosition); Assert.That(aimDotDistance, Is.GreaterThanOrEqualTo(49.9f)); Assert.That(camera.cullingMask & (1 << mapLayer), Is.Zero); + Assert.That(runtime.ActiveWorld.CameraDistance, Is.EqualTo(70f).Within(0.001f)); Assert.That(camera.fieldOfView, Is.EqualTo(60f).Within(0.001f)); + Assert.That(runtime.ActiveWorld.CameraPositionDamping, Is.EqualTo(2f).Within(0.001f)); var playerViewport = camera.WorldToViewportPoint(playerMarker.transform.position); - Assert.That(playerViewport.x, Is.EqualTo(0.9f).Within(0.01f)); + Assert.That(playerViewport.x, Is.EqualTo(0.66f).Within(0.01f)); Assert.That(playerViewport.y, Is.EqualTo(0.55f).Within(0.01f)); MeasureViewportCoverage(camera, playerRenderers, out var playerViewportWidth, out var playerViewportHeight); var playerRendererFacts = playerRenderers diff --git a/TestProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs b/TestProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs index 6e802c3..cef9d89 100644 --- a/TestProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs +++ b/TestProject/Assets/Tests/PlayMode/GenericWorldCaptureTests.cs @@ -469,9 +469,11 @@ namespace GameCult.EveUnity.GenericClient.PlayModeTests aimDotDistance = Vector3.Distance(playerMarker.transform.position, aimRenderer.ViewDotPosition); Assert.That(aimDotDistance, Is.GreaterThanOrEqualTo(49.9f)); Assert.That(camera.cullingMask & (1 << mapLayer), Is.Zero); + Assert.That(runtime.ActiveWorld.CameraDistance, Is.EqualTo(70f).Within(0.001f)); Assert.That(camera.fieldOfView, Is.EqualTo(60f).Within(0.001f)); + Assert.That(runtime.ActiveWorld.CameraPositionDamping, Is.EqualTo(2f).Within(0.001f)); var playerViewport = camera.WorldToViewportPoint(playerMarker.transform.position); - Assert.That(playerViewport.x, Is.EqualTo(0.9f).Within(0.01f)); + Assert.That(playerViewport.x, Is.EqualTo(0.66f).Within(0.01f)); Assert.That(playerViewport.y, Is.EqualTo(0.55f).Within(0.01f)); MeasureViewportCoverage(camera, playerRenderers, out var playerViewportWidth, out var playerViewportHeight); var playerRendererFacts = playerRenderers diff --git a/docs/aetheria-released-package-witness.md b/docs/aetheria-released-package-witness.md index 79fdb49..24714fa 100644 --- a/docs/aetheria-released-package-witness.md +++ b/docs/aetheria-released-package-witness.md @@ -21,23 +21,31 @@ active camera rig's leased Unity environment. The witness supplies no client-authored light. Aetheria advertises the key-light direction, color, and intensity; the generic camera rig lowers that contract to the only live directional light (`0.75` intensity). +Aetheria also advertises the original `ARPG.unity` follow-camera composition: +`70` unit distance, `60` degree vertical field of view, target screen position +`0.66,0.55`, and position damping `2`. The generic camera rig lowers those +values without Aetheria-specific camera code. Camera-channel facts: - provider-authored player renderers: `12`; -- pilot changed pixels: `230,359`; +- pilot changed pixels: `230,248`; +- pilot average luminance: `0.003696`; +- pilot bright pixels: `1,319`; - map-channel renderers: `11`; -- map changed pixels: `5,153`; +- map changed pixels: `4,975`; - the pilot camera excludes the advertised map layer; - the player prefab's embedded layer-14 map icon contributes exactly `0` pilot pixels; - the map camera renders exactly the advertised map layer. Visual inspection confirms that map glyphs are absent from the pilot frame and -present in the map-only frame. The pilot presentation remains visually sparse -and dark. Renderer-isolation facts prove that the hull draws under the -provider-owned light, so the next native-art work is world composition and -available pre-generated provider textures, not a client-side lighting fallback. +present in the map-only frame. Restoring the authored ARPG camera in place of +the copied TestScene tuning increased hull-renderer pixel coverage by roughly +four times and bright pilot pixels from `502` to `1,319`. The pilot presentation +remains dark. Renderer-isolation facts prove that the hull draws under the +provider-owned light, so the next native-art work is available pre-generated +provider textures, not a client-side lighting fallback. Substance is not part of this path; later texture baking belongs in Blender. Primary artifacts: