Skip to main content

screen_app/
lib.rs

1//! `screen-app` — Tauri shell library half.
2//!
3//! `main.rs` is the binary entry point that wires Tauri's event loop, the
4//! window, the OS drag-drop forwarding, the player tick thread, and
5//! registers the IPC commands. The library half holds the parts of that
6//! plumbing that benefit from being testable on their own:
7//!
8//! - [`player_session::PlayerSession`] — owns a [`wisp::application::Application`]
9//!   plus an `Option<Inner>` (built whenever a file is opened) holding the
10//!   live [`playback::Player`]. Exposes `open` / `play` / `pause` / `tick`
11//!   / `status`. Pure Rust; no Tauri types.
12//! - [`commands`] — the four `#[tauri::command]` wrappers around
13//!   `PlayerSession`. Thin — every method delegates straight through.
14
15pub mod audio;
16pub mod click_capture;
17pub mod commands;
18pub mod cursor_capture;
19pub mod editor_command;
20pub mod editor_export;
21pub mod editor_preview;
22pub mod editor_preview_session;
23pub mod editor_session;
24pub mod player_session;
25pub mod preview;
26pub mod recorder_settings;
27pub mod recording;
28pub mod recording_compose;
29pub mod recording_paths;
30pub mod recp;
31#[cfg(target_os = "macos")]
32pub mod screen_capture;
33#[cfg(target_os = "macos")]
34pub mod system_audio;
35pub mod tray;