1use mittens_engine::{engine, engine::ecs::SignalEmitter, scripting, utils};
2
3fn main() {
21 mittens_engine::example_support::ensure_model_assets();
22 utils::logger::init();
23
24 let output = scripting::MeowMeowRunner::eval(include_str!("pipe-demo.mms"));
25
26 for error in &output.errors {
27 eprintln!("[mms error] {error}");
28 }
29 println!("[pipe-demo] {} intent(s)", output.intents.len());
30
31 if !output.errors.is_empty() {
32 eprintln!("[pipe-demo] FAIL — {} error(s)", output.errors.len());
33 std::process::exit(1);
34 }
35
36 let world = engine::ecs::World::default();
37 let mut universe = engine::Universe::new(world);
38
39 let scope = engine::ecs::ComponentId::default();
40 for intent in output.intents {
41 universe.command_queue.push_intent_now(scope, intent);
42 }
43
44 universe.systems.process_commands(
45 &mut universe.world,
46 &mut universe.visuals,
47 &mut universe.render_assets,
48 &mut universe.command_queue,
49 );
50
51 engine::Windowing::run_app(universe).expect("Windowing failed");
52}