mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-09 06:06:38 +00:00
Finding the distinct regions of an arrangement built a flag for every input shape at each edge and kept them in a sorted set, so it cost edges times shapes in time and memory. Each coverage is now the sorted list of the shapes that cover it, deduplicated in a hash set and sorted into the order the flag masks had, so regions, their order and the output of Divide, Hard Mix, Soft Mix, Shape Builder and the flattener are the same. The face lookup and Pathfinder merging take the same lists. Tests compare the lists and the regions with the flag masks for overlapping, nested, touching and disjoint shapes and for 72 shapes.