atagen

monolith

public
Star0
Watch0
692a9dda877937c1022ac6c10adb8df72445e0c6
1
ssh://brewery@pls.lobotomise.me:33/atagen/monolith.git
crates/planner/src/lib.rsRust24 lines664 B
1
//! Multiphase layout animation planning.
2
//!
3
//! Given where tiled windows are and where they should be, produce a short
4
//! sequence of keyframe layouts. Every window moves between consecutive
5
//! keyframes on one shared curve, so a plan is correct if every pair of
6
//! windows shares a separating relation across every phase.
7
//!
8
//! See `design/planner.html` for the reasoning and interactive demos.
9
10
mod blocks;
11
mod geom;
12
mod plan;
13
mod relation;
14
mod sat;
15
mod strategy;
16
mod validate;
17
18
#[cfg(test)]
19
mod tests;
20
21
pub use blocks::plan_blocks;
22
pub use geom::Rect;
23
pub use plan::{Config, Group, Plan, Strategy, Style, plan};
24
pub use validate::{Violation, validate};