Align & Distribute
Alignment's reference-frame rule — selection-relative for many, container-relative for one — and equal-gap distribution, correct under rotation and mixed parents.
Editor UX, tools, selection, and authoring surfaces.
すべてのタグを表示Alignment's reference-frame rule — selection-relative for many, container-relative for one — and equal-gap distribution, correct under rotation and mixed parents.
Motivation
The command that converts a selection into a laid-out flex container — one per selection partition — by wrapping and inferring the layout from the members' arrangement.
Non-destructive path booleans — the operand model, order semantics, live re-evaluation, release and flatten.
Canvas-specific AI toolset for editing Grida design documents — scene-graph operations, specialized inserts, canvas exec/lint/format, and resource lookup.
The on-canvas handle that edits a rectangle's corner radius in place — cardinality, placement, drag mapping, clamp, and the link/split modifier.
Convert text to its glyph-outline vector paths — the deliberate, font-baking counterpart to editable type; per-node and in-place, distinct from flatten's union.
The exclusive nested-editing slot and its taxonomy — content modes (text, vector, with width as a vector facet) vs paint sessions (gradient, image) — replacing the flat production union.
The editor's state domains — content, authoring context, view, interaction, collaboration — and the lifecycle contract each domain membership implies.
The destructive combine — convert a selection's shapes into one vector node per selection partition, baking geometry and discarding the originals.
The on-canvas name labels drawn above root frames and trays — the labeling rule, the badge/plain taxonomy, screen-anchored placement, in-place rename, and the root-frames bar as their aggregate.
Wrap a selection into a new adopting parent — a group or a container — once per selection partition, with world position and order preserved; and ungroup as the inverse.
The layers tree — reversed presentation order, external selection, drag math in document order, and virtualization at document scale.
The undo/redo backbone — entries as data, transactions, gesture framing, burst framing, origin taxonomy, and what history must never contain.
This document proposes the philosophical basis for image manipulation tools that enable AI agents to generate, enhance, and transform visual content within the design canvas.
The input pipeline — surface events, routing priority, the command vocabulary, the keybinding model, and modifiers as live gesture configuration.
Import, export, and clipboard — files in, files out, and document fragments across editor instances.
Foreign content crossing into the editor — the drop format matrix, the paste sniffing order, placement rules, and the paste-is-load trust doctrine.
The modifier-held spacing readout — hold alt and hover to measure the space between the selection and any other node.
The arrow-key family — translate nudge, resize nudge, in-flow reorder, sub-mode nudges, and the empty-selection camera pan.
The unit lattice of the canvas — its visual render, and the deliberate split between rendering the grid and snapping to it.
Purpose
The edge rulers — screen-space frame chrome reading canvas coordinates — and the persistent per-scene guides they author.
| feature id | status | description | PRs |
This document describes the selection behavior for pointer interactions and
See also: the UX-narrative sibling spec at
The per-parent partition of a multi-node selection — why a cross-parent selection presents as N overlay boxes, and which commands act per-partition versus on the whole-selection union.
Gesture-time alignment — the snap family (geometry, space, pixel grid) as interpretation stages, with the guide chrome that explains them.
Placeholder — snapping vector anchors and segments while vector-editing. Deferred with the vector-edit feature.
The canvas interaction layer — hit tiers, gestures, intents, and the HUD chrome inventory the reference editor must implement.
Multi-instance document replication — optimistic three-layer state, authority and rebase, presence — and the two-instance conformance contracts.
The pointer→node resolution mathematics — hit chains, graph-distance targeting, descent, deep-select, additive rules, and the marquee predicates including containment suppression.
Motivation
The authoring tool system — tool taxonomy, activation, per-tool insertion gestures, container adoption, and the text/pencil authoring flows.
The two structural behaviors of the move gesture — clone-on-translate (duplicate under a held modifier, live-toggleable) and hierarchy change (re-parenting mid-drag with the drop-target overlay).
The alpha backdrop — the checkerboard beneath everything that makes "nothing is painted here" visible.
Keyboard selection traversal — Enter/Shift+Enter walk down and up the tree, Tab/Shift+Tab walk across siblings, and traversal keeps its result visible.
UX Surface documents specify Grida editor's specific practical UX specifications for surface interactions, selection, targeting, and related user interface behaviors.
The variable-width stroke profile — width stops parameterized along a path, their interpolation into a stroke outline, and the width facet that authors them.
The vector content-edit mode and the pen — the network model, sub-selection, hover-armed projection, bending, tangent mirroring, and the disconnect-not-exit escape semantics.
The vector-network model behind Grida's vector editing: the topology a