mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-14 15:57:49 +00:00
addon.shapes.polygon and addon.shapes.star rounded a fractional side or point count and clamped it to 3..1000, so 2.5, 2 or 5000 drew a shape with a different count than asked for. addon.shapes.configure read sides only as an unsigned integer, ignored a fraction and cut a large value to 32 bits before clamping it, so 4294967299 gave a triangle. The commands now refuse a supplied value outside its range with an error that names the parameter and the range, and draw or change nothing; an omitted or null value still takes its default: - sides and points: a whole number from 3 to 1000 - rounded and randomized: -10 to 10; spokeRatio: 0.01 to 1 - turns: 0.01 to 1024; divergence: 0 to 1000; innerRadius: 0 to 0.999 - width, height, radius and radius1: 0 or more (a negative size was made positive before, and a negative corner radius became 0) - radius2: 0.01 to 1 times radius1 (the ratio was clamped before) - radii: four numbers, each 0 or more (a malformed array was ignored) - arcMode: whole, pie (slice), chord or arc (open); any other value drew a whole shape before addon.shapes.configure checks every value before it changes any of the selected shapes, keeps fitting a corner radius to half each rectangle's shorter side, and records no undo step when no shape changes. Docs: docs/mcp.md (3D Box and shapes add-on), docs/target-app-parity.md.