mirror of
https://github.com/storytold/cadcraft.git
synced 2026-10-24 10:56:51 -06:00
Slabs ran between vertex rows and paired the active edges by their order at the slab's middle, so two edges crossing inside a slab (a bowtie, two loops crossing) were paired across the crossing and the trapezoids covered the wrong side of it. A slab with such a crossing is now cut again at that y and each part paired on its own, under a cut budget so hostile input stays bounded. Tests check coverage against an even-odd parity oracle for a bowtie, an off-centre bowtie, two crossing loops and the plain cases; the three crossing cases fail on main. Claude-Session: https://claude.ai/code/session_011K1peyrh5MdZ6ttHkVq8Gh Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>