extends VBoxContainer @onready var console = $ConsolePanel var _log_index := 0 func _ready() -> void: console.command_requested.connect(_demo_command) for id in ["rov", "host", "logs", "server"]: console.set_connection(id, true, "SIMULATED · " + id) console.append_output("rov", "[demo] ROV shell ready. Try help, pwd or status.\n") console.append_output("host", "[demo] Host shell ready. Try help or pwd.\n") console.append_output("server", "[demo] Server shell ready. Try help or status.\n") $Controls/Contrast.toggled.connect(func(high: bool) -> void: theme = load("res://themes/theme_highcontrast.tres" if high else "res://themes/theme.tres") ) $Controls/Feed.toggled.connect(func(enabled: bool) -> void: $LogTimer.paused = not enabled) $LogTimer.timeout.connect(_append_log) _append_log() func _demo_command(id: String, command: String) -> void: match command.strip_edges(): "help": console.append_output(id, "Demo commands: help, status, pwd, clear\n") "status": console.append_output(id, "[demo] Vehicle ready · stationkeep · no live transport\n") "pwd": console.append_output(id, "/" + id + " (simulated)\n") "clear": console.session(id).clear_output() _: console.append_output(id, "[demo] Received: " + command + "\n") func _append_log() -> void: _log_index += 1 var level := "WARN" if _log_index % 5 == 0 else "INFO" var message := "sample telemetry delayed" if level == "WARN" else "sample telemetry received" console.append_output("logs", "%04d %s rov-server: %s\n" % [_log_index, level, message])