#![forbid(unsafe_code)]
pub mod accessibility;
pub mod determinism;
pub mod evidence;
pub mod frame;
pub mod input;
pub mod interaction;
pub mod overlay;
pub mod palette;
pub mod replay;
pub mod screen;
pub mod shell;
pub mod terminal;
pub mod theme;
pub use accessibility::{FocusDirection, FocusManager, SemanticRole};
pub use determinism::{Clock, DeterministicSeed, ReplayMetadata, ReplayMode, TickClock, WallClock};
pub use evidence::{
EvidenceEnvelope, EvidenceEvent, EvidenceEventType, EvidencePayload, EvidenceReason,
EvidenceRedaction, EvidenceSeverity, EvidenceSink, EvidenceTrace, EvidenceWriteError,
NoopWriter, RedactionTransform, VecWriter,
};
pub use frame::{
CachedLayout, CachedTabState, FrameBudget, FrameMetrics, FramePipelineMetrics,
FramePipelineTimer, JankCallback,
};
pub use input::{InputEvent, KeyAction, KeyBinding, Keymap};
pub use interaction::{
CardLayoutRule, CardRole, DeterministicCheckpoint, DeterministicStateBoundary,
InteractionLatencyHooks, InteractionSurfaceContract, InteractionSurfaceKind, LayoutAxis,
PaletteIntent, PaletteIntentRoute, SHOWCASE_INTERACTION_SPEC_VERSION, ShowcaseInteractionSpec,
ShowcaseInteractionSpecError,
};
pub use overlay::{OverlayKind, OverlayManager, OverlayRequest};
pub use palette::{Action, ActionCategory, CommandPalette, PaletteState};
pub use replay::{InputRecord, ReplayPlayer, ReplayRecorder, ReplayState};
pub use screen::{Screen, ScreenContext, ScreenId, ScreenRegistry};
pub use shell::{AppShell, ShellConfig, StatusLine};
pub use terminal::{TerminalEvent, TerminalMode, TerminalState};
pub use theme::{ColorScheme, Theme, ThemePreset};