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