플러그인로 돌아가기
뽀모도로 베이직
다이얼 하나로 굴리는 집중/휴식 사이클. 헤더 버튼, 플로팅 위젯, 휴대폰 시트.
기능
- 집중 → 짧은 휴식 → 긴 휴식 사이클. 사이클 진행 상황은 다이얼 아래 점으로 표시
- 60눈금 다이얼 — 지나간 눈금이 페이즈 색으로 켜지고, 남은 시간은 한가운데
- 페이즈마다 색을 따로 설정 — 집중 / 짧은 휴식 / 긴 휴식 각각
- 다이얼을 그대로 축소한 헤더 버튼, 누르면 카드 전체가 팝오버로
- 선택적 플로팅 위젯(데스크톱·태블릿), 휴대폰 트레이 칩과 바텀 시트 — 모두 같은 카운트다운을 공유
- 휴식·다음 집중 자동 시작, 단계가 끝나면 알림음과 시스템 알림
- 다이얼을 누르면 시작·일시정지, 길게 누르면 초기화
- 명령:
뽀모도로: 시작 / 일시정지,단계 건너뛰기,사이클 초기화
기록도 차트도 없습니다. "지금 어느 단계이고 얼마 남았는가"만 답합니다.
사용법
플러그인을 켜면 프로젝트 헤더에 뽀모도로 버튼이 나타납니다. 시작을 누르고 알림음이 울릴 때까지 글을 쓴 뒤, 이어서 제안되는 휴식을 취하세요. 색·시간·사이클 길이·자동 시작은 설정 → 뽀모도로에 있습니다.
동작 방식
- 하나의 스토어, 모든 표면. 모듈 수준 싱글턴(
src/store.ts)이 실행 상태를 갖고, 헤더·위젯·칩·시트가 모두 구독합니다. 한 곳에서 시작하면 나머지도 즉시 반영됩니다. - 벽시계 기반 카운트다운. 실행 중인 단계는 종료 시각(epoch)을 저장하고 매 틱마다 남은 시간을 다시 계산합니다. 렌더러가 백그라운드로 밀려 타이머가 스로틀링돼도 25분 블록이 밀리지 않습니다. 앱이 꺼져 있는 동안 만료된 단계는 최근 5분 이내일 때만 완료 처리합니다.
- 다이얼은 SVG가 아니라 CSS. 60개 눈금은 반복 conic 그라디언트를 링 모양으로 마스킹해 그리고, 지나간 구간은 같은 패턴을 진행 각도 부채꼴과 교차시켜 칠합니다. 요소 60개를 배치할 필요가 없고, 12rem 시트 다이얼부터 0.9rem 헤더 링까지 같은 규칙으로 줄어듭니다.
- 페이즈 색은 언제나 액센트로만. 켜진 눈금·뱃지·헤더 링만 색을 쓰고, 카드는 앱의 중립 팝오버와 헤어라인 링, 고스트 버튼 그대로입니다. 뱃지는 앱 MCP 설정 탭의 상태 뱃지 규격.
- 아이콘은 lucide를 앱
MonoIcon굵기(stroke 1.5)로 인라인했습니다. 마켓플레이스 빌드는 상대 경로와 호스트 모듈만 허용해서 패키지를 의존성으로 둘 수 없습니다.
권한
notifications— 단계 종료 시 시스템 알림(거부해도 알림음과 화면 표시는 그대로 동작).