5. Document, pages and layers

ID Requirement P Type Ver. M
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