Releases: awdr74100/figwright
Releases · awdr74100/figwright
Release list
v0.2.0
🚀 Enhancements
- Add get_component_api and set_instance_properties (#3)
- Add import_svg to place vector logos and icons from SVG markup (#4)
- Let create_component componentize an existing node (fromNodeId) (#5)
- Add set_arc and read ellipse arcData (pie / gauge / ring) (#6)
- Carry pattern fill tiling geometry for faithful codegen (#8)
- Make the plugin window resizable with a drag handle (#9)
🩹 Fixes
- skills: Drop non-standard min-server-version frontmatter (10ec3c4)
- Report version mismatches clearly and validate the leader ping (#2)
📖 Documentation
- skills: Scope install command to the skills/ subpath (5277f56)
- Rewrite README, add CONTRIBUTING, and polish project metadata (#1)
- Swap Node badge for Glama MCP server score badge (#11)
- Add light/dark logo and simplify README header (#12)
🏡 Chore
- Add glama.json for Glama MCP registry listing (#10)
❤️ Contributors
- Roya (@awdr74100)
v0.1.0
🚀 Enhancements
- m2: Write-parity kickoff — idempotency infra + 3 tools (0eec93a)
- m2: Add set_opacity / set_visible / rename_node / delete_nodes (4eda9d0)
- m2: Add create_text/rectangle, set_corner_radius/strokes, move/resize_nodes (cb2c3b3)
- m2: Add set_auto_layout/blend_mode/constraints, rotate/lock/unlock_nodes, clone_node (9f96d7e)
- m2: Add 8 style + 6 variable write tools (34/52) (652e855)
- m2: Add structural + bulk-text write tools (40/52) (0d8b7e0)
- m2: Add page write tools (44/52) (4a8d40c)
- m2: Add prototype + component-nav write tools (48/52) (5405744)
- m2: Add import_image write tool (49/52) (e6e307e)
- m2: Add create_ellipse / create_component / create_section — 52/52 tool count (bb25810)
- m2: Add batch atomic write tool — 53 tools, all-or-nothing rollback (ba6d4d4)
- m2: Add create_instance — fills the component-side planning gap (54 tools) (45bad2a)
- m2.5: Gradient paints — read + write (round-trippable) (9341f4a)
- m2.5: Text truncation/maxLines (read+write) + FLOAT alias regression test (3bed475)
- design-context: P1 surface grounding fields (52c226e)
- design-context: P2 resolve token ids to names (84cd506)
- design-context: P3 globalVars dedup + structured values + metrics (69ccea9)
- design-context: P3.1 surface + dedup strokes & effects (3583b60)
- m3: Analyze_project — JS/TS profile detector (Tailwind v3+v4 aware) (4a9ce62)
- m3: Scan_components — oxc-based local component scanner (a460176)
- m3: Component_map — join Figma component names to local code components (be0fb7c)
- m3: Wire scan_components + component_map; demote analyze_project to internal helper (7a02671)
- m3: Expose analyze_project as a standalone MCP tool (revert demotion) (b12ec5b)
- m3: Token_map — join Figma variables to project design tokens (87ae2f8)
- m3: Token_map B3 — Tailwind/Figma namespace synonyms (a58aeda)
- m3: Component_map emits per-instance props (instances[]) (cdaafc1)
- m3: Component_map reports unmatchedProps (component-extension TODOs) (b15fb89)
- m3: Token_map opens size↔text via the variable's collection (5a437bf)
- m3: MCP prompts capability + figma_to_code (cross-client codegen) (8de7066)
- relay: Multi-plugin routing on most-recently-active session (1613dad)
- plugin: Emit activity on window focus/visibility (56b8422)
- codegen: Asset-export step — close the no-codegen fidelity gap (2f61138)
- token_map: Framework-builtin scale recognition + codegen effect-fidelity guidance (5ea3d11)
- token_map: Font-weight framework-builtin (weight/* → font-bold etc.) (f8972fd)
- get_design_context: Per-instance textOverrides on deduped instances (f55d3d1)
- serializer: Surface per-side stroke weights for mixed borders (d34a2b6)
- profile: Svg-handling detection + icon import/use guidance (838043b)
- scan: Gitignore-aware shared repo walker (e47ca2a)
- screenshot: Flag empty exports (clipped/off-canvas/hidden nodes) (9301e89)
- write: Tier 1 write-surface hardening — typography, per-side strokes, variable CRUD, child layout (0047d72)
- write: Add combine_as_variants — combine COMPONENTs into a COMPONENT_SET (07aa2bb)
- codegen: Gradient + image object-fit fidelity (close two silent grounding misses) (0b9fae7)
- codegen: StrokeAlign semantics (close the application-side miss behind Framelink #386) (893ac03)
- grounding: Surface auto-layout to get_design_context + GRID auto-layout (read+write) (fcb4028)
- plugin-ui: Slim the panel, add "Run in background", fix Context overflow (0bc5c1d)
- grounding: Icon_map — reuse curated .svg icons + color contract (28405b2)
- grounding: Get_variable_defs emits hex for COLOR values (30a0aec)
- grounding: Surface per-corner radius, blendMode, mask in read path (cf8f07d)
- write: Per-corner set_corner_radius + new set_mask tool (7437460)
- Derive displayed versions from the single product version (ee176fa)
- mcp: Accept a Figma URL or dash-form node id in id args (e18cb14)
- mcp: Bind a color variable to a fill/stroke paint (dfd740b)
- skill: Add figma-build skill + code_to_figma prompt (write direction) (01e5d11)
- mcp: Delete a variable collection by id (ac5d532)
- plugin: Show the payload fed to the LLM in the Activity tab (12f6734)
- plugin: Tidy payload row + use vueuse clipboard (53d44ba)
- plugin: Copyable diagnostic bundle for bug reports (efc87a5)
- mcp: Export a node or page to a single PDF file (4edac47)
- get_design_context: Warn on multi-breakpoint selection to keep mixed codegen grounded (adf2505)
- Keep the connection alive through heavy operations (busy ≠ dead) (7ee504d)
- get_design_context: Surface text typography so codegen stops eyeballing it (a0952ec)
🔥 Performance
- component-map: Resolve set name from grounding, drop doc-wide scan (0640441)
- scan: Prune ignored dirs at the glob level, not after (d42264b)
- plugin: Skip full serialization for minimal/compact get_design_context (1d8f623)
🩹 Fixes
- m2: Set_variable_value — type the polymorphic
valueso it isn't stringified (55a9ea4) - design-context: Emit node style refs before children (1025117)
- hook: Scope format-on-edit to files inside the project root (1ac4f7f)
- m3: A/B-driven accuracy fixes for component_map + token_map (3440cac)
- component-map: Degrade gracefully when get_local_components times out (84ab5fa)
- relay: Session affinity for multi-call tools (9b0042b)
- component-map: Merge a component across sibling frames into one usage (96c6d30)
- routing: Visibility-gated activity + no-selection scope guards (af164f7)
- scan: Single-extension profiles (Vue/Svelte) silently scanned nothing (0070a84)
- **routin...