mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-26 10:47:11 -06:00
CodeRabbit findings #6, #19, #53, #59, #62, #167: - Before a sweep builds a planar map (Boolean, normalize, Pathfinder, Offset Path, Live Paint, Shape Builder), the pairs of segments whose bounds overlap are counted exactly in O(n log n); past 4M the operation fails as `PathOpsError::TooComplex` (a crossing can only lie where two segments' bounds overlap). - Live Paint's winding crossings are sparse: the sweep keeps one per edge, and a vector as long as the input count made disjoint shapes quadratic in memory. - Gap detection groups the segments near a loose end by track once. - 3D: ring containment checks bounds first and walks at most 50M edges; Inflate's mixed-cell booleans take at most 4M outline segments together.