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