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 frames = 1;
let mut backend = RenderBackendMode::Planning; let mut backend = RenderBackendMode::Planning;
let mut load_progress = None; 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 legacy_camera_capture = None;
let mut iter = args.iter(); let mut iter = args.iter();
while let Some(arg) = iter.next() { while let Some(arg) = iter.next() {
@@ -1224,7 +1228,7 @@ mod tests {
frames: 3, frames: 3,
backend: RenderBackendMode::Planning, backend: RenderBackendMode::Planning,
load_progress: None, load_progress: None,
preview_roots: NonZeroUsize::MIN, preview_roots: NonZeroUsize::MAX,
legacy_camera_capture: None, legacy_camera_capture: None,
}) })
); );
@@ -1247,7 +1251,7 @@ mod tests {
frames: 1, frames: 1,
backend: RenderBackendMode::StaticVulkan, backend: RenderBackendMode::StaticVulkan,
load_progress: None, load_progress: None,
preview_roots: NonZeroUsize::MIN, preview_roots: NonZeroUsize::MAX,
legacy_camera_capture: None, legacy_camera_capture: None,
}) })
); );
@@ -1305,7 +1309,7 @@ mod tests {
frames: 1, frames: 1,
backend: RenderBackendMode::Planning, backend: RenderBackendMode::Planning,
load_progress: Some(PathBuf::from("target/probe.txt")), load_progress: Some(PathBuf::from("target/probe.txt")),
preview_roots: NonZeroUsize::MIN, preview_roots: NonZeroUsize::MAX,
legacy_camera_capture: None, 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. mission renderers are compatible.
The preview now has an explicit root-prefix contract. `--preview-roots N` 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; 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 Without that diagnostic limiter, the static Vulkan path now requests every TMA
transactional, so this is not a hidden relaxation of gameplay validation. The root (the runtime clamps the request to the decoded mission length), so a
previous all-root probe timed out at `Graph`; the prefix makes broader scene normal native preview no longer silently displays just root zero. Normal mission
work measurable without pretending that a bounded preview is the full game. 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 ### Shared terrain/root diagnostic frame