Skip to main content

text_editor/
text-editor.rs

1use mittens_engine::{engine, engine::ecs::SignalEmitter, scripting, utils};
2
3fn main() {
4    mittens_engine::example_support::ensure_model_assets();
5    utils::logger::init();
6
7    let output = scripting::MeowMeowRunner::eval(include_str!("text-editor.mms"));
8
9    for error in &output.errors {
10        eprintln!("[mms] {error}");
11    }
12    println!(
13        "[mms] {} intent(s) from text-editor.mms",
14        output.intents.len()
15    );
16
17    if !output.errors.is_empty() {
18        std::process::exit(1);
19    }
20
21    let world = engine::ecs::World::default();
22    let mut universe = engine::Universe::new(world);
23
24    let scope = engine::ecs::ComponentId::default();
25    for intent in output.intents {
26        universe.command_queue.push_intent_now(scope, intent);
27    }
28
29    universe.systems.process_commands(
30        &mut universe.world,
31        &mut universe.visuals,
32        &mut universe.render_assets,
33        &mut universe.command_queue,
34    );
35
36    universe.enable_repl();
37    engine::Windowing::run_app(universe).expect("Windowing failed");
38}