Skip to main content

Module Binary

Module Binary 

Source
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

  1. Single Entry Point: One clear entry point for the application.
  2. Lazy Initialization: Services started only when needed.
  3. Graceful Shutdown: Clean shutdown of all services.
  4. 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.