- Capture exports now cover a 90-degree player frustum (radius 3, LOD 0-8, overlap patches); a 17x9 ray coverage probe aborts before rendering if tiles are missing (truncated-mesh control: 480 uncovered samples, rejected). Clear colour is sky blue, so un-meshed space can't pass as dark rock. 16 views of the owner's four-strate plan. - Explore commandlet: finite XYZ spawn override for traces (Source/, Linux-compiled). - In-engine four-strate trace NOT obtained: the engine-generated plan fails passage validation at a solid centerline voxel (~(-43,-34.5,-448.5) m) while the headless owner_world.json plan passes. Engine and headless plans diverge. - R36 (read-only): order TN -> VS -> FI for native migration; native FI is reachable from the adapter but not selected in the owner run, cause unknown. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
6.9 KiB
Linux69 — owner four-strata captures and spawn trace
Captures
The L68 exports were limited to a small clip radius and LOD0 (max-clip-level=0, max-level=0). The camera frustum extended beyond those tiles, while the renderer cleared empty pixels to RGB (0.035, 0.055, 0.075). Unmeshed space therefore looked nearly black.
L69 exports use a 90° player-view frustum, radius 3 and LODs through 8. A coverage probe samples a 17×9 ray grid at 50 points per ray, every 4 m from 1 m through 197 m. Nine views needed one overlapping mesh patch. All 16 ended with zero uncovered probe samples. The renderer clear color is now sky blue (RGB (0.30, 0.48, 0.62)). A tile coverage failure aborts before rendering, so a missing export cannot silently become a black capture. This is a sampled coverage check, not a per-pixel proof.
The negative control removes 8 tiles from the strate 0 arrival mesh. It reports 480 uncovered samples and fails before rendering. Control mesh: Saved/Linux/l69/controls/strate0-arrival.truncated.vfmesh.
The coverage probe only answers whether mesh tiles cover its sampled frustum points. No real hole was confirmed in the captures. The engine trace blocker below is a solid passage sample. Blue pixels indicate an unoccluded ray through covered tiles; this round did not add a separate classifier for open sky versus a terrain breach.
All JPEGs are below 300 KB; combined size is 447,288 bytes.
| Strate | View | File | Bytes | What it shows |
|---|---|---|---|---|
| 0 | Arrival | strate0-arrival.jpg | 40,064 | Player-eye view at the surface arrival, facing into the route. |
| 0 | Route | strate0-route.jpg | 38,567 | Player-height view along the surface route toward the passage. |
| 0 | Departure mouth | strate0-departure-mouth.jpg | 35,055 | Inside the upper mouth looking outward. |
| 0 | Overview | strate0-overview.jpg | 23,395 | Elevated view, 70 m above the arrival, looking down at the route. |
| 1 | Arrival | strate1-arrival.jpg | 24,524 | Player-eye view at the strate 1 arrival, facing into its route. |
| 1 | Route | strate1-route.jpg | 29,602 | Player-height view along the passage. |
| 1 | Departure mouth | strate1-departure-mouth.jpg | 26,090 | Inside the upper mouth looking outward. |
| 1 | Overview | strate1-overview.jpg | 25,960 | Elevated view, 70 m above the arrival, looking down at the route. |
| 2 | Arrival | strate2-arrival.jpg | 20,339 | Player-eye view at the strate 2 arrival, facing into its route. |
| 2 | Route | strate2-route.jpg | 20,244 | Player-height view along the passage. |
| 2 | Departure mouth | strate2-departure-mouth.jpg | 33,125 | Inside the upper mouth looking outward. |
| 2 | Overview | strate2-overview.jpg | 25,668 | Elevated view, 70 m above the arrival, looking down at the route. |
| 3 | Arrival | strate3-arrival.jpg | 24,307 | Player-eye view at the strate 3 arrival, facing into its route. |
| 3 | Route | strate3-route.jpg | 23,966 | Player-height view along the passage. |
| 3 | Departure mouth | strate3-departure-mouth.jpg | 35,034 | Inside the lower mouth looking outward. |
| 3 | Overview | strate3-overview.jpg | 21,348 | Elevated view, 70 m above the arrival, looking down at the route. |
In-engine spawn trace
The host rebuilt successfully on Linux. The trace harness was prepared for 3 rotated/interleaved trials per strate, spawning at each arrival. No strate 0 attempt produced a valid Core trace; the other strata were not run. Engine metrics are therefore unavailable, including walkable ring, LOD0 ring, full set, worker-seconds, LOD0 p50/p95, and generateTile / mesh-copy / RMC timings.
| Strate | Arrival spawn (m) | Headless whole-view median | Valid engine trials | Walkable ring | LOD0 ring | Full set | Worker-s | LOD0 p50 / p95 | generateTile / mesh copy / RMC |
|---|---|---|---|---|---|---|---|---|---|
| 0 | (0, 0, -374.939) | 1.074 s | 0/3 (attempts blocked) | N/A | N/A | N/A | N/A | N/A | N/A |
| 1 | (25.837, 3.199, -737.000) | 1.503 s | 0/3 (not run) | N/A | N/A | N/A | N/A | N/A | N/A |
| 2 | (19.166, -14.200, -753.374) | 0.577 s | 0/3 (not run) | N/A | N/A | N/A | N/A | N/A | N/A |
| 3 | (-20.063, -5.068, -900.354) | 0.210 s | 0/3 (not run) | N/A | N/A | N/A | N/A | N/A | N/A |
No engine/headless percentage comparison is available, so no >30% gap can be assessed. The default engine-generated four-strate plan failed passage validation at the solid Core voxel (-172, -138, -1794) (25 cm per voxel; approximately (-43.0, -34.5, -448.5) m). This is a blocked centerline point, not a hole. The saved owner manifest lacked layout_chunk_width_q; regenerating and combining its current SurfaceWorld plan with the saved FloatingIslands plan got past parsing, but UE rejected the island plan bounds. The imported slot is strate 1 chunks [-79, -16], while the live slot resolves to [-93, -64]. A floating-islands-only headless export also failed because it could not resolve a SurfaceWorld strate. I stopped without bypassing the production checks.
Failed runs and build notes
- Radius 4 exports, with max clip level 8 and then 7, exceeded the 160-million-node shape safety bound. Radius 3 plus overlapping patches covered the views.
- The UE host toolchain failed under the 6 GiB address-space limit during CoreCLR startup, so host build and UE runs used the requested 6 GiB RSS limit. The host build passed after using the local VFHost/PluginDeps plugin mirror; the final incremental build compiled the spawn-coordinate parser.
- The first UE trace launch exposed comma parsing in the new spawn argument. The parser was corrected and the host rebuilt. One RSS-capped launch exited when AndroidFileServer failed to map; disabling that unrelated plugin let the commandlet run. The generated-settings plan hit the solid-centerline failure above. Manifest attempts then encountered the stale schema and stale island bounds; none reached valid spawn tracing.
- No attempted run exceeded 30 minutes. Logs are under Saved/Linux/l69.
No world recipe, geometry, or peer-determinism inputs changed. The only Source/ edit is Source/VoxelForgeEditor/Private/VoxelForgeExploreCommandlet.cpp, adding a finite XYZ spawn override for the trace; it compiled in the Linux host build. Standalone/Source/StreamBenchmarkHeadless.cpp also writes the canonical manifest after plan assembly for trace setup; its Linux rebuild passed. Other capture-only edits are in Standalone/Source/LinuxOffscreenCapture.cpp and Standalone/Source/StreamBenchmarkPipeline.h.