feat(game): preview all mission roots by default

This commit is contained in:
2026-07-18 18:23:40 +04:00
parent 4d024223bb
commit d9ccf7f64d
2 changed files with 14 additions and 9 deletions
+8 -4
View File
@@ -1012,7 +1012,11 @@ impl Args {
let mut frames = 1;
let mut backend = RenderBackendMode::Planning;
let mut load_progress = None;
let mut preview_roots = NonZeroUsize::MIN;
// A native static-Vulkan invocation is the usable mission preview, so
// its default scope covers every root. `PreviewRoots` is clamped by the
// runtime to the decoded mission length; an explicit --preview-roots N
// remains available for bounded diagnostic work.
let mut preview_roots = NonZeroUsize::MAX;
let mut legacy_camera_capture = None;
let mut iter = args.iter();
while let Some(arg) = iter.next() {
@@ -1224,7 +1228,7 @@ mod tests {
frames: 3,
backend: RenderBackendMode::Planning,
load_progress: None,
preview_roots: NonZeroUsize::MIN,
preview_roots: NonZeroUsize::MAX,
legacy_camera_capture: None,
})
);
@@ -1247,7 +1251,7 @@ mod tests {
frames: 1,
backend: RenderBackendMode::StaticVulkan,
load_progress: None,
preview_roots: NonZeroUsize::MIN,
preview_roots: NonZeroUsize::MAX,
legacy_camera_capture: None,
})
);
@@ -1305,7 +1309,7 @@ mod tests {
frames: 1,
backend: RenderBackendMode::Planning,
load_progress: Some(PathBuf::from("target/probe.txt")),
preview_roots: NonZeroUsize::MIN,
preview_roots: NonZeroUsize::MAX,
legacy_camera_capture: None,
})
);
+6 -5
View File
@@ -972,11 +972,12 @@ of the first-root static-preview bridge, not a claim that the two games' full
mission renderers are compatible.
The preview now has an explicit root-prefix contract. `--preview-roots N`
prepares the first non-zero `N` TMA roots for the opt-in static Vulkan path;
the default remains one root. Normal mission loading remains full and
transactional, so this is not a hidden relaxation of gameplay validation. The
previous all-root probe timed out at `Graph`; the prefix makes broader scene
work measurable without pretending that a bounded preview is the full game.
prepares the first non-zero `N` TMA roots for the opt-in static Vulkan path.
Without that diagnostic limiter, the static Vulkan path now requests every TMA
root (the runtime clamps the request to the decoded mission length), so a
normal native preview no longer silently displays just root zero. Normal mission
loading remains full and transactional; the prefix is retained for bounded
investigation rather than as a hidden relaxation of gameplay validation.
### Shared terrain/root diagnostic frame