A sealed perimeter wall blocks at every height, which the asset writes as a band with no top and Dart reads as infinity. JSON has no infinity, so the encode threw and the click did nothing: no clipboard, no saved file, a red error the user cannot act on. Ascent attack alone has 973 sealed walls, so a report from anywhere near the map's edge hit it. An unbounded band edge now encodes as null, which is what the asset writes, what the elevation audit records, and what the triage script already reads back as inf. The encode moved inside the guard that already wrapped building the report, so a value JSON cannot hold reaches the user as the report problem it is rather than as a crash mid-gesture. It is also encoded once now and reused for the clipboard and the file. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Dara Adedeji committed on 9/19/2026, 6:39:33 PMparent87a2144
3 files changedLine totals unavailable