Skip to main content

kozan_core/scroll/
mod.rs

1//! Scroll system — independent subsystems mirroring Chrome's `cc/` architecture.
2//!
3//! Chrome: `cc/input/` (scroll nodes, input handler) + `cc/trees/` (scroll tree, transform tree).
4//!
5//! - [`ScrollNode`] — per-element geometry (container size, content size, axis constraints).
6//! - [`ScrollTree`] — parent-child topology for the scroll chain.
7//! - [`ScrollOffsets`] — mutable scroll displacement per node.
8//! - [`controller`] — applies deltas along the chain with clamping.
9//!
10//! Default actions (keyboard scroll, wheel scroll) live in `input::default_action` —
11//! the scroll system only knows about geometry and offsets, not input events.
12
13pub(crate) mod controller;
14pub(crate) mod node;
15pub mod offsets;
16pub mod tree;
17
18pub(crate) use controller::ScrollController;
19pub use offsets::ScrollOffsets;
20pub use tree::ScrollTree;