Skip to main content

fret_interaction/
lib.rs

1//! Shared interaction building blocks for editor-grade UI.
2//!
3//! This crate intentionally lives under `ecosystem/`:
4//! - it is policy-heavy and iteration-friendly,
5//! - it is meant to be reused by multiple ecosystem surfaces (`imui`, node graphs, docking UX),
6//! - it should not become a hard mechanism-layer contract in `crates/fret-ui` prematurely.
7//!
8//! Design goals:
9//! - Provide small, testable state machines and math helpers.
10//! - Avoid domain semantics (no node/edge graph types; no app-specific command wiring).
11//! - Support multiple coordinate spaces via explicit transform helpers (screen-space vs canvas-space).
12
13pub mod dpi;
14pub mod drag;
15
16#[cfg(feature = "runtime")]
17pub mod runtime_drag;