-
Notifications
You must be signed in to change notification settings - Fork 1
feat(workspace): loop tonight's first section from the map #971
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
seonghobae
wants to merge
166
commits into
develop
Choose a base branch
from
feat/rehearsal-player-first-section-loop
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
166 commits
Select commit
Hold shift + click to select a range
0eeec7b
feat(workspace): loop tonight's first section from the map
seonghobae d329fbc
test(player): require explicit audio and one-shot start authority
seonghobae aa43a84
fix(player): bind starts to fresh audio-authorized requests
seonghobae 58cf249
test(workspace): bind role loop action to local audio
seonghobae de00811
fix(workspace): gate role loop by local audio authority
seonghobae 80265c2
test(workspace): reject duplicate section id selection aliasing
seonghobae 28e82d1
fix(workspace): select loop sections by renderer position
seonghobae 1fb2ad1
test(workspace): revoke loop authority fail closed
seonghobae 6675a83
fix(workspace): stop loop when local audio is revoked
seonghobae 9e8f605
test(workspace): reject malformed loop section entries
seonghobae 705b0f7
fix(workspace): validate loop sections before id lookup
seonghobae 65da84c
test(workspace): preserve paused count-in progress
seonghobae 5a839da
fix(workspace): resume paused count-in before looping
seonghobae eafc121
test(workspace): disable duplicate start during active loop timing
seonghobae 65c73c8
fix(workspace): disable start while loop timing is active
seonghobae 0476b6d
docs: use analysis-engine working directory for Python checks
seonghobae 78527c7
docs(workspace): describe finite non-negative transport guard
seonghobae ff20581
test(workspace): scope timeline range assertion
seonghobae affa8da
test(workspace): restore focused App integration coverage
seonghobae 1fc6317
fix(workspace): structure loop selector label fields
seonghobae 6a58bad
test(workspace): preserve live loop across metadata updates
seonghobae b100551
fix(workspace): preserve live loop on unrelated song updates
seonghobae 646f470
docs: align Python verification working directory
seonghobae 96a191a
test(i18n): name selected-section loop action honestly
seonghobae b4a5a0d
fix(i18n): name selected-section loop action honestly
seonghobae 3de2b62
fix(i18n): localize selected-section loop action
seonghobae 110ca67
test(workspace): follow selected-section loop copy
seonghobae ab660b6
test(i18n): keep rehearsal clock copy honest
seonghobae 139e820
fix(i18n): describe timer-only loop honestly
seonghobae 7617f0d
fix(i18n): localize rehearsal clock honestly
seonghobae c9fb0f6
test(workspace): follow rehearsal clock copy
seonghobae 0512f30
test(player): align loop assertions with shipped next-action copy
seonghobae f5f753d
test(player): verify revocation after the loop advances
seonghobae 7c1b497
test(player): advance the live-loop clock before revocation
seonghobae ad2d219
test(workspace): pin loop section descriptor authority
seonghobae 6b8abe5
fix(workspace): snapshot loop section authority
seonghobae 0c7b293
test(workspace): pin loop picker snapshot authority
seonghobae 3d5ac83
fix(workspace): snapshot song loop windows
seonghobae f420ffe
fix(workspace): render snapshotted loop windows
seonghobae 2a8a96b
docs(changelog): describe map-clock snapshot boundary
seonghobae d8e0c4f
docs(changelog): preserve historical release text
seonghobae 0a8d316
Merge branch 'develop' into feat/rehearsal-player-first-section-loop
seonghobae d2f9a2f
Merge remote-tracking branch 'origin/develop' into HEAD
seonghobae cfcfa1e
fix(desktop): bound rehearsal loop inputs
seonghobae 6de3f55
fix(a11y): announce rehearsal transport status
seonghobae 7a59047
fix(player): restart externally requested loops
seonghobae 2803109
feat(player): play real audio section loops
seonghobae c911b41
fix(player): harden cross-platform audio loop boundaries
seonghobae 5187e03
fix(player): cap long loop boundary timers
seonghobae 6a9c576
test(player): reproduce unusable audio authority start
seonghobae 2ff2615
fix(player): require playable media authority
seonghobae d53758b
test(player): use real media authority in loop tests
seonghobae 8ab7e7d
feat(player): add bounded rehearsal playback rates
seonghobae 9491543
fix(player): share playable audio authority
seonghobae 308c802
Merge real-audio loop authority fix
seonghobae e517a98
fix(player): align loop timing with playback rate
seonghobae 39927fb
feat(player): filter loops by rehearsal role
seonghobae 43698a6
fix(player): preserve role loop selection
seonghobae 2490ce2
feat(player): add keyboard section cue navigation
seonghobae 04396d9
fix(player): follow focused cue during arrow navigation
seonghobae 9c61a80
feat(player): allow manual cue boundary corrections
seonghobae 8a5160a
feat(player): add bounded cue seeking
seonghobae 81efbe3
fix(player): preserve cue editor focus
seonghobae c37e589
feat(player): add safe transport shortcuts
seonghobae dbd15a9
fix(player): ignore repeated transport shortcuts
seonghobae 4d13e56
feat(player): add safe transport shortcuts
seonghobae b8c17fa
fix(player): scope transport shortcuts safely
seonghobae c6fb104
feat(player): allow manual cue boundary corrections
seonghobae e279396
feat(player): filter loops by rehearsal role
seonghobae aa1c36f
fix(player): ignore modified escape shortcuts
seonghobae b8a4e1c
fix(player): preserve duplicate cue identity
seonghobae b96e454
fix(player): preserve cue selection across edits
seonghobae 82ec453
feat(player): play real audio section loops
seonghobae d92ad78
feat(player): add keyboard section cue navigation
seonghobae b8b4241
fix(player): preserve count-in timing across rate changes
seonghobae 826b1df
docs: align agent guidance with playback rate
seonghobae d99c935
test(player): cover repeated count-in rate changes
seonghobae 435cc02
feat(player): add bounded rehearsal playback rates
seonghobae 7c24f59
fix(player): preserve scroll-region Space behavior
seonghobae b7fd151
Merge latest rehearsal-player base
seonghobae e29739f
feat(player): add bounded cue seeking
seonghobae a802ace
test(player): preserve cumulative count-in progress
seonghobae c207737
fix(player): preserve cumulative count-in progress
seonghobae 8ae5cff
style(player): preserve canonical source formatting
seonghobae a8b7170
test(player): reproduce media lifecycle interruptions
seonghobae 7bba2de
fix(player): distinguish media interruption from failure
seonghobae 3f4e1f4
test(player): reproduce stale play rejection race
seonghobae 6467f57
fix(player): ignore superseded play rejections
seonghobae a34f090
style(player): restore canonical trailing newline
seonghobae 08a9900
test(player): reproduce hidden playback-scope preparation error
seonghobae c5e1acd
fix(player): preserve safe playback preparation failure
seonghobae 598b8c2
test(player): scope timer-only copy guard to no-audio state
seonghobae f1f31fc
docs(player): distinguish media playback from decode ownership
seonghobae fe4d7ee
docs(player): document scoped Tauri media playback boundary
seonghobae 7f3df1a
test(player): reproduce Tauri string rejection boundary
seonghobae 3ee7989
fix(player): surface allowlisted Tauri string errors
seonghobae 1f1c7ac
test(player): reproduce stale boundary snapshot edit
seonghobae 8cdb2d0
chore(player): keep snapshot regression out until causal fix lands
seonghobae 0a6e6c1
test(player): reject stale boundary edits
seonghobae a2fa4cc
fix(player): fail closed on stale boundary snapshots
seonghobae a215330
test(player): round adjusted tempo in rehearsal copy
seonghobae 797bf39
fix(player): round adjusted rehearsal tempo
seonghobae 86fbda6
test(player): align cumulative count-in timing
seonghobae 302b53c
test(player): preserve renderer-owned roadmap focus contract
seonghobae b6d01a5
fix(player): preserve renderer-owned roadmap focus targets
seonghobae 4534e84
test(player): require audible transport count-in
seonghobae e21a6cc
feat(player): sound transport count-in beats
seonghobae 07c001c
test(player): cover audible count-in engine
seonghobae a3bc430
refactor(player): bound count-in node cleanup
seonghobae effb237
feat(player): integrate audible count-in
seonghobae dca1cfa
test(player): require count-in context disposal
seonghobae 2aa27c6
fix(player): dispose count-in audio context
seonghobae dfb8519
test(player): cover count-in disposal during pending resume
seonghobae 5d5b102
fix(player): dispose count-in context on unmount
seonghobae cb9c347
test(player): reproduce Strict Mode count-in disposal regression
seonghobae f260547
fix(player): preserve count-in through Strict Mode effect replay
seonghobae c7e53f7
test(workspace): expose missing loop roadmap selection wiring
seonghobae 27a4a58
chore(ci): stage bounded PR 971 roadmap wiring repair
seonghobae 762506b
chore(ci): run bounded PR 971 roadmap wiring repair
seonghobae 75328c3
refactor(ci): remove self-modifying player repair workflow
seonghobae 6a537f3
refactor(ci): remove temporary source repair helper
seonghobae cafe635
fix(workspace): project player loop selection to roadmap
seonghobae dd8e136
fix(player): publish admitted loop selection to workspace
seonghobae b449fa9
test(workspace): isolate duplicate-section chord edits
seonghobae 375ede4
fix(workspace): scope chord edits to renderer occurrence
seonghobae 78a4de9
test(player): reject loop boundaries beyond loaded audio
seonghobae d3abeef
fix(player): bind loop authority to loaded media duration
seonghobae e106757
test(player): reject replay of uncovered start request
seonghobae c9830a0
fix(player): consume rejected uncovered start request
seonghobae c90d855
test(player): require revocable native playback authority
seonghobae f6fc519
feat(player): add revocable native playback protocol
seonghobae ae8aa46
test(player): pin opaque playback authority handle
seonghobae d0112f3
fix(player): consume opaque native playback authority
seonghobae 784ff40
fix(player): expose revocable playback authority helper
seonghobae c2b0802
fix(player): disable additive asset protocol scope
seonghobae e9c4c8f
fix(player): scope CSP to revocable playback protocol
seonghobae 4711542
fix(player): wire revocable native playback authority
seonghobae 3e0b6d7
fix(player): preserve score root while wiring playback
seonghobae d057566
test(player): reject unbounded full-recording playback reads
seonghobae 8716377
fix(player): bound unranged playback responses
seonghobae 788df68
test(playback): reject same-size source replacement
seonghobae 2ed840b
fix(playback): bind authority to native source identity
seonghobae 9fb7863
test(playback): reject same-inode source mutation
seonghobae 7c5adfd
fix(playback): revoke mutated native source
seonghobae 3fda1a7
test(player): prove playback revocation is linearizable
seonghobae d5dc2fc
fix(player): serialize playback authority revocation
seonghobae 22d41c1
test(player): use renderer-safe playback authority fixture
seonghobae 00daa49
test(player): require roadmap focus for selected loop
seonghobae 8c49b47
fix(player): focus selected roadmap occurrence
seonghobae 161c954
test(player): preserve arrow-key focus across roadmap sync
seonghobae 90e74b4
fix(player): preserve keyboard focus during roadmap sync
seonghobae a7831a6
test(player): require timeline-to-transport selection
seonghobae 069fa5a
fix(player): route timeline selection through transport
seonghobae ee6e32f
test(workspace): cover timeline selection outside active role
seonghobae 73c3b9c
fix(workspace): honor full-form timeline selection across role filters
seonghobae 449300f
test(workspace): preserve timeline roadmap focus succession
seonghobae 2535f71
fix(workspace): preserve roadmap focus on timeline actions
seonghobae c58eb3b
test(player): retain role on rejected timeline section
seonghobae f395479
fix(player): preserve role on inadmissible timeline selection
seonghobae eb4fe64
test(ui): reject false-active bass transcription control
seonghobae e1d850e
fix(ui): stop advertising unavailable transcription as active
seonghobae 175e5f7
test(ui): align bass transcription contract with actual capability
seonghobae 803019e
test(ui): consolidate transcription regression coverage
seonghobae d1ca68d
Merge branch 'develop' into feat/rehearsal-player-first-section-loop
opencode-agent[bot] 9c1b20e
Merge branch 'develop' into feat/rehearsal-player-first-section-loop
seonghobae 09bedd8
fix(player): remove stale Tauri lock orphan
seonghobae File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.