From 17b986d11ccec611271e5cd22f3ca4fad81800c5 Mon Sep 17 00:00:00 2001 From: dotCooCoo Date: Tue, 10 Nov 2026 16:59:15 -0800 Subject: [PATCH 1/4] Docs: pattern.options keeps current values for omitted params The pattern and Repeat paragraph in docs/mcp.md said that every omitted or null param keeps its default. pattern.options and object.repeat.options keep the pattern's or the repeat's current value instead (except the brick offset, which a brick tileType or gridType without brickOffset sets to 0.5), object.pattern.edit and pattern.options fall back to the selected object's pattern and the pattern being edited when name is omitted, and pattern.delete requires name. --- docs/mcp.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/mcp.md b/docs/mcp.md index c8841adf6..b220a1011 100644 --- a/docs/mcp.md +++ b/docs/mcp.md @@ -3103,8 +3103,13 @@ The pattern commands (`object.pattern.make`, `object.pattern.edit`, `object.patt `object.repeat.options`) reject a param of the wrong type, such as `"instances": "8"`, `"edit": "false"` or `"tileType": 2`, and change nothing. `pattern.options` also rejects an `overlap` that is not an object, and an `overlap.h` other than `left` or `right` or an `overlap.v` other than `top` or `bottom`. `object.repeat.options` rejects -a `center` that is not `[x, y]`, and `object.repeat.radial` rejects a negative `radius`. Omitting a param or giving null -keeps its default. +a `center` that is not `[x, y]`, and `object.repeat.radial` rejects a negative `radius`. In `object.pattern.make`, +`object.pattern.saveCopy`, `object.repeat.radial`, `object.repeat.grid` and `object.repeat.mirror`, omitting a param or +giving null keeps its default. In `pattern.options` and `object.repeat.options`, omitting a param or giving null keeps +the pattern's or the repeat's current value, with one exception: a brick `tileType` in `pattern.options` or a brick +`gridType` in `object.repeat.options` given without `brickOffset` sets the offset to 0.5. Without a `name`, +`object.pattern.edit` edits the pattern that fills or strokes a selected object, and `pattern.options` changes the +pattern being edited; each returns an error when there is no such pattern. `pattern.delete` requires `name`. ```json {"name":"run_command","arguments":{"command":"pattern.options","params":{"showSwatchBounds":true}}} From 8430715ec7736de9a26817956ca5346ad6a00acf Mon Sep 17 00:00:00 2001 From: dotCooCoo Date: Tue, 10 Nov 2026 17:27:50 -0800 Subject: [PATCH 2/4] Docs: pattern.options sizes the tile to the art while sizeTileToArt is on A brick tileType or gridType with brickOffset omitted or null sets the offset to 0.5. While sizeTileToArt is on, every pattern.options call sizes the tile to the art plus hSpacing and vSpacing again and ignores width and height, so a new hSpacing changes the tile's width. --- docs/mcp.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/mcp.md b/docs/mcp.md index b220a1011..7b9abf63f 100644 --- a/docs/mcp.md +++ b/docs/mcp.md @@ -3106,8 +3106,10 @@ The pattern commands (`object.pattern.make`, `object.pattern.edit`, `object.patt a `center` that is not `[x, y]`, and `object.repeat.radial` rejects a negative `radius`. In `object.pattern.make`, `object.pattern.saveCopy`, `object.repeat.radial`, `object.repeat.grid` and `object.repeat.mirror`, omitting a param or giving null keeps its default. In `pattern.options` and `object.repeat.options`, omitting a param or giving null keeps -the pattern's or the repeat's current value, with one exception: a brick `tileType` in `pattern.options` or a brick -`gridType` in `object.repeat.options` given without `brickOffset` sets the offset to 0.5. Without a `name`, +the pattern's or the repeat's current value, with two exceptions. A brick `tileType` in `pattern.options` or a brick +`gridType` in `object.repeat.options` with `brickOffset` omitted or null sets the offset to 0.5. While `sizeTileToArt` +is on, each `pattern.options` call sizes the tile to the art plus `hSpacing` and `vSpacing` again and ignores `width` +and `height`, so a new `hSpacing` changes the tile's width. Without a `name`, `object.pattern.edit` edits the pattern that fills or strokes a selected object, and `pattern.options` changes the pattern being edited; each returns an error when there is no such pattern. `pattern.delete` requires `name`. From e60b0c3aa6b5f98b819e71cc40479cf73c2b8483 Mon Sep 17 00:00:00 2001 From: dotCooCoo Date: Tue, 10 Nov 2026 17:57:41 -0800 Subject: [PATCH 3/4] Docs: pattern.options rejects a bad width or height while sizeTileToArt is on With sizeTileToArt on, pattern.options ignores width and height for sizing but still rejects a value that is not a positive number, such as width 0, and changes nothing. --- docs/mcp.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/mcp.md b/docs/mcp.md index 7b9abf63f..f9c61590f 100644 --- a/docs/mcp.md +++ b/docs/mcp.md @@ -3109,7 +3109,8 @@ giving null keeps its default. In `pattern.options` and `object.repeat.options`, the pattern's or the repeat's current value, with two exceptions. A brick `tileType` in `pattern.options` or a brick `gridType` in `object.repeat.options` with `brickOffset` omitted or null sets the offset to 0.5. While `sizeTileToArt` is on, each `pattern.options` call sizes the tile to the art plus `hSpacing` and `vSpacing` again and ignores `width` -and `height`, so a new `hSpacing` changes the tile's width. Without a `name`, +and `height`, so a new `hSpacing` changes the tile's width. `pattern.options` still rejects a `width` or `height` that +is not a positive number, such as `"width": 0`, and changes nothing. Without a `name`, `object.pattern.edit` edits the pattern that fills or strokes a selected object, and `pattern.options` changes the pattern being edited; each returns an error when there is no such pattern. `pattern.delete` requires `name`. From d399b176052567c6ee8f857836b9b9a669b01bdb Mon Sep 17 00:00:00 2001 From: dotCooCoo Date: Tue, 10 Nov 2026 18:27:23 -0800 Subject: [PATCH 4/4] Docs: pattern.options accepts a null width or height as omitted The width and height check in pattern.options applies only to values that are not null; null keeps the current value. --- docs/mcp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/mcp.md b/docs/mcp.md index f9c61590f..902bfff22 100644 --- a/docs/mcp.md +++ b/docs/mcp.md @@ -3109,8 +3109,8 @@ giving null keeps its default. In `pattern.options` and `object.repeat.options`, the pattern's or the repeat's current value, with two exceptions. A brick `tileType` in `pattern.options` or a brick `gridType` in `object.repeat.options` with `brickOffset` omitted or null sets the offset to 0.5. While `sizeTileToArt` is on, each `pattern.options` call sizes the tile to the art plus `hSpacing` and `vSpacing` again and ignores `width` -and `height`, so a new `hSpacing` changes the tile's width. `pattern.options` still rejects a `width` or `height` that -is not a positive number, such as `"width": 0`, and changes nothing. Without a `name`, +and `height`, so a new `hSpacing` changes the tile's width. `pattern.options` still rejects a non-null `width` or +`height` that is not a positive number, such as `"width": 0`, and changes nothing. Without a `name`, `object.pattern.edit` edits the pattern that fills or strokes a selected object, and `pattern.options` changes the pattern being edited; each returns an error when there is no such pattern. `pattern.delete` requires `name`.