fix(simulation): orbital rung applies coast_warp_px — one coastline at every rung (T-1160)

The Global/Region rungs sampled the heightmap ocean mask raw while every
finer rung samples it at the coast-warped position — a structurally
different coastline at the orbital-to-district seam. Audited on all 267
real body heightmaps at region spacing, coastal band only: 5.01%
land/ocean classification disagreement (2,911 of 58,073 cells), mean
displacement ~6.0 km, max ~18.9 km. Fork taken: APPLY the warp —
derive_orbital_at_metres now runs invent_primitives' steps 1-3 (driver
climate -> coast character -> coast_warp_px) before sampling, still
skipping detail-scatter (its octave ceiling, 32.8 km, is below region
spacing; the WARP's octaves reach 262 km, which is why skipping it was
wrong). Cost measured: ~784 ns/cell added (~15 ms on an Earth-class
Global canvas; low hundreds of ms parallel at the 8.3M-cell ceiling).
The ignored audit test preserves the pre-fix baseline for the record.
Golden re-pinned — region rows only, district/quarter byte-identical.
project.yaml 0.4.2 -> 0.4.3: orbital canvas bytes changed, client disk
caches must miss. Awaiting Araminta's review-seat sign-off per ticket.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-25 16:09:46 +02:00
co-authored by Claude Fable 5
parent 0d8984fe53
commit befdb689c1
3 changed files with 355 additions and 44 deletions
@@ -95,10 +95,10 @@
"glaciation": 0,
"precipitation": 3,
"slope_q": 0,
"elev_q": 26,
"elev_q": 27,
"ocean_fraction_q": 0,
"temperature_dc": 127,
"moisture_q": 57,
"temperature_dc": 122,
"moisture_q": 56,
"vegetation": 3
},
{
@@ -248,7 +248,7 @@
"glaciation": 2,
"precipitation": 1,
"slope_q": 0,
"elev_q": 62,
"elev_q": 63,
"ocean_fraction_q": 0,
"temperature_dc": -120,
"moisture_q": 43,
@@ -452,7 +452,7 @@
"glaciation": 0,
"precipitation": 0,
"slope_q": 0,
"elev_q": 41,
"elev_q": 42,
"ocean_fraction_q": 0,
"temperature_dc": -2147483648,
"moisture_q": 0,
@@ -503,7 +503,7 @@
"glaciation": 0,
"precipitation": 0,
"slope_q": 0,
"elev_q": 42,
"elev_q": 43,
"ocean_fraction_q": 0,
"temperature_dc": -2147483648,
"moisture_q": 0,
@@ -707,9 +707,9 @@
"glaciation": 0,
"precipitation": 3,
"slope_q": 0,
"elev_q": 28,
"elev_q": 29,
"ocean_fraction_q": 0,
"temperature_dc": 728,
"temperature_dc": 723,
"moisture_q": 59,
"vegetation": 3
},
@@ -809,9 +809,9 @@
"glaciation": 0,
"precipitation": 2,
"slope_q": 0,
"elev_q": 23,
"elev_q": 24,
"ocean_fraction_q": 0,
"temperature_dc": 697,
"temperature_dc": 691,
"moisture_q": 49,
"vegetation": 3
},
@@ -860,10 +860,10 @@
"glaciation": 0,
"precipitation": 2,
"slope_q": 0,
"elev_q": 66,
"elev_q": 67,
"ocean_fraction_q": 0,
"temperature_dc": 300,
"moisture_q": 30,
"moisture_q": 29,
"vegetation": 2
},
{