diff --git a/src/ui/main.gd b/src/ui/main.gd index 7b7b902..e8e1d4f 100644 --- a/src/ui/main.gd +++ b/src/ui/main.gd @@ -858,9 +858,21 @@ func _maybe_start_demo_mode() -> void: oid = args[i + 3] var pos := Vector3(x, SvmapDocument.terrain_height_at(doc, x, z), z) interaction.demo_park_ghost(pos, oid) + # Demo-Aufbau: zwei Objekte setzen und eins orange auswählen — zeigt + # Ghost-Preview UND Auswahl-Markierung in einem Smoke-Screenshot. + if args.has("--ghost-demo-select"): + var before: Dictionary = history.snapshot(["objects"]) + (doc["objects"] as Array).append({"id": "watchtower_wood", "pos": [6.0, 0.0, 0.0], "scale": 1.0, "rot_y_deg": 0.0}) + (doc["objects"] as Array).append({"id": "crate_wood", "pos": [0.0, 0.0, 0.0], "scale": 1.0, "rot_y_deg": 0.0}) + history.commit("Demo: Objekte gesetzt", before, history.snapshot(["objects"])) + interaction.call("clear_selection", true) + _refresh_all() + interaction.select_object(1, true) + else: + _refresh_history_buttons() # Kamera nah heran, damit die Vorschau im Screenshot gut sichtbar ist. camera.target = pos + Vector3(0.0, 0.6, 0.0) - camera.distance = 26.0 + camera.distance = 14.0 camera.pitch_deg = 32.0 camera.yaw_deg = 40.0 camera.call("_apply") \ No newline at end of file