Expand description
Grid-aware document editing: everything between the document and the tools.
A widget::drawing::Drawing is one level of the document resolved for a
frame — its shapes, its wires and the gesture writing to it. The tools drive
it, the render path draws it, and the edit emitters turn what a gesture
did into the ops a commit carries. Nothing here names a UI toolkit: drawing
goes through blockworx_paint::Renderer, and interaction arrives as
blockworx_paint::Interaction.
Modules§
- 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
- Pure op emitters.
- gesture
- The gesture bracket: what a gesture is, stated once.
- import
- What the “Import…” dialog brings in: a PNG or SVG, as a plain image in the current view. The name’s extension picks the branch.
- names
- path
- Where the editor is looking: the chain of blocks descended into, the scope that chain resolves to, and what that scope holds.
- presentation
- How the document actually appears on the canvas: where wires run (solved route geometry), how big text really is (measured extents), what color pin stubs show (accents propagated from route roles). Everything here is computed from the authored document and lives beside it — never authored, never undone, never persisted.
- render
- Drawing of data-model elements onto a
Renderercanvas. Each function takes an element (or its geometry) plus aStyledrawing surface and paints it; the functions are generic over the renderer backend so the same code drives both the on-screen painter and the SVG exporter.widget/toolsown interaction and frame orchestration and delegate the actual painting here. - shape
- The geometry layer: where a shape’s parts land on the canvas, how big they are, and how they paint.
- state
- title_
block - The drawing’s title block: what a printed sheet states about the drawing it carries, and how that statement is arranged.
- widget