Simplify exam simulations and strip the slot machine down to just the machine

Simulations no longer color-code correct/incorrect choices, retry a
failed per-question autosave, or show the RZ coin/ELO badge - users
move on immediately after submitting a timed block, same as a real
exam. The slot machine panel now shows only the cabinet/reels/lever
and a status line (title, banner, controls row, rewards list, and
footer removed), the reels fill the cabinet window instead of
floating in a black border, the coin-burst animation no longer
starts oversized, and the toolbar button is UAT-only via
Brand.is_uat_environment().

Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
hz
2026-07-30 14:50:12 -05:00
co-authored by Claude Sonnet 5
parent 94de696af1
commit 9f150baecc
3 changed files with 31 additions and 367 deletions
@@ -23,6 +23,7 @@ var is_loading := false
var pending_action := ""
var request_queue: Array = []
var request_access_token := ""
var last_failed_action := ""
func _ready() -> void:
@@ -141,6 +142,7 @@ func _send_absolute(action: String, method: int, url: String, payload: Dictionar
if err != OK:
is_loading = false
pending_action = ""
last_failed_action = action
request_failed.emit("The simulation request could not be started.")
@@ -166,6 +168,7 @@ func _on_request_completed(result: int, response_code: int, _headers: PackedStri
var message := "Simulation request failed with status %d." % response_code
if not server_message.is_empty():
message = "%s %s" % [message, server_message]
last_failed_action = action
request_failed.emit(message)
return
if response_code == 204:
@@ -178,6 +181,7 @@ func _on_request_completed(result: int, response_code: int, _headers: PackedStri
return
var parsed: Variant = JSON.parse_string(body.get_string_from_utf8())
if typeof(parsed) != TYPE_DICTIONARY:
last_failed_action = action
request_failed.emit("The simulation API returned an invalid response.")
return
if action == "readiness":