mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-13 13:09:16 +00:00
effect.apply, appearance.addEffect and effect.setParams checked an effect parameter's type only when the effect has a dialog default for the key. Keys that only the params text names were stored as given: an Outline Stroke with `width: "10 pt"` drew at the stroke's own weight, and a Gaussian Blur with `linear: 1` blurred in linear light. - The earlier 3D `perspective`, `lightAzimuth` and `lightElevation`, Scribble's `variation` and Outline Stroke's `width` must be numbers, and Gaussian Blur's `linear` must be true or false. A test walks every effect so a new key without a default needs a listed type or a check of its own. - The `style` of Crop Marks must be `roman` or `japanese`, and `null` is refused. Any other value drew as Roman. - An installed plug-in effect's parameters are checked against its manifest when the command runs, as plugin.run already checks the effect records a filter returns. - effect.setParams with `warpStyle` checks the parameters against the new Warp style's effect, as it already did for a 3D effect's new `threeDType`. It checked them against the old style. - effect.setParams refuses a `visible` that is not true or false, such as `1` or `"false"`, when called and when a step plays, and nothing changes. Before, the value was ignored and the rest of the call applied. `null` still leaves the visibility as it is. A step of command.batch is refused the same way. A replayed journal or action still plays a wrongly typed effect parameter, as it plays a key the effect no longer takes. Docs: docs/mcp.md, docs/target-app-parity.md.