Skip to main content

Module eval

Module eval 

Source
Expand description

Brush graph evaluation runtime.

The runner takes a compiled ExecutionPlan, a table of evaluator closures, and a flat Vec<Option<ScalarValue>> slot table. Per-dab evaluation is zero-heap-allocation: the slot table is pre-sized and reused across dabs.

Structs§

BrushCursorPreviewInfo
Canvas-space positioning info read from the graph’s cursor-preview terminal after a cursor-preview-mode evaluation. Consumed by the overlay to place the KIND_MASKED_STAMP primitive (the cursor halo) — the cursor-preview mask texture itself is bound to the overlay separately. Rotation lives in the mask texture, not on the primitive: the compiled brush pipeline bakes shape.rotation_input and view_rotation into the rendered mask via the skeleton’s theta, so the overlay quad samples an already-oriented mask.
BrushGraphRunner
A compiled, ready-to-run brush graph with pre-allocated slot table.
EvalContext
Context passed to each node’s CPU evaluator.

Traits§

BrushNodeEvaluator
Trait implemented by each node to produce output values.