Expand description
Binary entry points for desktop and mobile builds.
§Binary
Main entry point and initialization for the Mountain desktop application. Handles application startup, Tauri command registration, configuration, and lifecycle management.
§Module Layout
- [
Main]: Application entry point and orchestration - [
Build]: Tauri application builder configuration - [
Register]: Command and service registration - [
Service]: Service initialization (Vine, Cocoon, Configuration) - [
Initialize]: Application state initialization IPC: IPC command handlers bridging the frontend invoke calls to Rust- [
Tray]: System tray integration - [
Extension]: Extension startup and management - [
Shutdown]: Graceful shutdown handling Debug: Debug and trace logging utilities
§Architectural Role
main.rs --> Binary::Main (Entry) --> Build --> Register --> Initialize --> Services
| | | |
v v v v
AppLifecycle Commands Services Vine/Cocoon
| | |
IPCCommands IPCBridge ProcessMgmt§Design Principles
- Single Entry Point: One clear entry point for the application.
- Lazy Initialization: Services started only when needed.
- Graceful Shutdown: Clean shutdown of all services.
- Error Resilience: Graceful degradation on startup failures.
No pub use re-exports - callers spell the full reverse-hierarchical
path (Binary::Main::Entry::Fn, Binary::Build::LocalhostPlugin::Fn,
etc.).
§Planned Work
- Crash recovery mechanism
- Error dialog for startup failures
- Startup performance metrics
- Incremental service startup
- Service health checks during startup
Modules§
- Build
- Tauri application builder configuration.
- Debug
- Debug and trace logging utilities.
- Extension
- Extension startup and management.
- IPC
- IPC command handlers bridging the frontend invoke calls to Rust.
- Initialize
- Application state initialization.
- Main
- Main application entry point and orchestration.
- Register
- Command and service registration.
- Service
- Service initialization (Vine, Cocoon, Configuration).
- Shutdown
- Graceful shutdown handling.
- Tray
- System tray integration.