pub struct Form {
pub dialog: Dialog,
pub layout: Layout,
pub visuals: Vec<Visual>,
pub focus: Option<CoordinateSystem>,
pub sheet: Option<Extent>,
pub tool: InHand,
pub selection: Vec<String>,
pub select_box: bool,
pub pulls: Vec<Pull>,
pub prompt: Option<Prompt>,
pub gizmo: Option<Gizmo>,
pub hidden: Vec<String>,
}Expand description
What an operation shows for a step: the fields of its dialog and what
it draws, and what the editor needs to know to edit it the same way as
every other step — what is selected, what the operation has in hand,
what it drags. Plain data: what a field does when it is set is the
operation’s to say when it is sent the Event.
Fields§
§dialog: Dialog§layout: LayoutWhere the dialog is shown: beside the viewport, or as a popup over
it (see Layout).
visuals: Vec<Visual>§focus: Option<CoordinateSystem>A plane to work in, its u/v plane: the viewer faces it head on,
stops orbiting, and draws a grid on it. Draggable visuals are
dragged in it.
sheet: Option<Extent>A sheet of its own the step is edited on — a drawing’s paper, laid
in focus — and how far it reaches: the viewer shows the step’s
visuals alone, without the part, framed to it.
tool: InHandWhat the operation has in hand: clicks — and, for a tool that strokes, drags — go to it rather than select.
selection: Vec<String>The keys of the visuals selected. A click on a selectable visual
changes it, and the operation is sent the new selection
(Event::Select) to keep.
select_box: boolWhether a drag from nothing, with nothing in hand, draws a box that
selects: the operation is sent it (CanvasEvent::SelectBox) and
decides what lies in it, from what its visuals stand for.
pulls: Vec<Pull>What the step pulls the state towards: the editor solves the program with them.
prompt: Option<Prompt>A value asked for in place, in the viewport.
gizmo: Option<Gizmo>A gizmo to move, turn or scale something by: its drags are sent as
CanvasEvent::Gizmo.
Solids and faces of the part, by name, not to draw while the step is edited: what the step builds, when its visuals show it better — a control cage shown alone.