Add F1 dev menu: level switching + save-state management #71

Merged
Nimby merged 1 commit from task/70-dev-menu into main 2026-10-05 13:07:08 -04:00
Collaborator

Closes #70

F1 opens a dev overlay (works in release builds): jump to any area (auto-discovered from res://scenes/areas/, keeps its saved progress, doesn't move Continue), reset or instantly complete the current level, reset all progress.

Validated from source and in a packed Linux release export (F1/Esc, area discovery, complete 47/47 + win, reset, jump, F1 ignored under pause menu), plus a real Xvfb screenshot of the panel.

🤖 Generated with Claude Code

Closes #70 F1 opens a dev overlay (works in release builds): jump to any area (auto-discovered from res://scenes/areas/, keeps its saved progress, doesn't move Continue), reset or instantly complete the current level, reset all progress. Validated from source and in a packed Linux release export (F1/Esc, area discovery, complete 47/47 + win, reset, jump, F1 ignored under pause menu), plus a real Xvfb screenshot of the panel. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
A DevMenu autoload overlay, toggled with F1, for testing:
- Jump to any area, discovered from res://scenes/areas/ via
  ResourceLoader.list_directory (resolves *.tscn.remap in release
  exports), so areas generated by tools/mapgen appear automatically.
  Jumping keeps that area's autosaved placements and does not move
  where Continue resumes.
- Reset this level (clear its saved placements and reload) and
  Complete this level (silently place every unplaced item, skipping
  one the player is holding, which fires the normal win path).
- Reset all progress (start_new_game, back to the main menu).

Works in release builds on purpose: playtests ship as release
exports. Registered after PauseMenu so Esc closes it without also
opening the pause menu; F1 is ignored while the pause menu has the
game paused.

Validated with a disposable hook (reverted) both from source and in
a packed Linux release export: F1/Esc open/close and pause, both
areas listed, complete -> 47/47 + win, reset -> 0 placed and save
entry gone, jump -> Treasury with Continue position unchanged, F1
ignored under the pause menu. Checked the open panel's layout with
a real Xvfb screenshot.

Closes #70

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nimby merged commit ca06b34d0c into main 2026-10-05 13:07:08 -04:00
Nimby deleted branch task/70-dev-menu 2026-10-05 13:07:08 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
scruffydude/project-awry!71
No description provided.