Commit Graph
1477 Commits
Author SHA1 Message Date
BFlatandClaude Opus 5.5 94e689fad6 M4: vector edit mode tools: pen branching, bend, paint bucket, lasso, cut, mirroring, point panel (#2)
- Edit-mode toolbar (Move V, Pen P, Bend hold Cmd, Paint bucket Shift+B, Lasso Q, Cut X, Done)
  replaces the tools while a vector is edited.
- Pen in edit mode continues open ends, branches from any point (vector networks), adds points on
  segments and closes paths into fill regions; dragging pulls out mirrored handles.
- Paint bucket fills or unfills any closed area: faces of the network (half-edge walk, nested
  pieces become holes), with a hatched preview of the area under the pointer.
- Bend tool / Cmd: bend segments, pull handles out of a point, click a smooth point to sharpen it.
- Lasso and marquee point selection, segment selection (shift adds), cut at a segment or a point.
- Per-point handle mirroring (none / angle / angle and length, inferred for existing files),
  Alt-drag breaks it; smooth/sharp points; join and merge selected points (Cmd+J, Shift+Cmd+J).
- Delete opens the path, Shift+Delete heals it; arrows nudge points; Cmd+A selects all points.
- Design panel shows the selected points' position, corner radius and mirroring.
- Every gesture is one undo step; edit mode ends when its layer is undone away.
- Paths that end on their start without a ClosePath (ellipse outlines) stay closed and filled.
- New commands (vector.edit.tool/pen/paint/cut/lasso/mirroring/smooth/position/nudge/connect/...)
  for the CLI, control channel and MCP; docs updated.
- Clippy: simplify a few boolean expressions flagged by the current toolchain.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 02:16:04 +07:00
BFlatandClaude Opus 5.5 dd1fd439d4 M4: components test: check the hugging instance only when its text was measured (#1)
Without craft-fonts (CI) the overridden text keeps its size, so the old guard (`width > 0`)
asserted a hug that could never happen and failed main's CI.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 02:05:58 +07:00
Brandon ThomasandClaude Opus 5.5 1608822632 M4: components panel UI: instance swap, variant and property controls, properties editor, property binding, per-layer overrides with reset
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 14:17:22 -04:00
Brandon ThomasandClaude Opus 5.5 3e277dc318 Roadmap: record landed text, components, prototyping, crop and comments work
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 14:16:40 -04:00
Brandon ThomasandClaude Opus 5.5 07e56aed48 M5: prototyping depth: on-canvas connections with drag-to-connect, interaction editor, flows, smart animate presenter, overlays, scroll behaviour
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 14:16:27 -04:00
Brandon ThomasandClaude Opus 5.5 b943e12f3d M2: text depth: OpenType features, small caps, lists, title case across runs, truncation; font picker with previews, type settings; text editing selection and IME
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 14:15:36 -04:00
Brandon ThomasandClaude Opus 5.5 23c54a6663 M4: components depth: component properties (edit/delete/bind), add variant, reset override, restore main, instance structure protection
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 14:14:35 -04:00
Brandon ThomasandClaude Opus 5.5 3141226a2e Comments: pins, threads with replies, resolve, comments panel, comment.* commands; real timestamps on web
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 14:06:14 -04:00
Brandon ThomasandClaude Opus 5.5 7aae256b4c Image crop mode: on-canvas crop handles (move, proportional corner scale); Crop defaults to the Fill placement
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:57:32 -04:00
Brandon ThomasandClaude Opus 5.5 8bb9f9534c README in the Crafting Apps style
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:56:03 -04:00
Brandon ThomasandClaude Opus 5.5 2e24a68dbd Fix sizing labels and clippy type complexity
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:53:59 -04:00
Brandon ThomasandClaude Opus 5.5 3e993df4d1 Fix sizing labels and clippy type complexity
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:52:50 -04:00
Brandon ThomasandClaude Opus 5.5 ae30f9ef21 On-canvas gradient handles and auto layout padding/gap handles; compact sizing labels
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:52:42 -04:00
Brandon ThomasandClaude Opus 5.5 64516289a9 Refactor: split right panel into typography, prototype and component modules
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:49:57 -04:00
Brandon ThomasandClaude Opus 5.5 ab5914485e Perf: persistent node map (imbl) and dirty tracking; commands now scale with what changed (node.create 0.2 ms at 20k nodes)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:49:04 -04:00
Brandon ThomasandClaude Opus 5.5 077ed64739 Icon: scalable SVG (hicolor/scalable) generated by xtask icon
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:39:03 -04:00
Brandon ThomasandClaude Opus 5.5 38a30d6aaf Packaging: fix AppRun test categories leftover
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:34:42 -04:00
Brandon ThomasandClaude Opus 5.5 b26b449fe3 Fixes from agent reports: hex colours everywhere, camelCase in/out, unique variable ids, strict batch, ui.key modifiers, export rounding, Fit images, inner shadows on all edges
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:34:25 -04:00
Brandon ThomasandClaude Opus 5.5 b36fd771ab M0.9: MCP server + figcraft-cli, PDF export, web app, release/CI packaging, vector edit mode, workspace lint cleanup
- crates/mcp: JSON-RPC MCP server (18 tools, resources, prompts), headless and attached backends, end-to-end agent tests
- apps/figcraft-cli: info/export/convert/render/run/commands/mcp/perf
- crates/pdf: vector PDF export via krilla with embedded text; file.exportFramesPdf
- apps/figcraft-web + packaging/{macos,windows,linux,freebsd,web} + release/ci workflows
- engine vectoredit: edit points/handles/bend/add/delete-heal; canvas overlay and edit strip

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:31:53 -04:00
Brandon ThomasandClaude Opus 5.5 aec69a53ac Perf: parallel band rendering, text layout cache
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:23:06 -04:00
Brandon ThomasandClaude Opus 5.5 b3a3b33fcd M1.3: UI3 fidelity pass (icon rail, panel sublabels, toolbar modes, help), font scan off the lock, ROADMAP
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:17:23 -04:00
Brandon ThomasandClaude Opus 5.5 09a7082887 M0.8: AGENTS.md/CLAUDE.md, ATTRIBUTION.md, parity report, wasm compatibility
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:05:34 -04:00
Brandon ThomasandClaude Opus 5.5 b3b48281bd M0.6-M0.7: egui UI3 frontend (canvas, toolbar, layers, design/prototype/inspect panels, menus, color picker, presenter), desktop app with control channel, xtask, generated app icon
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 13:03:43 -04:00
Brandon ThomasandClaude Opus 5.5 56a312ba5f M0.5: layout (auto layout + constraints), format, svg, engine (commands, history, tools, components, styles, variables)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 12:40:18 -04:00
Brandon ThomasandClaude Opus 5.5 b367392c4b M0.4: text (shaping, layout), pathops (booleans, aligned strokes), render (tiny-skia scene renderer)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 12:12:34 -04:00
Brandon ThomasandClaude Opus 5.5 f7a68c864b M0.1-M0.3: workspace, licences, geom/color/doc crates
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 12:01:57 -04:00
Brandon Thomas a66b3d2882 first commit 2026-10-09 11:38:50 -04:00