mirror of
https://github.com/storytold/figcraft.git
synced 2026-10-28 20:36:55 -06:00
Instances write what they change from their main as an override addressed by the main's id (size, name, paints), what follows from that for their layers as derived data (size, place, outline, colours their variables give), and a scale factor when they were scaled as a whole; layers of a nested instance swapped for another component keep their overrides. Variable collections, modes and variables are nodes on a hidden page; paints, gradient stops, effects, layout grids and layer fields name the variables bound to them, and frames and pages the modes they set. Shared styles are nodes there too, linked from the layers that use them. Variable-width strokes say their reach on each side of the path. The import reads all of it back (style definitions and unused styles, variable order and scopes, bindings on paint lists, stops, effects and grids, page modes, text bindings, width profiles).