Centralize world and viewport game loops
Some checks failed
CI / rust-skia (Rust only) (push) Has been cancelled
CI / required (push) Has been cancelled

This commit is contained in:
2026-08-23 13:42:01 +02:00
parent cb9233c59c
commit 33d1cf6827
18 changed files with 2541 additions and 287 deletions

View File

@@ -2,7 +2,7 @@ use std::collections::BTreeSet;
use std::fs;
use std::path::{Path, PathBuf};
const ALLOWED_DEPENDENCIES: [&str; 21] = [
const ALLOWED_DEPENDENCIES: [&str; 22] = [
"async-trait",
"base64",
"crossterm",
@@ -10,6 +10,7 @@ const ALLOWED_DEPENDENCIES: [&str; 21] = [
"libremetaverse",
"libremetaverse-imaging",
"libremetaverse-rendering-simple",
"metacrate-game-loop",
"metacrate-lsl-tools",
"metacrate-rendering-wgpu",
"mentra",
@@ -170,8 +171,6 @@ fn live_session_adapter_reuses_native_lifecycle_and_messaging_managers() {
".subscribe_im(",
".chat(",
".instant_message_with_uuid_string(",
".objects_avatars",
".objects_primitives",
".parcels",
".environment()",
".inventory()",
@@ -183,6 +182,15 @@ fn live_session_adapter_reuses_native_lifecycle_and_messaging_managers() {
"missing native lifecycle {required}"
);
}
let world = fs::read_to_string(root.join("../metacrate-grid-world/src/lib.rs"))
.expect("central world source");
for required in [".objects_avatars", ".objects_primitives", ".terrain"] {
assert!(
world.contains(required),
"missing centralized native world cache {required}"
);
}
assert!(backend.contains("metacrate_game_loop::WorldReader"));
assert!(!backend.contains("reqwest"));
}