Build image / build-and-push (push) Successful in 5s
- FillRegion's doc still said "half-pitch inset", left over from the first draft of the fix; the inset is radius - spacing/2. Two docs on the same function disagreeing is worse than either being terse. - Reject non-finite region bounds. They survive clamping and the inverted- region guard (NaN compares false both ways). Nothing corrupt reached the table — SQLite stores NaN as NULL and NOT NULL refuses it — but NaN surfaced as a raw store error and +Inf as a silent zero-plop success. - TestHexCentersTinyRegion used a region symmetric about the origin, so it could not distinguish "the middle of the region" from "the origin" and would have passed for an implementation that just returned (0,0). Added an off-centre case. Not taken: the finding that `make(..., rows*cols)` over-allocates ~12% because staggered rows hold cols-1. True, but the slice is capped at maxFillPlops (5000) and the exact count needs a ceil/floor split for no measurable gain. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> Claude-Session: https://claude.ai/code/session_01H3zbym8Doka2d7D48maSgZ