Some checks failed
CI / Windows build (push) Has been cancelled
Ties the engine together: a StrokeHost is anything ink attaches to — a PDF page, an infinite-board region, or a (P5) CAS overlay — with a stable hostId (cache + persistence key), a contentSize (normalized↔px mapping), and a revision-tracked StrokeStore. strokesIn(viewport) broad-phase-culls via stroke_bounds for the board. The viewport mounts one AnnotationLayer per host; nothing in the engine knows page vs board (the one host-agnostic ink engine). Makes StrokeStore (P0) + stroke_bounds load-bearing together. Pure; unit-tested. flutter analyze lib/editor clean; 208/208 tests (+4). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.9 KiB
1.9 KiB