docs: audit pass — fix wrong shortcut + behaviour claims

Swept the help pages against the actual code paths and removed /
corrected claims that didn't ship.

vector-tools.md
- Removed: spacebar temp-pan, Alt duplicate-as-you-drag, generic
  Shift-constrain.
- Added: verified shortcuts (Cmd+Z/Y/D/C/X/V/G, Cmd+]/[ with
  Shift modifier, Cmd+J / Cmd+Alt+J in Pen edit mode,
  Delete/Backspace for layers + anchors).

tool-select.md
- Removed Cmd+A (not wired), Alt-drag-duplicate (not wired),
  Shift-constrain-axis drag (not wired), Cmd-click stack-walk
  (not wired). Kept the verified marquee + multi-select.

tool-direct-select.md
- Re-wrote anchor / handle interactions to match the actual hit-
  test branches (Alt-click anchor toggles kind in one click; Alt-
  drag a handle breaks symmetry; Alt-click segment inserts an
  anchor; plain drag of a segment bows it). Removed the "click an
  endpoint to continue drawing" claim — that's a Pen-only flow.

tool-hand.md
- Removed every fictional zoom shortcut (Cmd+wheel, Cmd+0,
  Cmd+= / Cmd+-). Documented the real zoom controls (−/+/Fit
  buttons + dropdown in the canvas toolbar). Spacebar reposition
  scoped correctly to the Pen tool only.

tool-pen.md
- Clarified that the Pen options pane has its own Fill / Stroke
  inputs (separate from any "Stroke panel" that doesn't actually
  exist).

tool-pencil.md
- Removed every claim that wasn't true: smoothing slider, Alt-drag
  append, auto-close. Pencil writes a plain polyline (M…L L L…),
  one layer per stroke. Tool options pane has only colour + width.

tool-shape.md
- Filled in the missing primitives (rounded-rect / circle /
  triangle — total 8, not 5). Removed Shift / Alt drag modifiers
  that aren't checked in startShapeDrag / commitShapeFromDrag.
  Added the small-drag → default-size fallback that the code does
  do.

tool-text.md
- Replaced the "drag a rectangle to size" claim with the actual
  click-to-place behaviour (placeTextWithTool drops a fixed-size
  box at the cursor + auto-flips to Select with the box focused).
  Softened the Cmd+B/I/U claims to "browser native rich-text
  shortcuts" since they're not wired in the app code.

tool-eyedropper.md
- Replaced the fictional "inline ⊙ buttons next to colour fields"
  with the real OS-colour-picker eyedropper that Chrome's native
  <input type="color"> shows.

