Composition & Drift
How Inspect tracks Composition links, detects JSON-vs-Figma drift, and repairs components/component sets with Re-apply.
What Composition Drift means
When a component or component set is linked to a Composition JSON, Inspect can compare current Figma state with JSON reference.
Drift means those states no longer match.
Common reasons:
- manual canvas edits after generation;
- JSON update not yet re-applied in Figma;
- component recreated/moved and diff-id link became stale.
Composition Tracking section
Inspect shows tracking state for composition-linked components/component sets:
- Linked: current node id is linked in diff-id to composition name.
- Unlinked: composition name exists, but id mapping differs.
Re-link updates diff-id mapping for the current file when names match but IDs drifted.
For legacy components that were never generated from Composition JSON, use Adopt composition from the composition
badge context menu first. It links the selected component/component set without rebuilding it, then Audit composition
can report whether the adopted node matches the JSON reference.
Out of Sync section
When drift is detected, Inspect shows:
- total difference count;
- category badges;
- actions: Show Diff and Re-apply.
Difference categories
| Category | Compared data |
|---|---|
hash | quick composition hash check |
structure | node hierarchy and ordering |
property | component properties metadata |
binding | token/style variable bindings |
layout | autolayout fields (direction, gap, padding, etc.) |
fill | fills |
stroke | strokes |
effect | effect settings |
text | text-related fields |
sizing | width/height/constraints |
style | style links and style-level mapping |
Show Diff
Show Diff opens a detailed modal grouped by category so you can inspect exact path-level changes before repair.
Re-apply behavior
Re-apply runs composition apply in repair mode for the selected composition-linked node.
Expected behavior:
- existing node identity remains in place;
- composition structure/style/binding state is repaired to JSON target;
- for component sets, repair is applied across mapped variants.
After successful re-apply, Out of Sync should disappear for repaired differences.
Recommended workflow
- Select component/component set.
- Review Composition Tracking state.
- If unlinked, run Re-link.
- If out of sync, open Show Diff.
- Run Re-apply.
- Re-check drift status.