| DOC-1 |
A document shall have one or more pages. Add, rename, duplicate, reorder, delete; each page has its own canvas background colour and its own prototype flows. |
Must |
functional |
test |
0.1 |
| DOC-2 |
The node types shall cover Figma’s UI design set. Delivered per milestone: 0.1 — Page, Frame, Group, Section, Rectangle, Ellipse, Line, Arrow (a VECTOR with an arrow stroke cap, Appendix D issue 4), Polygon, Star, Slice; 0.2 — Vector, Text, Image (rectangle with image fill); 0.2b — BooleanOperation; 0.4 — Component, ComponentSet, Instance, Slot (CMP-5). FigJam-only types (Connector, StickyNote) are out of scope (§1.2); developer notes are annotations (DEV-7). |
Must |
functional |
inspection |
0.1–0.4 |
| DOC-3 |
Nodes shall form a tree with z-order. Each node has one parent and a position among its siblings (fractional index, FMT-001 §4.3); bring forward/backward/to front/to back; nest and unnest by drag or command. |
Must |
functional |
test |
0.1 |
| DOC-4 |
Every node shall have common properties. id, name, visible, locked, opacity, blend mode, transform (position, rotation, flip), size, constraints, export settings, prototype interactions, plugin data (key/value), description, and trace references (INT-1). |
Must |
functional |
test |
0.1 |
| DOC-5 |
A Layers panel shall show the tree. Type icons, inline rename (double-click, F2), visibility and lock toggles, expand/collapse, drag to reorder and re-parent, multi-select, search by name and type, auto-scroll to the canvas selection, “Collapse all layers”. |
Must |
functional |
test |
0.1 |
| DOC-6 |
Layers shall be named automatically and renamable in bulk. Default names by type and content (text nodes take their text); batch rename with find/replace, numbering ($n, $nn), and the current name ($&). |
Should |
functional |
test |
0.3 |
| DOC-7 |
Groups and frames shall be interchangeable. Group selection (Ctrl+G), frame selection (Ctrl+Alt+G), ungroup (Ctrl+Shift+G), “Remove frame”, “Wrap in auto layout” (Shift+A). |
Must |
functional |
test |
0.1 |
| DOC-8 |
Sections shall organise the canvas. Large titled regions that hold frames, can be marked “Ready for development”, and move their contents with them. |
Should |
functional |
test |
0.3 |
| DOC-9 |
Find and replace shall search the document. Text content, layer names, components, styles and variables across pages; replace text in place. |
Should |
functional |
test |
0.4 |
| DOC-10 |
Select matching layers shall exist. Select all with same fill, stroke, effect, font, instance, or same properties; select all layers of the same type inside a selection. |
Should |
functional |
test |
0.3 |