Summary
SonarLiveTile::foldChild (#160) area-maps each child cell to the parent cell
containing its geographic centre and silently drops any child cell whose centre
falls outside the parent's bounds. Within a single GGGS latitude band the parent always
contains the child, so this never triggers — but across a ±72°/±80° latitudeScaleFactor
boundary a child can straddle a scale-change edge, dropping a few cells → a possible
overview seam on a high-latitude survey.
Bounds guards prevent corruption (no out-of-range writes); the effect is a cosmetic gap,
and EchoBoat surveys are all mid-latitude, so this is not currently reachable.
Proposed
Add a boundary test at a ±72°/±80° band edge asserting full parent coverage, and if a gap
is confirmed, handle the straddling case (e.g. clamp/redistribute the boundary cells).
Part of #160 (deferred follow-up recorded in ADR-0010 Consequences).
Authored-By: Claude Code Agent
Model: Claude Opus 4.8 (1M context)
Summary
SonarLiveTile::foldChild(#160) area-maps each child cell to the parent cellcontaining its geographic centre and silently drops any child cell whose centre
falls outside the parent's bounds. Within a single GGGS latitude band the parent always
contains the child, so this never triggers — but across a ±72°/±80°
latitudeScaleFactorboundary a child can straddle a scale-change edge, dropping a few cells → a possible
overview seam on a high-latitude survey.
Bounds guards prevent corruption (no out-of-range writes); the effect is a cosmetic gap,
and EchoBoat surveys are all mid-latitude, so this is not currently reachable.
Proposed
Add a boundary test at a ±72°/±80° band edge asserting full parent coverage, and if a gap
is confirmed, handle the straddling case (e.g. clamp/redistribute the boundary cells).
Part of #160 (deferred follow-up recorded in ADR-0010 Consequences).
Authored-By:
Claude Code AgentModel:
Claude Opus 4.8 (1M context)