mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-29 20:27:05 -06:00
edit.colors.saturate's params text names intensity as required, but a call without it, or with a string such as "40", read the intensity as 0 and still ran Saturate. It changed no visible color but recorded a Saturate undo step. edit.colors.saturate now reads intensity with f64_req, as shape.ellipse reads its box. A missing, null or non-number intensity is the error "missing number `intensity`", which changes nothing and records no undo step. A number outside -100..100 still counts as its nearest end, and the params text says so. Saturate returns a color whose saturation stays the same, as at an intensity of 0, as it was. The HSB round trip rewrote most such colors in their last bit, so they counted as changed and lost their swatch link. In the same file, edit.colors.adjustBalance read a channel that is not a number as 0, and color.harmony read steps or amount that is not a number as its default. Both now refuse it with check_numbers, as the commands docs/mcp.md lists for #1952 do. A null is still read as a key left out. Docs: docs/mcp.md, docs/target-app-parity.md.