2026-06-23 PulseUp 작업일지입니다. 오늘은 4건의 작업을 진행했습니다.
EMOM-Stress SET 연속 전환 벨소리 제거
현상/기능
- MAIN-Stress는 그대로 두고, EMOM-Stress에서 같은 운동의 SET 1→2(→3) 전환 시 벨소리가 울리지 않게
작업
- `renderer/components/`, `renderer/components/`
- EMOM-Stress runner에서 "다음 메인 운동이 같은 위치(=SET 연속)"인지 판별(`isSameMoveContinuation`)해 스텝 브로드캐스트에 `suppressCountdownBell` 플래그를 추가. 렌더러 카운트다운은 이 플래그가 true면 잔여 3초 종료 벨을 건너뛰도록 수정. MOVE(운동)가 바뀌는 마지막 SET에서만 벨이 울리며, MAIN-Stress·EMOM-Loop는 플래그 미전송으로 기존 동작 유지
EMOM-Stress 재생 오분류 근본 수정 (웹 재생 metadata)
현상/기능
- EMOM-Stress가 계속 RND로 표시되고 SET/MOVE가 반대로 동작 — 실행 로그상 `StressModule`로 오분류됨
작업
- 재생 metadata 빌더의 `computeCircuitType`가 카테고리를 `workoutCategoriesId`(UUID)로 비교해 EMOM 판별이 항상 실패하던 버그를 수정. 이름(`workoutCategoriesName`) 우선으로 EMOM/AMRAP을 판별하고, EMOM이면 `workoutCategory='EMOM'`과 `emomCircuitType/method_type`(=master.circuitType의 stress/loop)을 함께 전송하도록 변경. 이로써 Electron이 EMOM으로 인식하고 EMOM-Stress 모듈/표시(SET·MOVE)를 정상 선택
- **Web**
EMOM-Stress 독립 모듈 분리
현상/기능
- EMOM-Stress를 Main Stress/Loop처럼 완전 독립 모듈로 떼고, 선택도 동일하게 레지스트리 기반으로 분리
- 모듈/네비게이션 선택을 Main Stress/Loop와 동일한 방식으로
작업
- 기존 `EmomModule` 내부 분기(`isEmomStressPlayback`)로만 존재하던 EMOM-Stress를 전용 폴더/모듈(`EmomStressModule`)로 분리. 메인 재생 runner와 판별 헬퍼, 네비게이션을 새 폴더로 이동·정리하고 는 EMOM-Loop 전용으로 단순화
- 레지스트리에 `'emom-stress'` 케이스(모듈·네비)와 `resolveModuleCircuitType` 추가. 화면 표시/큐 빌더용 `circuitType`은 `'emom'`을 유지하면서, `createWorkoutModule`과 prev/next 네비게이션이 metadata·시퀀스 구조로 EMOM-Stress를 판별해 전용 모듈을 선택하도록 변경. 빌드/테스트/lint 통과
EMOM-Stress Electron 표시/카운터 보정
현상/기능
- EMOM-Stress 실행 시 영상창 상단을 `Main Training (Stress)`가 아닌 `EMOM (Stress)`로 표시
- 카운터 영역 `RND`를 `SET`으로 바꾸고 `workout_exercises_logic.md` 기준의 SET/MOVE 순서로 표시
- EMOM-Stress가 여전히 기존 EMOM-Loop처럼 `RND`로 표시되고 MOVE만 증가하는 문제 수정
작업
- Renderer 서킷 판별에서 `workoutCategory=EMOM`을 `circuitType=stress`보다 우선하도록 변경하고, 별도 method 판별값을 GridDisplay 전략에 전달. EMOM-Stress 메인 위치는 `EMOM (Stress)`로 표시하고 EMOM-Loop 기본 표시는 유지
- EMOM-Stress method metadata를 main process에서 보존하고, 타이머 표시가 `SET/MOVE`를 사용하도록 보정. 전반/후반 마지막 운동까지 문서 기준 카운터가 유지되는 테스트와 Renderer 판별 테스트를 추가
- `circuitType`이 `emom`으로 정규화된 뒤에도 EMOM-Stress runner가 선택되도록, metadata뿐 아니라 실제 시퀀스 구조(`A1→A1→A1→A2...`)로 판별하는 로직을 추가. 전용 runner payload에 `counterMode=emom-stress`와 method metadata를 명시해 Renderer가 항상 `SET/MOVE`로 표시하도록 보강
- **Electron/Test**