Figma Feature Matrix โ
Feature-by-feature comparison of Figma Design capabilities with Open Pencil's current implementation status.
Status Legend
โ Supported โ feature works end-to-end ยท ๐ก Partial โ core behavior exists, some sub-features missing ยท ๐ฒ Not yet implemented
Coverage: 83 of 150 Figma feature items addressed โ 64 โ fully supported, 19 ๐ก partial, 67 ๐ฒ not yet. Last updated: 2026-03-01.
Interface & Navigation โ
| Feature | Status | Notes |
|---|---|---|
| Toolbar with design tools | โ | Bottom toolbar (UI3 style): Select, Frame, Section, Rectangle, Ellipse, Line, Text, Hand, Pen |
| Layers panel (left sidebar) | โ | Tree view with expand/collapse, drag reorder, visibility toggle; resizable width |
| Pages panel | โ | Add, delete, rename pages; per-page viewport state |
| Properties panel (right sidebar) | โ | Sections: Appearance, Fill, Stroke, Effects, Typography, Layout, Position; resizable width |
| Zoom & pan | โ | Ctrl+scroll, pinch, โ+/โโ/โ0, space+drag, middle mouse, hand tool (H) |
| Canvas rulers | โ | Top/left rulers with selection highlight bands and coordinate badges |
| Canvas background color | โ | Per-page background via properties panel |
| Canvas guides | ๐ฒ | Figma supports draggable guides from rulers |
| Actions menu / command palette | ๐ฒ | Figma's quick actions search |
| Context menu | โ | Right-click with clipboard, z-order, grouping, component, visibility, lock, move-to-page actions |
| Keyboard shortcuts | ๐ก | Core shortcuts + components + z-order + visibility/lock implemented; Scale, Arrow, Pencil, flip, text formatting not yet wired |
| Find and replace | ๐ฒ | Text search/replace across document |
| Layer outlines view | ๐ฒ | Wireframe view of all layers |
| Custom file thumbnails | ๐ฒ | Thumbnail generated on export, but no custom thumbnail picker |
| Nudge value settings | ๐ฒ | Default 1px/10px; Figma allows custom small/big nudge values |
| AI tools | ๐ก | 10 AI tools via OpenRouter (create/modify/delete shapes, fills/strokes, layout); no AI-generated images or AI-powered search yet |
Layers & Shapes โ
| Feature | Status | Notes |
|---|---|---|
| Shape tools (Rectangle, Ellipse, Line, Polygon, Star) | โ | All basic shape types; polygon side count and star inner radius configurable |
| Frames | โ | Clip content, independent coordinate system |
| Groups | โ | โG to group, โงโG to ungroup |
| Sections | โ | Title pills, auto-adopt overlapping nodes, luminance-adaptive text |
| Arc tool (arcs, semi-circles, rings) | โ | arcData with start/end angle and inner radius |
| Pencil (freehand) tool | ๐ฒ | Figma's freehand drawing tool |
| Masks | ๐ฒ | Shape masks for clipping layers |
| Layer types & hierarchy | โ | 17 node types, flat Map + parent-child tree |
| Select layers | โ | Click, shift-click, marquee selection |
| Alignment & position | โ | Position, rotation, dimensions in properties panel |
| Copy & paste objects | โ | Standard clipboard + Figma fig-kiwi binary format |
| Scale layers proportionally | ๐ก | Shift-resize constrains proportions; no dedicated Scale tool (K) |
| Lock & unlock layers | โ | โงโL toggles lock; locked nodes can't be selected/moved from canvas |
| Toggle layer visibility | โ | Eye icon in layers panel + โงโH keyboard shortcut |
| Rename layers | ๐ก | Programmatic rename via store; no inline rename UI in layers panel yet |
| Bring to front / Send to back | โ | ] and [ keyboard shortcuts; also in context menu |
| Move to page | โ | Move selected nodes between pages via context menu |
| Constraints (responsive resize) | ๐ฒ | Pin edges/center for parent resize behavior |
| Smart selection (distribute/align) | ๐ฒ | Evenly space and align multi-selection |
| Layout guides (columns, rows, grid) | ๐ฒ | Column/row/grid overlay guides on frames |
| Measure distances between layers | ๐ฒ | Alt-hover to show distances |
| Edit objects in bulk | ๐ฒ | Batch property editing |
| Identify matching objects | ๐ฒ | Find similar layers |
| Copy/paste properties | ๐ฒ | Copy fill/stroke/effects between layers |
| Parent-child relationships | โ | Full hierarchy with parentIndex, reparenting via drag |
Vector Tools โ
| Feature | Status | Notes |
|---|---|---|
| Vector networks | โ | Figma-compatible model, not simple paths |
| Pen tool | โ | Corner points, bezier curves, open/closed paths |
| Edit vector layers | ๐ก | Creation works; advanced vertex editing (bend, delete points, join) limited |
| Boolean operations (Union, Subtract, Intersect, Exclude) | ๐ฒ | Combine shapes with boolean ops |
| Flatten layers | ๐ฒ | Merge vector paths into single path |
| Convert strokes to paths | ๐ฒ | Outline Stroke command |
| Convert text to paths | ๐ฒ | Flatten text to vector outlines |
| Shape builder tool | ๐ฒ | Interactive boolean tool |
| Offset path | ๐ฒ | Inset/outset a vector path |
| Simplify path | ๐ฒ | Reduce vector point count |
Text & Typography โ
| Feature | Status | Notes |
|---|---|---|
| Text tool & inline editing | โ | Canvas-native editing, phantom textarea, cursor/selection/word select, drag to select, double/triple-click, rich text style runs (โB/I/U, S button) |
| Text rendering (Paragraph API) | โ | CanvasKit Paragraph for shaping, line-breaking, metrics |
| Font loading (system fonts) | โ | Inter default, font-kit in Tauri with OnceLock cache + preloading, queryLocalFonts in browser |
| Font family & weight | โ | FontPicker with virtual scroll, search, CSS preview; weight selection in properties panel |
| Font size & line height | โ | Editable in typography section |
| Text alignment | ๐ก | Basic alignment; Figma has vertical alignment and auto-width/height modes |
| Text styles | ๐ก | Per-selection bold/italic/underline/strikethrough (โB/I/U, S button); not yet reusable named text style presets |
| Text resizing modes (auto, fixed, hug) | ๐ฒ | Figma's auto-width, auto-height, fixed-size text modes |
| Bulleted & numbered lists | ๐ฒ | List formatting in text |
| Links in text | ๐ฒ | Hyperlinks within text content |
| Emojis & smart symbols | ๐ฒ | Emoji rendering and special characters |
| OpenType features | ๐ฒ | Ligatures, stylistic alternates, tabular figures |
| Variable fonts | ๐ฒ | Adjustable font axes (weight, width, slant) |
| CJK text support | ๐ฒ | Chinese, Japanese, Korean text rendering |
| RTL text support | ๐ฒ | Right-to-left text layout |
| Icon fonts | ๐ฒ | Special handling for icon font glyphs |
Color, Gradients & Images โ
| Feature | Status | Notes |
|---|---|---|
| Color picker (HSV) | โ | HSV square, hue slider, alpha slider, hex input |
| Solid fills | โ | Hex color with opacity |
| Linear gradient | โ | Gradient stops, transform handles |
| Radial gradient | โ | Rendered via CanvasKit shaders |
| Angular gradient | โ | Sweep/conic gradient support |
| Diamond gradient | โ | Four-point diamond gradient |
| Image fills | โ | Decoded from blob data with scale modes (fill, fit, crop, tile) |
| Pattern fills | ๐ฒ | Repeating image/pattern fills |
| Blend modes | ๐ฒ | Layer and fill blend modes (multiply, screen, overlay, etc.) |
| Add images & videos | ๐ก | Image fills rendered; no drag-and-drop image import or video support |
| Image property adjustment | ๐ฒ | Exposure, contrast, saturation, etc. |
| Crop an image | ๐ฒ | Interactive image cropping |
| Eyedropper tool | ๐ฒ | Sample colors from canvas |
| Mixed selection color editing | ๐ฒ | Adjust colors across heterogeneous selection |
| Color models (RGB, HSL, HSB, Hex) | ๐ก | HSV + Hex in picker; no HSL or RGB mode toggle |
Effects & Properties โ
| Feature | Status | Notes |
|---|---|---|
| Drop shadow | โ | Offset, blur radius, color via CanvasKit filters |
| Inner shadow | โ | Inset shadow effect |
| Layer blur | โ | Gaussian blur on layer |
| Background blur | โ | Blur content behind layer |
| Foreground blur | โ | Blur in foreground |
| Stroke weight | โ | Configurable in properties panel |
| Stroke cap (round, square, arrow) | โ | NONE, ROUND, SQUARE, ARROW_LINES, ARROW_EQUILATERAL |
| Stroke join (miter, bevel, round) | โ | All three join types |
| Dash patterns | โ | Dash-on/dash-off stroke pattern |
| Corner radius | โ | Uniform and per-corner radius with independent toggle in properties panel |
| Corner smoothing (iOS-style) | ๐ฒ | Figma's continuous corner rounding |
| Multiple fills/strokes per layer | ๐ฒ | Figma allows stacking fills and strokes |
Auto Layout โ
| Feature | Status | Notes |
|---|---|---|
| Horizontal & vertical flow | โ | Yoga WASM flexbox engine |
| Toggle auto layout (โงA) | โ | Toggle on frame or wrap selection |
| Gap (spacing between children) | โ | Configurable in properties panel |
| Padding (uniform & per-side) | โ | All four sides independently |
| Justify content | โ | Start, center, end, space-between |
| Align items | โ | Start, center, end, stretch |
| Child sizing (fixed, fill, hug) | โ | Per-child sizing modes |
| Wrap | โ | Flex wrap for multi-line layout |
| Grid auto layout flow | ๐ฒ | Figma's grid-based auto layout (rows ร columns) |
| Combined flows (nested) | โ | Nested auto-layout frames with different directions |
| Drag reorder within auto layout | โ | Visual insertion indicator |
| Min/max width and height | ๐ฒ | Figma supports min/max constraints on auto-layout children |
Components & Design Systems โ
| Feature | Status | Notes |
|---|---|---|
| Create components | ๐ก | โฅโK creates from frame/group or wraps selection; no component properties UI yet |
| Component sets | ๐ก | โงโK combines components; dashed purple border; no variant property editing |
| Component instances | ๐ก | Create instance from context menu with child cloning and componentId mapping; live sync from component; no override editing UI |
| Variants | ๐ฒ | Variant switching and property-based selection |
| Component properties | ๐ฒ | Boolean, text, instance swap properties |
| Override propagation | โ | Changes to main component propagate to all instances; overrides preserved |
| Variables (color, number, string, boolean) | ๐ก | COLOR full UI (dialog, TanStack Table, inline editing, undo/redo, demo collections); FLOAT/STRING/BOOLEAN defined but no editing UI |
| Variable collections & modes | ๐ก | Collections, modes, activeMode switching work; no variable-driven theming UI yet |
| Styles (color, text, effect, layout) | ๐ฒ | Reusable named style presets |
| Libraries (publish, share, update) | ๐ฒ | Shared component/style libraries |
| Detach instance | โ | โฅโB converts instance back to frame |
| Go to main component | โ | Navigate to source component, cross-page |
Prototyping โ
| Feature | Status | Notes |
|---|---|---|
| Prototype connections | ๐ฒ | Planned for Phase 6 |
| Triggers (click, hover, drag, etc.) | ๐ฒ | Planned for Phase 6 |
| Actions (navigate, overlay, scroll, etc.) | ๐ฒ | Planned for Phase 6 |
| Animations & transitions | ๐ฒ | Planned for Phase 6 |
| Smart animate | ๐ฒ | Auto-animate matching layers |
| Overlays | ๐ฒ | Modal/popover prototyping |
| Scroll & overflow behavior | ๐ฒ | Scrollable frames in prototypes |
| Prototype flows | ๐ฒ | Named starting points |
| Variables in prototypes | ๐ฒ | Conditional logic with variables |
| Easing & spring animations | ๐ฒ | Custom animation curves |
| Present & play prototypes | ๐ฒ | Fullscreen prototype viewer |
Import & Export โ
| Feature | Status | Notes |
|---|---|---|
| .fig file import | โ | Full Kiwi codec: 194 definitions, ~390 fields per NodeChange |
| .fig file export | โ | Kiwi encoding + Zstd compression + thumbnail generation |
| Save / Save As | โ | โS / โงโS with native OS dialogs (Tauri) |
| Figma clipboard (paste) | โ | Decode fig-kiwi binary from Figma clipboard |
| Figma clipboard (copy) | โ | Encode fig-kiwi binary that Figma can read |
| Sketch file import | ๐ฒ | .sketch file parsing |
| Image/SVG export | ๐ก | PNG/JPG/WEBP with scale selector and live preview; SVG/PDF not yet |
| Version history | ๐ฒ | Browse and restore previous versions |
| Copy assets between tools | ๐ก | Figma clipboard works; no SVG/PDF clipboard |
Collaboration & Dev Mode โ
| Feature | Status | Notes |
|---|---|---|
| Comments (pin, thread, resolve) | ๐ฒ | Planned for Phase 6 |
| Real-time multiplayer | ๐ฒ | Planned (Yjs-based) |
| Cursor chat | ๐ฒ | Inline chat bubbles at cursor |
| Branching & merging | ๐ฒ | Version branches for design files |
| Dev Mode (inspect) | ๐ก | Code tab shows JSX representation of selection; no CSS properties or handoff specs |
| Code Connect | ๐ฒ | Link design components to code |
| Code snippets | ๐ก | JSX export with syntax highlighting and copy; no CSS/Swift/Kotlin snippets |
| Figma for VS Code | ๐ฒ | Editor plugin integration |
| MCP server | ๐ฒ | Planned for Phase 5; 117-tool MCP server from figma-use |
| CLI tools | ๐ก | Headless CLI: info, tree, find, export, analyze (colors/typography/spacing/clusters), node, pages, variables; MCP server not yet |
Figma Draw โ
| Feature | Status | Notes |
|---|---|---|
| Illustration tools | ๐ฒ | Figma Draw's specialized drawing tools |
| Pattern transforms | ๐ฒ | Create repeating patterns with transforms |