From 66ca68505942ec4708bf15df72c3d818bae58f87 Mon Sep 17 00:00:00 2001 From: Zwitschi Date: Tue, 10 Nov 2026 15:47:12 +0100 Subject: [PATCH] fix: change order in screenshot capture --- Tools/review/render_screenshots.sh | 76 +++++++++++++++--------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/Tools/review/render_screenshots.sh b/Tools/review/render_screenshots.sh index 4439dc6..53fcc30 100755 --- a/Tools/review/render_screenshots.sh +++ b/Tools/review/render_screenshots.sh @@ -34,45 +34,14 @@ run_cmdlet() { # Order matters. The demo builder rebuilds the site materials, so any actor staged # by another tool must be (re)staged after it or it keeps a reference to a material # that no longer exists - that is how 604 actors ended up untextured once. -run_cmdlet ue_build_demo_map.py "1/5 rebuild the demo map (materials, site, frontage)" -run_cmdlet ue_apply_facade_kit.py "2/5 assemble the facade kit" -run_cmdlet ue_stage_theatre_trim.py "3/5 stage the theatre trim" -run_cmdlet ue_audit_scene.py "4/6 audit the scene (materials, placement, labels)" -run_cmdlet ue_build_review_map.py "5/6 stage the demo shot cameras" +run_cmdlet ue_build_demo_map.py "1/7 rebuild the demo map (materials, site, frontage)" +run_cmdlet ue_apply_facade_kit.py "2/7 assemble the facade kit" +run_cmdlet ue_stage_theatre_trim.py "3/7 stage the theatre trim" +run_cmdlet ue_audit_scene.py "4/7 audit the scene (materials, placement, labels)" +run_cmdlet ue_build_review_map.py "5/7 stage the demo shot cameras" tail -3 /tmp/ue-review-map-result.txt 2>/dev/null || true -echo "== 6/6 capture the demo map ==" -# Clear the engine's screenshot folder first. The collect step below copies every -# review-*.png it finds in Saved/, so without this a shot retired from the camera list -# keeps coming back as a stale file - that is how a removed walk shot reappeared with -# byte-identical content after a run that never captured it. -rm -rf "$REPO"/Game/GigLine/Saved/Screenshots/* "$HOME"/.config/Epic/GigLine/Saved/Screenshots/* 2>/dev/null || true -# Recreate the folder: the engine writes into it and does not recreate a deleted -# directory, which silently produced zero captures in the run that removed it. -mkdir -p "$REPO/Game/GigLine/Saved/Screenshots/LinuxEditor" -# The engine path is absolute: this step runs from the repo, not from $ENGINE, and a -# bare ./Engine/... failed with "No such file or directory" while every commandlet -# above succeeded through run_cmdlet's cd. -"$ENGINE/Engine/Binaries/Linux/UnrealEditor-Cmd" "$PROJ" /Game/Hollywood/DemoMap \ - -game -windowed -ResX=1920 -ResY=1080 -nopause -nosplash -thirdperson -stdout - -echo "== collect the demo screenshots ==" -mkdir -p "$REPO/Screenshots/demo" -rm -f "$REPO"/Screenshots/demo/review-*.png -found=0 -for src in \ - "$REPO/Game/GigLine/Saved/Screenshots"/*/review-*.png \ - "$REPO/Game/GigLine/Saved/Screenshots"/*/*/review-*.png \ - "$HOME/.config/Epic/GigLine/Saved/Screenshots"/*/review-*.png; do - [ -e "$src" ] || continue - case "$(basename "$src")" in - *demo-*) cp -f "$src" "$REPO/Screenshots/demo/"; found=1 ;; - esac -done -[ "$found" = "1" ] || { echo "ERROR: no demo screenshots found"; exit 1; } -ls -1 "$REPO/Screenshots/demo" - -echo "== 6b/7 capture the review map (asset staging) ==" +echo "== 6a/7 capture the review map (asset staging) ==" # The ReviewMap stages the models on their own - imported assets, camera angles and the # lighting comparison - which is a different question from "does the game map look right". # Its shots collect into Screenshots/review/ so the two reviews stay separate. @@ -81,7 +50,7 @@ mkdir -p "$REPO/Game/GigLine/Saved/Screenshots/LinuxEditor" "$ENGINE/Engine/Binaries/Linux/UnrealEditor-Cmd" "$PROJ" /Game/Test/ReviewMap \ -game -windowed -ResX=1920 -ResY=1080 -nopause -nosplash -stdout -echo "== 6c/7 collect the review-map screenshots ==" +echo "== 6b/7 collect the review-map screenshots ==" mkdir -p "$REPO/Screenshots/review" rm -f "$REPO"/Screenshots/review/review-*.png found_review=0 @@ -98,6 +67,37 @@ done [ "$found_review" = "1" ] || echo "WARN: no review-map screenshots found" ls -1 "$REPO/Screenshots/review" 2>/dev/null | head -20 +echo "== 6c/7 capture the demo map ==" +# Clear the engine's screenshot folder first. The collect step below copies every +# review-*.png it finds in Saved/, so without this a shot retired from the camera list +# keeps coming back as a stale file - that is how a removed walk shot reappeared with +# byte-identical content after a run that never captured it. +rm -rf "$REPO"/Game/GigLine/Saved/Screenshots/* "$HOME"/.config/Epic/GigLine/Saved/Screenshots/* 2>/dev/null || true +# Recreate the folder: the engine writes into it and does not recreate a deleted +# directory, which silently produced zero captures in the run that removed it. +mkdir -p "$REPO/Game/GigLine/Saved/Screenshots/LinuxEditor" +# The engine path is absolute: this step runs from the repo, not from $ENGINE, and a +# bare ./Engine/... failed with "No such file or directory" while every commandlet +# above succeeded through run_cmdlet's cd. +"$ENGINE/Engine/Binaries/Linux/UnrealEditor-Cmd" "$PROJ" /Game/Hollywood/DemoMap \ + -game -windowed -ResX=1920 -ResY=1080 -nopause -nosplash -thirdperson -stdout + +echo "== 6d/7 collect the demo screenshots ==" +mkdir -p "$REPO/Screenshots/demo" +rm -f "$REPO"/Screenshots/demo/review-*.png +found=0 +for src in \ + "$REPO/Game/GigLine/Saved/Screenshots"/*/review-*.png \ + "$REPO/Game/GigLine/Saved/Screenshots"/*/*/review-*.png \ + "$HOME/.config/Epic/GigLine/Saved/Screenshots"/*/review-*.png; do + [ -e "$src" ] || continue + case "$(basename "$src")" in + *demo-*) cp -f "$src" "$REPO/Screenshots/demo/"; found=1 ;; + esac +done +[ "$found" = "1" ] || { echo "ERROR: no demo screenshots found"; exit 1; } +ls -1 "$REPO/Screenshots/demo" + # The scene audit is a gate: a wrong-material or misplaced actor is exactly the # kind of failure that still renders plausibly.