Brandon Thomas
8e735f1de9
M11.3: View → Snap to Pixel (drawing points and moved selections land on whole pixels)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 08:16:36 -04:00
Brandon Thomas
16a73dc02a
M12.7: Object → Create Object Mosaic… (trace::mosaic tile averages; columns/rows, new size, spacing, gray, delete raster; follows the image transform)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 08:16:36 -04:00
Brandon Thomas
bfa46e6cb4
M9.4: raster effects in PDF export — shadows/outer glows as images under the untouched vector object, inner glow/feather/blur as images, at the document's resolution; Effect → Document Raster Effects Settings… (document.rasterEffectsSettings: screen/medium/high/ppi); engine::export_pdf used by app, CLI and MCP
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 07:58:10 -04:00
Brandon Thomas
9b0fe0ca5d
M1.9: agent integrations — MCP tools add_text, apply_effect, pathfinder, transform, create_graph, text_wrap, export {selection, outlineText}; CLI convert (IN → OUT, effects kept) and info; SVG export Convert to Outlines (text as glyph paths); TextObject pathEffect key camelCase
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 07:50:20 -04:00
Brandon Thomas
1d493c7f06
M12.6: Graphs — the nine graph tools (Column, Stacked Column, Bar, Stacked Bar, Line, Area, Scatter, Pie, Radar), Object → Graph → Type… and Data… (CSV), series groups with legend, regenerate in place keeping moves/scales
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 00:16:23 -04:00
Brandon Thomas
13d0aef57f
M1.5: commands that default to the current layer validate the remembered id (reused after undo it could name a compound path: Send to Current Layer moved art into it, Delete Layer could delete it)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 00:16:23 -04:00
Brandon Thomas
69be79bbf1
M4.4: File → Export Selection… (selected art cropped to its bounds as PNG/JPG/WebP/SVG/PDF), Save as Template… and New from Template… (templates open as untitled documents)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 23:46:20 -04:00
Brandon Thomas
4745f39c6c
M7.4: Object → Text Wrap (Make, Release, Text Wrap Options: offset, invert): area type flows around wrap objects above it in the same layer, re-resolved after every edit
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 22:48:49 -04:00
Brandon Thomas
0ae572be93
M7.3: Type → Type on a Path effects (Rainbow, Skew, 3D Ribbon, Stair Step, Gravity): TextObject::path_effect, type.pathOptions {effect}, checked menu items
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 22:21:58 -04:00
Brandon Thomas
8434ef4404
M2.6: Flare tool ↑/↓ add or remove rays while drawing
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 22:21:58 -04:00
Brandon Thomas
1c1fd0f139
M9.3: Effect → Pathfinder (Add, Intersect, Exclude, Subtract, Minus Back, Divide, Trim, Merge, Crop, Outline) as live effects on groups/layers; rendered via the live cache, baked by Expand Appearance
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 20:57:14 -04:00
Brandon Thomas
71d43421f5
M2.6: Flare tool (centre drag, then click for the rings; click → Flare Tool Options; shape.flare builds centre/halo/rays/rings from radial gradients in Screen mode) and Reshape tool (path.reshape: grab a point of a selected path, neighbourhood follows with a smooth falloff)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 20:57:02 -04:00
Brandon Thomas
f5ff9317d4
M6.7: Object → Clipping Mask → Edit Contents / Edit Clipping Path (select the clipped art or the mask of the selected clip groups, also from inside one)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 20:56:22 -04:00
Brandon Thomas
7d393add4a
Community links: Help menu (Discord, ArtCraft website, app page, GitHub), Discord button in the header, links on the About and Home screens; engine help.* commands return the URLs (menu clicks open them via the host's browser service)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 14:37:29 -04:00
Brandon Thomas
4878f1c5dd
Rename DrawCraft → VectorCraft: crates (vectorcraft-*), apps, binaries, types, env vars, docs, examples (.vectorcraft); old .drawcraft files and preferences still load. Fix: text bounds exact after opening a file; selection no longer marks a document modified (dirty = content differs from the saved document). Screenshots and renders regenerated.
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 14:30:09 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-10-01 13:16:26 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-10-01 12:02:13 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-10-01 11:00:17 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-10-01 10:32:58 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-10-01 10:32:58 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-10-01 10:09:19 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-10-01 09:55:01 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-10-01 09:14:17 -04:00
Brandon Thomas
f673491bd2
progress
2026-10-01 08:56:21 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-10-01 08:39:58 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-10-01 08:27:54 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-10-01 00:30:38 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-09-30 23:38:38 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
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 Thomas
049c2baebd
tests_build: clippy let_and_return
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 11:08:42 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-09-30 11:02:16 -04:00
Brandon Thomas
a7e49bfa72
continued work
2026-09-30 09:43:24 -04:00
Brandon Thomas
d083c2ab50
continued progress
2026-09-30 09:36:51 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-09-30 09:32:20 -04:00
Brandon Thomas
213b0927ee
Draw Normal/Behind/Inside modes (Shift+D)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 07:22:47 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-09-30 07:07:59 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-09-30 06:55:49 -04:00
Brandon Thomas
db38f51046
Prepare module hooks for parallel tool/effect work
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 06:29:52 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-09-30 06:28:59 -04:00
Brandon Thomas
8cd8f8f8a7
M0.1/M0.9: xtask (layers, wasm, ci, stats), agent docs, NOTICE, README, control protocol doc
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 06:21:08 -04:00
Brandon Thomas
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 <noreply@anthropic.com>
2026-09-30 05:53:29 -04:00