6. Canvas and editing
Esta página está em inglês; a tradução está a caminho.
| ID | Requirement | P | Type | Ver. | M |
|---|---|---|---|---|---|
| CAN-1 | The canvas shall be infinite and zoomable. Zoom 1 % to 25 600 % with Ctrl+wheel, pinch, +/-, Shift+0 (100 %), Shift+1 (fit all), Shift+2 (fit selection); pan with Space+drag, middle button, wheel and trackpad. |
Must | functional | test | 0.1 |
| CAN-2 | Selection shall work as in Figma. Click selects the top-level child of the current context, double-click enters deeper, Ctrl/Cmd+click selects deep, Shift adds, marquee selects, Enter selects children, Shift+Enter the parent, Tab/Shift+Tab next/previous sibling, Esc clears. | Must | functional | test | 0.1 |
| CAN-3 | Nodes shall be moved, resized and rotated directly. Eight handles; Shift keeps aspect ratio; Alt resizes from the centre; rotation handle outside corners with 15° snapping on Shift; arrow keys nudge 1 px, Shift+arrow 10 px (both configurable). | Must | functional | test | 0.1 |
| CAN-4 | Smart guides and measurements shall show while editing. Snapping to edges, centres and equal spacing of siblings; red distance labels; holding Alt over another node shows distances to it. | Must | functional | test | 0.1 |
| CAN-5 | The canvas shall snap to the pixel grid and to layout grids. Pixel grid visible above 400 % zoom; “Snap to pixel grid” on by default; snapping to the frame’s layout grid columns and rows. | Must | functional | test | 0.1 |
| CAN-6 | Align and distribute shall be available. Align left/centre/right/top/middle/bottom, distribute horizontal/vertical spacing, tidy up into a grid; on a single node, align to its parent. | Must | functional | test | 0.1 |
| CAN-7 | Copy, paste and duplicate shall preserve everything. Within and between files and pages; paste here, paste to replace, paste over selection; Ctrl+D duplicates and repeats the last offset; copy/paste properties (Ctrl+Alt+C/V); copy as SVG, PNG, CSS and UDX. Pasting a component instance from another file links its library if available. | Must | functional | test | 0.2 |
| CAN-8 | Rulers and guides shall be available. Shift+R toggles rulers; drag from a ruler to make a guide on a page or frame; guides are stored in the file. | Should | functional | test | 0.3 |
| CAN-9 | Outline mode and pixel preview shall be available. Ctrl+Y shows outlines only; pixel preview renders at 1× / 2× device pixels. | Could | functional | demonstration | 0.5 |
| CAN-10 | A minimap could show the page. Toggleable, bottom right, drag to navigate. | Could | functional | demonstration | 0.5 |
| CAN-11 | Large files shall stay fluid. The canvas budget is NFR-1a (10 000 nodes per page, pan, zoom and drag of 500 nodes at 60 fps on the reference machine with the benchmark fixtures); this row only points there and adds nothing. | Must | non-functional | test | 0.2 |