mirror of
https://github.com/storytold/gridcraft.git
synced 2026-10-30 05:37:00 -06:00
check_limits capped the name, description, notes, step count, depth and input names, and left the shortcut, permissions, output anchor, default range, column types, command ids, Repeat ranges, If cells and values and Stop messages bounded only by the item size; the input declaration was stored unchecked (rows [5, 2], a cell input with cols [2, 5]). Now each of them has a limit (docs/macros.md lists them), one-line fields refuse control characters, and a command id is letters, digits, . and _ (every registered id passes, tested). An If value may be null (Empty and NotEmpty ignore it); Repeat.max stays the runner's to bound. An input's least rows and columns can't pass its most, a cell input is one row and one column with no header and at most one column type, and no input lists more column types than columns. check_limits takes every struct apart field by field, so a new field doesn't compile there until its limit is decided. A macro from a file that breaks a rule is left out with the usual warning, never changed to fit.