Skip to content

Fix Guitar Hero post-failure routing and cut gameplay vision latency in V11 - #148

Merged
ProhibitedTV merged 9 commits into
mainfrom
fix/guitar-hero-v11-runtime
Sep 6, 2026
Merged

ProhibitedTV merged 9 commits into
mainfrom
fix/guitar-hero-v11-runtime

Conversation

@ProhibitedTV

Copy link
Copy Markdown
Owner

Evidence from the uploaded soak

The retained runtime bundle was still running Guitar Hero V9, not V10. It begins on SONG FAILED, successfully emits Down + Confirm for New Song, and then immediately classifies the transition as TITLE. V4's title handler resets route state to BOOT, after which the run spends the rest of the soak waiting/probing Start rather than returning to setlist.

The same bundle also exposes a more fundamental gameplay problem: the requested 60 Hz loop has a 16.67 ms budget, while representative telemetry shows roughly 30 ms capture + 47 ms policy and ~90 ms total loop time with a 100% overrun ratio / critical pressure. Tuning hit windows on top of that cadence is not meaningful.

V11 lifecycle hardening

  • retain V10's deterministic failure-row reading and temporal note filter
  • after confirming New Song, explicitly transfer ownership to the setlist route
  • keep that ownership through a bounded failure->setlist transition window
  • suppress image-only title resets after a non-boot route is established; an explicit title template can still legitimately reset to BOOT
  • add telemetry for transition ownership and suppressed title collisions

V11 vision/runtime performance

  • reduce GH normalized vision from 640x480 to 480x360
  • reduce pre-lock receptor candidate fan-out from 6 to 4
  • after the five-receptor geometry is locked, validate it with small local color windows rather than recomputing the Cartesian five-lane candidate product every frame
  • immediately fall back to full V8/V10 geometry if local support weakens
  • skip expensive menu morphology while a song is launching/playing
  • keep V10 temporal approach validation, difficulty lane masking, whammy-off and Star-Power-off calibration posture
  • expose fast/full layout counts and skipped menu-scoring frames

Regression coverage

Adds tests for locked-highway fast-path reuse, gameplay menu-score suppression, preservation of failed->setlist routing through a title-like false positive, V11 telemetry, and active registry export.

This remains diagnostic until a fresh V11 process reaches and survives real Easy gameplay. The uploaded bundle itself contains no fret-playing inputs, so it cannot validate V10/V11 note quality.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ac4025d508

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +49 to +55
if protected_route and self.phase is not GuitarHeroPhase.BOOT and not self._explicit_title_template(ctx):
old_threshold = self.title_splash_threshold
self.title_splash_threshold = 1.01
try:
screen = super()._classify(ctx, obs)
finally:
self.title_splash_threshold = old_threshold

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Suppress both image-only title detectors

When a protected route is in PRESENTATION—for example, if the failed-to-setlist animation outlasts the five-second guard—the inherited V2 classifier can still return TITLE from obs.title_score. Raising only title_splash_threshold disables V4's detector but not this second image-only path, after which V4 resets the route to BOOT and recreates the unattended-stream failure this change is intended to fix. Reject a returned image-only TITLE here unless _explicit_title_template(ctx) is true.

Useful? React with 👍 / 👎.

@ProhibitedTV
ProhibitedTV merged commit 19deef0 into main Sep 6, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant