main
코치가 저장소 밖 사본 두 개에서 check.sh 를 동시에 돌려 둘 다 FAIL 0·임시 폴더 남지 않음을 확인. 결과: PASS 153 / FAIL 0 / SKIP 3 (검사 범위 F01~F47) Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
drawing3d-web — 코드 설명
원형 수직구 일반도를 라이브러리 없이 Canvas 2D 로 그리는 3D 뷰어. 왼쪽 도면에서 부재를 누르면 오른쪽 3D 에서 강조된다. 사내 공개용 정리본(SPEC 6장 공개 규칙). 설계 근거는 SPEC.md, 구동 설명은 guide/index.html.
🔒 사내교육용 — 열람 외 재배포 등의 활동을 금함 (회사 도면의 치수를 옮겨 적음)
실행
index.html을 Chrome 또는 Edge 로 연다. 서버·인터넷은 필요 없다. 첫 화면은 도면에서 만든 모델이고,answer.html은 손으로 만든 정답지 화면이다.- WSL 에서는 이 폴더에서
explorer.exe index.html.
파일 구조
index.html,answer.html: 화면(도면 칸 · 가운데 막대 · 3D 칸). 스크립트는 데이터 다음viewer.js순서.viewer.js: 그리기·입력·도면 연결 코드 전부.model_extracted.js(첫 화면),model.js(정답지):const MODEL = {...};한 줄짜리 순수 JSON.tools/: 변환 도구, 추출 도구extract_from_dxf.py, 설계 규칙design_rules.json, 그림 상자 설정views.json.private/drawing.svg,private/drawing_gen.svg: 도면. 커밋된 도면은 정리본 3개뿐이다(원본 DWG 는.gitignore).evidence/: WSL2 설치 증빙, 1차 커밋 기록.SPEC.md,CLAUDE.md,check.sh: 규약, 작업 규칙, 합격 판정(수정 금지).
다시 만들기 (변환 패키지)
설계도면은 DWG 로 주고받는다. GNU LibreDWG 로 DXF 로 바꾸고, 그림 상자 안 객체만 남겨 모델을 뽑는다.
- 설치 (WSL Ubuntu, LibreDWG 0.14 소스 빌드):
PKG_CONFIG=/bin/true ./configure --prefix=$HOME/.local --disable-bindings --disable-docs && make && make install.dwg2dxf가~/.local/bin에 생긴다. - 실행:
bash tools/make_model.sh(입력private/drawing.dwg, 출력model_extracted.js와private/drawing_gen.svg). - 단계:
tools/dwg_to_dxf.sh(DWG → DXF),tools/select_views.py(그림 상자 안만 남김),tools/dxf_to_svg.py(DXF → SVG),tools/extract_from_dxf.py(DXF → 모델).
검사
bash check.sh: 전체 검사.bash check.sh F06: F06 까지만, 뒤 기능은 SKIP.- 끝 줄이
PASS n / FAIL 0이면 통과.
사용 도구
- WSL2 (Ubuntu) 에서 작업. 설치 증빙은
evidence/wsl2.txt. 버전 확인(Windows 명령 프롬프트):wsl -l -v
NAME STATE VERSION
* Ubuntu Stopped 2
- Claude Code, 모델 Haiku 5.5 (코드 작성·수정·커밋). 설계·검사 문서(
SPEC.md·check.sh·CLAUDE.md)는 별도 Claude(Opus) 코치 세션이 썼다. - GNU LibreDWG 0.14, Python 3 표준 라이브러리, git, Chrome 또는 Edge.
Languages
JavaScript
35%
Shell
28.8%
Python
28.4%
HTML
7.4%
CSS
0.4%