mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-31 21:27:00 -06:00
M3.25: opacity-mask editing and transparency command reach
While a mask is edited, the Transparency panel and its commands act on the masked object (Release leaves editing first). Mask commands and transparency.set take ids and work without a selection; Make Opacity Mask with one object adds an empty mask and enters editing. Opacity is 0..100 in every command. transparency.info reports the panel's values with null for mixed ones, shown blank. Saves and exports never include the editing layer (Document::without_edit_modes; mask_edit is not serialized). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
8f9d6ef2bd
commit
b117566fc2
+15
@@ -133,3 +133,18 @@ vectorcraft-cli run --cmd file.new --params '{"width":800,"height":600}' \
|
||||
applies to the `--cmd` just before it. `run` also accepts the host commands `file.open`, `file.save`, `file.export`,
|
||||
`file.exportForScreens` and `tool.select`. `run --in`, `convert` and `info` read every format `document.open` reads
|
||||
(`vectorcraft-cli --help` lists them).
|
||||
|
||||
## Transparency and opacity masks
|
||||
|
||||
Transparency and opacity-mask commands take `ids` (or `id`), so they need no selection. Opacity is a percentage
|
||||
(0..100) in every command (`transparency.set`, `object.setProps`, `appearance.setItem`). `transparency.info` returns
|
||||
the Transparency panel's values, with `null` where the objects differ. Making a mask from one object gives it an
|
||||
empty mask and enters mask editing: art drawn then becomes the mask, and the mask commands act on the masked object
|
||||
until `transparency.stopEditingOpacityMask`. Saves and exports never include the editing layer.
|
||||
|
||||
```json
|
||||
{"name":"run_command","arguments":{"command":"transparency.set","params":{"ids":[12],"opacity":40,"blend":"Multiply"}}}
|
||||
{"name":"run_command","arguments":{"command":"transparency.makeOpacityMask","params":{"ids":[12,15],"invert":true}}}
|
||||
{"name":"run_command","arguments":{"command":"transparency.setOpacityMask","params":{"id":12,"clip":false}}}
|
||||
{"name":"run_command","arguments":{"command":"transparency.info","params":{"ids":[12,20]}}}
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user