scopedvr-map-editor/tests/probe_t_efb3d022_repro.gd
slyphax 491a47d3f1 Editor-Bibliothek auf das Military-Desert-Pack umgestellt
- 423 Objekte in 19 deutschen Kategorien (Panzer, Radfahrzeuge, Flugzeuge, Gebaeude,
  Zelte, Tuerme, Mauern, Sperren, Kisten, Technik, Felsen, Boden, Decals ...);
  Gruppen "Bauwerke" und "Kisten & Barrieren" samt Test-Asset-Namenslisten entfernt
- LibraryBrowser: Gruppen/Namen aus dem Manifest (kategorie, name_de), unbekannte
  Kategorien bekommen automatisch eine eigene Gruppe
- Thumbs neu, library/ synchronisiert (inkl. neuer Kollision)
- Neue Identitaetsprobe: Kollision ALLER Objekte Editor = Client = Server
- Tests auf Pack-Objekte umgestellt

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-25 16:31:28 +01:00

36 lines
1.4 KiB
GDScript

extends SceneTree
## Beweis-Probe t_efb3d022: `[library]` enthält einen Array-Eintrag.
## Vor dem Fix: SCRIPT ERROR "Invalid call. Nonexistent 'bool' constructor"
## beim Laden der Klapp-Zustände (bool(<Array>) ist kein gültiger Konstruktor).
## Nach dem Fix: sauberes Laden, Zustände kommen zurück, keine Fehler.
##
## godot4 --headless --path . -s res://tests/probe_t_efb3d022_repro.gd
##
## Grep-Muster für den Gegenbeweis: "SCRIPT ERROR" + "Nonexistent 'bool' constructor"
func _initialize() -> void:
_run.call_deferred()
func _run() -> void:
# Kaputte cfg simulieren: Array-Eintrag (Nicht-Bool) neben echtem Bool,
# plus zuletzt_benutzt (U4 schreibt das Array in dieselbe Sektion).
var cfg := ConfigFile.new()
cfg.set_value("library", "zuletzt_benutzt", PackedStringArray(["box_002", "box_001"]))
cfg.set_value("library", "gruppen_kisten", true)
cfg.set_value("library", "gruppen_bauteile", false)
cfg.set_value("library", "array_gruppe", PackedStringArray(["a", "b"]))
cfg.save("user://scopedvr_editor.cfg")
var scene: PackedScene = load("res://scenes/main.tscn")
var main: Control = scene.instantiate()
root.add_child(main)
await process_frame
await process_frame
var assets = main.assets_mod
var states: Dictionary = assets._library_load_open_states()
print("STATES=", states)
print("PROBE_ENDE states=", states.size(), " kisten=", states.get("gruppen_kisten", "?"),
" bauteile=", states.get("gruppen_bauteile", "?"))
quit(0)