#![forbid(unsafe_code)]
#![doc = include_str!("../README.md")]
pub mod color;
pub mod effect;
pub mod hit;
pub mod input;
pub mod layout;
pub mod math;
pub mod morph;
pub mod output;
pub mod sanitize;
pub mod scroll;
pub mod shader;
pub mod state;
pub mod theme;
pub mod transcript;
pub mod widget;
pub use color::{Palette, Rgba};
pub use effect::{
AnimationCurve, Elevation, Glow, InteractionState, MotionSpec, Ripple, RipplePool,
SurfaceEffects,
};
pub use hit::{hit_resize_handle, local_point, CursorKind, HitMap, HitRegion, ResizeHandle};
pub use input::{CommandItem, CommandPalette, KeyModifier, Shortcut, SnippetSet, TextSnippet};
pub use layout::{compute_shell_layout, AppLayout, Insets, Rect};
pub use math::{
catmull_rom, clamp01, ease_in_out_cubic, fractal_brownian_motion, hash12, hsv_to_rgb, lerp,
pulse, remap, rotate, smoothstep, spring, Oscillator, Vec2, Vec3,
};
pub use morph::{
CardTopology, MaterialTokens, MorphCacheKey, MorphProfile, MorphShape, MorphState, ShapeAnchor,
};
pub use output::{
materialize_output, tokenize_code_line, CodeBlockOutput, CodeToken, CodeTokenKind,
OutputDocument, OutputOptions, OutputRow,
};
pub use sanitize::{
char_display_width, copy_safe_text, sanitize_str, sanitize_title, sanitize_with_policy,
str_display_width, strip_ansi_escapes, truncate_str, AnsiStripResult, SanitizePolicy,
SanitizedText,
};
pub use scroll::{ScrollAnchor, ScrollState};
pub use shader::{ShaderDescriptor, ShaderFamily, ShaderSource, ShaderUniform, ShaderUniformKind};
pub use state::{OverlayKind, PaneId};
pub use theme::{ThemeFamily, ThemePreset};
pub use transcript::{TranscriptRow, TranscriptView, TranscriptViewport};
pub use widget::{PaneChrome, PromptModel, StatusChip, TranscriptItem, WidgetFrame, WidgetSection};