review: restore character + cubes in ReviewMap, re-render all shots

Root cause of the empty review frames: EditorLevelLibrary.load_level/new_level
are deprecated no-ops in -nullrhi commandlets, so staged actors landed in the
current world and got saved over the wrong map. Switched both map builders to
the LevelEditorSubsystem and reordered the review builder to save ReviewMap
before the DemoMap section (the switch-back to a map that only exists in
memory silently failed, writing demo content over ReviewMap).

Rebuilt both maps, re-rendered every screenshot; user visual check passed.
Screenshots/README.md cube naming corrected (A grounded, B floating), approval
states updated; TODO.md visual-review notes closed. MEMORY.md records the
deprecated-call and save-order traps.
This commit is contained in:
zwitschi committed 2026-11-07 16:23:59 +01:00
1 parent ab24ef3b24
commit c9e933376c
22 files changed
+92 -69

No files matched your search

+12 -2
View File
@@ -24,6 +24,16 @@ RESULT = "/tmp/gigline/demo-map.txt"
lines = []
# EditorLevelLibrary.load_level/new_level are deprecated no-ops in -nullrhi
# commandlets (they return without switching worlds, so staged actors land in
# whatever world is current and get saved over the wrong map). The
# LevelEditorSubsystem actually switches.
LES = unreal.get_editor_subsystem(unreal.LevelEditorSubsystem)
def switch_level(path):
return LES.load_level(path)
def log(msg):
lines.append(str(msg))
unreal.log(str(msg))
@@ -53,11 +63,11 @@ def clear(prefixes=()):
def build():
# --- level ------------------------------------------------------------
if unreal.EditorAssetLibrary.does_asset_exist(MAP):
if not unreal.EditorLevelLibrary.load_level(MAP):
if not switch_level(MAP):
log(f"could not load {MAP}")
return
else:
if not unreal.EditorLevelLibrary.new_level(MAP):
if not switch_level(MAP):
log(f"could not create {MAP}")
return