fix: close Θ-W7-T1 round-2 leftovers — NaN guard placement, comment attribution, CLAUDE.md export

Moves the NaN/Inf finiteness check to addSegment where the UB-causing cast actually happens, makes strokeBounds reject an interior non-finite point instead of swallowing it, corrects a LICE_GetPixel misattribution, and documents rasterRowOffset.
This commit is contained in:
2026-08-01 13:59:09 -04:00
parent 3fb77027c6
commit 07628a2059
4 changed files with 51 additions and 18 deletions
+1 -1
View File
@@ -88,7 +88,7 @@ void appendArc(std::vector<StrokePoint>& out, float cx, float cy, float radius,
// accounting for a possibly bottom-up (`flipped`) layout. Pulled out of the shell's LICE blend
// so its flipped branch — dead for every bitmap type the shell actually constructs, and
// otherwise unverifiable without a live LICE surface — is pinned by a host-free test. Matches
// LICE's own row math (`lice.cpp`'s `LICE_SysBitmap` pixel accessor: `(h-1-y)*rowspan + x`).
// LICE's own row math (`lice.cpp`'s free-function `LICE_GetPixel`: `(h-1-y)*rowspan + x`).
inline std::size_t rasterRowOffset(int y, int height, int rowSpan, bool flipped) {
const int row = flipped ? height - 1 - y : y;
return static_cast<std::size_t>(row) * static_cast<std::size_t>(rowSpan);