1use mittens_engine::{engine, engine::ecs::SignalEmitter, scripting, utils};
9
10fn main() {
11 mittens_engine::example_support::ensure_model_assets();
12 utils::logger::init();
13
14 let world = engine::ecs::World::default();
15 let mut universe = engine::Universe::new(world);
16
17 let source = include_str!("query-demo.mms");
18 let output = scripting::MeowMeowRunner::eval_with_world(
19 source,
20 &mut universe.world,
21 &mut universe.systems.rx,
22 &mut universe.command_queue,
23 );
24
25 for err in &output.errors {
26 eprintln!("[mms] {err}");
27 }
28 if !output.errors.is_empty() {
29 std::process::exit(1);
30 }
31
32 for intent in output.intents {
33 universe
34 .command_queue
35 .push_intent_now(engine::ecs::ComponentId::default(), intent);
36 }
37
38 universe.systems.process_commands(
39 &mut universe.world,
40 &mut universe.visuals,
41 &mut universe.render_assets,
42 &mut universe.command_queue,
43 );
44
45 universe.enable_repl();
46 engine::Windowing::run_app(universe).expect("Windowing failed");
47}