CSS pixels → model units at the current zoom.
Report an error without throwing.
Current selection.
Show extra markers (e.g. grips).
Draw the tool's preview (merged with the snap marker and grips).
Status prompt key (UI translates it), e.g. tool.line.start.
Entities ignored by snapping (e.g. the ones being dragged).
Tool state for the UI and tests: idle, start, preview, …
Model units per typed display unit.
Apply a transaction; failures are reported in the editor state and return
null.