agent/orbs/mod.rs
1//! Thinking orbs — dotted loading indicators for AI & agent UIs, ported from
2//! gpui-thinking-orbs (MIT), itself a port of Jakub Antalik's thinking-orbs.
3//!
4//! Twelve hand-tuned animated states, four size presets, monochrome ink on a
5//! transparent canvas. The animation engine is pure Rust; only the paint path
6//! talks to gpui.
7//!
8//! ```ignore
9//! cx.new(|_| Orb::new().state(OrbState::Searching).size(OrbSize::Avatar))
10//! ```
11//!
12//! Style flows through the environment like the rest of bezel: [`OrbTheme::Auto`]
13//! resolves ink against the installed [`theme::Appearance`] at paint time.
14//! The engine is the public `engine` module below — the "advanced" tier for
15//! custom paint loops.
16
17mod orb;
18mod paint;
19mod presets;
20mod types;
21
22pub mod engine;
23
24pub use orb::{DEFAULT_TARGET_FPS, Orb, orb_element};
25pub use presets::{Resolved, resolve_preset};
26pub use types::{ModeKey, OrbSize, OrbState, OrbTheme};