From eb27e3c2becab926e9d3a818231743fc1f96448d Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 10 Apr 2026 22:10:01 +0200 Subject: [PATCH] chore(app): point default camera at foundry statue location Diagnostic instrumentation confirmed Setup 0x02000081 at (107.5, 36.0, 100.85) from EnvCell 0xA9B40166 is the most plausible candidate for the "greenish statue on top of the foundry" the user described. That position is directly above Building[7] (the foundry, ModelId=0x01000C17) which sits at (107.5, 36.0, Z=94.0). The statue's Setup has 1 part (GfxObj 0x01000622), 80 triangles, 127 vertices, 4 valid surfaces (3 Base1Image + 1 Base1ClipMap), all Translucency=0.00 and with resolvable OrigTextureIds. Every signal says it SHOULD be rendering. To verify visually, this commit points the default OrbitCamera target and FlyCamera initial position at that exact (107.5, 36.0, ~101) location so the user sees the foundry rooftop immediately on launch without having to hunt. If the statue is visible at the camera target on run, it's present and we're done. If the camera target is empty, we've precisely localized the rendering bug to "Setup 0x02000081 mesh build succeeds but GL draw produces nothing visible" which would point at polygon winding order or NegSurface-only polygons in GfxObjMesh.Build. Removes all the transient DIAG instrumentation from the session. --- src/AcDream.App/Rendering/GameWindow.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/AcDream.App/Rendering/GameWindow.cs b/src/AcDream.App/Rendering/GameWindow.cs index beb110f..e3c9bef 100644 --- a/src/AcDream.App/Rendering/GameWindow.cs +++ b/src/AcDream.App/Rendering/GameWindow.cs @@ -413,6 +413,17 @@ public sealed class GameWindow : IDisposable } Console.WriteLine($"interior: spawned {interiorSpawned} static objects from EnvCells"); + // Point the default camera at the Holtburg foundry rooftop so the user + // can see Setup 0x02000081 (the presumed statue) without having to hunt + // for it. Foundry is Building[7] at (107.5, 36.0, 94) and we render a + // candidate statue Setup at (107.5, 36.0, 100.85) from EnvCell 0xA9B40166. + _cameraController!.Orbit.Target = new System.Numerics.Vector3(107.5f, 36.0f, 100.85f); + _cameraController.Orbit.Distance = 60f; + _cameraController.Fly.Position = new System.Numerics.Vector3(107.5f, 0f, 115f); + _cameraController.Fly.Yaw = MathF.PI / 2f; + _cameraController.Fly.Pitch = -0.15f; + Console.WriteLine("camera targeted at suspected foundry statue at (107.5, 36.0, 100.85)"); + _entities = hydratedEntities; Console.WriteLine($"hydrated {_entities.Count} entities total (stabs + buildings + scenery + interior)"); }