Commit Graph
2702 Commits
Author SHA1 Message Date
Brandon ThomasandClaude Opus 5.5 77a23151ba M8: tables
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:44:45 -04:00
Brandon ThomasandClaude Opus 5.5 3af7a9913b fix clippy (pdf FaceRef)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:41:45 -04:00
Brandon ThomasandClaude Opus 5.5 35eb84d629 fix clippy (FaceRef is Copy)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:41:38 -04:00
Brandon ThomasandClaude Opus 5.5 8e4403af38 M9: parallel composition scales (Copy FaceRef instead of per-glyph Arc clones; BMP coverage bitset; read-locked word cache)
Cold compose of 1M chars on 8+ threads: ~255 ms -> ~38 ms.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:41:29 -04:00
Brandon ThomasandClaude Opus 5.5 12e502c203 M4: inner shadow, outer glow, basic feather commands; drop shadow spread/color
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:35:09 -04:00
Brandon Thomas cb99d9448f Merge branch 'worktree-agent-a5fd5288881e0c9e9' 2026-10-01 12:33:02 -04:00
Brandon ThomasandClaude Opus 5.5 df7f506b05 M7: Table of Contents (generate/update, TOC Title/Level styles, page names via composition); tab leaders in the composer
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:32:59 -04:00
Brandon Thomas f08df595ca Merge main
# Conflicts:
#	ASSETS.md
2026-10-01 12:32:10 -04:00
Brandon ThomasandClaude Opus 5.5 b62a795602 M9: render perf (glyph path cache, culling) + soft drop shadow/feather/glow; perf harness
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:31:01 -04:00
Brandon ThomasandClaude Opus 5.5 18aab9d0cd ROADMAP: hyperlinks, EPUB, data merge, spelling, snippets, object styles
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:27:26 -04:00
Brandon ThomasandClaude Opus 5.5 6eb2cf2f83 M4: object styles (create from selection, apply fill/stroke/text frame options/paragraph style)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:26:53 -04:00
Brandon ThomasandClaude Opus 5.5 86588e8347 fix unused import
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:25:30 -04:00
Brandon ThomasandClaude Opus 5.5 06cdac310e M11: snippets (export selection with stories/styles/images; place into another document); tidy clipboard documents
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:25:25 -04:00
Brandon ThomasandClaude Opus 5.5 7b35e648b3 fix clippy (sections)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:24:07 -04:00
Brandon ThomasandClaude Opus 5.5 27ad9eb24a M7: Numbering & Section Options (continue/restart numbering, styles, prefixes), layer reorder, select on layer
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:23:58 -04:00
Brandon ThomasandClaude Opus 5.5 d8c7d4455d M10.2/M11: spell checking (Moby PD word list + user dictionary, suggestions); Step and Repeat (count or grid)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:22:14 -04:00
Brandon ThomasandClaude Opus 5.5 7cd23dd284 M11: Data Merge (CSV or JSON rows → duplicated template spreads with <<Field>> replacement, one undo step)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:20:32 -04:00
Brandon ThomasandClaude Opus 5.5 bd0cae2068 fix clippy in epub
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:19:43 -04:00
Brandon ThomasandClaude Opus 5.5 9a45d058de M12: EPUB 3 reflowable export (designcraft-epub): reading order, CSS from styles, images, nav
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:19:26 -04:00
Brandon ThomasandClaude Opus 5.5 cefb9009fe M7/M12: hyperlinks (frames and text → URL/e-mail/page) and bookmarks; PDF link annotations and outline
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:16:48 -04:00
Brandon ThomasandClaude Opus 5.5 d45743f311 Sample: fit cover title, higher-res cover art; refreshed README screenshots and feature list
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:13:03 -04:00
Brandon ThomasandClaude Opus 5.5 6086ceb497 compose: column/frame breaks re-flow the rest of the paragraph into the next column/frame; tab tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:07:08 -04:00
Brandon Thomas 0c0428548c Merge branch 'worktree-agent-a178b843a06aff260'
# Conflicts:
#	ROADMAP.md
2026-10-01 12:05:54 -04:00
Brandon ThomasandClaude Opus 5.5 83915e2fc2 M2.5: dictionary hyphenation, letter/glyph justification, keeps
- hyphen: bundled en-US dictionary from the public-domain Moby Hyphenator II
  list (Grady Ward, Gutenberg #3204), front-coded + deflated (433 KB), with
  case/apostrophe/punctuation/compound handling and inflection inheritance;
  our own Liang patterns (19.5k, 129 KB) trained by a patgen-style trainer
  (hyphen::patgen, examples/hyphgen.rs) for unknown words; heuristic last.
  Discretionary hyphens replace automatic points.
- breaker: prioritised word/letter/glyph-scaling glue in Knuth-Plass and
  layout; uncapped badness; hyphen limit as a hard constraint (hyphen-count
  states); hyphenation zone for ragged text (both composers); ragged
  hyphenation measured correctly; optical margin alignment; balance ragged
  lines; Knuth's node pruning.
- compose: Keep Options (keep with next, keep all lines, keep first/last)
  via paragraph snapshots; desired spacing applied to all alignments;
  justified last lines shrink instead of overflowing; word shaping and
  hyphenation caches (300k-char story: ~40 ms warm, ~60 ms cold).
- tests: golden corpus, perf (ignored), keeps, balance, optical, zone,
  limit, letter/glyph scaling, discretionary hyphens.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:04:43 -04:00
Brandon ThomasandClaude Opus 5.5 b070cc343c M6.2: IDML import/export
New crate designcraft-idml (L3, zip + quick-xml): export_idml/import_idml for
swatches (process/spot CMYK/RGB/Lab, tints, gradients), paragraph/character/
object styles with BasedOn and groups, fonts, preferences, layers, sections,
parent spreads, spreads/pages (spine/centre origin mapping), frames, groups,
corner options, wrap, transparency, embedded/linked images, formatted stories
with special characters, breaks and threading. Engine commands
file.exportIdml / file.openIdml, file.open/openBytes dispatch on IDML, CLI
--in/--export .idml, File > Export IDML..., open dialogs accept .idml.
Verified black-box in InDesign 2026 (exported files open with correct pages,
stories, threads, styles, swatches; InDesign-exported IDML imports).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:03:28 -04:00
Brandon ThomasandClaude Opus 5.5 37f59f1fc8 fix clippy (preflight)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:55:35 -04:00
Brandon ThomasandClaude Opus 5.5 9fdd61a390 M10.3: Preflight (overset, missing fonts/links, low-res graphics, RGB in print, empty frames) + panel + status indicator
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:54:44 -04:00
Brandon ThomasandClaude Opus 5.5 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 ThomasandClaude Opus 5.5 e3c5df2212 M6.1: native .designcraft zip format (document.json + raw assets, versioned; legacy JSON still opens)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:49:53 -04:00
Brandon ThomasandClaude Opus 5.5 c2f80260a3 M9: background canvas rendering with overscan (pan without re-render, scaled preview while zooming)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:43:50 -04:00
Brandon Thomas 91c1051b63 Merge branch 'worktree-agent-ac6e2e6d3a98c1789'
# Conflicts:
#	Cargo.lock
#	ROADMAP.md
#	apps/designcraft-cli/src/main.rs
#	crates/engine/Cargo.toml
#	crates/engine/src/tests.rs
#	crates/ui-egui/src/menus.rs
2026-10-01 11:37:14 -04:00
Brandon ThomasandClaude Opus 5.5 a1827081cf UI: fix Tools panel layout (negative spacing shifted the panel), InDesign-style proxy column
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:22:04 -04:00
Brandon ThomasandClaude Opus 5.5 cc4a8610c2 M6.4: PDF export (krilla) + file.exportPdf
New crate designcraft-pdf (L3): pages or spreads with MediaBox/TrimBox/BleedBox,
parent items with per-page folios, fills (solid + gradient swatches), aligned/dashed
strokes, corner options, opacity/blend, simple drop shadow, clipped images (JPEG
passthrough), and real text: composed glyph runs with embedded font subsets and
Unicode mapping from the story. CMYK as DeviceCMYK, RGB as DeviceRGB, spot swatches
as Separation, [Registration] as /All. Crop/bleed marks and page info. PDF/A-2b via
krilla; PDF/X-4 writes PDF 1.6 (output intent TODO).

Engine command file.exportPdf {path?, pages?, spreads?, bleed?, marks?, standard?,
compressImages?, title?, author?} (base64 when no path), CLI --export out.pdf with
--pdf-options, File > Export PDF... in the UI.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:20:59 -04:00
Brandon Thomas a3bc482b76 Merge branch 'worktree-agent-a0e10dbd5ddd190db'
# Conflicts:
#	ROADMAP.md
2026-10-01 11:18:48 -04:00
Brandon ThomasandClaude Opus 5.5 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 ThomasandClaude Opus 5.5 157a3e23c0 M0.13: web build (trunk, WebGPU/WebGL2)
apps/designcraft-web runs DesignApp through eframe's web runner (wgpu:
WebGPU with WebGL2 fallback, ?webgl forces GL, ?sample opens the sample).
Services gain open_async, download and an inbox: browser-picked and
dropped files are fed back as file.openBytes (.designcraft) or file.place
(images, base64); Save/Export download via Blob + anchor. The web app is
excluded from default-members.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:17:17 -04:00
Brandon Thomas 249cd37f57 Merge branch 'worktree-agent-a73e456eaddf146ad' 2026-10-01 11:07:59 -04:00
Brandon ThomasandClaude Opus 5.5 270bb83831 M4: Effects panel (blend mode, opacity, drop shadow settings)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:07:17 -04:00
Brandon ThomasandClaude Opus 5.5 044534503c M1.9: MCP server (designcraft-mcp) + designcraft-cli mcp
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:07:01 -04:00
Brandon ThomasandClaude Opus 5.5 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 ThomasandClaude Opus 5.5 984435ed6f fix clippy in story editor
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:03:28 -04:00
Brandon ThomasandClaude Opus 5.5 d3516b96cf M7: Story Editor (⌘Y) with style column, overset marker and range-preserving edits
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:03:02 -04:00
Brandon ThomasandClaude Opus 5.5 1bc6f31747 M3.2: Paragraph Style Options dialog (general, basic character formats, indents & spacing, hyphenation, justification, color)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:01:08 -04:00
Brandon ThomasandClaude Opus 5.5 5359691c58 M2.1: text clipboard (copy/cut/paste) in the Type tool
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:00:02 -04:00
Brandon ThomasandClaude Opus 5.5 73120901cd M2.7: Show Hidden Characters overlay
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 10:58:44 -04:00
Brandon ThomasandClaude Opus 5.5 fbc07c0fbd M10.1: Find/Change (text + GREP with InDesign metacharacters, formatting on change) + dialog
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 10:56:45 -04:00
Brandon ThomasandClaude Opus 5.5 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 ThomasandClaude Opus 5.5 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 ThomasandClaude Opus 5.5 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