debug: SR_FORCE_ARENA_IDS to pin a gauntlet floor's arena line-up - #43
Merged
Merged
Conversation
Art and QA passes on the replay arenas were awkward: the floor rolls
random arenas and persists them, so hitting a specific arena meant
relaunching until it came up.
DEBUG-only env hook that forces an exact line-up and wins over the
persisted picks, so a launch is reproducible:
SIMCTL_CHILD_SR_FORCE_ARENA_IDS=arena_08,arena_09 \
xcrun simctl launch <udid> com.hexwireaaron.game
Ids are validated against ArenaPool, so a typo or an unknown id falls
through to the normal random roll rather than producing an empty floor.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
scrimshawlife-ctrl
approved these changes
Aug 31, 2026
scrimshawlife-ctrl
left a comment
Owner
There was a problem hiding this comment.
DEBUG-only #if DEBUG hook, validated against ArenaPool, CI green across hygiene, tests, Debug/Release, and unsigned archive. Squash-merging.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A DEBUG-only env hook that makes art/QA passes on the replay arenas reproducible.
Why
A gauntlet floor rolls random arenas and persists them, so checking a specific arena's background meant relaunching until it happened to come up. With 20 arenas that's slow.
What
SR_FORCE_ARENA_IDSforces an exact line-up and wins over the persisted picks:Safety
#if DEBUG— cannot affect a Release build.ArenaPool; unknown ids are filtered out, and if nothing valid remains it falls through to the normal random roll. A typo can't produce an empty floor.Follows the existing
SR_AUTOSTART_MISSION_IDdebug-hook pattern.Validation
Used throughout the arena art pass — pinned line-ups loaded exactly as specified, and the log confirms the resolution (
SR_FORCE_ARENA_IDS → ["arena_08", "arena_09"]).Code-only; no files added/removed, so no XcodeGen regeneration needed.
🤖 Generated with Claude Code