figma-console-mcp 1.44.2 → 1.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -44,11 +44,24 @@ interface FigmaVariable {
44
44
  valuesByMode: Record<string, FigmaValue>;
45
45
  }
46
46
  /**
47
- * Config-2026 EASING variable value shape. `bezierValues` is present for
48
- * bezier-based easings; spring easings carry `springValues` instead (and no
49
- * usable bezier).
47
+ * EASING variable value. Current Figma (Plugin API Update 133+) returns
48
+ * MotionEasing: `{ type, easingFunctionCubicBezier: {x1,y1,x2,y2} }` for
49
+ * bezier types (named ones like EASE_OUT included), `{ type,
50
+ * easingFunctionSpring: {bounce} }` for springs (GENTLE, QUICK, BOUNCY, SLOW,
51
+ * CUSTOM_SPRING), and `{ type: "HOLD" }`. Builds from mid-2026 returned
52
+ * `{ easingType, bezierValues | springValues }`; both are read.
50
53
  */
51
54
  interface FigmaEasingValue {
55
+ type?: string;
56
+ easingFunctionCubicBezier?: {
57
+ x1: number;
58
+ y1: number;
59
+ x2: number;
60
+ y2: number;
61
+ };
62
+ easingFunctionSpring?: {
63
+ bounce: number;
64
+ };
52
65
  easingType?: string;
53
66
  bezierValues?: {
54
67
  p1x: number;
@@ -1 +1 @@
1
- {"version":3,"file":"figma-converter.d.ts","sourceRoot":"","sources":["../../../src/core/tokens/figma-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"figma-converter.d.ts","sourceRoot":"","sources":["../../../src/core/tokens/figma-converter.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,12 @@
13
13
  */
14
14
  import { slugifySetName } from "./alias-resolver.js";
15
15
  import { stripRawColorFromValues } from "./dialect.js";
16
+ /**
17
+ * Figma stores motion numbers as 32-bit floats (0.2 reads back as
18
+ * 0.20000000298). Round so an exported value equals what the token file
19
+ * wrote, or every import would see a change and rewrite it.
20
+ */
21
+ const roundMotion = (n) => Math.round(n * 10000) / 10000;
16
22
  /**
17
23
  * Convert a Figma variables payload to our canonical TokenDocument.
18
24
  */
@@ -158,10 +164,9 @@ function convertVariable(variable, wantedModes, variableById, collectionNameById
158
164
  ...(Object.keys(composedByMode).length > 0 ? { composedColor: composedByMode } : {}),
159
165
  variableId: variable.id,
160
166
  collectionId: variable.variableCollectionId,
161
- // The Figma-native type is what import needs to decide writability
162
- // — TIMING/EASING variables cannot be written via the Plugin API,
163
- // and FLOAT variables whose token type is "duration" (name-inferred)
164
- // must NOT be mistaken for TIMING.
167
+ // The Figma-native type tells import how to write the value back:
168
+ // a TIMING variable takes seconds, and a FLOAT variable whose token
169
+ // type is "duration" (name-inferred) must NOT be mistaken for TIMING.
165
170
  figmaResolvedType: variable.resolvedType,
166
171
  // Preserve the original variable name when the token path dropped
167
172
  // the trailing "Timing"/"Easing" segment, so round-trip can
@@ -331,13 +336,31 @@ function convertValue(rawValue, variable, modeName, modeId, variableById, collec
331
336
  // Figma TIMING values are plain numbers in SECONDS. DTCG duration uses
332
337
  // the structured `{ value, unit }` form — emit milliseconds.
333
338
  if (typeof rawValue === "number") {
334
- return { literal: { value: rawValue * 1000, unit: "ms" } };
339
+ return { literal: { value: Math.round(rawValue * 1000 * 1000) / 1000, unit: "ms" } };
335
340
  }
336
341
  warnings.push(`TIMING value for "${variable.name}" (mode "${modeName}") isn't a number: ${JSON.stringify(rawValue)} — emitting as string.`);
337
342
  return { literal: String(rawValue) };
338
343
  }
339
344
  if (resolvedType === "EASING") {
340
345
  const easing = rawValue;
346
+ const cb = easing?.easingFunctionCubicBezier;
347
+ if (cb && [cb.x1, cb.y1, cb.x2, cb.y2].every((n) => typeof n === "number")) {
348
+ // DTCG cubicBezier: [x1, y1, x2, y2]. Named bezier types (EASE_OUT…)
349
+ // carry their curve too, so they export exactly.
350
+ return { literal: [cb.x1, cb.y1, cb.x2, cb.y2].map(roundMotion) };
351
+ }
352
+ if (easing && typeof easing === "object" && (easing.easingFunctionSpring || easing.type === "HOLD")) {
353
+ // Springs and HOLD have no cubic-bezier form. Emit a standard "ease"
354
+ // curve as a usable approximation and keep the exact easing in
355
+ // $extensions so figma_import_tokens restores it.
356
+ const kind = easing.type === "HOLD" ? "a hold (step)" : `a spring (${easing.type})`;
357
+ warnings.push(`EASING variable "${variable.name}" (mode "${modeName}") is ${kind} — DTCG cubicBezier cannot represent it. Emitted a fallback cubicBezier; the exact easing is preserved in $extensions["figma-console-mcp"].spring.`);
358
+ onSpring({
359
+ easingType: easing.type,
360
+ ...(easing.easingFunctionSpring ? { bounce: roundMotion(easing.easingFunctionSpring.bounce) } : {}),
361
+ });
362
+ return { literal: easing.type === "HOLD" ? [0, 0, 1, 1] : [0.25, 0.1, 0.25, 1.0] };
363
+ }
341
364
  const b = easing?.bezierValues;
342
365
  if (b &&
343
366
  typeof b.p1x === "number" &&
@@ -1 +1 @@
1
- {"version":3,"file":"figma-converter.js","sourceRoot":"","sources":["../../../src/core/tokens/figma-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"figma-converter.js","sourceRoot":"","sources":["../../../src/core/tokens/figma-converter.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,8 @@
16
16
  * • toCreate — missing collections (created with the token file's
17
17
  * full mode list) and missing variables in one batched script;
18
18
  * literal values first, alias values in a second pass so
19
- * within-batch alias targets exist. TIMING/EASING cannot be
20
- * created via the Plugin API and are skipped with a warning.
19
+ * within-batch alias targets exist. TIMING/EASING (motion)
20
+ * variables are written too (Plugin API Update 133+).
21
21
  * • toDelete — STRICTLY gated behind strategy: "replace". Merge
22
22
  * (default) preserves Figma-only variables and only reports them.
23
23
  *
@@ -243,7 +243,7 @@ export declare function makeAliasIdResolver(figmaDoc: TokenDocument, codeDoc: To
243
243
  interface VariableUpdate {
244
244
  variableId: string;
245
245
  variableName: string;
246
- resolvedType: "COLOR" | "FLOAT" | "STRING" | "BOOLEAN";
246
+ resolvedType: "COLOR" | "FLOAT" | "STRING" | "BOOLEAN" | "TIMING" | "EASING";
247
247
  valuesByMode: Record<string, unknown>;
248
248
  /**
249
249
  * Rename op: set `variable.name` to this '/'-joined path before any value
@@ -264,37 +264,13 @@ interface VariableUpdate {
264
264
  remove?: string[];
265
265
  };
266
266
  }
267
- /**
268
- * Convert a TokenValue back to Figma's native value shape. Required for the
269
- * Plugin API's setValueForMode call.
270
- *
271
- * - color hex string "#RRGGBB(AA)" → { r, g, b, a } floats in [0, 1].
272
- * Non-hex color strings ("rgb(255,0,0)", "transparent", named colors
273
- * like "salmon") return skip-invalid instead of throwing — a throw here
274
- * would abort the import mid-apply.
275
- * - DTCG 2025.10 color objects → { r, g, b, a }: srgb components map
276
- * directly (clamped to [0, 1]); non-srgb colorSpaces (display-p3,
277
- * oklch, …) fall back to the object's `hex` field when present, else
278
- * skip-invalid; hex-only objects are accepted too
279
- * - FLOAT-typed number → number ("16px"-style strings and DTCG
280
- * { value, unit } objects are parsed to their numeric part; anything
281
- * that still comes out NaN is skipped rather than pushed to Figma)
282
- * - STRING-typed string → string
283
- * - BOOLEAN → boolean
284
- * - Alias references return `skip-alias` so the CALLER resolves them —
285
- * both apply paths pass the reference through their alias-ID resolver
286
- * (just-created variable → live snapshot → pending in batch → recorded
287
- * $extensions ID) and write { type: "VARIABLE_ALIAS", id }. Only when
288
- * the resolver comes up empty does the reference stay skipped, with a
289
- * warning rather than a silent drop.
290
- *
291
- * Exported for test coverage of the value-conversion edge cases.
292
- */
293
267
  export declare function tokenValueToFigma(value: {
294
268
  literal?: unknown;
295
269
  reference?: string;
296
270
  composed?: ComposedColor;
297
- }, resolvedType: VariableUpdate["resolvedType"]): {
271
+ }, resolvedType: VariableUpdate["resolvedType"],
272
+ /** EASING only: this mode's $extensions["figma-console-mcp"].spring entry, which overrides the fallback bezier. */
273
+ spring?: unknown): {
298
274
  kind: "value";
299
275
  value: unknown;
300
276
  } | {
@@ -388,8 +364,7 @@ export interface CreatePlan {
388
364
  * with values pre-resolved to modeIds; values for modes the collection
389
365
  * doesn't have are skipped with a warning.
390
366
  * - resolvedType honors $extensions.figmaResolvedType when recorded, else
391
- * falls back to inferFigmaResolvedType. TIMING/EASING variables are
392
- * skipped with a warning — the Figma Plugin API cannot create them.
367
+ * falls back to inferFigmaResolvedType.
393
368
  * - Literal values convert via tokenValueToFigma (both DTCG dialects);
394
369
  * alias values resolve via the alias-ID resolver (existing target →
395
370
  * "alias", within-batch target → "alias-pending", unresolvable → skip
@@ -1 +1 @@
1
- {"version":3,"file":"tokens-tools.d.ts","sourceRoot":"","sources":["../../src/core/tokens-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens-tools.d.ts","sourceRoot":"","sources":["../../src/core/tokens-tools.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,8 @@
16
16
  * • toCreate — missing collections (created with the token file's
17
17
  * full mode list) and missing variables in one batched script;
18
18
  * literal values first, alias values in a second pass so
19
- * within-batch alias targets exist. TIMING/EASING cannot be
20
- * created via the Plugin API and are skipped with a warning.
19
+ * within-batch alias targets exist. TIMING/EASING (motion)
20
+ * variables are written too (Plugin API Update 133+).
21
21
  * • toDelete — STRICTLY gated behind strategy: "replace". Merge
22
22
  * (default) preserves Figma-only variables and only reports them.
23
23
  *
@@ -36,7 +36,7 @@ const logger = createChildLogger({ component: "tokens-tools" });
36
36
  * on every exported token document. Kept in sync with package.json by
37
37
  * scripts/release.sh — see step 3 of the release flow.
38
38
  */
39
- const MCP_VERSION = "1.44.2";
39
+ const MCP_VERSION = "1.45.0";
40
40
  const EXPORT_TOOL_DESCRIPTION = `Export Figma variables to design token files in your codebase. Bidirectional with figma_import_tokens — together they replace Style Dictionary and Tokens Studio's export pipeline for the popular styling methods.
41
41
 
42
42
  FULLY-IMPLEMENTED OUTPUT FORMATS:
@@ -62,7 +62,7 @@ const IMPORT_TOOL_DESCRIPTION = `Push design tokens from your codebase into Figm
62
62
 
63
63
  ACCEPTS: DTCG JSON (canonical, fully supported including round-trip metadata preservation). Tokens Studio JSON, CSS custom properties, Tailwind v4 @theme, SCSS, and Style Dictionary v3 are scaffolded but return a NotImplementedError — convert to DTCG first via figma_export_tokens or hand-author DTCG. Use \`format: "auto"\` to sniff the input.
64
64
 
65
- APPLY PHASE (full bidirectional sync): toCreate entries create missing collections (with the token file's full mode list) and missing variables in one batched plugin round-trip — literal values first, alias values in a second pass so aliases between newly-created variables resolve. toUpdate entries push value updates in a batched round-trip, INCLUDING alias-target updates: when a token's value is a reference, it's written as a Figma variable alias if the reference resolves to an existing or just-created variable (unresolvable references skip with a warning). toDelete entries are STRICTLY gated behind \`strategy: "replace"\` — in replace mode, Figma variables absent from the token file are permanently deleted (a loud warning lists the count); merge (default) preserves them and only reports. Deletes only ever touch collections the token files contain: variables in collections the import doesn't include are left alone. An import that parses 0 tokens is refused, and the diff is computed against live Figma state. TIMING/EASING variables cannot be created or written via the Plugin API and are skipped with a warning. Variable scopes and per-platform codeSyntax (from \`$extensions["figma-console-mcp"].scopes/.codeSyntax\`) are diffed and applied too — absent fields mean "no opinion" (Figma-side metadata is preserved), an explicit value is authoritative. Partial-success semantics: per-item errors surface in applyResult.errors[] without failing the batch.
65
+ APPLY PHASE (full bidirectional sync): toCreate entries create missing collections (with the token file's full mode list) and missing variables in one batched plugin round-trip — literal values first, alias values in a second pass so aliases between newly-created variables resolve. toUpdate entries push value updates in a batched round-trip, INCLUDING alias-target updates: when a token's value is a reference, it's written as a Figma variable alias if the reference resolves to an existing or just-created variable (unresolvable references skip with a warning). toDelete entries are STRICTLY gated behind \`strategy: "replace"\` — in replace mode, Figma variables absent from the token file are permanently deleted (a loud warning lists the count); merge (default) preserves them and only reports. Deletes only ever touch collections the token files contain: variables in collections the import doesn't include are left alone. An import that parses 0 tokens is refused, and the diff is computed against live Figma state. Motion tokens are written as TIMING (DTCG duration; a bare number is milliseconds) and EASING (DTCG cubicBezier) variables; springs and holds round-trip through $extensions["figma-console-mcp"].spring. Variable scopes and per-platform codeSyntax (from \`$extensions["figma-console-mcp"].scopes/.codeSyntax\`) are diffed and applied too — absent fields mean "no opinion" (Figma-side metadata is preserved), an explicit value is authoritative. Partial-success semantics: per-item errors surface in applyResult.errors[] without failing the batch.
66
66
 
67
67
  DIFF-AWARE: Default \`strategy: "merge"\` diffs against current Figma state and applies only deltas. The hacked-color scenario — designer edits one hex value in their CSS — produces exactly one Figma API update, not a full collection rewrite. Match priority: Figma variable ID (in \`$extensions["figma-console-mcp"].variableId\`), then exact token path, then value fingerprint.
68
68
 
@@ -651,7 +651,7 @@ async function handleImport(args, getDesktopConnector, opts) {
651
651
  diff.toCreate.length === 0 &&
652
652
  diff.toRename.length === 0
653
653
  ? "Nothing to apply — all tokens already in sync."
654
- : "Changes were detected but skipped (likely all unresolvable aliases or non-writable TIMING/EASING types — see warnings).",
654
+ : "Changes were detected but skipped (likely unresolvable aliases or unconvertible values — see warnings).",
655
655
  deleteNote: deleteWarning
656
656
  ? deleteWarning
657
657
  : diff.toDelete.length > 0
@@ -1240,7 +1240,7 @@ export function computeDiffPlan(figmaDoc, codeDoc) {
1240
1240
  !codeTokens.has(idMatch.key) &&
1241
1241
  !renamedFigmaKeys.has(idMatch.key)) {
1242
1242
  renamedFigmaKeys.add(idMatch.key);
1243
- const valuesChanged = !valuesEqual(idMatch.token.values, codeToken.values);
1243
+ const valuesChanged = tokenValuesDiffer(idMatch.token, codeToken);
1244
1244
  const meta = diffVariableMeta(idMatch.token, codeToken);
1245
1245
  toRename.push({
1246
1246
  path: key,
@@ -1262,7 +1262,7 @@ export function computeDiffPlan(figmaDoc, codeDoc) {
1262
1262
  });
1263
1263
  continue;
1264
1264
  }
1265
- const valuesChanged = !valuesEqual(figmaToken.values, codeToken.values);
1265
+ const valuesChanged = tokenValuesDiffer(figmaToken, codeToken);
1266
1266
  const meta = diffVariableMeta(figmaToken, codeToken);
1267
1267
  if (valuesChanged || meta.scopesChanged || meta.codeSyntaxChanged) {
1268
1268
  if (valuesChanged && !meta.scopesChanged && !meta.codeSyntaxChanged) {
@@ -1321,6 +1321,22 @@ export function computeDiffPlan(figmaDoc, codeDoc) {
1321
1321
  * rawColor field is ignored. Without this, importing a 2025-dialect file
1322
1322
  * would report EVERY color as toUpdate on EVERY import, forever.
1323
1323
  */
1324
+ /**
1325
+ * Values differ, or (for EASING) the exact spring/hold kept in
1326
+ * $extensions["figma-console-mcp"].spring differs. Springs export with a
1327
+ * fixed fallback cubicBezier, so comparing $value alone would miss an edited
1328
+ * bounce.
1329
+ */
1330
+ function tokenValuesDiffer(figmaToken, codeToken) {
1331
+ if (!valuesEqual(figmaToken.values, codeToken.values))
1332
+ return true;
1333
+ // Key-order-insensitive, so a hand-edited file doesn't diff forever.
1334
+ const stable = (v) => v && typeof v === "object" && !Array.isArray(v)
1335
+ ? Object.fromEntries(Object.keys(v).sort().map((k) => [k, stable(v[k])]))
1336
+ : v;
1337
+ const springOf = (t) => JSON.stringify(stable(t.extensions?.["figma-console-mcp"]?.spring ?? {}));
1338
+ return springOf(figmaToken) !== springOf(codeToken);
1339
+ }
1324
1340
  function valuesEqual(a, b) {
1325
1341
  const aKeys = Object.keys(a).sort();
1326
1342
  const bKeys = Object.keys(b).sort();
@@ -1524,7 +1540,28 @@ function buildCollectionModeMap(payload) {
1524
1540
  *
1525
1541
  * Exported for test coverage of the value-conversion edge cases.
1526
1542
  */
1527
- export function tokenValueToFigma(value, resolvedType) {
1543
+ const SPRING_EASING_TYPES = new Set(["GENTLE", "QUICK", "BOUNCY", "SLOW", "CUSTOM_SPRING"]);
1544
+ /**
1545
+ * Rebuild a spring or hold easing from the extension figma_export_tokens
1546
+ * writes (`{ easingType, bounce }`). Returns undefined when there's nothing
1547
+ * usable, so the token's cubicBezier is written instead. The pre-Update-133
1548
+ * shape (`springValues: {mass, stiffness, damping}`) has no exact bounce
1549
+ * equivalent server-side and falls back to the bezier.
1550
+ */
1551
+ function springToFigmaEasing(spring) {
1552
+ if (!spring || typeof spring !== "object")
1553
+ return undefined;
1554
+ const s = spring;
1555
+ if (s.easingType === "HOLD")
1556
+ return { type: "HOLD" };
1557
+ if (typeof s.bounce !== "number" || !Number.isFinite(s.bounce))
1558
+ return undefined;
1559
+ const type = typeof s.easingType === "string" && SPRING_EASING_TYPES.has(s.easingType) ? s.easingType : "CUSTOM_SPRING";
1560
+ return { type, easingFunctionSpring: { bounce: s.bounce } };
1561
+ }
1562
+ export function tokenValueToFigma(value, resolvedType,
1563
+ /** EASING only: this mode's $extensions["figma-console-mcp"].spring entry, which overrides the fallback bezier. */
1564
+ spring) {
1528
1565
  // Composed color ("grey/900 at 50%"): the caller resolves the reference
1529
1566
  // part(s) and writes Figma's { color, opacity } value, keeping the link to
1530
1567
  // the primitive instead of flattening it to the resolved literal.
@@ -1612,6 +1649,31 @@ export function tokenValueToFigma(value, resolvedType) {
1612
1649
  else if (resolvedType === "BOOLEAN") {
1613
1650
  figmaValue = Boolean(value.literal);
1614
1651
  }
1652
+ else if (resolvedType === "TIMING") {
1653
+ // Figma TIMING is seconds. parseNumericLiteral yields milliseconds for
1654
+ // durations ({300,"ms"}, {0.3,"s"}, "300ms"; a bare number is ms).
1655
+ const ms = parseNumericLiteral(value.literal);
1656
+ if (!Number.isFinite(ms) || ms < 0) {
1657
+ return { kind: "skip-invalid", reason: `cannot convert ${JSON.stringify(value.literal)} to a duration for a TIMING variable` };
1658
+ }
1659
+ figmaValue = ms / 1000;
1660
+ }
1661
+ else if (resolvedType === "EASING") {
1662
+ const easing = springToFigmaEasing(spring);
1663
+ if (easing) {
1664
+ figmaValue = easing;
1665
+ }
1666
+ else {
1667
+ const arr = value.literal;
1668
+ if (!Array.isArray(arr) || arr.length !== 4 || !arr.every((n) => typeof n === "number" && Number.isFinite(n))) {
1669
+ return { kind: "skip-invalid", reason: `cannot convert ${JSON.stringify(value.literal)} to an EASING value — expected a cubicBezier [x1, y1, x2, y2]` };
1670
+ }
1671
+ figmaValue = {
1672
+ type: "CUSTOM_CUBIC_BEZIER",
1673
+ easingFunctionCubicBezier: { x1: arr[0], y1: arr[1], x2: arr[2], y2: arr[3] },
1674
+ };
1675
+ }
1676
+ }
1615
1677
  else {
1616
1678
  figmaValue = typeof value.literal === "string" ? value.literal : String(value.literal);
1617
1679
  }
@@ -1677,9 +1739,8 @@ function colorObjectToFigmaRgba(obj) {
1677
1739
  * raw 0.3 instead, the diff would report a change, apply would write a
1678
1740
  * 1000x-wrong value, and every subsequent import would rewrite it
1679
1741
  * forever. Other units (px/rem/…) keep the raw value — Figma FLOAT is
1680
- * unitless. True TIMING-typed variables are skipped before import ever
1681
- * reaches this path (Plugin API can't write them), so plain FLOAT is
1682
- * the only consumer here.
1742
+ * unitless. TIMING variables reuse this and divide the milliseconds by
1743
+ * 1000, since Figma stores TIMING in seconds.
1683
1744
  * Anything unparseable returns NaN — callers must skip (never push NaN
1684
1745
  * into setValueForMode).
1685
1746
  */
@@ -1774,13 +1835,6 @@ function buildUpdatePayloads(toUpdate, figmaDoc, codeDoc, collectionModeMap, war
1774
1835
  const figmaNativeType = typeof recordedType === "string"
1775
1836
  ? recordedType
1776
1837
  : inferFigmaResolvedType(figmaToken.type);
1777
- if (figmaNativeType === "TIMING" || figmaNativeType === "EASING") {
1778
- // The Figma Plugin API cannot create or setValueForMode on
1779
- // TIMING/EASING variables — only BOOLEAN/COLOR/FLOAT/STRING are
1780
- // writable. Sending these would be rejected (or worse); skip loudly.
1781
- warnings.push(`Skipped ${entry.path} — Figma Plugin API cannot write ${figmaNativeType === "TIMING" ? "Timing" : "Easing"} variables (only BOOLEAN/COLOR/FLOAT/STRING are writable). Update this variable in the Figma UI instead.`);
1782
- continue;
1783
- }
1784
1838
  const resolvedType = figmaNativeType;
1785
1839
  // Value updates apply unless the diff explicitly flagged this entry as
1786
1840
  // metadata-only (changes.values === false) — re-pushing unchanged values
@@ -1796,7 +1850,7 @@ function buildUpdatePayloads(toUpdate, figmaDoc, codeDoc, collectionModeMap, war
1796
1850
  warnings.push(`Cannot update ${entry.path} (mode "${modeName}") — modeId not found in Figma collection.`);
1797
1851
  continue;
1798
1852
  }
1799
- const conversion = tokenValueToFigma(value, resolvedType);
1853
+ const conversion = tokenValueToFigma(value, resolvedType, codeMatch.token.extensions?.["figma-console-mcp"]?.spring?.[modeName]);
1800
1854
  if (conversion.kind === "composed") {
1801
1855
  const part = (p) => {
1802
1856
  if ("value" in p)
@@ -1886,11 +1940,8 @@ function buildUpdatePayloads(toUpdate, figmaDoc, codeDoc, collectionModeMap, war
1886
1940
  /**
1887
1941
  * Map our internal TokenType to Figma's variable resolvedType.
1888
1942
  *
1889
- * duration/cubicBezier map to the Config-2026 TIMING/EASING variable types
1890
- * — but note the Figma Plugin API CANNOT create or setValueForMode on
1891
- * TIMING/EASING variables (only BOOLEAN/COLOR/FLOAT/STRING are writable),
1892
- * so callers must skip those with a warning instead of pushing them.
1893
- * buildUpdatePayloads prefers the extension-recorded figmaResolvedType over
1943
+ * duration/cubicBezier map to the motion TIMING/EASING variable types
1944
+ * (writable since Plugin API Update 133). buildUpdatePayloads prefers the extension-recorded figmaResolvedType over
1894
1945
  * this inference, so FLOAT variables whose token type was name-inferred as
1895
1946
  * "duration" still write correctly as FLOAT.
1896
1947
  */
@@ -1988,7 +2039,7 @@ async function applyUpdates(connector, updates) {
1988
2039
  errors,
1989
2040
  };
1990
2041
  }
1991
- const WRITABLE_RESOLVED_TYPES = new Set(["COLOR", "FLOAT", "STRING", "BOOLEAN"]);
2042
+ const WRITABLE_RESOLVED_TYPES = new Set(["COLOR", "FLOAT", "STRING", "BOOLEAN", "TIMING", "EASING"]);
1992
2043
  /**
1993
2044
  * Translate the diff's toCreate entries into a CreatePlan.
1994
2045
  *
@@ -1999,8 +2050,7 @@ const WRITABLE_RESOLVED_TYPES = new Set(["COLOR", "FLOAT", "STRING", "BOOLEAN"])
1999
2050
  * with values pre-resolved to modeIds; values for modes the collection
2000
2051
  * doesn't have are skipped with a warning.
2001
2052
  * - resolvedType honors $extensions.figmaResolvedType when recorded, else
2002
- * falls back to inferFigmaResolvedType. TIMING/EASING variables are
2003
- * skipped with a warning — the Figma Plugin API cannot create them.
2053
+ * falls back to inferFigmaResolvedType.
2004
2054
  * - Literal values convert via tokenValueToFigma (both DTCG dialects);
2005
2055
  * alias values resolve via the alias-ID resolver (existing target →
2006
2056
  * "alias", within-batch target → "alias-pending", unresolvable → skip
@@ -2042,7 +2092,7 @@ export function buildCreatePlan(toCreate, codeDoc, figmaPayload, resolveAliasId,
2042
2092
  ? recorded
2043
2093
  : inferFigmaResolvedType(token.type);
2044
2094
  if (!WRITABLE_RESOLVED_TYPES.has(figmaNativeType)) {
2045
- warnings.push(`Skipped create for ${entry.path} — Figma Plugin API cannot create ${figmaNativeType === "TIMING" ? "Timing" : "Easing"} variables (only BOOLEAN/COLOR/FLOAT/STRING are creatable). Create this variable in the Figma UI instead.`);
2095
+ warnings.push(`Skipped create for ${entry.path} — unsupported variable type ${figmaNativeType}.`);
2046
2096
  continue;
2047
2097
  }
2048
2098
  const resolvedType = figmaNativeType;
@@ -2085,7 +2135,7 @@ export function buildCreatePlan(toCreate, codeDoc, figmaPayload, resolveAliasId,
2085
2135
  }
2086
2136
  continue;
2087
2137
  }
2088
- const conversion = tokenValueToFigma(value, resolvedType);
2138
+ const conversion = tokenValueToFigma(value, resolvedType, token.extensions?.["figma-console-mcp"]?.spring?.[modeName]);
2089
2139
  if (conversion.kind === "skip-invalid") {
2090
2140
  warnings.push(`Skipped ${entry.path} (mode "${modeName}") — ${conversion.reason}.`);
2091
2141
  continue;