panel-layers.md
- Removed Cmd+A select-all (not wired). Added Shift modifier to
  Cmd+]/[ for bring-to-front / send-to-back. Clarified that
  position units are inches in print modes, pixels in Custom Art
  / Slide / Deck (matches the unit toggle behaviour).

Co-Authored-By: Claude Opus 4.7 <[email protected]>
This commit is contained in:
thePR0M3TH3ANandClaude Opus 4.7 committed 2026-06-04 09:32:11 -04:00
1 parent e9f3682bff
commit ef03f731d1
10 files changed
+141 -140

No files matched your search

+10 -6
View File
@@ -40,11 +40,14 @@ Each row in the layer list shows:
- **Drag** rows to reorder. Z-order on the canvas follows the - **Drag** rows to reorder. Z-order on the canvas follows the
list order (top of the list = top of the stack). list order (top of the list = top of the stack).
- **Cmd/Ctrl + ]** / **Cmd/Ctrl + [** sends selected layers - **Cmd/Ctrl + ]** / **Cmd/Ctrl + [** sends selected layers
forward / backward. forward / backward. Add **Shift** for bring-to-front / send-to-
- **Shift+click** to multi-select; then drag a contiguous block. back.
- **Shift+click** (or Cmd / Ctrl + click) to multi-select rows.
- **Group** — select multiple rows + click the Group button (or - **Group** — select multiple rows + click the Group button (or
Cmd/Ctrl + G) to collapse them under a single expandable row. press **Cmd/Ctrl + G**) to collapse them under a single
Groups have their own visibility / lock toggles that cascade. expandable row. Groups have their own visibility / lock toggles
that cascade.
- **Ungroup** — click an active group's Ungroup button.
## Layer options (the per-layer right-side pane) ## Layer options (the per-layer right-side pane)
@@ -52,8 +55,9 @@ Clicking a layer in the list (or selecting it on the canvas)
populates a contextual options block in the right-side floating populates a contextual options block in the right-side floating
pane. Common controls: pane. Common controls:
- **Position** — x / y / w / h in inches (or px in screen-DPI - **Position** — x / y / w / h in canvas units (inches for print
modes). Aspect-ratio lock keeps width + height proportional. modes; pixels for Custom Art / Slide / Deck). The 🔒 button
toggles aspect-ratio lock so changing w updates h proportionally.
- **Rotation** — 0–360°. - **Rotation** — 0–360°.
- **Opacity** — 0–1. - **Opacity** — 0–1.
- **Fit** — for image layers: cover / contain / fill / none. - **Fit** — for image layers: cover / contain / fill / none.
+9 -7
View File
@@ -21,8 +21,8 @@ counterpart to Select, which moves the whole layer.
By default both handles move symmetrically (smooth point). By default both handles move symmetrically (smooth point).
- **Alt+drag** a handle to break symmetry — corner point with - **Alt+drag** a handle to break symmetry — corner point with
independent handles per side. independent handles per side.
- **Click an anchor without dragging, then Alt+click** to flip - **Alt+click an anchor** toggles between smooth point and corner
between smooth point and corner point. point.
## Multi-anchor edits ## Multi-anchor edits
@@ -36,11 +36,13 @@ counterpart to Select, which moves the whole layer.
## Segment edits ## Segment edits
- **Drag a segment** between two anchors to bow it without moving - **Drag a segment** between two anchors to bow it (curve-direct-
the anchors themselves (curve-direct-edit). edit) without moving the anchors themselves.
- **Click an endpoint** when the path is open to continue drawing - **Alt+click a segment** to insert a new anchor at the click point
from it (auto-flips you to the Pen tool with the path's last and drag it.
anchor pre-selected). - To continue drawing from an open endpoint, switch to the **Pen
tool** and click the endpoint — Direct Selection alone won't
extend the path.
## Tips ## Tips
+12 -7
View File
@@ -14,14 +14,19 @@ native `window.EyeDropper` API.
focus (right-side panel). focus (right-side panel).
- Press **Esc** to cancel without sampling. - Press **Esc** to cancel without sampling.
## Inline eyedropper buttons ## OS colour picker eyedropper
You don't need the toolbar tool to use the eyedropper — many The browser's native colour picker (which opens when you click any
colour-input fields in the right-side panels have a small ⊙ button colour field in the right-side panels) also includes its own
next to them that triggers a one-shot sample directly into that eyedropper button in Chromium-based browsers — useful when you
specific field. Use that when you want to sample a colour for a want to sample a colour directly into a specific field instead of
specific property (e.g., stroke colour) without affecting the the active slot. Behaviour differs by browser:
"active" slot.
- **Chromium-based** (Chrome / Edge / Brave) — the native colour
picker has an eyedropper inside.
- **Safari / Firefox** — no built-in eyedropper. Type a hex value
by hand or use the dedicated toolbar tool to sample into the
active swatch.
## Browser support ## Browser support
+12 -16
View File
@@ -9,28 +9,24 @@ when the canvas extends beyond the visible area.
- The cursor changes to a closed grab while dragging. - The cursor changes to a closed grab while dragging.
- Doesn't select, modify, or create layers. - Doesn't select, modify, or create layers.
## Temp-pan from any tool ## Pen-mode Spacebar reposition
You rarely need to switch to the Hand tool explicitly: A specific case: while mid-draw with the **Pen tool**, holding
**Spacebar** repositions the anchor you're currently placing (and
- **Hold Spacebar** with any other tool active to temp-pan. The slides its handles with it). This is a Pen-tool-only behaviour, not
cursor switches to the grab cursor; release the spacebar to pop a global "temp-pan". Release to commit the anchor.
back to the previous tool. Works mid-stroke for the Pen + Pencil
tools (the in-progress draft stays put).
## Zoom controls ## Zoom controls
Zoom isn't tied to the Hand tool — it works from any tool: Zoom isn't tied to the Hand tool — it works from any tool via the
canvas toolbar at the top of the canvas:
- **Cmd/Ctrl + scroll wheel** zooms toward the cursor. - **− / +** buttons step by 10 % each.
- **Cmd/Ctrl + + / -** zoom in / out by one preset step. - **Zoom dropdown** chooses a preset level.
- **Cmd/Ctrl + 0** fits the artboard to the viewport. - **Fit** button auto-fits the artboard to the viewport.
- The **Zoom** select at the top of the canvas chooses a preset
level (25% → 400%) or "Fit".
## Tips ## Tips
- The temp-pan modifier is essentially the only reason to flip to
the Hand tool deliberately — it gives you a momentary pan without
losing your active tool's modal state.
- A trackpad two-finger swipe also pans without a tool change. - A trackpad two-finger swipe also pans without a tool change.
- For pixel-precise alignment, zoom in via the **+** button until
pixel boundaries are visible, then pan with the Hand tool.
+7 -5
View File
@@ -65,11 +65,13 @@ With **multiple anchors selected via the Direct Selection tool**:
## Tips ## Tips
- The stroke thickness while drawing matches what's set in the - The Pen tool's options pane has its own **Fill colour**, **Stroke
right-side **Stroke** panel — set width + colour before you start colour**, and **Stroke width** inputs — set them before you start
if you want immediate visual feedback. drawing for immediate visual feedback. They're separate from any
layer's existing stroke settings.
- The **Fill closed path** checkbox in the options pane controls
whether a closed path renders with its fill colour or stays
outline-only.
- Pen and Pencil store the same underlying path data, so a Pencil - Pen and Pencil store the same underlying path data, so a Pencil
sketch can be opened with Direct Selection + edited with the Pen sketch can be opened with Direct Selection + edited with the Pen
ops without conversion. ops without conversion.
- The canvas grid + snap settings (right-side panel) help with
precise vector placement.
+19 -32
View File
@@ -1,45 +1,32 @@
# Pencil tool (B) # Pencil tool (B)
Freehand drawing. Your pointer's path is recorded as a sequence of Freehand drawing. Your pointer's path is sampled as a polyline of
points then smoothed into a Bézier path on release. line segments — each stroke becomes its own `shape` (path) layer.
## Drawing ## Drawing
- **Click + drag** to draw. Release to commit. - **Click + drag** to draw. Release to commit.
- The resulting layer is a vector `shape` (path kind) — identical - The resulting layer is a vector `shape` (path kind) — same
data model to a path drawn with the Pen tool, so you can edit it underlying data model as a Pen path, so you can edit it with
with [Direct Selection](#/help/tool-direct-select) afterwards. [Direct Selection](#/help/tool-direct-select) afterwards (drag
individual anchors, bow segments, etc).
## Smoothing ## Tool options
The pencil applies a default smoothing pass that: The right-side **Tool options** pane has two inputs:
- Drops every Nth point to reduce noise. - **Stroke colour** — the line colour.
- Fits Bézier handles to the remaining points using a curvature- - **Stroke width** — in pixels.
preserving algorithm.
- Closes the path automatically if your release point is within a
short distance of the start (configurable threshold).
The right-side **Tool options** pane has a smoothing slider — drop Both apply at draw time. They're separate from any selected
it to 0 to get every raw input point preserved; crank it up for layer's stroke settings.
sketch-style smoothed strokes.
## Modifiers
- **Alt+drag** — add to the currently-selected path (extends it
from the closest endpoint).
- **Shift+click** an endpoint of the currently-selected path to
continue from that endpoint with a single straight segment.
## Stroke + fill
Like the Pen, the active **Stroke** panel + **Fill** panel apply at
draw time. A pencil layer with a fill becomes a closed-shape fill;
with stroke only it stays a single drawn line.
## Tips ## Tips
- Trackpad input gives you nicer curves than a mouse — natural - Pencil strokes are stored as line-to segments (no smoothing in
micro-jitter feeds the smoother better. v1). For a smoothed curve, draw with the **Pen tool** instead and
- For a pixel-perfect path, switch to the **Pen** tool instead — pull tangent handles where you want curves.
Pencil is for organic strokes, Pen for deliberate Bézier work. - Each release creates a new layer — for multi-stroke sketches you
can group the layers later via the Layers panel.
- Trackpad input gives you smoother visual motion than a mouse, but
the underlying path stays a polyline either way.
+11 -15
View File
@@ -6,22 +6,20 @@ The default tool. Moves, scales, and rotates whole layers.
- **Click** a layer to select it. Eight handles appear around the - **Click** a layer to select it. Eight handles appear around the
bounding box. bounding box.
- **Drag** to move. Hold **Shift** to constrain to the nearest 45° - **Drag** the layer body to move it.
axis (horizontal, vertical, or diagonal). - **Drag a corner handle** to scale on both axes.
- **Drag a corner handle** to scale. Hold **Shift** to keep the
aspect ratio.
- **Drag a side handle** to scale on one axis. - **Drag a side handle** to scale on one axis.
- **Drag the small rotate handle** above the top edge to rotate. Hold - **Drag the rotate handle** above the top edge to rotate.
**Shift** to snap to 15° increments. - **Cmd/Ctrl + D** duplicates the selected layer.
- **Hold Alt while dragging** to duplicate the layer in place.
## Multi-select ## Multi-select
- **Shift+click** another layer to add it to the selection. - **Shift+click** (or Cmd / Ctrl + click) another layer to add it to
- **Cmd/Ctrl+A** selects every layer on the current surface. the selection.
- **Marquee box-select** — click an empty area of the canvas and drag. - **Marquee box-select** — click an empty area of the canvas and drag.
Every layer whose bounding box intersects the marquee joins the Every layer whose bounding box intersects the marquee joins the
selection. selection. Hold **Shift / Cmd / Ctrl** while marqueeing to add to
the existing selection instead of replacing it.
With ≥2 layers selected, the **Align & Distribute** panel + the With ≥2 layers selected, the **Align & Distribute** panel + the
**Pathfinder** ops (for vector shapes) become available. **Pathfinder** ops (for vector shapes) become available.
@@ -36,8 +34,6 @@ With ≥2 layers selected, the **Align & Distribute** panel + the
## Tips ## Tips
- The Select tool ignores the per-layer visibility / lock state set - A locked layer (lock icon in the Layers panel) refuses drag input
in the Layers panel. A locked layer still highlights on hover but on the canvas; the row in the list still highlights on hover.
refuses drag input. - Hidden layers (eye icon off) don't intercept canvas clicks at all.
- Hold **Cmd/Ctrl** while clicking to pick up a layer that's behind
another layer at the click point (z-stack walk).
+31 -30
View File
@@ -1,44 +1,45 @@
# Shape tool (S) # Shape tool (S)
Drops vector primitives — rectangle, ellipse, polygon, star, line. Drops vector primitives by drag-creating a bounding box on the
The right-side **Tool options** pane picks the primitive + per-shape canvas. The right-side **Tool options** pane picks which primitive +
parameters before you drag. its fill / stroke before you drag.
## Primitives ## Primitives
The options pane's **Shape** dropdown:
- **Rectangle** — drag a bounding box. - **Rectangle** — drag a bounding box.
- **Ellipse** — drag a bounding box; the ellipse inscribes it. - **Rounded rectangle** — same but with a configurable corner radius.
- **Polygon** — N-sided regular polygon. The options pane sets the - **Circle** — perfect circle inscribed in the drag bbox.
side count (3 – 32) before you drag. - **Ellipse** — ellipse inscribing the drag bbox.
- **Star** — M-pointed star. Options pane sets points + inner-radius - **Triangle** — equilateral-ish triangle inscribed in the bbox.
ratio. - **Polygon** — N-sided regular polygon.
- **Line** — drag from start to end. - **Star** — M-pointed star.
- **Line** — line from drag start to drag end.
## Drag modifiers ## Tool options
- **Shift** — constrain to a perfect square / circle, snap polygon - **Shape** — the dropdown above.
rotation to 15°, lock line to 45° angles. - **Fill** checkbox — toggle whether the new shape gets a solid fill.
- **Alt** — draw from the centre outward instead of corner-to-corner. - **Fill colour** — picker when Fill is on.
- **Stroke colour** + **Stroke width** — applies as the new shape's
stroke. Setting Stroke width to 0 + Fill on = filled-only.
## Why these are vector ## Why these are vector
Every shape is stored as a Bézier path under the hood. Switching to Every primitive stores an internal `shape.kind` plus parameter data
**Direct Selection** on any of them auto-converts the primitive into (point count, inner radius, corner radius, etc). You can tweak those
an editable anchors-plus-handles path. You can then add / remove / parameters later from the layer-options pane. Switching to **Direct
modify anchors like any other path. Selection** on a primitive auto-converts it into an editable
anchors-plus-handles path, after which the primitive parameters are
## Fill + stroke replaced by the raw path data.
The right-side **Fill** and **Stroke** panels apply at draw time:
- Solid colour, gradient, or "none".
- Stroke width, dash pattern, line cap.
- The active settings render live in the preview while you drag.
## Tips ## Tips
- For non-rectangular text containers, draw a shape, then add a text - For non-rectangular text containers: draw a shape, then add a text
layer on top + use the layer's **Clip** option to clip the text layer on top + use the text layer's **Clip** option (in the layer-
to the shape. options pane) to clip the text to the shape.
- The **line** primitive's endpoints are anchors — they show up under - The **line** primitive's endpoints are anchors — switching to
Direct Selection and can be moved independently. Direct Selection lets you move each endpoint independently.
- A drag shorter than ~0.08 in drops a default-sized shape at the
cursor (so a click without dragging still creates something).
+15 -16
View File
@@ -5,29 +5,28 @@ created with `contentEditable` set so you can type immediately.
## Creating ## Creating
- **Drag** a rectangle on the canvas to size the text box. - **Click** the canvas. A default-sized text box drops at the click
- The cursor lands inside the box at the end of the drag — start point, the tool auto-flips back to Select, and the box's
typing. contentEditable area gains focus so you can start typing
- **Click + release without dragging** drops a default-sized text immediately. The placeholder text is pre-selected so your first
box at the click point. keystroke replaces it.
## Editing ## Editing
A text layer's content is HTML (rich text). Inline marks supported: A text layer's content is HTML (rich text). Inline marks are
applied via the text-layer-options inline buttons (or the browser's
native rich-text shortcuts when the contenteditable area has focus
— browser behaviour differs):
- **Bold** (`**bold**` or **Cmd/Ctrl + B**) - **Bold**, *italic*, underline, strikethrough — via the inline
- *Italic* (`*italic*` or **Cmd/Ctrl + I**) toolbar buttons that appear with a text layer selected.
- Underline (toolbar button or **Cmd/Ctrl + U**) - Inline link — use the link button in the layer-options pane to
- Strikethrough add a URL to selected text.
- Inline link (paste a URL while text is selected; or use the link
button in the **Type** panel).
Block formatting: Block formatting:
- Headings via the right-side type panel. - Alignment (left / center / right) via the **Alignment** dropdown.
- Bulleted / numbered lists (Enter continues the list; empty Enter - Font, size, colour via the **Type** options pane.
exits).
- Alignment (left / center / right / justify).
## Right-side Type panel ## Right-side Type panel
+15 -6
View File
@@ -42,10 +42,19 @@ whatever you've selected.
## Keyboard shortcuts (canvas focus) ## Keyboard shortcuts (canvas focus)
- **V / A / H / P / B / S / T / I** — switch tools. - **V / A / H / P / B / S / T / I** — switch tools.
- **Shift** while drawing — constrain (square / circle / 45° angles).
- **Alt** — duplicate-as-you-drag for a selected layer.
- **Arrow keys** — nudge selection by 1 px; **Shift+Arrow** by 10 px.
- **Cmd/Ctrl + D** — duplicate selected.
- **Cmd/Ctrl + Z** / **Cmd/Ctrl + Shift + Z** — undo / redo. - **Cmd/Ctrl + Z** / **Cmd/Ctrl + Shift + Z** — undo / redo.
- **Delete / Backspace** — remove selected. - **Cmd/Ctrl + Y** — redo (alternate).
- **Spacebar** — hold to temp-pan (releases back to the previous tool). - **Cmd/Ctrl + D** — duplicate selected layer.
- **Cmd/Ctrl + C / X / V** — copy / cut / paste layer(s).
- **Cmd/Ctrl + G** — group selected layers.
- **Cmd/Ctrl + ] / [** — bring forward / send backward; add **Shift**
for bring-to-front / send-to-back.
- **Cmd/Ctrl + J** — close path / join two selected endpoints
(Pen / Direct Selection edit mode only).
- **Cmd/Ctrl + Alt + J** — average selected anchors to their centroid
(Pen / Direct Selection edit mode only).
- **Delete / Backspace** — remove selected layer; remove selected
anchor in Pen / Direct Selection edit mode.
- **Shift + click** (or Cmd / Ctrl + click) — additive multi-select.
- **Shift while drawing with the Pen tool** — constrain the next
anchor to a 45° angle from the previous one.