Skip to content

feat(figjam): cut /figjam over to the canonical React DOM editor - #637

Merged
developer-1px merged 2 commits into
mainfrom
issue-628-figjam-react-cutover
Jul 11, 2026
Merged

feat(figjam): cut /figjam over to the canonical React DOM editor#637
developer-1px merged 2 commits into
mainfrom
issue-628-figjam-react-cutover

Conversation

@developer-1px

Copy link
Copy Markdown
Owner

Summary

  • move /figjam onto the shared DesignDocument, ReactDesignRenderer, DomProjection, EditorEngine, viewport, preview, and history runtime used by /figma
  • replace the legacy CanvasItem route with a private React FigJam product and 12 widget plus 3 structural definitions covering all 21 checked product exposures and aliases
  • keep drawings and connectors as direct DOM roots with widget-owned SVG geometry, stable node references, reference-safe clipboard/delete/reparent behavior, and localStorage restoration
  • add content-first creation, selection, marquee, move/resize capabilities, direct text editing, drawing/eraser, connector attachment, grouping/sectioning, imports, keyboard commands, pan/zoom, and hidden palette families
  • remove the /figjam-widgets fixture route while retaining public pre-1.0 CanvasItem compatibility exports and the separate /engine compatibility route
  • add the truthful migration matrix and architecture guards so future families do not require engine unions, renderer switches, or product conditionals

Verification

  • pnpm test: 416 files, 2116 tests passed
  • pnpm test:e2e: 123 passed
  • pnpm lint
  • pnpm exec tsc -b --pretty false
  • pnpm build
  • pnpm smoke:package
  • pnpm pack:dry-run
  • git diff --check

No version bump, tag, package publication, multiplayer backend, or marketplace work is included.

Closes #628

@developer-1px
developer-1px merged commit fcfa4a2 into main Jul 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

migration(figjam): run /figjam from the React widget pack

1 participant