feat(workspace): guide tonight's first pre-chorus on map and player - #955
feat(workspace): guide tonight's first pre-chorus on map and player#955seonghobae wants to merge 10 commits into
Conversation
Name the earliest labeled pre-chorus so the room can play the lift into the chorus. Workspace Open scrolls the matching map section; the player Hear action exists only when playback can seek.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (13)
🚧 Files skipped from review as they are similar to previous changes (6)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthrough첫 번째 유효한 Changes첫 프리코러스 안내
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: 🔵 Low · up to The player experience adds copy that may bypass the English and Korean localization contract, which could produce inconsistent or untranslated text for some users. The change is mergeable with explicit owner awareness and follow-up on localization compliance. Sequence Diagram(s)sequenceDiagram
participant Workspace
participant FirstPreChorusCallout
participant firstPreChorus
participant SongStructureGrid
participant PlayerFeature
participant PlaybackSurface
Workspace->>FirstPreChorusCallout: 현재 song 전달
FirstPreChorusCallout->>firstPreChorus: 첫 pre-chorus 해석
firstPreChorus-->>FirstPreChorusCallout: 구간·역할·시작 시간 반환
FirstPreChorusCallout->>SongStructureGrid: Open 액션으로 대상 구간 스크롤
PlayerFeature->>FirstPreChorusCallout: callback-only 모드와 seek callback 전달
FirstPreChorusCallout->>PlaybackSurface: Hear 액션으로 시작 시간 전달
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 80.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 25 functions across 11 files. (6 skipped: 6 unsupported.) ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Review finding verification on exact head |
# Conflicts: # CHANGELOG.md
# Conflicts: # AGENTS.md # CHANGELOG.md # CLAUDE.md # apps/desktop/src/features/workspace/Workspace.tsx # apps/desktop/src/locales/en/common.json # apps/desktop/src/locales/ko/common.json
|
Merged current develop into this branch: resolved shared-file conflicts by including both this feature's first-pre-chorus lift callout and the newly landed #957 playable-range work (Workspace.tsx keeps both imports; en/ko locales unioned with symmetric keys; AGENTS/CLAUDE/CHANGELOG unioned). No behavior dropped. |
Product outcome
Name tonight's first labeled pre-chorus so the room can play the lift into the chorus. Workspace Open scrolls the matching map section. The player Hear action exists only when playback can seek.
Exact current identity
develop@acdbea6344fe1231c39535b575f4de35e4c607c9.95e74ee869d5b0f461bd2a7775475f839f0a09d9.feat/workspace-first-prechorus-lift.Current exact scope
resolveFirstPreChorusselects the earliest boundedpre-chorusand the corroborated holding part, or a band-wide lift when no unique active ranked role remains.intro,verse,chorus,bridge,outro,tag,pickup,stop,handoff, or the first unlabeled section.workspace-scrollalways offers Open and scrolls the renderer-owned song-structure child.callback-onlyoffers Hear only whenonPlayFromSecondsexists and delegates that exact second.behavior: "auto"when the OS requests it.Verification
Desktop Vitest on this head: 233 passed. Included coverage files are at 100% statements/branches/functions/lines after the i18n helper. Typecheck is clean. This slice adds no dependency, lockfile, workflow, model, or database change.
The JavaScript dependency-security baseline remains owned by canonical #783 and must not be duplicated or suppressed here.
Merge gate
APPROVEDreview.Summary by CodeRabbit
새 기능
개선 사항
문서