Optional instant stage-fail when a survival gauge hits 0%
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15
- Forks
- 1
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 29
Description
Context
LR2 aborts playback immediately ("閉店") when the HARD/HAZARD gauge empties; there is no way to keep playing (beatoraja's Gauge Auto Shift is the beatoraja-only escape hatch).
Since the wave-3 gauge alignment (commit 7bbf052), survival gauges (HARD / DEATH) collapse to 0% once they drop below 2% and never recover, and the run is reported as FAILED — but playback continues to the end of the chart by design (documented in packages/player/src/core/groove-gauge.ts).
Proposal
Add an opt-in "instant fail" behavior for survival gauges:
- when the gauge collapses to 0%, end the play session immediately (stop judging, drain audio, jump to the result path with FAILED),
- expose it as a
PlayerOptionsflag (and a TUI/web setting) rather than changing the default, so the current play-to-the-end behavior stays available for practice, - stamp the fail time so result screens / skins can show where the run died (the beatoraja web skin adapter already latches
TIMER_FAILEDon the gauge crossing into 0).
Notes
Low priority; pure feature work on top of the already-correct FAILED accounting.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with packages/player/src/core/groove-gauge.ts to understand the existing 0% collapse and FAILED accounting, then trace PlayerOptions and the play-session result path. Check how TUI/web settings and the beatoraja web skin adapter expose gauge failure. Done means the opt-in setting stops playback at collapse, preserves the default behavior when disabled, and makes the fail time available to result screens or skins.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100