mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-27 11:17:01 -06:00
Review follow-ups for the live blend import: - The check of a blend against its drawn steps matched every drawn step against every laid one and measured centres inside the loop, so a crafted blend (64 keys, 1,000 steps between each) could stall the import. Centres and fills are now measured once, and each drawn step finds its neighbours through a grid of cells the tolerance wide. - A blend lays out at most 5,000 objects to be made live, and all the blends of one import at most 50,000 (each laid out twice, once per orientation); past either, the drawn steps stay, with the note. The live steps take the place of drawn steps already counted against the reader's object limit. - A fill the check can't compare (a gradient, a pattern) or a missing one no longer passes: the fills must both be none or solid colours within the tolerance. - When what follows the blend's own art isn't a group of drawn steps, that art (its keys and spine) goes too, with the note, instead of staying drawn. - The spine test can no longer pass without asserting: a spine written backwards keeps the keys' order (live), and a curved spine is read exactly while its straight-drawn steps stay drawn. New tests for steps with a gradient, for the blend's art when its steps aren't a group, and for the budget; import_fuzz gains a mutated-blend property and a large-blend test (998 steps live, 1,500 kept drawn, both quickly).