feat(client): add WRONG button F12 bug report capture (#495)

F12 pauses simulation, shows modal LineEdit prompt, saves three files
to user://bug-reports/gauntlet-t{tick}-{timestamp}/: snapshot.json
(full ObserverSnapshot), render.txt (simplified client-side text
render), description.txt (tester notes + tick/room/stance metadata).
Esc cancels without saving. Double-activation guard prevents stacking.

BUG_REPORT action added to InputMapper with wire guard in SimBridge
(client-only, never sent to server). Dialog on ModalLayer (CL 30).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-18 10:53:15 +01:00
co-authored by Claude Opus 4.6
parent bc073c891f
commit d7755698b2
5 changed files with 218 additions and 0 deletions
+4
View File
@@ -258,6 +258,10 @@ static func _action_enum_to_wire(action: int) -> String:
# Client-only action, not part of wire protocol
push_warning("SimBridge: OPEN_MENU is client-only, not sent to server")
return ""
InputMapper.Action.BUG_REPORT:
# Client-only action (#495), not part of wire protocol
push_warning("SimBridge: BUG_REPORT is client-only, not sent to server")
return ""
_:
push_warning("SimBridge: unknown action enum %s" % action)
return ""