Expand description
The tools: one per gesture the canvas offers, plus the vocabulary that drives them.
A tool is a per-frame function from state, interaction and document to
preview paints and an optional tool::Transition — see tool::frame, which
is the only door the drivers use. Around them: the commands registry
(what can be invoked right now, and the chords that invoke it), the
history stack a press of undo walks, and the spotlight ring that
points at what a step changed.
Nothing here names a UI toolkit. Drawing goes through
blockworx_paint::Renderer, interaction arrives as
blockworx_paint::Interaction, and the on-screen conveniences — the
cursor, the clock, the in-place editor, a repaint — are
blockworx_paint::Canvas.
Re-exports§
pub use add_pin::AddPin;pub use add_port::AddPort;pub use add_route_label::AddRouteLabel;pub use add_text::AddText;pub use edit_route::EditRoute;pub use edit_text_box::EditTextBox;pub use move_block::MoveBlock;pub use move_block_type::MoveBlockType;pub use move_label::MoveLabel;pub use move_multi_pin::MoveMultiPin;pub use move_pin::MovePin;pub use move_title::MoveTitle;pub use multi_pin_select::MultiPinSelect;pub use multi_select::MultiSelect;pub use new_area::NewArea;pub use new_block::NewBlock;pub use rename_block_type::RenameBlockType;pub use rename_pin::RenamePin;pub use rename_route::RenameRoute;pub use rename_title::RenameTitle;pub use retype_pin::RetypePin;pub use route_tool::RouteTool;pub use select_tool::SelectTool;
Modules§
- add_pin
- add_
port - add_
route_ label - add_
text - block_
edit - The block-edit tab cycle.
- commands
- The command registry: every invocable operation as a
Command— a stableCommandId, a user-facing label, and theActinvoking it performs — computed against the current selection and mode byCommandSet::available. The overlays render the set instead of re-deriving availability, so “what can the user do right now” is encoded exactly once; the planned command palette, keyboard shortcuts, and the scriptcommandstep consume the same set. - content_
path - The content path: the chain of block names from the document root down to
the level being drawn, as a plain string —
top/Thing 1/Core. - edit_
route - edit_
text_ box - file
- What a dialog picks and where a save goes — the shell-typed payloads
tool::Actioncarries. What a path means is one crate down, inblockworx_store::file; opening the dialog is one crate up, in the shell. What the File flow asks for, and what comes back. - history
- The editor’s undo stack: two kinds of entry on one stack.
- move_
block - move_
block_ type - move_
label - move_
multi_ pin - move_
pin - move_
title - multi_
pin_ select - multi_
select - names
- new_
area - new_
block - new_pin
- The free-slot markers: where a pin can be added to a block.
- rename_
block_ type - rename_
pin - rename_
route - rename_
title - resize_
block - retype_
pin - route_
start - Route-start / route-end hover targets.
- route_
tool - select_
pin - select_
tool - selection_
bounds - World-space bounding boxes for the current selection. Shared by the selection frames (drawn on the canvas) and the selection overlay (placed in screen space), so both agree on what region a selection occupies.
- spotlight
- Where a document step worked: the scope it happened in and the grid region that contains its subjects.
- stamp
- What a tool stamped on the canvas creates.
- title_
block - The drawing’s title block: what a printed sheet states about the drawing it carries, and how that statement is arranged.
- tool