docs: reconcile Figma Motion (Config 2026) with the motion contract#53
Open
isaacsight wants to merge 3 commits into
Open
docs: reconcile Figma Motion (Config 2026) with the motion contract#53isaacsight wants to merge 3 commits into
isaacsight wants to merge 3 commits into
Conversation
Figma shipped a product named "Figma Motion" at Config 2026 (announced 2026-06-24) — a native canvas timeline that exports to CSS / JSON / React / video. The name collides with `motion.dev` / Framer Motion, the JS runtime library banned by design-language rule 3. Add docs/figma-motion.md to draw the line before the collision erodes the motion contract: - Figma Motion is allowed as an authoring/spec surface only. - Of its exports, only the CSS path may reach the repo, and only after a hand-finish checklist (re-clamp to <=8% opacity / <=4px translate, guard via prefers-reduced-motion, opacity+transform only, strip any JS rider, run the third-accent audit). - React / Lottie / dotLottie / runtime-player outputs are off-policy. The standing rule is unchanged: stillness with two quiet accents, CSS-only, reduced-motion-respected. A slicker authoring tool is not a license to loosen it. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TJZDBwNnZjANtKFogEQHwu
Working record behind docs/figma-motion.md: the question that started it, the deep-research findings on Figma Motion (Config 2026), the name collision with Framer Motion, the decisions shipped, the practical "Figma as drafting table" map for kernel.chat, and the remote-vs-local MCP note. Lets a future session inherit this context. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TJZDBwNnZjANtKFogEQHwu
Follow-up to figma-motion.md. Maps the static design tokens (colors, paper stocks, type ramp, spacing/radii) to Figma variables one-to-one by name, and draws the line at the accents.ts OKLCH 5-tone derivation — which is CSS-runtime-only and must not be hand-faked in Figma. Figma is a drafting table; the repo stays the source of truth. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
isaacsight
pushed a commit
that referenced
this pull request
Jun 25, 2026
…issues renumbered - 391 'On the House Style' kept (live, this branch's committed/deployed issue) - 392 'Never Sell the Fixtures' (essay) — landed from PR #53, free slot, as-is - 393 'Own the Stack: Seven Stakes on Editorial Tech' (forecast) — landed as-is - 395 'The Week the Assistant Became an Actor' (dispatch) — PR #53's colliding 391 renumbered to 395 (next free after 394); all 9 self-refs + back-cover asset (391-teletype.jpg -> 395-teletype.jpg) rewritten - Also lands the 3 design role agents (designer, japanese-editor, magazine-editor) Catalog now: 390 391 392 393 394 395. tsc clean, 395 render-verified. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013F9NBu9hroaszcBZfMgmAY
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Figma shipped a product literally named "Figma Motion" at Config 2026 (announced 2026-06-24) — a native canvas timeline that keyframes position/scale/rotation/opacity and exports to CSS / JSON / React / video. The name collides with
motion.dev/ Framer Motion, the JS runtime library already banned bydesign-language.mdambient-motion rule 3.This PR adds
docs/figma-motion.mdto draw the line before the collision quietly erodes the motion contract.The decision
prefers-reduced-motion,opacity+transformonly, strip any JS rider, run the third-accent audit).motion.dev, Lottie / dotLottie, and any runtime-player output — they ship JS and break the CSS-only rule.The standing rule is unchanged: stillness with two quiet accents (tomato-rule breath, dateline marquee), CSS-only, reduced-motion-respected. A slicker authoring tool is not a license to loosen it.
Why a doc and not code
There's no code change to make — the value is preventing one. The new Figma Motion product makes JS-runtime motion cheap to author and paste, which is exactly the pressure the design language was written to resist. This note makes the boundary explicit and gives a concrete checklist for anyone tempted to paste a Figma export.
Provenance
Sourced from a deep-research pass over Figma's own blog/release notes, TechCrunch, motion.dev, LottieFiles, and 2026 tool comparisons. Key claims (Figma Motion = native timeline w/ CSS export, open beta, design-system features paywalled; Framer Motion = the banned JS lib) verified against primary Figma docs.
🤖 Generated with Claude Code
https://claude.ai/code/session_01TJZDBwNnZjANtKFogEQHwu
Generated by Claude Code