Files
vectorcraft/crates/three-d
Dylan M. Taylor cd80d1d859 Security: planar map budgets for booleans, Live Paint, Offset Path and 3D effects
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.
2026-10-25 15:42:41 -04:00
..