Commit Graph
85 Commits
Author SHA1 Message Date
Brandon ThomasandClaude Opus 5.5 902fd214c2 C: Swatches panel colour groups (+ IDML ColorGroup)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 22:45:59 -04:00
Brandon ThomasandClaude Opus 5.5 9ab1f9f330 X: Export HTML — one self-contained page; alt text in EPUB/HTML figures
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 22:38:03 -04:00
Brandon ThomasandClaude Opus 5.5 98d8edf764 T: Composition highlights — keep and H&J violations, custom tracking/kerning
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 22:35:23 -04:00
Brandon ThomasandClaude Opus 5.5 53ec1e046c T: Preferences › Advanced Type (super/subscript size and position)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 22:28:38 -04:00
Brandon ThomasandClaude Opus 5.5 11212736f0 P: Page Numbering View (section/absolute) and Go to Page by name
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 22:21:30 -04:00
Brandon ThomasandClaude Opus 5.5 3609862c2e C: Attributes panel — overprint fill/stroke/gap, nonprinting
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 22:18:30 -04:00
Brandon ThomasandClaude Opus 5.5 2cd4102469 O: Select submenu, Convert Shape, split table cells
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 22:11:07 -04:00
Brandon ThomasandClaude Opus 5.5 bddaaac887 Y: variable fonts — named instances as styles, shaped, drawn and embedded at their axes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 22:01:32 -04:00
Brandon ThomasandClaude Opus 5.5 240668e87d T: scale/rotation/shear fields, absolute transform values, Transformations are Totals
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 21:54:05 -04:00
Brandon ThomasandClaude Opus 5.5 74e352698e F: Global Light and Generate Static Caption
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 21:42:46 -04:00
Brandon ThomasandClaude Opus 5.5 9dd6bd4ff6 A: tagged PDF — structure tree, figures with alt text, artifacts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 21:34:37 -04:00
Brandon ThomasandClaude Opus 5.5 286823eb96 X: Export Text — Text Only and RTF from a story; EPUB/Text export dialogs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 21:31:44 -04:00
Brandon ThomasandClaude Opus 5.5 cd72171859 O: Script Label, alt text, isolate/knockout groups, sort table rows
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 21:27:26 -04:00
Brandon ThomasandClaude Opus 5.5 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 ThomasandClaude Opus 5.5 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 ThomasandClaude Opus 5.5 175aaf28fd H: place a chosen PDF page (Image Import Options)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 20:57:38 -04:00
Brandon ThomasandClaude Opus 5.5 1b778945af T: named lists continuing across stories (list.define, listName/startAt); null clears overrides
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 20:52:11 -04:00
Brandon ThomasandClaude Opus 5.5 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 ThomasandClaude Opus 5.5 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 ThomasandClaude Opus 5.5 53fc678978 A: spreads of up to 10 pages — add to spread, allow shuffle
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:57:18 -04:00
Brandon ThomasandClaude Opus 5.5 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 ThomasandClaude Opus 5.5 7d4f00d551 O: Print dialog (file.print via the system spooler); shortcuts open dialogs, UI commands win ties
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:51:21 -04:00
Brandon ThomasandClaude Opus 5.5 fcef655ba8 T: nested styles and GREP styles (compose overlays, Paragraph Style Options); ui.dialog.open
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:47:52 -04:00
Brandon ThomasandClaude Opus 5.5 e433c77b55 S: table and cell styles (style.cell.*, style.table.*), Table panel pickers
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:40:46 -04:00
Brandon ThomasandClaude Opus 5.5 08727dfd7e S: style groups (style.group), renames reach table cells and footnotes; Package report preflight fix
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:36:29 -04:00
Brandon ThomasandClaude Opus 5.5 0dc6a03979 A: guides on layers — hidden and locked with their layer
Also records the Pencil tool in ROADMAP and the parity catalog.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:30:59 -04:00
Brandon ThomasandClaude Opus 5.5 8bfbbe7187 A: Primary Text Frame and Smart Text Reflow
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:20:16 -04:00
Brandon ThomasandClaude Opus 5.5 3a36772023 L: Relink to Folder / Relink File Extension (links.relinkFolder)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 15:52:31 -04:00
Brandon ThomasandClaude Opus 5.5 acfb542391 O: File › Package and Copy Links To (file.package, links.copyTo)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 15:50:56 -04:00
Brandon ThomasandClaude Opus 5.5 67dd4852ca F: Load/Save Swatches (.ase) — swatch.load, swatch.save, Swatches panel menu
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 15:49:27 -04:00
Brandon ThomasandClaude Opus 5.5 9dd44f63cf D: Pathfinder — add, subtract, intersect, exclude overlap, minus back (curves kept)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 15:45:34 -04:00
Brandon ThomasandClaude Opus 5.5 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 ThomasandClaude Opus 5.5 571e1043f7 O: Transform Again family, Clear Transformations, layer merge/unused/others, Break Link to Style
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 15:09:32 -04:00
Brandon ThomasandClaude Opus 5.5 5971553d60 H: place SVG (vector PDF export), PSD, BMP, AI — designcraft-images crate
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 10:51:48 -04:00
Brandon ThomasandClaude Opus 5.5 5c547f9a96 T: OpenType menu — feature toggles, figure styles, stylistic sets (type.openType, IDML OTF attributes)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 10:29:36 -04:00
Brandon ThomasandClaude Opus 5.5 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 ThomasandClaude Opus 5.5 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 ThomasandClaude Opus 5.5 53272183a2 A: Document Setup — pages, start page #, intent, size presets, orientation, bleed and slug
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 10:03:17 -04:00
Brandon ThomasandClaude Opus 5.5 97b305fdcd F: Stroke panel — arrowheads (screen and PDF), cap/join/miter, gap colour
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 09:56:14 -04:00
Brandon ThomasandClaude Opus 5.5 7143973f52 G: Preferences (⌘K), scale strokes, Dimensions Include Stroke Weight, Quick Apply (⌘Return)
prefs.set (application) and document.preferences (units, increments, grids; undoable).
Scaling applies to content: paths and placed graphics take the scale, stroke weights follow
with Include Stroke Weight. X/Y/W/H and transform.set measure the stroke's outer edge.
The command palette becomes Quick Apply and lists styles.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 09:26:39 -04:00
Brandon ThomasandClaude Opus 5.5 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 ThomasandClaude Opus 5.5 da0e87b86b H: place PDF — sized by crop box, hayro on screen, vector form XObjects in PDF export
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 09:11:04 -04:00
Brandon ThomasandClaude Opus 5.5 446c70af04 H: place text files — Word (.docx), RTF, plain text; autoflow
- designcraft-textimport (L3): DOCX (styles by name with spacing/indents/alignment and font,
  size, bold/italic/underline/strike/caps/position; runs, tabs, breaks, footnotes, tables,
  hyperlink/field results; used styles only), RTF (text, paragraphs, bold/italic/underline/
  strike, size, Unicode/cp1252, skipped destinations), plain text (+ tests)
