saumwacht-godot/tools/luneraria/lune_review.gd
Martin Stickelbroeck c27a0097c3 M1: spielbarer Drei-Lane-Kern mit Karte, HUD, Menü und Abnahme
Hauptszene scenes/luneraria.tscn, Saumwacht bleibt über --legacy und die
alten QA-Schalter erreichbar. Karte aus Bestandsassets plus neuem Turm,
HUD mit Planung, Lanes und Minimap, Menü umbenannt, Einstellungen werden
aus dem alten Benutzerordner übernommen. Simulation 6,6x schneller
(Raster, Caches, faire Staffelung) und exakt spiegelsymmetrisch.
Regeln 91/91, echte Anwendung 38/38, Legacy unverändert grün.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 21:37:23 +02:00

40 lines
1.4 KiB
GDScript

extends Node
## Real-app captures: menu, planning, lane combat, overview, destroyed core and result.
## Run: godot --path . --resolution 1920x1080 res://tools/luneraria/lune_review.tscn
var main: Node
var out := "res://docs/luneraria/screenshots/"
func _ready() -> void:
call_deferred("run")
func shot(name: String, frames: int = 12) -> void:
for i in frames: await get_tree().process_frame
await RenderingServer.frame_post_draw
get_viewport().get_texture().get_image().save_png(out + name + ".png")
print("LUNE_SHOT ", name)
func run() -> void:
Soundscape.enabled = false
main = load("res://scenes/luneraria.tscn").instantiate()
add_child(main)
var menu: MainMenu = main.menu
while not (menu.stage.is_ready("glutpakt") and menu.stage.is_ready("wurzelbund")):
await get_tree().process_frame
await shot("menu-title", 30)
menu.new_game_button.pressed.emit()
await get_tree().create_timer(1.8).timeout
await shot("menu-setup")
main.start_match({"seed": 4})
await get_tree().create_timer(.6).timeout
var game: Node3D = main.game
game.hud._starter.pressed.emit()
await shot("planning", 20)
game.camera.overview(true)
await shot("overview-planning", 20)
game._on_ready()
game.focus_lane("mid", true)
await get_tree().create_timer(9.0).timeout
await shot("combat-mid")
game.focus_lane("top", true)
await shot("combat-top")
game.camera.overview(true)
await shot("overview-combat")
print("LUNE_REVIEW_DONE")
get_tree().quit()