Skip to content

feat(gameplay): add Practice Lab section loops - #30

Merged
Codewriter90x merged 2 commits into
developfrom
feature/practice-lab
Aug 20, 2026
Merged

Codewriter90x merged 2 commits into
developfrom
feature/practice-lab

Conversation

@Codewriter90x

Copy link
Copy Markdown
Owner

Summary

Adds a Practice Lab to the existing gameplay pause flow with four-bar sections and manual A-B loops.

Runtime boundaries

  • reuses DspSongClock and absolute chart timing;
  • seeks the real audio playhead without frame-based timing accumulation;
  • filters the existing hit matcher to the active range;
  • keeps practice time cumulative while score and analysis reset per pass;
  • keeps metronome, highway and MIDI timing aligned after every loop.

UX

Pause with Esc or P, choose a section or set A and B, then resume. Each repeat includes a two-beat preparation window where possible.

Validation

  • Core: 42/42
  • MIDI tool: 39/39
  • Unity EditMode: 471/471
  • Unity PlayMode: 47/47
  • Unity 6000.5.6f1 on macOS arm64

Scope

No second clock, timeline, matcher or scoring engine. Loop selections are intentionally in-memory for this foundation.

# Conflicts:
#	docs/README.md
#	src/HitTheKit.Unity/Assets/HitTheKit/Runtime/Audio/DspSongClockPrototype.cs
#	src/HitTheKit.Unity/Assets/HitTheKit/Runtime/Charts/ChartTimelinePrototype.cs
#	src/HitTheKit.Unity/Assets/HitTheKit/Runtime/Gameplay/GameplayHighwayController.cs
@Codewriter90x
Codewriter90x marked this pull request as ready for review August 20, 2026 09:05
@Codewriter90x
Codewriter90x merged commit 41622c9 into develop Aug 20, 2026
8 checks passed
@Codewriter90x
Codewriter90x deleted the feature/practice-lab branch August 20, 2026 09:05
Codewriter90x added a commit that referenced this pull request Aug 20, 2026
* chore(repo): establish staged release workflow (#29)

* chore(legal): adopt MPL-2.0 community license (#36)

* chore(legal): adopt MPL-2.0 community license

* fix(release): embed MPL distribution notices

* feat(charts): add chart creator foundation (#28)

* feat(charts): add chart creator foundation

* feat(songs): add portable htksong packages

* feat(charts): import local audio for authoring

* feat(charts): add note editing and local audio binding

* feat(charts): add waveform and note expression editing

* docs(legal): sync contributor agreement draft into develop (#39)

* feat(gameplay): add Practice Lab section loops (#30)

* feat(gameplay): add section performance error map (#40)

* feat(gameplay): add Auto Tempo Coach (#31)

* feat(settings): add guided audio latency sound check (#33)

* feat(gameplay): add local ghost replay (#34)

* feat(gameplay): add accessible reactive stage (#35)

* chore(release): prepare 0.6.0 beta candidate

* fix(ui): keep gameplay results controls readable

* docs(release): record final beta validation
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