diff options
| author | LLLL Colonq <llll@colonq> | 2025-02-16 22:55:43 -0500 |
|---|---|---|
| committer | LLLL Colonq <llll@colonq> | 2025-02-16 22:55:43 -0500 |
| commit | 4d0a8140130ebd0f46744b86eeb2a708657a942e (patch) | |
| tree | 6b1a11e07173c769d0f3522c2f6088409b69332d /crates/client/src/main.rs | |
| parent | 33d69b282e082acce3c5d36cc08cd99a7ccf738d (diff) | |
Switch to workspace
Diffstat (limited to 'crates/client/src/main.rs')
| -rw-r--r-- | crates/client/src/main.rs | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/crates/client/src/main.rs b/crates/client/src/main.rs new file mode 100644 index 0000000..af8e753 --- /dev/null +++ b/crates/client/src/main.rs @@ -0,0 +1,42 @@ +mod common; + +#[cfg(not(target_arch = "wasm32"))] +use clap::{command, Command}; + +#[cfg(target_arch = "wasm32")] +pub fn main() {} // dummy main, real wasm32 main is lib::main_js + +#[cfg(not(target_arch = "wasm32"))] +#[tokio::main] +pub async fn main() { + let matches = command!() + .propagate_version(true) + .subcommand_required(true) + .arg_required_else_help(true) + .subcommand( + Command::new("overlay") + .about("Run the LCOLONQ model renderer in a full-screen transparent overlay") + ) + .subcommand( + Command::new("terminal") + .about("Run the LCOLONQ model renderer in a terminal") + ) + .subcommand( + Command::new("server") + .about("Run the LCOLONQ online websocket server") + ) + .get_matches(); + match matches.subcommand() { + Some(("overlay", _cm)) => { + teleia::run("LCOLONQ", 1920, 1080, teleia::Options::OVERLAY, common::overlay::Overlay::overlay).await; + }, + Some(("terminal", _cm)) => { + teleia::run("LCOLONQ", 1920, 1080, teleia::Options::HIDDEN, common::overlay::Overlay::terminal).await; + }, + Some(("server", _cm)) => { + env_logger::Builder::new().filter(None, log::LevelFilter::Info).init(); + log::info!("starting LCOLONQ server..."); + }, + _ => unreachable!("no subcommand"), + } +} |
