//! Shared canvas substrate helpers for ecosystem widgets.
//!
//! This crate is intentionally policy-light:
//! - It provides reusable math/state helpers (pan/zoom transforms, drag phases, pixel policies).
//! - It does not prescribe interaction maps, snapping rules, or domain models.
//!
//! ADR reference: `docs/adr/0128-canvas-widgets-and-interactive-surfaces.md`.