Copy a sightline report that stopped on a sealed wall

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>
2c91930825Dara Adedeji committed on 9/19/2026, 6:39:33 PMparent87a2144
3 files changedLine totals unavailable