//! wds — Weirdcore Dating Simulator.
//!
//! Aufbau: `engine/` ist der headless Kern (Signal/Action-Dispatcher,
//! KV-Store, Ink-Stories); `session` hält den geteilten Anwendungszustand
//! darüber (Game + Dialog-Modus + Befehls-Interpreter). Beide Frontends
//! steuern dieselbe Session: das Fenster (`render`, Default) und die
//! Konsolen-REPL (`cli`, via `--cli`).

mod cli;
mod engine;
mod render;
mod session;

use engine::assets;
use session::Session;

fn main() {
    let signals_path = assets::path("assets/signals.toml");
    let session = Session::new(signals_path.clone());
    if std::env::args().any(|a| a == "--cli") {
        cli::run(session, &signals_path);
    } else {
        render::run(session);
    }
}
