2026-02-28 08:38:27 +00:00
# Features
2026-03-08 08:04:26 +00:00
## Figma .fig Files
2026-03-01 10:58:54 +00:00
2026-03-08 08:04:26 +00:00
Open and save native Figma files directly. The import/export pipeline uses the same Kiwi binary codec as Figma — 194 schema definitions, ~390 fields per node. Save with < kbd > ⌘< / kbd > < kbd > S< / kbd > , Save As with < kbd > ⇧< / kbd > < kbd > ⌘< / kbd > < kbd > S< / kbd > .
2026-03-01 10:58:54 +00:00
2026-03-08 08:04:26 +00:00
**Copy & paste with Figma** — select nodes in Figma, < kbd > ⌘< / kbd > < kbd > C< / kbd > , switch to OpenPencil, < kbd > ⌘< / kbd > < kbd > V< / kbd > . Fills, strokes, auto-layout, text, effects, corner radii, and vector networks are preserved. Works both ways.
2026-02-28 08:38:27 +00:00
2026-03-08 08:04:26 +00:00
## Drawing & Editing
2026-02-28 08:38:27 +00:00
2026-03-08 08:04:26 +00:00
- **Shapes** — Rectangle (< kbd > R</ kbd > ), Ellipse (< kbd > O</ kbd > ), Line (< kbd > L</ kbd > ), Polygon, Star
- **Pen tool** — vector networks (not simple paths), bezier curves with tangent handles
- **Text** — canvas-native editing with IME support, double-click to enter edit mode
- **Rich text** — per-character bold (< kbd > ⌘</ kbd >< kbd > B</ kbd > ), italic (< kbd > ⌘</ kbd >< kbd > I</ kbd > ), underline (< kbd > ⌘</ kbd >< kbd > U</ kbd > ), strikethrough
2026-03-08 15:29:44 +00:00
- **Auto-layout** — flexbox and CSS Grid via Yoga WASM: direction, gap, padding, justify, align, child sizing, grid tracks. < kbd > ⇧</ kbd >< kbd > A</ kbd > to toggle
2026-03-08 08:04:26 +00:00
- **Components** — create (< kbd > ⌥</ kbd >< kbd > ⌘</ kbd >< kbd > K</ kbd > ), component sets (< kbd > ⇧</ kbd >< kbd > ⌘</ kbd >< kbd > K</ kbd > ), instances with override support, live sync
- **Variables** — design tokens with collections, modes (Light/Dark), color/float/string/boolean types, variable binding
- **Sections** — organizational containers with auto-adopting children and title pills
2026-02-28 20:25:57 +00:00
2026-02-28 08:38:27 +00:00
## Properties Panel
2026-03-08 08:04:26 +00:00
Context-sensitive Design | Code | AI tabs:
2026-02-28 08:38:27 +00:00
2026-03-08 08:04:26 +00:00
- **Appearance** — opacity, corner radius (uniform or per-corner), visibility
- **Fill** — solid, gradient (linear/radial/angular/diamond), image
- **Stroke** — color, weight, align (inside/center/outside), per-side weights, cap, join, dash
- **Effects** — drop shadow, inner shadow, layer blur, background blur, foreground blur
- **Typography** — font picker with virtual scroll and search, weight, size, alignment, style buttons
2026-02-28 08:38:27 +00:00
- **Layout** — auto-layout controls when enabled
2026-03-08 08:04:26 +00:00
- **Export** — scale, format (PNG/JPG/WEBP/SVG), live preview
2026-02-28 08:38:27 +00:00
2026-03-08 08:04:26 +00:00
## Rendering
Sync specs & docs: AI chat, Code panel, JSX export
- Merge from master: 19 commits (AI chat + Code tab)
- Update specs: editor-ui (Properties panel → Design|Code|AI tabs,
AI chat panel, model selector, 10 AI tools, DirectChatTransport,
Code panel with JSX export), scene-graph (sceneNodeToJsx),
testing (AI chat Playwright, 14 JSX export tests)
- Update docs: features (AI Chat + Code Panel sections, Properties
Panel tabs), figma-comparison (AI tools 🟡, Dev Mode 🟡,
Code snippets 🟡, 83/150), roadmap (Phase 5 AI + Code),
keyboard-shortcuts (⌘J ✅, ⌘B/I/U ✅)
- Archive sync-ai-chat-code-tab change
2026-03-01 09:33:57 +00:00
2026-03-08 08:04:26 +00:00
Skia (CanvasKit WASM) — the same rendering engine as Figma:
2026-02-28 08:38:27 +00:00
2026-03-08 08:04:26 +00:00
- Gradient fills (linear, radial, angular, diamond)
- Image fills with scale modes
- Effects with per-node caching
- Arc data (partial ellipses, donuts)
- Viewport culling and paint reuse
- Snap guides with rotation-aware alignment
- Canvas rulers with selection badges
- Hover highlight that follows actual geometry
2026-02-28 08:38:27 +00:00
2026-03-08 08:04:26 +00:00
## Undo/Redo
2026-02-28 14:54:56 +00:00
2026-03-08 08:04:26 +00:00
Every operation is undoable — creation, deletion, moves, resizes, property changes, reparenting, layout changes, variable operations. Uses an inverse-command pattern. < kbd > ⌘< / kbd > < kbd > Z< / kbd > / < kbd > ⇧< / kbd > < kbd > ⌘< / kbd > < kbd > Z< / kbd > .
2026-02-28 14:54:56 +00:00
## Multi-Page Documents
2026-03-08 08:04:26 +00:00
Add, delete, rename pages. Each page has independent viewport state. Double-click to rename inline.
Sync docs with v0.5.0–v0.6.0: full locale translations, 75 tools
- Update tool count from 29 to 75 across all docs and locales
- Expand all locale pages (de/es/fr/it/pl) to full translations
- Add missing German sections: Advanced Rendering, Z-Order, ScrubInput,
CI/CD, JSX Renderer, Code Panel, full figma-comparison matrix
- Write complete figma-comparison (152-row matrix) for all locales
- Expand comparison, features, tech-stack, contributing for es/fr/it/pl
- Fix garbled text in locale mcp-tools reference pages
- Architecture diagrams use '75+ tools' to avoid staleness
2026-03-04 15:12:01 +00:00
## Multi-File Tabs
2026-03-08 08:04:26 +00:00
Open multiple documents in tabs. < kbd > ⌘< / kbd > < kbd > T< / kbd > new tab, < kbd > ⌘< / kbd > < kbd > W< / kbd > close, < kbd > ⌘< / kbd > < kbd > O< / kbd > open file.
Sync docs with v0.5.0–v0.6.0: full locale translations, 75 tools
- Update tool count from 29 to 75 across all docs and locales
- Expand all locale pages (de/es/fr/it/pl) to full translations
- Add missing German sections: Advanced Rendering, Z-Order, ScrubInput,
CI/CD, JSX Renderer, Code Panel, full figma-comparison matrix
- Write complete figma-comparison (152-row matrix) for all locales
- Expand comparison, features, tech-stack, contributing for es/fr/it/pl
- Fix garbled text in locale mcp-tools reference pages
- Architecture diagrams use '75+ tools' to avoid staleness
2026-03-04 15:12:01 +00:00
2026-03-08 08:04:26 +00:00
## Export
Sync docs with v0.5.0–v0.6.0: full locale translations, 75 tools
- Update tool count from 29 to 75 across all docs and locales
- Expand all locale pages (de/es/fr/it/pl) to full translations
- Add missing German sections: Advanced Rendering, Z-Order, ScrubInput,
CI/CD, JSX Renderer, Code Panel, full figma-comparison matrix
- Write complete figma-comparison (152-row matrix) for all locales
- Expand comparison, features, tech-stack, contributing for es/fr/it/pl
- Fix garbled text in locale mcp-tools reference pages
- Architecture diagrams use '75+ tools' to avoid staleness
2026-03-04 15:12:01 +00:00
2026-03-08 08:04:26 +00:00
- **Image** — PNG, JPG, WEBP at configurable scale (0.5× – 4× ). Via panel, context menu, or < kbd > ⇧</ kbd >< kbd > ⌘</ kbd >< kbd > E</ kbd >
- **SVG** — shapes, text with style runs, gradients, effects, blend modes
- **Tailwind JSX** — HTML with Tailwind v4 utility classes, ready for React or Vue
- **Copy as** — text, SVG, PNG (< kbd > ⇧</ kbd >< kbd > ⌘</ kbd >< kbd > C</ kbd > ), or JSX via context menu
Sync docs with v0.5.0–v0.6.0: full locale translations, 75 tools
- Update tool count from 29 to 75 across all docs and locales
- Expand all locale pages (de/es/fr/it/pl) to full translations
- Add missing German sections: Advanced Rendering, Z-Order, ScrubInput,
CI/CD, JSX Renderer, Code Panel, full figma-comparison matrix
- Write complete figma-comparison (152-row matrix) for all locales
- Expand comparison, features, tech-stack, contributing for es/fr/it/pl
- Fix garbled text in locale mcp-tools reference pages
- Architecture diagrams use '75+ tools' to avoid staleness
2026-03-04 15:12:01 +00:00
2026-05-29 12:56:52 +00:00
CLI: `openpencil export design.fig -f jsx --style tailwind`
Sync docs with v0.5.0–v0.6.0: full locale translations, 75 tools
- Update tool count from 29 to 75 across all docs and locales
- Expand all locale pages (de/es/fr/it/pl) to full translations
- Add missing German sections: Advanced Rendering, Z-Order, ScrubInput,
CI/CD, JSX Renderer, Code Panel, full figma-comparison matrix
- Write complete figma-comparison (152-row matrix) for all locales
- Expand comparison, features, tech-stack, contributing for es/fr/it/pl
- Fix garbled text in locale mcp-tools reference pages
- Architecture diagrams use '75+ tools' to avoid staleness
2026-03-04 15:12:01 +00:00
2026-03-08 08:04:26 +00:00
## AI Chat
Sync docs with v0.5.0–v0.6.0: full locale translations, 75 tools
- Update tool count from 29 to 75 across all docs and locales
- Expand all locale pages (de/es/fr/it/pl) to full translations
- Add missing German sections: Advanced Rendering, Z-Order, ScrubInput,
CI/CD, JSX Renderer, Code Panel, full figma-comparison matrix
- Write complete figma-comparison (152-row matrix) for all locales
- Expand comparison, features, tech-stack, contributing for es/fr/it/pl
- Fix garbled text in locale mcp-tools reference pages
- Architecture diagrams use '75+ tools' to avoid staleness
2026-03-04 15:12:01 +00:00
2026-03-09 14:43:11 +00:00
Press < kbd > ⌘< / kbd > < kbd > J< / kbd > to open the AI assistant. 90+ tools that can create shapes, set styles, manage layout, work with components and variables, run boolean operations, analyze design tokens, and export assets. Connect Anthropic, OpenAI, Google AI, OpenRouter, or any compatible endpoint.
2026-02-28 08:38:27 +00:00
2026-03-09 14:43:11 +00:00
Tool calls display as collapsible timeline entries. Visual verification — the assistant renders its work and checks it against your request. Full undo support for all AI mutations.
See [AI Chat ](/programmable/ai-chat ) for setup and provider details.
2026-02-28 19:20:16 +00:00
2026-03-08 08:04:26 +00:00
## MCP Server
Sync docs with v0.7.0 and unreleased features
- Update comparison tables: 78 tools (was 75), SVG export no longer a Penpot advantage,
renderer LOC updated to ~3,200 after split into 10 files
- Update figma-comparison: Rename layers ✅, SVG export ✅, +Copy/Paste as, +Tailwind export,
+Stroke align, +per-side stroke weights; coverage 88/152 → 94/158
- Add What's Next roadmap to architecture.md: AI providers, figma-use tool set,
CI tooling, prototyping, CSS Grid, PDF export, .fig fidelity
- Update user-guide: SVG in export format table, Copy/Paste as submenu,
stroke align + per-side weights, layer inline rename, mobile drawer, Code tab format toggle
- Fix keyboard shortcuts: ⌘N/⌘T/⌘W ✅, ⌘\ ✅, add ⇧⌘C ✅
- Expand MCP tools reference from ~25 to all 78 tools in full category tables
- Add Homebrew tap install to Getting Started
- Add new features.md sections: SVG export, Copy/Paste as, stroke align, mobile/PWA,
Tailwind JSX export, Google Fonts fallback, auto-save toggle, Homebrew tap,
layer rename, renderer profiler
- Full locale sync for DE, ES, FR, IT, PL: all 7 files updated in each locale
2026-03-07 16:25:41 +00:00
2026-03-09 14:43:11 +00:00
Connect Claude Code, Cursor, Windsurf, or any MCP client to read and write `.fig` files headlessly. 90+ tools. Two transports: stdio and HTTP.
Sync docs with v0.7.0 and unreleased features
- Update comparison tables: 78 tools (was 75), SVG export no longer a Penpot advantage,
renderer LOC updated to ~3,200 after split into 10 files
- Update figma-comparison: Rename layers ✅, SVG export ✅, +Copy/Paste as, +Tailwind export,
+Stroke align, +per-side stroke weights; coverage 88/152 → 94/158
- Add What's Next roadmap to architecture.md: AI providers, figma-use tool set,
CI tooling, prototyping, CSS Grid, PDF export, .fig fidelity
- Update user-guide: SVG in export format table, Copy/Paste as submenu,
stroke align + per-side weights, layer inline rename, mobile drawer, Code tab format toggle
- Fix keyboard shortcuts: ⌘N/⌘T/⌘W ✅, ⌘\ ✅, add ⇧⌘C ✅
- Expand MCP tools reference from ~25 to all 78 tools in full category tables
- Add Homebrew tap install to Getting Started
- Add new features.md sections: SVG export, Copy/Paste as, stroke align, mobile/PWA,
Tailwind JSX export, Google Fonts fallback, auto-save toggle, Homebrew tap,
layer rename, renderer profiler
- Full locale sync for DE, ES, FR, IT, PL: all 7 files updated in each locale
2026-03-07 16:25:41 +00:00
```sh
2026-05-19 14:58:08 +00:00
npm install -g @open -pencil/mcp
Sync docs with v0.7.0 and unreleased features
- Update comparison tables: 78 tools (was 75), SVG export no longer a Penpot advantage,
renderer LOC updated to ~3,200 after split into 10 files
- Update figma-comparison: Rename layers ✅, SVG export ✅, +Copy/Paste as, +Tailwind export,
+Stroke align, +per-side stroke weights; coverage 88/152 → 94/158
- Add What's Next roadmap to architecture.md: AI providers, figma-use tool set,
CI tooling, prototyping, CSS Grid, PDF export, .fig fidelity
- Update user-guide: SVG in export format table, Copy/Paste as submenu,
stroke align + per-side weights, layer inline rename, mobile drawer, Code tab format toggle
- Fix keyboard shortcuts: ⌘N/⌘T/⌘W ✅, ⌘\ ✅, add ⇧⌘C ✅
- Expand MCP tools reference from ~25 to all 78 tools in full category tables
- Add Homebrew tap install to Getting Started
- Add new features.md sections: SVG export, Copy/Paste as, stroke align, mobile/PWA,
Tailwind JSX export, Google Fonts fallback, auto-save toggle, Homebrew tap,
layer rename, renderer profiler
- Full locale sync for DE, ES, FR, IT, PL: all 7 files updated in each locale
2026-03-07 16:25:41 +00:00
```
2026-03-08 08:04:26 +00:00
```json
{
"mcpServers": {
"open-pencil": {
"command": "openpencil-mcp"
}
}
}
```
Sync specs & docs: style runs, JSX renderer, CLI expansion, tests
- Merge from master: 22 commits (rich text, JSX renderer, CLI, dedup, tests)
- Update specs: text-editing (style runs, ⌘B/I/U, .fig roundtrip,
double/triple-click, selectLine), canvas-rendering (mixed-style
ParagraphBuilder), editor-ui (B/I/U/S buttons), cli (analyze, node,
pages, variables), tooling (jscpd, kiwi-serialize, test:coverage),
testing (.fig roundtrip, import perf, JSX tests), scene-graph
(StyleRun model, JSX renderer)
- Update docs: features (rich text formatting, JSX renderer, expanded
CLI, code quality), figma-comparison (Text styles 🔲→🟡, 80/150),
roadmap (Phase 4+5 delivered items)
- Archive sync-style-runs-jsx-cli-tests change
2026-03-01 09:09:41 +00:00
Add AI & Automation docs section, CLI reference, formatting fixes
New 'AI & Automation' top-level nav section with 9 pages:
- AI Chat: setup, 87 tools, example prompts
- Collaboration: room sharing, cursors, follow mode
- JSX Renderer: elements, style props, visual diffing
- CLI (4 pages): inspecting, exporting, analyzing, scripting
- MCP Server: moved from Reference, setup + 90 tools
New CLI reference page in Reference with all 12 commands,
every option, alias, and default value.
Formatting fixes across all 7 locales:
- Wrap enum values in backticks (FRAME, SOLID, ROUND, etc.)
- Fix single-backtick code blocks → triple backticks
- Use <kbd> for all keyboard shortcuts
- Remove implementation details from user guide
- Delete stale eval-command.md and mcp-tools.md (14 files)
- Update dead links to new locations
2026-03-08 12:27:57 +00:00
See [MCP Tools reference ](/programmable/mcp-server ) for the full tool list.
Sync specs & docs: style runs, JSX renderer, CLI expansion, tests
- Merge from master: 22 commits (rich text, JSX renderer, CLI, dedup, tests)
- Update specs: text-editing (style runs, ⌘B/I/U, .fig roundtrip,
double/triple-click, selectLine), canvas-rendering (mixed-style
ParagraphBuilder), editor-ui (B/I/U/S buttons), cli (analyze, node,
pages, variables), tooling (jscpd, kiwi-serialize, test:coverage),
testing (.fig roundtrip, import perf, JSX tests), scene-graph
(StyleRun model, JSX renderer)
- Update docs: features (rich text formatting, JSX renderer, expanded
CLI, code quality), figma-comparison (Text styles 🔲→🟡, 80/150),
roadmap (Phase 4+5 delivered items)
- Archive sync-style-runs-jsx-cli-tests change
2026-03-01 09:09:41 +00:00
2026-03-08 08:04:26 +00:00
## CLI
Sync specs & docs: AI chat, Code panel, JSX export
- Merge from master: 19 commits (AI chat + Code tab)
- Update specs: editor-ui (Properties panel → Design|Code|AI tabs,
AI chat panel, model selector, 10 AI tools, DirectChatTransport,
Code panel with JSX export), scene-graph (sceneNodeToJsx),
testing (AI chat Playwright, 14 JSX export tests)
- Update docs: features (AI Chat + Code Panel sections, Properties
Panel tabs), figma-comparison (AI tools 🟡, Dev Mode 🟡,
Code snippets 🟡, 83/150), roadmap (Phase 5 AI + Code),
keyboard-shortcuts (⌘J ✅, ⌘B/I/U ✅)
- Archive sync-ai-chat-code-tab change
2026-03-01 09:33:57 +00:00
2026-03-08 08:04:26 +00:00
Inspect, export, and analyze `.fig` files from the terminal:
Sync specs & docs: AI chat, Code panel, JSX export
- Merge from master: 19 commits (AI chat + Code tab)
- Update specs: editor-ui (Properties panel → Design|Code|AI tabs,
AI chat panel, model selector, 10 AI tools, DirectChatTransport,
Code panel with JSX export), scene-graph (sceneNodeToJsx),
testing (AI chat Playwright, 14 JSX export tests)
- Update docs: features (AI Chat + Code Panel sections, Properties
Panel tabs), figma-comparison (AI tools 🟡, Dev Mode 🟡,
Code snippets 🟡, 83/150), roadmap (Phase 5 AI + Code),
keyboard-shortcuts (⌘J ✅, ⌘B/I/U ✅)
- Archive sync-ai-chat-code-tab change
2026-03-01 09:33:57 +00:00
2026-03-08 08:04:26 +00:00
```sh
2026-05-29 12:56:52 +00:00
openpencil tree design.fig # Node tree
openpencil find design.fig --type TEXT # Search
openpencil export design.fig -f png # Render
openpencil analyze colors design.fig # Color audit
openpencil analyze clusters design.fig # Repeated patterns
openpencil eval design.fig -c "..." # Figma Plugin API
2026-03-08 08:04:26 +00:00
```
Sync specs & docs: AI chat, Code panel, JSX export
- Merge from master: 19 commits (AI chat + Code tab)
- Update specs: editor-ui (Properties panel → Design|Code|AI tabs,
AI chat panel, model selector, 10 AI tools, DirectChatTransport,
Code panel with JSX export), scene-graph (sceneNodeToJsx),
testing (AI chat Playwright, 14 JSX export tests)
- Update docs: features (AI Chat + Code Panel sections, Properties
Panel tabs), figma-comparison (AI tools 🟡, Dev Mode 🟡,
Code snippets 🟡, 83/150), roadmap (Phase 5 AI + Code),
keyboard-shortcuts (⌘J ✅, ⌘B/I/U ✅)
- Archive sync-ai-chat-code-tab change
2026-03-01 09:33:57 +00:00
2026-03-08 08:04:26 +00:00
When the desktop app is running, omit the file to control the live editor via RPC:
Sync specs & docs: AI chat, Code panel, JSX export
- Merge from master: 19 commits (AI chat + Code tab)
- Update specs: editor-ui (Properties panel → Design|Code|AI tabs,
AI chat panel, model selector, 10 AI tools, DirectChatTransport,
Code panel with JSX export), scene-graph (sceneNodeToJsx),
testing (AI chat Playwright, 14 JSX export tests)
- Update docs: features (AI Chat + Code Panel sections, Properties
Panel tabs), figma-comparison (AI tools 🟡, Dev Mode 🟡,
Code snippets 🟡, 83/150), roadmap (Phase 5 AI + Code),
keyboard-shortcuts (⌘J ✅, ⌘B/I/U ✅)
- Archive sync-ai-chat-code-tab change
2026-03-01 09:33:57 +00:00
2026-03-08 08:04:26 +00:00
```sh
2026-05-29 12:56:52 +00:00
openpencil tree # Live document
openpencil export -f png # Screenshot canvas
2026-03-08 08:04:26 +00:00
```
Sync specs & docs: AI chat, Code panel, JSX export
- Merge from master: 19 commits (AI chat + Code tab)
- Update specs: editor-ui (Properties panel → Design|Code|AI tabs,
AI chat panel, model selector, 10 AI tools, DirectChatTransport,
Code panel with JSX export), scene-graph (sceneNodeToJsx),
testing (AI chat Playwright, 14 JSX export tests)
- Update docs: features (AI Chat + Code Panel sections, Properties
Panel tabs), figma-comparison (AI tools 🟡, Dev Mode 🟡,
Code snippets 🟡, 83/150), roadmap (Phase 5 AI + Code),
keyboard-shortcuts (⌘J ✅, ⌘B/I/U ✅)
- Archive sync-ai-chat-code-tab change
2026-03-01 09:33:57 +00:00
2026-05-21 13:53:38 +00:00
All commands support `--json` . Install: `npm install -g @open-pencil/cli` (or `bun add -g @open-pencil/cli` ).
Sync specs & docs: AI chat, Code panel, JSX export
- Merge from master: 19 commits (AI chat + Code tab)
- Update specs: editor-ui (Properties panel → Design|Code|AI tabs,
AI chat panel, model selector, 10 AI tools, DirectChatTransport,
Code panel with JSX export), scene-graph (sceneNodeToJsx),
testing (AI chat Playwright, 14 JSX export tests)
- Update docs: features (AI Chat + Code Panel sections, Properties
Panel tabs), figma-comparison (AI tools 🟡, Dev Mode 🟡,
Code snippets 🟡, 83/150), roadmap (Phase 5 AI + Code),
keyboard-shortcuts (⌘J ✅, ⌘B/I/U ✅)
- Archive sync-ai-chat-code-tab change
2026-03-01 09:33:57 +00:00
2026-03-08 08:04:26 +00:00
## Real-Time Collaboration
2026-03-07 21:28:11 +00:00
2026-03-08 08:04:26 +00:00
P2P via WebRTC — no server required. Share a link and edit together.
Add AI agent skill to README and docs
- README: new 'AI Agent Skill' section with install command
- MCP tools reference: skill section, fix tool count 78→90,
add 10 missing tools (export_image, export_svg, flatten_nodes,
list_fonts, page_bounds, set_layout_child, set_text_properties,
viewport_get, viewport_set, viewport_zoom_to_fit)
- Features page: mention skill with install command
- All 6 locales updated
2026-03-07 22:08:28 +00:00
2026-03-08 08:04:26 +00:00
- Live cursors with colored arrows and name pills
- Presence avatars
- Follow mode — click a peer to follow their viewport
- Local persistence via IndexedDB
- Secure room IDs via `crypto.getRandomValues()`
Sync specs & docs: AI chat, Code panel, JSX export
- Merge from master: 19 commits (AI chat + Code tab)
- Update specs: editor-ui (Properties panel → Design|Code|AI tabs,
AI chat panel, model selector, 10 AI tools, DirectChatTransport,
Code panel with JSX export), scene-graph (sceneNodeToJsx),
testing (AI chat Playwright, 14 JSX export tests)
- Update docs: features (AI Chat + Code Panel sections, Properties
Panel tabs), figma-comparison (AI tools 🟡, Dev Mode 🟡,
Code snippets 🟡, 83/150), roadmap (Phase 5 AI + Code),
keyboard-shortcuts (⌘J ✅, ⌘B/I/U ✅)
- Archive sync-ai-chat-code-tab change
2026-03-01 09:33:57 +00:00
2026-03-08 08:04:26 +00:00
## Desktop & Web
Sync specs & docs: AI chat, Code panel, JSX export
- Merge from master: 19 commits (AI chat + Code tab)
- Update specs: editor-ui (Properties panel → Design|Code|AI tabs,
AI chat panel, model selector, 10 AI tools, DirectChatTransport,
Code panel with JSX export), scene-graph (sceneNodeToJsx),
testing (AI chat Playwright, 14 JSX export tests)
- Update docs: features (AI Chat + Code Panel sections, Properties
Panel tabs), figma-comparison (AI tools 🟡, Dev Mode 🟡,
Code snippets 🟡, 83/150), roadmap (Phase 5 AI + Code),
keyboard-shortcuts (⌘J ✅, ⌘B/I/U ✅)
- Archive sync-ai-chat-code-tab change
2026-03-01 09:33:57 +00:00
2026-03-08 08:04:26 +00:00
**Desktop** — Tauri v2, ~7 MB. macOS (signed & notarized), Windows, Linux. Native menus, offline, autosave.
Sync specs & docs: AI chat, Code panel, JSX export
- Merge from master: 19 commits (AI chat + Code tab)
- Update specs: editor-ui (Properties panel → Design|Code|AI tabs,
AI chat panel, model selector, 10 AI tools, DirectChatTransport,
Code panel with JSX export), scene-graph (sceneNodeToJsx),
testing (AI chat Playwright, 14 JSX export tests)
- Update docs: features (AI Chat + Code Panel sections, Properties
Panel tabs), figma-comparison (AI tools 🟡, Dev Mode 🟡,
Code snippets 🟡, 83/150), roadmap (Phase 5 AI + Code),
keyboard-shortcuts (⌘J ✅, ⌘B/I/U ✅)
- Archive sync-ai-chat-code-tab change
2026-03-01 09:33:57 +00:00
2026-03-08 08:04:26 +00:00
**Web** — runs at [app.openpencil.dev ](https://app.openpencil.dev ), installable as a PWA on mobile with touch-optimized UI.
Sync specs & docs: AI chat, Code panel, JSX export
- Merge from master: 19 commits (AI chat + Code tab)
- Update specs: editor-ui (Properties panel → Design|Code|AI tabs,
AI chat panel, model selector, 10 AI tools, DirectChatTransport,
Code panel with JSX export), scene-graph (sceneNodeToJsx),
testing (AI chat Playwright, 14 JSX export tests)
- Update docs: features (AI Chat + Code Panel sections, Properties
Panel tabs), figma-comparison (AI tools 🟡, Dev Mode 🟡,
Code snippets 🟡, 83/150), roadmap (Phase 5 AI + Code),
keyboard-shortcuts (⌘J ✅, ⌘B/I/U ✅)
- Archive sync-ai-chat-code-tab change
2026-03-01 09:33:57 +00:00
2026-03-08 08:04:26 +00:00
**Homebrew:**
Sync specs & docs: AI chat, Code panel, JSX export
- Merge from master: 19 commits (AI chat + Code tab)
- Update specs: editor-ui (Properties panel → Design|Code|AI tabs,
AI chat panel, model selector, 10 AI tools, DirectChatTransport,
Code panel with JSX export), scene-graph (sceneNodeToJsx),
testing (AI chat Playwright, 14 JSX export tests)
- Update docs: features (AI Chat + Code Panel sections, Properties
Panel tabs), figma-comparison (AI tools 🟡, Dev Mode 🟡,
Code snippets 🟡, 83/150), roadmap (Phase 5 AI + Code),
keyboard-shortcuts (⌘J ✅, ⌘B/I/U ✅)
- Archive sync-ai-chat-code-tab change
2026-03-01 09:33:57 +00:00
2026-03-08 08:04:26 +00:00
```sh
brew install open-pencil/tap/open-pencil
```
Sync specs & docs: style runs, JSX renderer, CLI expansion, tests
- Merge from master: 22 commits (rich text, JSX renderer, CLI, dedup, tests)
- Update specs: text-editing (style runs, ⌘B/I/U, .fig roundtrip,
double/triple-click, selectLine), canvas-rendering (mixed-style
ParagraphBuilder), editor-ui (B/I/U/S buttons), cli (analyze, node,
pages, variables), tooling (jscpd, kiwi-serialize, test:coverage),
testing (.fig roundtrip, import perf, JSX tests), scene-graph
(StyleRun model, JSX renderer)
- Update docs: features (rich text formatting, JSX renderer, expanded
CLI, code quality), figma-comparison (Text styles 🔲→🟡, 80/150),
roadmap (Phase 4+5 delivered items)
- Archive sync-style-runs-jsx-cli-tests change
2026-03-01 09:09:41 +00:00
2026-03-08 08:04:26 +00:00
## Google Fonts Fallback
Sync specs & docs: style runs, JSX renderer, CLI expansion, tests
- Merge from master: 22 commits (rich text, JSX renderer, CLI, dedup, tests)
- Update specs: text-editing (style runs, ⌘B/I/U, .fig roundtrip,
double/triple-click, selectLine), canvas-rendering (mixed-style
ParagraphBuilder), editor-ui (B/I/U/S buttons), cli (analyze, node,
pages, variables), tooling (jscpd, kiwi-serialize, test:coverage),
testing (.fig roundtrip, import perf, JSX tests), scene-graph
(StyleRun model, JSX renderer)
- Update docs: features (rich text formatting, JSX renderer, expanded
CLI, code quality), figma-comparison (Text styles 🔲→🟡, 80/150),
roadmap (Phase 4+5 delivered items)
- Archive sync-style-runs-jsx-cli-tests change
2026-03-01 09:09:41 +00:00
2026-03-08 08:04:26 +00:00
When a font isn't available locally, OpenPencil fetches it from Google Fonts automatically. No manual installation needed when opening .fig files with unfamiliar fonts.