From 7d63c353d5f8d3330ad58c640619a8b1c6c2f03f Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Thu, 4 Jun 2026 09:39:55 -0400 Subject: [PATCH] TODO: surface industry-convention parity gaps in vector tools MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The docs audit (commit ef03f73) caught several universal design-tool conventions that aren't wired in the vector toolset — most are single-branch additions to existing drag handlers. Capture them in TODO.md under "Design-tool follow-ups" as a discrete cluster so we remember they exist. The 14 items: - Select tool: Shift-constrain-axis on drag, Alt-drag duplicate, Shift-aspect-lock on corner scale, Shift-rotation 15° snap. - Global: Cmd+A select-all, Spacebar temp-pan, Cmd+0 fit-zoom, Cmd+=/- zoom step. - Shape tool: Shift-constrain to perfect primitive, Alt-from-center draw. - Text tool: drag-to-size. - Pencil tool: smoothing slider, Alt-drag append, auto-close near start. Each entry notes rough scope so we can pick them off in any order. None are blockers; the docs audit just reminded us they're missing. Co-Authored-By: Claude Opus 4.7 --- TODO.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/TODO.md b/TODO.md index 009b3e6..566a5ca 100644 --- a/TODO.md +++ b/TODO.md @@ -86,6 +86,56 @@ landed with these intentional gaps: - **Pixel-art frame timeline.** Onion skin + frame list + FPS control. Largest open arc; transformative if pixel art is a focus. +### Industry-convention parity gaps (surfaced 2026-06) + +The Pen tool's Illustrator-parity arc landed in full, but several +universal design-tool conventions are missing from the rest of the +vector toolset. Each is small — typically one branch in the +existing drag handler. Surfaced while auditing the in-app docs +(authors expected these to work because every other design tool +has them). + +- **Select tool — Shift-constrain-axis on drag.** Hold Shift while + moving a layer to lock movement to horizontal / vertical / 45°. + Branch the drag handler on `e.shiftKey`. Universal in + Illustrator / Figma / Sketch. +- **Select tool — Alt-drag duplicate.** Hold Alt while starting a + drag to clone the layer at the pointerdown position and drag the + clone. Universal. +- **Select tool — Shift-aspect-lock on corner scale.** Hold Shift + during a corner-handle drag to keep the layer's aspect ratio. + Universal. +- **Select tool — Shift-rotation 15° snap.** Hold Shift while + rotating to snap to 15° increments. Universal. +- **Cmd/Ctrl + A select-all.** Selects every layer on the current + surface. Wire next to the existing Cmd+G / Cmd+] bindings. +- **Spacebar temp-pan from any tool.** Track keydown / keyup; flip + the active tool to `hand` while held, restore on release. Must + release cleanly mid-stroke (Pen tool already does its own + spacebar-reposition; carve around that). +- **Cmd/Ctrl + 0** to fit-zoom the artboard. Trivial — bind to + `resetZoomAuto`. The button already exists in the canvas toolbar. +- **Cmd/Ctrl + + / - / wheel** for zoom. Trickier because browsers + usually intercept Cmd+wheel for page zoom. Cmd+= / Cmd+- (no + wheel) is the safer compromise. +- **Shape tool — Shift-constrain.** Hold Shift while dragging a + shape primitive to constrain to a perfect square / circle / 45° + line. Universal in every drawing app. +- **Shape tool — Alt-from-center draw.** Hold Alt to draw from the + centre outward instead of corner-to-corner. Universal. +- **Text tool — drag-to-size.** Drag instead of click to size the + new text box (Illustrator's "type-on-area" vs "type-on-point"). + Today it's always click-to-place at a fixed size. +- **Pencil tool — smoothing slider.** Rolling average + Bézier fit + at commit time. Pencil today writes a literal polyline (M / L + segments); the spec gestures at smoothing in a "later phase". +- **Pencil tool — Alt-drag append.** Extend the currently-selected + pen / pencil path from its nearest endpoint instead of starting a + new layer. Illustrator behaviour. +- **Pencil tool — auto-close near start.** If the release point is + within ~10 px of the stroke's start point, close the path. Tiny + flourish that turns pencil into a viable closed-shape tool. + ## QR code layer — remaining phases Phases A and B shipped (the `qr` layer type: data, error-correction level,