1. Terms

Term Meaning
Design file A *.design file. One UTF-8 JSON object holding one design document.
Assets folder The folder <name>.design.assets/ next to the design file. It holds image and font files named by content hash (section 8).
Document The design as a whole: metadata, pages, nodes, styles, variables, libraries, flows, comments, versions.
Tree The tree member: the document as it was at the last consolidation (section 4).
WAL Write-append list: the wal member, the events made since the last consolidation (section 5).
Event One entry of the WAL: one change, made by one actor at one moment.
Envelope The members every event has: seq, at, by, op, and optionally group and note (section 5.1).
Tree hash sha256:<hex>: the SHA-256 of the canonical JSON of a folded tree. It names a state of the document (section 6.9).
Epoch The ep- id a consolidation gives the tree it writes; the wal.base marker carries it (section 5.4).
Operation (op) The kind of change an event makes, for example node.update (section 5.11).
Payload The members of an event besides the envelope.
Actor The person or tool that made a change; its display name is the event’s by (section 5.8).
Group Consecutive events made by one transaction: one undo step, one history entry (section 5.7).
Fold Apply events to a state, in file order, to compute the current document (section 6.1).
Coalescing Merging a new event into the previous unsaved event when both belong to one continuous edit (section 6.2).
Consolidation Folding the whole WAL into the tree and emptying the WAL (section 7).
Node One layer: a frame, a shape, a text, an instance, and so on. Pages are not nodes (section 4.2).
Node map tree.nodes: every node of every page, keyed by id, flat (section 4.3).
Parent The node or page a node belongs to, named by its parent member.
Fractional index The index string that orders a node among its siblings (section 4.3).
Stored property A property written in the file.
Derived value A value the core computes and never writes: auto layout positions, hug sizes, group bounds, text lines, instance sublayers (section 4.5).
Default The value of a property that is not written. Writers leave out properties that equal their default.
Merge patch A partial object applied to a stored object as in RFC 7396: members are set, null removes, nested objects merge, arrays are replaced (section 5.9).
Binding A reference from a property to a variable, in boundVariables (section 4.10).
Main component A COMPONENT node. Instances show a copy of it.
Instance sublayer A layer inside an instance. It is derived from the main component; it has a derived id and is not stored (section 4.8).
Override path The ids from an instance down to one of its sublayers, joined by / (section 4.8).
Library Another .design file whose components, styles and variables this file uses (section 4.11).
Asset An image or font file in the assets folder, named sha256-<hex>.<ext> (section 8).
Conflict Two events from two merged branches that set the same property of the same object (section 6.4).
Orphan A node whose parent no longer exists (section 6.5).
Reader, writer A program that reads or writes design files: the extension, ud, an agent, a script.