Commit Graph
2746 Commits
Author SHA1 Message Date
Brandon ThomasandClaude Opus 5.5 deb9df299c M7.7: Type → Find Font… (fonts in document with missing ones flagged, Find, Change, Change All; engine: text.fonts, text.replaceFont, select.font)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 13:16:26 -04:00
Brandon ThomasandClaude Opus 5.5 d5aa387367 M7.5: OpenType as character attributes — per-run features (ligatures, contextual alternates, discretionary ligatures, swash, small caps, ordinals, fractions, figure styles) drive shaping; OpenType panel; SVG font-feature-settings
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 12:02:13 -04:00
Brandon ThomasandClaude Opus 5.5 d9df5b0135 M7.3/M7.7: threaded text (Type → Threaded Text: Create/Release Selection/Remove Threading; story re-flows after any edit touching its frames, deleted frames' text flows on), Fit Headline; roadmap
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 11:00:17 -04:00
Brandon ThomasandClaude Opus 5.5 f522e6bd3d M7.3: Area Type Options — rows, columns, gutter, inset, first baseline stored on area type, laid out by the text engine; Type → Area Type Options… dialog prefilled from the selection
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 10:32:58 -04:00
Brandon ThomasandClaude Opus 5.5 4d1eb16424 M1: fix paste into a compound path when undo made a new object reuse the active layer's id (active layer / isolation must still be a layer / group); regression test
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 10:32:58 -04:00
Brandon ThomasandClaude Opus 5.5 6a6e3d4bb1 M4.1/M11: File → Open Recent Files (persisted, native menu too), Document Info panel (document.info), Object → Make Pixel Perfect; agent guide: control-port clashes
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 10:09:19 -04:00
Brandon ThomasandClaude Opus 5.5 48a4720ece M7.6: Character and Paragraph Styles — partial named styles in the document, apply to objects or a Type tool range, Clear Overrides, override-preserving redefine, duplicate/rename/delete; panels with override markers
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 09:55:01 -04:00
Brandon ThomasandClaude Opus 5.5 2dafc7634b M5: cache expanded stroke outlines across frames (pans reuse them), skip per-frame bounds for solid paints, pointer hasher for render caches (~7% less CPU per frame on the 20k bench); perf suite budgets reflect reprojection + background refresh
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 09:32:43 -04:00
Brandon ThomasandClaude Opus 5.5 c8f157cc87 M12.5: Image Trace objects remember their preset and parameters (saved in the file); the panel shows the selected trace's settings; Expand clears them
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 09:14:17 -04:00
Brandon ThomasandClaude Opus 5.5 e5959de6cc M1.6/M12.5: Magic Wand panel (fill/stroke colour, stroke weight, opacity, blending mode with tolerances; settings in the engine, select.magicWand), Image Trace panel (presets, mode, threshold/colours, advanced, live re-trace), Glyphs reachable from the menus
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 09:01:56 -04:00
Brandon Thomas f673491bd2 progress 2026-10-01 08:56:21 -04:00
Brandon ThomasandClaude Opus 5.5 66855f309d M4.1: .drawcraft format v2 — default-valued fields omitted, anchors as {p: [x, y], in?, out?, kind?}; large documents saved compact. 50k paths: 56 → 35 MB, open 722 → 244 ms; v1 files still load
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 08:39:58 -04:00
Brandon ThomasandClaude Opus 5.5 b318a62edd M5.4: drawcraft-cli perf — plan §4 budgets on a synthetic 50k-path document, with a busy-machine warning
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 08:39:58 -04:00
Brandon ThomasandClaude Opus 5.5 318a55350a M4.8: system clipboard — copy/cut publish SVG markup, paste adopts SVG from other apps (centred in view); Copy/Cut/Paste events handled off macOS; Place bypasses the clipboard hook
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 08:27:54 -04:00
Brandon ThomasandClaude Opus 5.5 f855da4fb8 M5: raster effects render on the multithreaded pipeline (each filter layer offscreen, composited with its blend/opacity; tested equal to single-threaded); fix inner glow blend isolated by its clip layer
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 00:41:55 -04:00
Brandon ThomasandClaude Opus 5.5 abe2ed7080 M1.9: headless CLI/MCP export PDF/JPG/WebP; app JPEG/WebP export; ui.screenshot errors instead of hanging without a presented frame; docs (roadmap re-estimate, agent guide: bench, locked screens, disk)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 00:30:38 -04:00
Brandon ThomasandClaude Opus 5.5 5e15994012 M3: opacity masks — model (linked transform), luminance mask rendering, transparency.* commands, SVG <mask> export/import, PDF luminosity soft masks, Transparency panel controls
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 00:30:38 -04:00
Brandon ThomasandClaude Opus 5.5 c06fad7b2b M5: drawcraft-cli bench; canvas keyed by per-document uid (no stale frame from another tab); brushed strokes keep brush art under effects
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 23:38:38 -04:00
Brandon ThomasandClaude Opus 5.5 acb2566d89 Distortion tools (Width, Liquify, Puppet Warp, Perspective Grid), Patterns + Repeat, colour management (CMS, proofing, separations), Preferences/Shortcuts/Workspaces; original brand mark; fix filter panic in thumbnails; README demo scenes
- New original DrawCraft mark (gradient + pen nib) replaces the two-letter badge
- render: thumbnails and pattern tiles use a single-threaded context (vello's default is
  multithreaded and panics on filters); per-item raster effects detected
- Type tool state no longer leaks across documents
- ui.set {status} for clean screenshots
- README: new hero, feature shots, Made in DrawCraft gallery; examples/neon-drive, ribbons,
  feature-sheet; ASSETS.md updated; heading renamed to Crafting Apps

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 22:44:39 -04:00
Brandon Thomas 05f5bed1ad continued work 2026-09-30 11:38:47 -04:00
Brandon Thomas c9f38685b4 wip 2026-09-30 11:37:31 -04:00
Brandon Thomas 6dd0d2dcff continued work; wip 2026-09-30 11:24:38 -04:00
Brandon ThomasandClaude Opus 5.5 94e72f490e Asset policy: no Adobe iconography/images; per-asset attribution in ASSETS.md enforced by xtask assets (in ci). Offset Path: fix area loss for offsets larger than curvature radius
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 11:23:33 -04:00
Brandon ThomasandClaude Opus 5.5 049c2baebd tests_build: clippy let_and_return
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 11:08:42 -04:00
Brandon ThomasandClaude Opus 5.5 d5acaa8946 ROADMAP: update status and estimates
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 11:02:34 -04:00
Brandon ThomasandClaude Opus 5.5 f8136f1e35 Live Blends/Envelopes/Gradient Mesh, Shape Builder, Live Paint, Image Trace (drawcraft-trace), Recolor Artwork, Export for Screens, Actions panel, prefs persistence, real layer thumbnails; menus bound
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 11:02:16 -04:00
Brandon ThomasandClaude Opus 5.5 94431f7d86 README: hero screenshot, Dusk example project (drawcraft/svg), Craft suite table
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 10:57:57 -04:00
Brandon ThomasandClaude Opus 5.5 8d20f0e475 Point agents at ROADMAP.md
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 10:07:15 -04:00
Brandon ThomasandClaude Opus 5.5 eaff89e1c0 ROADMAP.md: status, milestones and parity estimates
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 10:07:15 -04:00
Brandon Thomas a7e49bfa72 continued work 2026-09-30 09:43:24 -04:00
Brandon ThomasandClaude Opus 5.5 6235ea5e10 Export for Screens: artboard thumbnails, fixed dialog height
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 09:38:56 -04:00
Brandon Thomas d083c2ab50 continued progress 2026-09-30 09:36:51 -04:00
Brandon ThomasandClaude Opus 5.5 42df20ca7f Panels to Illustrator parity (19 panels), ~70 menu commands, generic param dialogs, view rotation, property/model-based tests + MCP e2e; fix arrange overflow, compound grouping, double journaling, float round-trip, coordinate sanity, simplify growth, batch rollback of session state
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 09:32:20 -04:00
Brandon ThomasandClaude Opus 5.5 213b0927ee Draw Normal/Behind/Inside modes (Shift+D)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 07:22:47 -04:00
Brandon ThomasandClaude Opus 5.5 a2fd35cd32 M5: cache text glyph geometry per node (Arc identity)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 07:17:05 -04:00
Brandon ThomasandClaude Opus 5.5 515653f556 Vector tool cursors, real egui pointer injection (ui.move/click/drag), xtask bundle (DrawCraft.app with rendered icon)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 07:15:23 -04:00
Brandon ThomasandClaude Opus 5.5 60c562c956 M5.2/M5.4: render geometry cache (Arc identity), opacity folding, LOD, multithreaded rasterizer (20k objects: 187→21 ms); native macOS menu bar; Effect menu + live-preview dialogs; PDF open/save; bench example
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 07:07:59 -04:00
Brandon ThomasandClaude Opus 5.5 6d21d36d16 M2/M8/M9/M4.4: drawing + transform tools, live effects, PDF export/import, file/batch commands; UI restyled to measured Illustrator metrics (Medium Dark, categorized toolbar, hint bar, task bar, Layers)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 06:55:49 -04:00
Brandon ThomasandClaude Opus 5.5 d0007a604d M5.1: background render worker with reprojection; Layers rename + drag reorder
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 06:33:47 -04:00
Brandon ThomasandClaude Opus 5.5 db38f51046 Prepare module hooks for parallel tool/effect work
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 06:29:52 -04:00
Brandon ThomasandClaude Opus 5.5 873e9f5c99 M1.9: MCP server (stdio JSON-RPC, remote + headless backends) and drawcraft-cli
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 06:29:25 -04:00
Brandon ThomasandClaude Opus 5.5 874c0e6ca2 M2.8/M6.2/M7.2: smart guides + snapping, Type tool, Pathfinder/path/type commands, web build
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 06:28:59 -04:00
Brandon ThomasandClaude Opus 5.5 8cd8f8f8a7 M0.1/M0.9: xtask (layers, wasm, ci, stats), agent docs, NOTICE, README, control protocol doc
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 06:21:08 -04:00
Brandon ThomasandClaude Opus 5.5 bea0c16636 M0.7/M0.8: egui UI (Illustrator layout), control channel, desktop app
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 06:16:46 -04:00
Brandon ThomasandClaude Opus 5.5 bfee80a22c M0: workspace skeleton — geom, color, doc, render, text, pathops, svg, tools, engine
Engine-first Cargo workspace for DrawCraft (clean-room Illustrator):
- geom: anchor-based path model, shapes, hit testing, snapping
- color: colours, paints, gradients, swatches, blend modes, harmonies
- doc: persistent Arc document tree, appearance stacks, text model, selection
- render: vello_cpu renderer (appearance, gradients, clip groups, blend modes)
- text: font DB, harfrust shaping, point/area/path layout
- pathops: curve booleans (linesweeper), Pathfinder, offset, simplify
- svg: import (usvg) and export
- tools: selection/direct/pen/shape tools emitting commands
- engine: Session, history with interactions, ~110 commands

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 05:53:29 -04:00
Brandon Thomas fa1689bfd8 initial commit 2026-09-30 05:12:46 -04:00