- engine: file.place routes text files into the insertion point, the selected frame or a new
  frame on the page; imported styles added (existing win); removeStyles; autoflow adds pages
  with threaded frames until the story fits (+ test)
- app/web: Place dialogs accept .docx/.rtf/.txt/.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 08:55:28 -04:00
Brandon ThomasandClaude Opus 5.5 f8ccff2470 F: Color panel, Color Picker, unnamed colours
- color: Swatch.hidden — unnamed colours (applied, not listed in Swatches until added)
- engine: object.color (reuses a swatch with the same colour, else an unnamed one; fill or
  stroke), swatch.addToSwatches (optionally named; users follow the rename),
  swatch.addUnnamed (+ test)
- UI: Color panel with fill/stroke proxy, CMYK/RGB/Lab, channel sliders with gradient tracks and
  value fields, tint slider for named swatches, spectrum ramp, Add to Swatches; Color Picker
  dialog (double-click a proxy chip); Swatches hides unnamed colours

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 08:45:39 -04:00
Brandon ThomasandClaude Opus 5.5 87727f279a D: Paste Into, Polygon Settings
- Edit › Paste Into (⌥⌘V): copied objects (with their stories and images) become the selected
  frame's content, clipped by it; Item::is_group / has_nested_items; renderer and PDF draw fill,
  clipped content, stroke; IDML nests the items inside the frame both ways (verified in
  InDesign 2026) (+ tests)
- Polygon Settings: sides and star inset as engine preferences used by the polygon tools and
  frame.create; double-click the Polygon tool (+ test)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 08:24:48 -04:00
Brandon ThomasandClaude Opus 5.5 4696178f62 R: crash recovery, Revert, Save a Copy
- engine::recovery: unsaved documents written to a recovery folder (atomic write + metadata),
  reopened as unsaved documents that remember their files; entries dropped on save/close
  (+ tests); file.recovery.list/save/open, file.revert, file.saveACopy (+ test)
- app: recovery folder per platform, recovered on launch with a status message; UI writes
  recovery data every 30 s while documents are unsaved; File › Save a Copy…, Revert
- parity: recovery, revert, save a copy done

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 08:11:25 -04:00
Brandon ThomasandClaude Opus 5.5 69563933be M2: Find/Replace Font and missing-font highlighting
- engine: font.list (fonts used, missing first), font.replace (text, cells, footnotes, styles) (+ test)
- compose: RunStyle.missing_font (memoized per composition); render: pink highlight behind such
  text when RenderOptions.highlight_missing_fonts (canvas only, never output) (+ test)
- UI: Type › Find/Replace Font… dialog

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 00:47:12 -04:00
Brandon ThomasandClaude Opus 5.5 7e9b78c353 M5: Links panel — status vs. file on disk, page, effective PPI; relink, update, embed, go to
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 00:43:16 -04:00
Brandon ThomasandClaude Opus 5.5 9b8983ada2 M1: ruler guides (drag out/move/delete, Create Guides); fix task-bar deadlock while dragging
- engine: guide.add/move/delete/deleteAll/list, layout.createGuides (rows/columns with gutters,
  margins or page) (+ test)
- UI: drag a guide out of either ruler (page guide, or spread guide on the pasteboard), drag one
  with the selection tools to move it, drop it on a ruler to delete it; spread guides cross the
  pasteboard; Layout › Create Guides…, View › Grids & Guides › Delete All Guides on Spread
- fix: the Contextual Task Bar called is_pointer_over_egui inside ctx.input — a deadlock that
  froze the app while dragging with a selection
- ui_shot injects synthetic input (ui.click/ui.drag/ui.key now work offscreen)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 00:39:44 -04:00
Brandon ThomasandClaude Opus 5.5 5a9fa2d16a M5: anchored objects — inline and above line
- doc: OBJECT_MARK with Story::objects (items normalized to the origin) kept in sync on edits,
  copy/paste slices and threading
- compose: inline objects are wide glyphs sitting on the baseline (Y offset; auto leading grows);
  above-line objects push their line down; placements per frame follow vertical justification
- render + PDF draw anchored items with their lines
- engine: anchored.insert/options/release/list; pasting copied items into text anchors them;
  Options/Release act on the object at the insertion point (+ test)
- Object › Anchored Object menu

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 23:21:24 -04:00