2026-06-19 PulseUp 작업일지입니다. 오늘은 4건의 작업을 진행했습니다.

월간프로그램 운동상세 영상 모달

현상/기능

  • 운동상세 기록 DataTable에서 운동명 클릭 시 해당 운동 영상을 모달 팝업으로 표시
  • 영상 모달 미표시 버그 수정

작업

  • 운동명(영문/한글) 클릭 시 Vimeo/YouTube 임베드 모달을 열고, 영상 URL이 없으면 Snackbar 경고를 표시. 행 선택과 분리하기 위해 클릭 이벤트 stopPropagation 처리
  • DB `video_url`이 Vimeo ID(숫자)만 저장되는 경우를 파싱하도록 수정, Snackbar 호출 시그니처 수정, 모달을 `createPortal`+z-index 10000으로 헤더 위에 표시
  • **Web**

3화면 Main 운동 전반/후반 배치 변경

현상/기능

  • 3개 화면에서 모든 운동의 전반을 A/C가 아닌 A/B로, 후반을 B/D가 아닌 C/D로 표시
  • 저장/정렬 기준도 모든 Main 운동에서 전반 A/B, 후반 C/D 순서로 통일
  • 변경된 3화면 전반/후반 기준을 테스트와 운동 실행 문서에 반영

작업

  • 공통 grid position 해석을 `A/B=set1(전반)`, `C/D=set2(후반)`, 3화면 물리 배치를 `좌 A/C`, `우 B/D`로 변경. AMRAP/EMOM 전용 B↔C 스왑을 no-op 처리하고 큐 빌더·seek 라벨·half-group 판정을 새 기준에 맞춤
  • 저장 정렬 lap 순서를 `A1→A2→A3→B3→B2→B1 / C1→C2→C3→D3→D2→D1` 기준으로 통일하고 레거시 L/R·구 A/B 변환도 새 A/B·C/D 반 구분에 맞게 동기화
  • Electron grid/intro/seek/Loop/Stress 테스트와 Web grid 테스트 기대값을 새 기준으로 수정. `workout_exercises_logic.md`의 Stress·Loop·EMOM·AMRAP 예시를 전반 A/B, 후반 C/D 순서로 업데이트
  • **Web**
  • **Test/문서** · `**/*.`, , `workout_exercises_logic.md`

3화면 인트로 그리드 표시

현상/기능

  • 3화면 인트로에서 좌측 1열 A1~A3, 좌측 2열 B1~B3, 우측 1열 C1~C3, 우측 2열 D1~D3로 표시
  • RemoteControl 선택보기도 A/B/C/D와 번호 1/2/3 체계로 변경
  • 5화면 인트로가 좌측부터 A, B, C, D 화면으로 표시되도록 보장

작업

  • 인트로 전용 표시/필터/선택보기 매핑을 Main 재생의 set/side 판정과 분리. 3화면 인트로는 `좌 A/B · 우 C/D`로 필터링하고, B/D 위치는 각 화면의 4~6번 슬롯에 배치되도록 수정
  • 선택보기 구역 버튼을 A/B/C/D 4개로 확장하고 번호 선택을 1~3으로 축소. Electron `intro-focus`로 `zone=A~D`, `number=1~3` payload가 전송되도록 검증 범위와 안내 문구를 동기화
  • 5화면 인트로 필터 기준을 테스트로 고정. `workout-left=A`, `workout-left-2=B`, `workout-right=C`, `workout-right-2=D`와 구형 `A4~A6/B4~B6` 정규화가 각각 B/D 패널로 이동하는지 검증
  • **Web**
  • **Test**

EMOM-Stress Electron 재생

현상/기능

  • Web에 추가된 EMOM-Stress를 Electron에서도 별도 파일로 분리해 문서 순서대로 재생
  • EMOM-Stress 화면 표시와 문서 기준을 SET/MOVE 규칙에 맞춤

작업

  • `method_type=stress` EMOM 세션을 감지해 기존 EMOM-Loop runner가 아닌 EMOM-Stress 전용 runner로 분기. 저장된 순서대로 `A1 SET1→2→3`, `A2 SET1→2→3` 방식으로 진행하고, MOVE는 6개 position 블록 기준으로 계산하도록 구현
  • EMOM-Stress는 타이머 상단 라벨을 `SET/MOVE`로 표시하고 EMOM-Loop는 기존 `RND/MOVE`를 유지하도록 분기. 전용 테스트를 추가하고 `workout_exercises_logic.md`의 EMOM-Stress 상태를 완료로 갱신
  • **Renderer/Test** · , , `workout_exercises_logic.md`