vtuber_desktop_first_person/
vtuber-desktop-first-person.rs1use 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!("vtuber-desktop-first-person.mms"));
8
9 for error in &output.errors {
10 eprintln!("[mms] {error}");
11 }
12 println!(
13 "[mms] {} intent(s) from vtuber-desktop-first-person.mms",
14 output.intents.len()
15 );
16
17 let world = engine::ecs::World::default();
18 let mut universe = engine::Universe::new(world);
19
20 let scope = engine::ecs::ComponentId::default();
21 for intent in output.intents {
22 universe.command_queue.push_intent_now(scope, intent);
23 }
24
25 universe.systems.process_commands(
26 &mut universe.world,
27 &mut universe.visuals,
28 &mut universe.render_assets,
29 &mut universe.command_queue,
30 );
31
32 universe.enable_repl();
33 engine::Windowing::run_app(universe).expect("Windowing failed");
34}