mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-22 19:08:39 +00:00
Shape Builder: double-clicking the tool opens Shape Builder Tool Options
Double-clicking the Shape Builder tool reported that the tool has no options. The reference app opens Shape Builder Tool Options there. The dialog sets Consider Open Filled Paths as Closed, Pick Color From (Artwork or Color Swatches), Cursor Swatch Preview, Selection (Freeform or Straight Line) and Highlight Fill. The defaults keep today's behavior. With Consider Open Filled Paths as Closed off, a filled open path cuts regions as an unfilled one does. With Color Swatches, a merge fills the new shape with the current fill, and the Left and Right arrow keys step the current fill through the document's color swatches. Cursor Swatch Preview shows the current fill and the swatches before and after it above the pointer. With Straight Line, a drag merges what the line from its first point to its last crosses. With Highlight Fill off, merge mode shades no regions. The options persist like other tools' options. shapeBuilder.merge takes openFilledAsClosed and pickColorFrom, and shapeBuilder.regions takes openFilledAsClosed. Gap Detection, "In Merge Mode, Clicking Stroke Splits the Path" and Highlight Stroke When Editable are not part of this change. Docs: docs/mcp.md, docs/target-app-parity.md.
This commit is contained in:
1 parent
6f95f1cf09
commit
e5b1f0c191
29 files changed
+679
-31
No files matched your search
+16
-1
@@ -4196,7 +4196,7 @@ active tool, `tool` names another one, and `{}` just reads them; the result is t
|
||||
tool keeps last across tool switches (and documents) and are saved with the preferences (`toolSettings` in
|
||||
`prefs.get`'s full object), as the reference app keeps them: the Liquify tools' brush and tool options, Mirror & Cut's
|
||||
axis and side, Puppet Warp's mesh, the Symbolism brush, the line, grid, pencil, brush and eraser tools' options,
|
||||
polygon sides and star points, and the Flare Tool Options. The Liquify tools share one set of Global Brush Dimensions (width, height, angle,
|
||||
polygon sides and star points, the Flare Tool Options and the Shape Builder Tool Options. The Liquify tools share one set of Global Brush Dimensions (width, height, angle,
|
||||
intensity), and the Symbolism tools one brush. Interaction state (pins, a reference point) starts afresh.
|
||||
|
||||
```json
|
||||
@@ -4224,6 +4224,21 @@ default name, "Artboard N" for the Nth artboard.
|
||||
{"name":"run_command","arguments":{"command":"tool.setOption","params":{"tool":"flare","values":{"rays":24,"ringsOn":false}}}}
|
||||
```
|
||||
|
||||
The Shape Builder tool's options are its Shape Builder Tool Options (dialog `shapeBuilderOptions`):
|
||||
`openFilledAsClosed` (on: a filled open path bounds a region as if an invisible edge closed it; off: it cuts regions
|
||||
as an unfilled path does), `pickColorFrom` (`artwork`, the default: a merged shape takes the fill of the front-most
|
||||
object over the first region the drag touches that an object covers, and the current fill when only lines enclose
|
||||
every region touched; `swatches`: the current fill, and the Left and Right arrow keys step the current fill through the
|
||||
document's color swatches), `cursorSwatchPreview` (off; with `swatches`, chips above the pointer show the current fill
|
||||
and the swatches before and after it), `selection` (`freeform`, the default, or `straightLine`: a drag touches what
|
||||
the line from its first point to the pointer crosses) and `highlightFill` (on by default; when it is off, merge mode
|
||||
shades no regions). The tool sends `openFilledAsClosed` and `pickColorFrom` with `shapeBuilder.merge`, which takes
|
||||
both as params, and `shapeBuilder.regions` takes `openFilledAsClosed`.
|
||||
|
||||
```json
|
||||
{"name":"run_command","arguments":{"command":"tool.setOption","params":{"tool":"shapeBuilder","values":{"selection":"straightLine","pickColorFrom":"swatches"}}}}
|
||||
```
|
||||
|
||||
## Perspective grid
|
||||
|
||||
The grid is document data (`perspective.grid.set` edits the model directly). `perspective.grid.get` reads it:
|
||||
|
||||
Reference in new issue
Block a user