Editing a field on a node nested inside an INSTANCE (e.g. recoloring an icon instance's fill) was silently reverted on the next save/reload. Nothing recorded the edit as an override, and the lazy-population resync that runs on every export (applySymbolOverrides, propagateResolvedFills) unconditionally reapplied the stale, originally-imported override data over the live graph. Fix records instance-descendant edits via recordInstanceOverride (wired into the shared FigmaNodeProxy updateNode helper) and has both resync passes skip fields with a live override via a new hasLiveOverride check. Also adds serializeFillOverrides so fill overrides are actually written to the exported symbolOverrides payload (previously only :text overrides were ever serialized). |
||
|---|---|---|
| .. | ||
| component-from-node.test.ts | ||
| instance-fill-override.test.ts | ||