Select only
Keep your working view while the selection and Inspector update.
Reorder siblings, reparent into frames, and place a multi-selection on the canvas while Varve keeps the hierarchy, spacing, and document state together.
Selection without surprises
Selecting a layer should not steal the view. In Varve's Layers options, chooseSelect only, Reveal when needed,Center selection, or Fit selection. The first keeps pan, zoom, and rotation exactly where they are; the others move the camera only as much as their names promise.
Keep your working view while the selection and Inspector update.
Keep zoom and rotation, then pan only when needed or center the resolved layer.
Frame the selected content with a predictable padded view, including multi-selection.
Tree focus, range selection, and modifier selection stay independent from camera motion. Explicit Reveal on Canvas, Center Selection, andZoom to Selection commands remain available from the Layers context menu.
Two gestures, two jobs
Press in the body of a Layers row and move through the visible stack to preview a contiguous range. Release commits it once, even when the list is virtualized or you reverse direction. The dedicated grip is reserved for structural reorder and reparent, so selecting a run never quietly changes document order.
Shift-click, Shift+Arrow, and row scrub share the same anchor and extent behavior.
Rows preview before release; Escape, blur, or a cancelled pointer leaves the committed selection alone.
Use the grip when you mean reorder or reparent. The row body remains a selection surface.
Canvas object selection
Drag empty canvas space with the Select tool to preview eligible objects on the active Design Canvas or page. The rectangle stays in screen space under camera rotation, while the pixel Marquee tool remains a separate raster-coverage workflow.
Arrangement without ambiguity
Use Align, Equal gaps, Equal centers, Fixed gap, or Tidy Up with explicit columns and row/column gaps for spatial geometry. Use Bring Forward, Send Backward, Bring to Front, or Send to Back for sibling paint order. Neither workflow silently reparents a node or turns a one-time tidy into persistent auto layout.
Commands sort by world position, not click order, and keep the outer anchor or key object explicit.
Nested, rotated, and scaled containers are converted through each node's direct parent space.
Spacing drag previews are transient, then commit once; Escape cancels without leaving a partial edit.
Quiet structure, strong state
The panel keeps hierarchy in the foreground, uses compact type and status cues for context, and reserves stronger color for selection, focus, and an active destination. Search and multi-selection actions stay attached to the tree instead of disappearing below the rail.
Indented structures stay readable at every depth: names scroll horizontally when they outrun the rail, and truncated labels reveal their full text on hover or keyboard focus.
Panels collapse smoothly to reclaim central canvas focus, with one-click toggles and persistent workspace layout state.
100% opaque OKLCH surfaces with hairline micro-borders eliminate distracting blur and maintain crisp legibility across all themes.
Fidelity you can inspect
Varve separates a document's authored layer model from the pixels needed by a destination. Native Varve files keep the hierarchy, identities, masks, effects, and source resources together when you save and reopen. Portable exports preserve eligible vectors and text; when a format cannot express a compositing feature, Varve rasterizes the smallest dependency-complete region instead of flattening the whole page.
Reopen the layer tree and continue editing the original text, vectors, masks, and effects.
PNG, JPEG, and WebP carry the requested appearance, with hidden layers kept out of the public image.
SVG and PDF keep supported structure and label regions that are appearance-only raster output.
Imported SVG layers keep the names their author wrote. Figma, Sketch, Inkscape, and web exports are read from their label attributes, so the Layers panel stays navigable instead of turning into a wall of identical “Rectangle” rows. Exports that carry only generated ids fall back to an honest element name rather than inventing one.
Missing fonts, linked assets, unsupported masks, and format-specific behavior stay visible at the workflow boundary. A screenshot that looks right is not presented as proof that the destination remains editable.
A predictable gesture
The Layers tree resolves the destination under your pointer, then uses that same target for the insertion indicator, auto-expand, announcement, and document commit. Rows stay virtualized for large files, while the live cursor keeps the target current as the panel scrolls.
Move above, below, or into a frame or group. Mask-source clipping keeps its special semantics.
Selected roots travel as one operation. Descendants are not moved twice, and relative canvas spacing is preserved.
Preview work stays transient. A completed hierarchy move becomes one coherent document history step.
Layers to canvas
Drop existing layers onto the canvas and Varve translates the group through world space into the active canvas or page. The first layer anchors the placement; the rest keep their offsets, transforms, and internal hierarchy.
When dragging is not the right input
Tree navigation, selection, expand/collapse, and move commands remain available from the keyboard. The layer context menu is state-aware: a hidden layer offers Show, a locked layer offers Unlock, and Bring Forward / Send Backward give a row-by-row arrange alternative that needs no grip drag. Every row control keeps a 24×24 pointer target. Locked, cyclic, stale, or unavailable destinations are rejected instead of pretending that a drop succeeded. External files are imported only by their eligible canvas surface, and native desktop drops retain their platform-specific limits.