Brandon Thomas
99b6228abd
Snap: snap preferences as a command, overlay colours from tokens, tidy-up
...
- view.snapPreferences {alignEdges, alignCenters, smartDimensions,
smartSpacing, zone} sets the smart guide options; the Preferences
dialog goes through it, so the control channel and MCP reach them.
- Smart guide, gap and measurement colours come from theme::Tokens.
- Remove the unused closest-target helper (snap_rect and friends).
- Drop the agent planning docs (docs/superpowers) and the .worktrees
ignore line; ROADMAP entry for smart guides and snapping.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:05:59 -04:00
Cameron Gilroy
78605f2944
Snap: visible bounds and constrained gestures
2026-10-06 09:05:59 -04:00
Cameron Gilroy
09c8dc3f06
Snap: pen and anchor points
2026-10-06 09:05:59 -04:00
Cameron Gilroy
e76570c875
Snap: parent rotation is a target
2026-10-06 09:05:59 -04:00
Cameron Gilroy
343b0de552
Snap: rotation lands on the other angle
2026-10-06 09:05:59 -04:00
Cameron Gilroy
50e5355358
Snap: rotation matches another angle
2026-10-06 09:05:59 -04:00
Cameron Gilroy
5a74bf2d6e
Snap: equal spacing on moves
2026-10-06 09:05:59 -04:00
Cameron Gilroy
8e7cff341f
Snap: dimension guides follow the final edge
...
Shift plus Alt restores the aspect from the original center after the size snaps. A line keeps the runner delta on both axes. Dimension guides are redrawn on the committed side. Grouped own size decomposes the absolute transform once.
2026-10-06 09:05:59 -04:00
Cameron Gilroy
40f3b6454a
Snap: dimensions on resize and create
2026-10-06 09:05:59 -04:00
Cameron Gilroy
b0797f2b47
Snap: parent items use the stroked edge
2026-10-06 09:05:59 -04:00
Cameron Gilroy
7032587238
Snap: document grid and baseline passes
2026-10-06 09:05:59 -04:00
Cameron Gilroy
253f1a7a10
Snap: Alt-drag skips preview copies and Shift follows the turned view
2026-10-06 09:05:59 -04:00
Cameron Gilroy
a2451243ad
Snap: Shift and Command on a move
2026-10-06 09:05:59 -04:00
Cameron Gilroy
55ec575521
Snap: guides beat object alignment
2026-10-06 09:05:59 -04:00
Cameron Gilroy
4de93d1345
Snap: carry SnapView on the tool context
2026-10-06 09:05:59 -04:00
Brandon Thomas
f05bbfeea2
Never crash: engine, MCP and tools
...
Commands return errors instead of expect()/unreachable!() (book, library,
undo/redo, paste, find/replace, Pathfinder, tables, QR, select, swatches,
anchors, articles, transform again, XML import). The sample document builder
propagates errors. Commands that add a key to their parameters no longer
panic when a caller (control channel, MCP, script) passes an array or a
string, and corrupt crash-recovery metadata is ignored. engine, mcp and
tools now deny unwrap/expect/panic/unimplemented/todo/unreachable.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 12:43:33 -04:00
Brandon Thomas
b13135472a
V: Rotate Spread per spread — canvas layout through per-spread transforms
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 00:25:16 -04:00
Brandon Thomas
b23f19f0c9
T: drag selected table rows and columns
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 00:14:35 -04:00
Brandon Thomas
77fc006b02
T: vertical type — Vertical Type tool, upright CJK, CJK line breaking
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:18:14 -04:00
Brandon Thomas
036144d327
O: Live Distribute while resizing a selection
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 04:34:34 -04:00
Brandon Thomas
0454044d74
V: Power Zoom with the Hand tool
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 04:21:15 -04:00
Brandon Thomas
4eed1d3177
Q: Content Collector and Placer
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 03:30:43 -04:00
Brandon Thomas
3f2d53f330
Q: Gap tool
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 03:09:58 -04:00
Brandon Thomas
1824d3c275
Q: gridify while drawing frames
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 03:05:53 -04:00
Brandon Thomas
aa54531472
F: Gradient Feather — tool, effect on screen, soft mask in PDF
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 21:19:57 -04:00
Brandon Thomas
faa2897ace
T: drag and drop text editing (move, Alt copies)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 21:12:33 -04:00
Brandon Thomas
4e874efbb0
D: Smooth and Erase tools (path.smooth, path.erase)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 20:39:23 -04:00
Brandon Thomas
eb4fa9c64c
T: Type on a Path — tool, options, screen and PDF
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 20:34:20 -04:00
Brandon Thomas
e79ec65323
A: per-page sizes — Page tool and layout.pageSize
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:54:24 -04:00
Brandon Thomas
fed23aa7ee
V: scrubby zoom with the Zoom tool
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:32:04 -04:00
Brandon Thomas
cc33d0ba15
D: Pencil tool — freehand strokes to smooth paths
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:30:59 -04:00
Brandon Thomas
ea1a0b16c7
D: compound paths, Create Outlines, Scissors tool
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 15:09:32 -04:00
Brandon Thomas
349525bae8
D: Add/Delete Anchor Point and Convert Direction Point tools (path.addAnchor/deleteAnchor/convertAnchor)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 10:22:27 -04:00
Brandon Thomas
66ab252044
F: Gradient Swatch tool, Gradient panel, unnamed gradients (object.gradient)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 10:15:01 -04:00
Brandon Thomas
b3679cbe63
D: parent item overrides — override (Cmd+Shift-click, Override All), remove local overrides, detach
...
Also records Place PDF in ROADMAP and the parity catalog.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 09:11:04 -04:00
Brandon Thomas
51045daf36
M5: loaded place cursor (place gun): click = actual size, drag = fit, click frame = place into
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:53:04 -04:00
Brandon Thomas
a7b9a31fc5
UI: match measured InDesign 2026 chrome (Medium Dark palette, native macOS menu bar, 43 pt app bar, dock layout, rulers, status bar, tools metrics, hairline guides, handles/ports)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:18:34 -04:00
Brandon Thomas
c244e32bfe
M8: rotate from selection corners, Rotate/Scale/Shear tools, Eyedropper (match attributes)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:06:16 -04:00
Brandon Thomas
fe54a974c5
M2.8: snapping and smart guides (page, margins, columns, guides, objects)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 10:52:49 -04:00
Brandon Thomas
362c16e050
M1.7/M2: align & distribute, Pen tool, Direct Selection anchor/handle editing
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 10:51:17 -04:00
Brandon Thomas
91ae2b3cc9
M0: engine, tools, egui UI, desktop app, CLI, sample document, docs
...
Engine with command registry (~100 commands), tool hosting with one-step
undo per gesture, InDesign-style egui frontend (app bar, Control panel,
Tools panel, rulers, guides, frame edges, ports/threads, Properties/Pages/
Layers dock, panels, dialogs), JSON control channel, headless CLI renderer,
generated sample magazine, README/AGENTS/ROADMAP/ASSETS.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 10:39:15 -04:00
Brandon Thomas
c9dcad1f6e
continued work
2026-10-01 09:36:32 -04:00