Mountain/Binary/mod.rs
1#![allow(unused_imports, unused_variables)]
2
3//! # Binary
4//!
5//! Main entry point and initialization for the Mountain desktop application.
6//! Handles application startup, Tauri command registration, configuration,
7//! and lifecycle management.
8//!
9//! ## Module Layout
10//!
11//! - [`self::Main`]: Application entry point and orchestration
12//! - [`self::Build`]: Tauri application builder configuration
13//! - [`self::Register`]: Command and service registration
14//! - [`self::Service`]: Service initialization (Vine, Cocoon, Configuration)
15//! - [`self::Initialize`]: Application state initialization
16//! - [`self::IPC`]: IPC command handlers bridging the frontend invoke calls to Rust
17//! - [`self::Tray`]: System tray integration
18//! - [`self::Extension`]: Extension startup and management
19//! - [`self::Shutdown`]: Graceful shutdown handling
20//! - [`self::Debug`]: Debug and trace logging utilities
21//!
22//! ## Architectural Role
23//!
24//! ```text
25//! main.rs --> Binary::Main (Entry) --> Build --> Register --> Initialize --> Services
26//! | | | |
27//! v v v v
28//! AppLifecycle Commands Services Vine/Cocoon
29//! | | |
30//! IPCCommands IPCBridge ProcessMgmt
31//! ```
32//!
33//! ## Design Principles
34//!
35//! 1. **Single Entry Point**: One clear entry point for the application.
36//! 2. **Lazy Initialization**: Services started only when needed.
37//! 3. **Graceful Shutdown**: Clean shutdown of all services.
38//! 4. **Error Resilience**: Graceful degradation on startup failures.
39//!
40//! No `pub use` re-exports - callers spell the full reverse-hierarchical
41//! path (`Binary::Main::Entry::Fn`, `Binary::Build::LocalhostPlugin::Fn`,
42//! etc.).
43//!
44//! ## Planned Work
45//!
46//! - Crash recovery mechanism
47//! - Error dialog for startup failures
48//! - Startup performance metrics
49//! - Incremental service startup
50//! - Service health checks during startup
51
52/// Main application entry point and orchestration.
53pub mod Main;
54
55/// Tauri application builder configuration.
56pub mod Build;
57
58/// Command and service registration.
59pub mod Register;
60
61/// Service initialization (Vine, Cocoon, Configuration).
62pub mod Service;
63
64/// Application state initialization.
65pub mod Initialize;
66
67/// IPC command handlers bridging the frontend invoke calls to Rust.
68pub mod IPC;
69
70/// System tray integration.
71pub mod Tray;
72
73/// Extension startup and management.
74pub mod Extension;
75
76/// Graceful shutdown handling.
77pub mod Shutdown;
78
79/// Debug and trace logging utilities.
80pub mod Debug;