Isowiki 도르래(pulley) 그림 구현 — 1단계(그림만). 설계는 coordinator(Claude)가 끝냈다. 너는 설계서를 그대로 구현한다.

시작 전에:
1. mkdir -p out/pulley && cp /tmp/claude-1000/-home-namenu-src-github-com-namenu-isowiki/c0557bfd-7c20-45bf-a3c9-ce3c1f39ab97/scratchpad/design-pulley.md out/pulley/design.md
2. out/pulley/design.md 전체를 읽는다. 그다음 거기 §0이 가리키는 문서와 pages/differential/figure/의 네 파일을 읽는다.

Target: pages/pulley/figure/{model.mjs, scene.mjs, live.js, index.mjs} 만 만든다.
Change (이번 단계 범위): 설계서 §2–§7, §9(판·라벨·버튼 HTML). 상태는 고정 START = { n: 4, pull: 60 } 한 장면을 정확히 그린다. live.js는 이번 단계에서 START 상태를 다시 그리는 것까지만(투어·끌기·버튼 동작은 2단계). index.md, build.mjs, 다른 페이지는 건드리지 않는다.
Constraints: 설계서가 정한 좌표·경로·그리는 순서를 바꾸지 않는다. 바꿔야 하면 바꾸지 말고 preamble의 ask 명령으로 coordinator에게 묻는다. 설계를 새로 하지 말 것 — 길게 고민하지 말고 설계서를 코드로 옮긴다. vendored .agents/skills/, lib/는 고치지 않는다. 패키지 설치 금지. 커밋 금지.
진행 보고: 다음 시점마다 preamble의 send 명령 형식(type은 status, subject 'progress: <단계>')으로 coordinator에게 2줄 이내 보고: (a) model.mjs 완성 (b) 첫 preview 성공 (c) check 결과.
Acceptance:
- node -e "import('./pages/pulley/figure/index.mjs').then(m=>{const r=m.build({id:'t'});console.log(r.html.length, r.live.length)})" 가 오류 없이 길이를 출력
- npm run preview -- pulley 성공 (out/pulley-dark.html, out/pulley-light.html)
- CHROME_PATH=/usr/bin/google-chrome-stable npm run check -- pulley 에서 pulley의 line ends가 두 테마 모두 0 (provenance 단계 실패는 이번엔 무시하고 그 사실만 보고)
- worker_done 요약: 만든 파일, 설계서와 다르게 한 점(없으면 '없음'), check 결과.
