Skip to content

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 โ€‹

FeatureStatusNotes
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 โ€‹

FeatureStatusNotes
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 โ€‹

FeatureStatusNotes
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 โ€‹

FeatureStatusNotes
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 โ€‹

FeatureStatusNotes
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 โ€‹

FeatureStatusNotes
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 โ€‹

FeatureStatusNotes
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 โ€‹

FeatureStatusNotes
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 โ€‹

FeatureStatusNotes
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 โ€‹

FeatureStatusNotes
.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 โ€‹

FeatureStatusNotes
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 โ€‹

FeatureStatusNotes
Illustration tools๐Ÿ”ฒFigma Draw's specialized drawing tools
Pattern transforms๐Ÿ”ฒCreate repeating patterns with transforms

Released under the MIT License.