bflatastic and Claude Opus 5.5
d3dc4a2af3
M3.17: the stop popover survives its opening double-click, and the selected stop belongs to its gradient
...
The double-click that opens the popover lands outside it in the same frame, so the popover
closed as soon as it opened; only a later click elsewhere closes it now. The selected stop
remembers the document, first selected object and proxy it was picked on (Session::selected_stop),
so selecting other art or toggling Fill/Stroke no longer lets Delete or the arrows edit a stop
on a different gradient.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-04 17:52:28 +07:00
bflatastic and Claude Opus 5.5
3786cfaf36
M3.17: interactive gradient annotator — drag the start handle or the bar to move the gradient, the end handle to change length and angle, just past the end to rotate (Shift snaps to 45°); a bar click adds a stop, stops drag along the bar, off it to delete (never below two), Alt-drag copies, diamonds move midpoints; a click inside selected art applies the gradient from that point; double-clicking a stop opens a popover (Color/Swatches, Opacity, Location); the selected stop lives in the session (gradient.selectStop), shared by the tool, the Gradient and Color panels and agents, and takes Delete/Backspace and ←/→ ahead of their shortcuts (Tool::claims_key, also headless); stop chips draw as Overlay::Swatch with generated add/remove-stop cursors; the stop math moves into the color crate
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-04 17:39:36 +07:00
bflatastic and Claude Opus 5.5
61ddc1ce34
M3.14: lossless, validated gradient params — paint.setFill/setStroke, swatch.new and appearance.setItem keep kind (freeform too), midpoints, stop opacity, aspect, vector and swatch link; a shared parse_stops rejects fewer than two or malformed stops, clamps offsets and normalises 0..100 opacity; an aspect without a vector places the gradient on each object's (stroke-inflated) bounds; panels write gradients through one params writer
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-04 12:22:49 +07:00
bflatastic and Claude Opus 5.5
b7969a6a5d
M3.8: split the paint/panel command modules and the dialogs into per-area files
...
No behaviour change: every command keeps its id, label, menu, shortcut and
params doc.
- Engine: swatch.* -> cmd/swatch.rs, graphicStyle.* -> cmd/style.rs,
appearance.* (incl. copyFrom) -> cmd/appearance.rs, stroke.set/setAdvanced
-> cmd/stroke.rs, paint.editGradient/setGradientGeom -> cmd/gradient.rs.
Shared helpers in cmd/mod.rs: leaf_targets/paint_targets (replacing three
copies) and unique_name (swatch and graphic style naming).
- UI: dialogs.rs -> dialogs/ with one file per dialog and a DialogSpec
registry (one DialogKind row per dialog); shared field widgets in
dialogs/form.rs. Headless frame tests draw and confirm every dialog.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-04 11:22:23 +07:00
Brandon Thomas and Claude Opus 5.5
dcc5a006a2
M3.6: opacity-mask editing mode — click the mask thumbnail to edit the mask art on a temporary isolated layer with any tool; the mask updates live after every edit; the object thumbnail (or transparency.stopEditingOpacityMask) leaves the mode
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 08:40:18 -04:00
Brandon Thomas and Claude Opus 5.5
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 and Claude Opus 5.5
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 and Claude Opus 5.5
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 and Claude Opus 5.5
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 and Claude 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 <noreply@anthropic.com >
2026-10-01 11:00:17 -04:00
Brandon Thomas and Claude 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 <noreply@anthropic.com >
2026-10-01 10:32:58 -04:00
Brandon Thomas and Claude 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 <noreply@anthropic.com >
2026-09-30 23:38:38 -04:00
Brandon Thomas and Claude 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 <noreply@anthropic.com >
2026-09-30 22:44:39 -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 and Claude 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 <noreply@anthropic.com >
2026-09-30 11:02:16 -04:00
Brandon Thomas and Claude 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 <noreply@anthropic.com >
2026-09-30 09:32:20 -04:00
Brandon Thomas and Claude Opus 5.5
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 and Claude 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 <noreply@anthropic.com >
2026-09-30 06:55:49 -04:00
Brandon Thomas and Claude 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 <noreply@anthropic.com >
2026-09-30 06:28:59 -04:00
Brandon Thomas and Claude 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 <noreply@anthropic.com >
2026-09-30 05:53:29 -04:00