운동 도크 하단 기하 — safe-bottom 소실 수리에서 도크 기하 구조 계약까지 (2026-08-25)
- 기간: 2026-08-25 ~ 08-26 (1세션, 오너 실기기 보고 3회: "진행중 화면만 미끄러짐" → "finish·종목 완료 도크가 너무 위로, 땜질 말고 구조 개선" → "리뷰 도크 여전히 한참 높음")
- 랜딩: PR #802(Phase 1,
f2fdc7aa) · PR #808(Phase 2,3e4430d3) · PR #815(Phase 3,e885c071) — 마이그레이션 없음, Vercel 자동 배포 - 정본: bug-report/bug-028-20260825.md(원인·대안·재발 방지) + workout.css "도크 기하 계약" 주석 블록 +
--dock-inset토큰(tokens.css) - 버그리포트:
bug-report/bug-028-20260825.md
Phase 현황
| Phase | 내용 | 상태 |
|---|---|---|
| Phase 1 | 도크 safe-bottom 가산(패딩·높이·앵커·여백) | ✅ PR #802 (f2fdc7aa) — 실기기에서 finish·리뷰 과부양 재보고 |
| Phase 2 | 도크 기하 구조 계약 — --dock-inset 단일 정본·빈 보정 마진 폐지·하단 절대 앵커 safe 가산 | ✅ PR #808 (3e4430d3) — 리뷰 도크 고정 높이(198)를 실콘텐츠로 오인하고 남김, 오너 재보고 |
| Phase 3 | 리뷰 도크 고정 높이 폐지 — 계약 C2 확장(고정 height로 총높이 흉내 금지), 입력창 플로우 48px·절대 앵커 소멸 | ✅ PR #815 (e885c071) |
요약
하단 바가 두 번 연속(내려앉음 → 과부양) 흔들린 근본 원인은 규칙 하나가 아니라 구조 4겹: ① 바닥 인셋이 규칙별 수기 패딩에 분산(08-06 원설계 4px+safe가 무기록 소실) ② finish 도크의 빈 32px 보정 마진이 총높이를 흉내 — 인셋 복원 후 이중 여백 ③ 리뷰 도크의 하단 절대 앵커(bottom:10px)는 패딩이 못 밀어 내부 벌어짐 ④ 수치 확정이 브라우저(safe=0) 기준.
Phase 2에서 도크 기하 계약으로 재구성(세로 구조 = 콘텐츠 존 + 실텍스트 존 + --dock-inset 단일 토큰), Phase 3에서 계약 C2를 확장해 마지막 잔재를 걷음: 리뷰 도크의 height: --dock-h 고정은 옛 "전 도크 동일 높이" 체계에 맞춰 입력창을 풀하이트 70%로 키워 채운 것 — finish의 빈 마진과 같은 부류인데 Phase 2 실측(198 vs 166)에서 실콘텐츠로 오인하고 정상 처리한 분석 누락이었다. 고정 height 삭제·입력창 플로우 48px(메인 버튼과 동일)·절대 앵커 소멸.
최종 실측(safe 0/34): finish 버튼 인셋 78→46(=진행중), 리뷰 총높이 198→169(진행중·finish 166과 3px = 콘텐츠 자연 차이), 브라우저(safe=0)는 의도된 변화(finish 버튼·리뷰 압축) 외 회귀 0. 교훈: 전수 실측표의 이상치는 "왜 다른가"를 콘텐츠 단위로 소명해야 종결 — 원인 미규명 정상 처리가 재보고 2회를 불렀다.
종결 — 오너 iOS 실기기 확인 2026-08-26("이제 잘 적용되었어"), 이슈 #801 닫음.