feat: implement rehearsal priority calculation and cue-sheet export (#36)#91
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (9)
Cache: Disabled due to Reviews > Disable Cache setting Disabled knowledge base sources:
📝 WalkthroughSummary by CodeRabbit릴리스 노트
Walkthrough리허설 우선순위 계산 로직을 백엔드에 추가하고, 프론트엔드에서 우선순위 기반 UI 표시 및 cue-sheet/chart 내보내기 기능을 구현했습니다. 파일명 및 CSV 안전화도 포함되었습니다. Changes
Sequence Diagram(s)sequenceDiagram
participant Backend as 분석 엔진<br/>(Role Extractor)
participant Priority as 우선순위<br/>계산 모듈
participant Frontend as 프론트엔드<br/>(Workspace)
participant Export as 내보내기<br/>유틸리티
Backend->>Priority: 각 역할과<br/>메타데이터 전달
Priority->>Priority: 신뢰도, 겹침,<br/>설정 메모 평가
Priority-->>Backend: rehearsalPriority<br/>(HIGH/MEDIUM/LOW)
Backend-->>Frontend: RehearsalSong<br/>(우선순위 포함)
Frontend->>Frontend: 우선순위 색상<br/>& 아이콘 렌더링
Frontend->>Export: 내보내기<br/>요청
Export->>Export: 파일명 안전화<br/>(sanitizeFilename)
Export->>Export: CSV/JSON 생성<br/>(CSV 공식 주입 방지)
Export-->>Frontend: Blob 객체
Frontend->>Frontend: 다운로드<br/>실행
sequenceDiagram
participant User as 사용자
participant UI as SectionRoadmap<br/>컴포넌트
participant Helper as 우선순위<br/>헬퍼 함수
participant Render as DOM<br/>렌더링
User->>UI: 리허설 차트 조회
UI->>Helper: getPriorityColor<br/>(role.rehearsalPriority)
Helper-->>UI: 색상 값<br/>(high/medium/etc)
UI->>Helper: getPriorityIcon<br/>(role.rehearsalPriority)
Helper-->>UI: 아이콘 컴포넌트
UI->>Render: 좌측 테두리 색상,<br/>우선순위 아이콘<br/>및 툴팁 렌더링
Render-->>User: 우선순위 기반<br/>시각화 표시
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Possibly related PRs
Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Fixes #36
This PR implements rehearsal priority calculation heuristics and cue-sheet/chart export functionality.
overlapWarningsfrom frontend contracts and mock data.export.tswith CSV and JSON export features.Workspace.tsx.calculate_rehearsal_priorityinpriority.pywith full tests.