[effort: high]
지렛대 2단계: 그림을 움직이게 한다(설계서 §7). 지금까지는 START 한 장면을 그리고 버튼에 즉시 다시 그렸다.

시작 전에: 지금의 out/lever/design.md를 out/lever/design.prev.md로 남겨 두었다. cp /tmp/claude-1000/-home-namenu-src-github-com-namenu-isowiki/c0557bfd-7c20-45bf-a3c9-ce3c1f39ab97/scratchpad/design-lever.md out/lever/design.md 하고 diff out/lever/design.prev.md out/lever/design.md로 바뀐 곳(§7 끌기 — 투명 그립)을 본다. 본보기: pages/differential/figure/live.js. 이 저장소 밖 파일(특히 ~/.claude/)은 읽지 않는다. 브라우저 시험은 .agents/skills/anatomy/scripts/drive.mjs(playwright는 없다).
Target: pages/lever/figure/live.js, 그리고 상태를 받아 다시 그리는 데 필요한 만큼 scene.mjs·index.mjs.
Change: §7 그대로 — tilt 지수 추종(0.35 s), 받침점 버튼(tilt>0이면 먼저 0으로, 받침대가 레일을 따라 0.6 s 미끄러져 옮겨 감, 핀이 다음 구멍에), 누르기/놓기, 투어(1:7→누르기→1 s→놓기→1:3…→3:1, 조작하면 멈추고 8 s 뒤 재개), 화면 밖·reduced motion, aria-pressed 동기화. 끌기는 손잡이와 저울 아래 막대를 덮는 투명 그립(data-grip, 화면 44 px 이상, touch-action: none)에서만, 무대는 touch-action: pan-y(도르래에서 실측: 무대 전체에 세로 끌기를 걸면 Chrome이 스크롤로 가져간다). 마우스는 무대 어디서나. 힌트를 "손잡이를 끌어 내리기 · 버튼으로 받침점"으로. 용수철저울 바늘과 아래 막대는 힘 × SPRING만큼 늘어난다(누르는 동안), 놓으면 0.
Constraints: 기하·그리는 순서는 바꾸지 않는다(1b 결과 유지). 설계서와 다르게 해야 하면 ask. 패키지 설치·커밋 금지.
Acceptance: preview·check(두 테마 line ends 0)·build. drive.mjs로 받침점 4곳 × tilt 0/TILT_MAX 스크린샷과 판독값(§3 표)과 lines 0. 390 px에서 손가락 끌기가 그립에서는 tilt를 바꾸고 그립 밖에서는 스크롤되는지. worker_done: 바꾼 파일(git status), 장면별 판독값 표, report 갱신(--report-path).
