- 정리는 코치 세션이 저장소 밖 도구로 수행, 하이쿠 세션이 커밋. - 옛 81커밋은 로컬에만 보존. 기록은 evidence/gitlog_v1.txt. - F13 기준 변경: .gitignore 에 private/*.dwg·private/full.dxf 제외 (SPEC 34장 끝 문장). - check.sh 결과: 결과: PASS 151 / FAIL 0 / SKIP 3 (검사 범위 F01~F46) Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
60 lines
21 KiB
Markdown
60 lines
21 KiB
Markdown
# PROGRESS — 기능 1개 = 커밋 1개
|
||
|
||
한 줄 양식: `YYYY-MM-DD HH:MM | 기능 ID | 한 일 | check.sh 결과(PASS n / FAIL n) | 막힌 것`
|
||
|
||
- 2026-10-20 | KIT | 설계 키트 5파일 추가(SPEC·FEATURES·CLAUDE·check.sh·PROGRESS) | - | -
|
||
2026-10-20 13:45 | F01 | 골격: index.html(canvas 1, model.js→viewer.js) · model.js(mm, parts 빈 배열) · viewer.js(창 크기 맞춤, 배경 칠하기) | PASS 3 / FAIL 0 | -
|
||
2026-10-20 13:51 | F02 | 스파이크 1: viewer.js draw()에 고정 좌표 삼각형 하나를 path 로 채움 | PASS 4 / FAIL 0 | 수석 육안 확인 대기
|
||
2026-10-20 13:53 | F03 | 스파이크 2: viewer.js 에 facesBox·rotatePoint·project·shadeColor·sortFaces·draw, 등각 카메라, 시험 큐브 1개(한 변 2000) 를 면 음영·먼 면부터 그림 | PASS 5 / FAIL 0 | 수석 육안 확인 대기
|
||
2026-10-20 13:55 | F04 | 스파이크 3: viewer.js 에 onMouseDown·onMouseMove·onMouseUp 추가, 드래그로 yaw(좌우)·pitch(위아래, ±89도 제한) 를 바꾸고 draw 다시 호출. 등각 초기값은 기존 그대로 | PASS 6 / FAIL 0 | 수석 육안 확인 대기 (드래그 회전)
|
||
2026-10-20 13:56 | F05 | 휠 확대/축소: viewer.js 에 ZOOM(0.5~5)·onWheel 추가, 휠 한 칸 10%, draw 의 SCALE 에 ZOOM 곱함 | PASS 7 / FAIL 0 | 수석 육안 확인 대기 (휠 확대)
|
||
2026-10-20 14:24 | F06 | model.js 데이터: 벽체(ring alpha 0.25), 중간 슬래브 19장(1B~19B, 상면 z·두께 300·r 4850), 19B 패드, 하부 슬래브(20B), 바닥콘크리트 — SPEC 4.1~4.3 숫자 그대로, const MODEL = 순수 JSON | PASS 17 / FAIL 0 | 수석 확인 대기 (화면은 아직 모델 안 그림)
|
||
2026-10-20 14:25 | F07 | disc 그리기: viewer.js 에 facesDisc(32각형 뚜껑 2+옆면 32), buildFaces(disc 만), MODEL_CENTER·MODEL_R 로 처음 배율을 모델 전체에 맞춤, 시험 큐브 제거 | PASS 18 / FAIL 0 | 수석 화면 확인 대기 (모델 전체가 들어오는지)
|
||
2026-10-20 14:26 | F08 | ring 그리기: viewer.js 에 facesRing(바깥면·안쪽면·윗고리·아랫고리 각 32장), buildFaces 가 ring 도 모음, 벽 alpha 0.25 는 globalAlpha 로 적용 | PASS 19 / FAIL 0 | 수석 화면 확인 대기 (벽 너머 슬래브가 보이는지)
|
||
2026-10-20 14:27 | F09 | TBM 터널: model.js 에 tunnel 1개(pipe, 축 시작 x 4200.2·y -2425.0·z -65050, 330도, 길이 20650, r_out 1500, r_in 1300), viewer.js 에 facesPipe 추가 후 buildFaces 에 pipe 연결 | PASS 23 / FAIL 0 | 수석 확인 대기 (평면 4시 방향, 19B 높이에 붙었는지)
|
||
2026-10-20 14:29 | F10 | 계단 18런: model.js 에 stair 18개(SPEC 4.4, 단 수 17·마지막 14, dir 번갈아), viewer.js 에 facesStair 추가 후 buildFaces 에 연결, 디딤판마다 facesBox 블록 | PASS 28 / FAIL 0 | 수석 확인 대기 (층마다 계단 방향이 바뀌는지)
|
||
2026-10-20 14:31 | F11 | 터널 안 채움: model.js 에 fill 3개(잡석 -1300~-1175, 패드 2단 -1175~-1100, 패드 1단 -1100~-1050 폭 800), viewer.js 에 facesFill(원을 수평선으로 자른 단면을 축 방향으로 늘임) 추가 후 buildFaces 에 연결 | PASS 32 / FAIL 0 | 수석 화면 확인 대기 (터널 안이 19B 패드 높이까지 차는지)
|
||
2026-10-20 14:31 | F12 | README.md 작성: 구동 방법 3줄(index.html 더블클릭 · explorer.exe · Chrome/Edge), 조작법, 모델 설명(단위·구조물·데이터 파일), 검사 명령, 사용 도구(WSL2·Claude Code Haiku), wsl -l -v, 🔒 표기 | PASS 33 / FAIL 0 | 수석 확인 대기 (README 문장 검토)
|
||
2026-10-20 15:21 | F13 | 좌우 분할: index.html 에 #drawPane·#splitter·#viewPane, viewer.js 에 onSplitDown/Move/Up (폭 15%~85%), 캔버스는 #viewPane 크기에 맞춤, private/drawing.svg 없으면 안내 글자 | PASS 37 / FAIL 0 | 수석 화면 확인 대기 (막대 끌기, 3D 칸 크기 맞춰지는지)
|
||
2026-10-20 15:22 | F14 | 도면 확대·이동: index.html 에 #drawStage(img#drawing + svg#hotspots 443), viewer.js 에 fitDrawing·onDrawWheel(마우스 기준 0.5~40배)·onDrawDown/Move/Up, 처음 화면은 MODEL.drawing.fit 없으면 도면 전체 | PASS 39 / FAIL 0 | 수석 화면 확인 대기 (도면 휠·드래그, 처음 화면이 왼쪽 칸에 꽉 차는지)
|
||
2026-10-20 15:24 | F15 | 도면 클릭 연결: model.js 에 drawing 추가, sectionPoly·planPoly·buildHotspots·selectPart 로 부재별 클릭 영역, 선택 시 도면 노란 칠·3D 노란색·「선택: 이름」, 드래그 뒤 클릭 무시 | PASS 41 / FAIL 0 (F01~F15) | 수석 화면 확인 대기 (도면 영역 위치가 맞는지, 클릭·선택 해제)
|
||
2026-10-20 15:25 | F16 | 구동설명서.md 작성: 목적·기획(결정 6개)·범위·구동·조작·작업 방식·한계·이력(git log 표), 첫머리 🔒 | PASS 43 / FAIL 0 (F01~F16) | 수석 문서 검토 대기 (구동설명서 기획·한계 문장)
|
||
2026-10-20 15:26 | F17 | README.md 를 코드 설명으로 고쳐 씀: 파일 구조·실행·데이터·코드(함수 28개 한 줄씩)·그리기 방식·도면 연결·검사 (SPEC 11.2), 첫머리 🔒 | PASS 45 / FAIL 0 (F01~F17) | 수석 문서 검토 대기 (README 코드 설명 문장)
|
||
2026-10-20 15:29 | F18 | 구동설명서.md 를 _소거대기로 옮김(내용은 guide/ 8쪽에 있음), 3D 칸 「구동 설명서」 버튼 | 결과: PASS 50 / FAIL 0 / SKIP 0 (검사 범위 F01~F18) | 수석 화면 확인 대기 (guide 쪽 내용·버튼 위치)
|
||
2026-10-20 15:32 | F18 | 구동설명서 보완: guide/ 7쪽 pager 에 목차 링크 추가(목적·기획·범위·구동·조작·작업 방식·한계, 이력은 다음 자리 비움), 작업 방식·기획의 화면 확인 문장을 사실대로 정정(F02 이후 코치 localhost 미리보기, 더블클릭 구동은 수석) | PASS 50 / FAIL 0 (F01~F18) | 없음
|
||
2026-10-20 19:07 | F19 | tools/prep_drawing.py 작성, 원본으로 private/drawing.svg 재생성(1px 선, 커밋 안 함), viewer.js 의 applyDraw 를 applyDrawView 로 바꿔 width/height 확대 + translate 이동, README 함수 한 줄 추가 | PASS 54 / FAIL 0 (F01~F19, F20 SKIP) | 수석 화면 확인 대기 (도면 선이 확대해도 얇은지)
|
||
2026-10-20 19:11 | F20 | MODEL.drawing.views 11개(SPEC 13.2 표), viewHotspots·circlePoly·region·pathD 추가, 영역을 path 로 바꾸고 evenodd 로 벽 고리 구멍, selectPart 가 id 배열을 받음, 3D SELECTED 배열화, README 함수 추가 | PASS 56 / FAIL 0 (F01~F20) | 수석 화면 확인 대기 (그림 11장 클릭, 여러 부재 한 번에 선택, 「선택:」 글자)
|
||
2026-10-20 19:13 | F20 | 보완: 「선택:」 글자를 한 줄(nowrap)·오른쪽 120px 여백으로, 여럿일 때 「처음 둘, … 마지막」(SPEC 13.2) | PASS 56 / FAIL 0 (F01~F20) | 수석 화면 확인 대기 (홀수층 슬래브 선택 시 글자가 설명서 버튼과 안 겹치는지)
|
||
2026-10-20 19:15 | DOC | guide/ 9쪽을 사용 설명서로 다시 씀(index·purpose·run·control·plan·scope·limits·method·history, 수석 지시로 코치 세션 작성) | 결과: 문서만 변경, check.sh 안 돌림 | 수석 화면 확인 대기 (guide 9쪽)
|
||
2026-10-20 20:57 | F21 | model.js: 슬래브 19장·패드에 holes(SPEC 15.1 표), 계단 18런 x_top·dir·Y 띠 정정(15.2); viewer.js: facesDiscHoles 추가, buildFaces 가 disc 에 사용, draw 가 holes 를 evenodd 로 채움; README 함수 한 줄 | PASS 59 / FAIL 0 (F01~F21, F22·F23 SKIP) | 수석 화면 확인 대기 (슬래브 구멍 위치, 계단 입구 방향)
|
||
2026-10-20 20:59 | F22 | viewer.js: CAM.target 기준 project, panView(오른쪽 드래그·Shift+왼쪽), zoomAt(마우스 아래 점 고정, 0.5~40), resetView(더블클릭·처음 화면 버튼), contextmenu 막기, unrotateVector·scaleFor 추가; index.html 에 button#resetView; README 함수 추가 | PASS 62 / FAIL 0 (F01~F22, F23 SKIP) | 수석 화면 확인 대기 (오른쪽 드래그 이동, 휠 확대 40배, 더블클릭 복귀). guide/control.html 의 휠 0.5~5 줄은 아직 옛 값
|
||
2026-10-20 21:01 | F23 | 사람 애니메이션: buildWalkPath(계단 18런 내려갔다 되짚어 올라오기, 1000mm/s), walkerAt, facesPerson(상자 4개, 진행 방향에 맞춰 돌림, #ff8c1a), animate(rAF, 초당 30번 이하 다시 그림), setWalking; index.html 에 button#walkToggle; README 코드 절에 5개 함수 | PASS 65 / FAIL 0 (F01~F23) | 수석 화면 확인 대기 (사람이 계단을 오르내리는지, ▶/❚❚ 버튼, 다리 간격 100 해석 확인)
|
||
2026-10-20 21:05 | DOC | guide/ 7쪽(purpose·control·plan·scope·limits·method·history)을 F21~F23 에 맞춰 고침: 슬래브 구멍, 카메라 이동(오른쪽 드래그·Shift+드래그·휠 0.5~40·더블클릭), 사람 애니메이션(▶/❚❚) 반영. 수석 지시로 코치 세션 작성 | 결과: 문서만 변경, check.sh 안 돌림 | 수석 화면 확인 대기 (guide 7쪽 갱신분)
|
||
2026-10-20 21:12 | F24 | model.js: 월류벽 3·집수조·침사조 zone 2·사다리 1, 19B 슬래브·패드 침사구 구멍 (SPEC 16.1); viewer.js: facesPrism, facesZone, facesLadder 추가, buildFaces 가 prism·zone·ladder 를 받음; README 데이터 표·코드 절 추가 | PASS 70 / FAIL 0 (F01~F24, F25 SKIP) | 수석 화면 확인 대기 (월류벽 홈, 집수조·침사조 반투명 색, 사다리 위치·가로대, 19B 침사구 구멍). 사다리 폭 400·가로대 300 은 도면에 없는 코치 값
|
||
2026-10-20 21:15 | F25 | viewer.js: xSpan·planXY·bottomPlanPoly·bottomHotspots 추가, sectionPoly 가 xSpan 사용, buildHotspots 가 bottomHotspots 를 viewHotspots 뒤에 이음 (순서 집수조→침사조→월류벽→사다리); README 코드 절에 새 함수 4개 | PASS 71 / FAIL 0 (F01~F25) | 수석 화면 확인 대기 (단면 A-A·20B 평면에서 집수조·침사조 활꼴, 월류벽 홈, 사다리 클릭, 19B 평면 침사구 클릭 → 사다리 선택)
|
||
2026-10-20 21:19 | F26 | model.js: 벽 z1 −2000, topslab(disc r 5500, 원 구멍 2), neck 2(prism, 맨홀 목·원 구멍), elec 19개 슬래브 다각형으로 정정 / viewer.js: holePolygon(원→16각형), addHoles(facesDiscHoles 에서 분리), facesPrism 에 holes; README 데이터·코드 절 갱신 | PASS 74 / FAIL 0 / SKIP 8 (F01~F26) | 수석 화면 확인 대기 (상부 슬래브 뚜껑 원 구멍 2개, 맨홀 목 2개, 배선구 평행사변형). facesPrism 바깥 면 법선 부호가 반대로 보임(코드 읽기로만 확인, 화면 미확인) — F24 월류벽도 같은 함수
|
||
2026-10-20 21:20 | F27 | model.js: 분기구 obox 5, 환기 덕트·환기탑 obox 13 (SPEC 17.2 표 그대로, angle 167/0, cx=cy=0) / viewer.js: facesObox(facesBox 를 (s,t,z) 로 만들고 angle_deg 만큼 돌려 cx,cy 에 놓음, 법선도 돈다), buildFaces 에 obox 분기; README 데이터·코드 절 갱신(부재 72개) | PASS 77 / FAIL 0 / SKIP 5 (F01~F27, F28·F29 SKIP) | 수석 화면 확인 대기 (분기구가 167도 방향 옆 굴, 덕트가 남쪽으로 내려가 동쪽으로 꺾여 환기탑 연결, 환기탑 높이 지표 0)
|
||
2026-10-20 21:22 | F28 | model.js: 방호 난간 18장(railing, z·h 1100·paths), 펌프 배출관(pipe ring, 0,4220), 위쪽 사다리 2개(ladder_up) 추가 (SPEC 17.3) / viewer.js: facesRailing(꺾은선 구간마다 두께 40 판 6장) 추가, buildFaces 에 railing 분기 / README 데이터 표·부재 수 93개·코드 절 갱신 | PASS 81 / FAIL 0 / SKIP 1 (F01~F28, F29 범위 밖) | 수석 화면 확인 대기 (1B~17B 윗면 난간 높이 1100, 19B 패드 위 난간, 배출관 집수조→상부 슬래브 밑, 서쪽·가운데 사다리). 판 두께 40 과 난간 색 #d8c890 은 도면에 없는 코치 값
|
||
2026-10-20 21:24 | F29 | viewer.js: obox4 추가, xSpan 이 neck·obox 를 다룸, upperHotspots 추가(단면 A-A 사각형·평면도 원판 r 4850 → 맨홀 목 → 상자 바닥 윤곽), buildHotspots 순서 상부→벽·터널→바닥부 / README 함수 절 갱신 | 결과: PASS 82 / FAIL 0 / SKIP 0 (검사 범위 F01~F29) | 수석 화면 확인 대기 (단면 A-A 상부 슬래브·목·분기구·환기구·위쪽 사다리 클릭, 평면도 1·2 에서 원판·목·상자 클릭 후 벽 고리 클릭). 원판 평면 r 4850 은 SPEC 17.4 값(상부 슬래브 r 5500 과 다름), 코치 값 아님
|
||
2026-10-20 21:26 | F29 | viewer.js 보완: 분기구·환기구는 같은 kind 덩어리 전체 선택(upperHotspots 의 group, KIND_LABEL), 선택 문구를 kind 이름으로 (「선택: 평면도 — 분기구」「… — 환기구(강제)」), 목·사다리는 하나씩 | PASS 82 / FAIL 0 / SKIP 0 (F01~F29) | 수석 화면 확인 대기 (단면 A-A·평면도 1·2 에서 분기구·환기구 누르면 5개·13개 전체가 노랗게 되는지)
|
||
2026-10-20 21:28 | DOC | guide/ 사용 설명서 6쪽(purpose·plan·scope·limits·method·history) F24~F29 에 맞춰 갱신 (코치 세션 작성, 수석 사전 승인, SPEC 14장) / viewer.js·model.js 변경 없음 | PASS 82 / FAIL 0 / SKIP 0 (F01~F29) | 수석 확인 대기 (guide/ 6쪽 본문 검토)
|
||
2026-10-21 10:00 | F30 | model.js 변경 없음 / viewer.js: teamAt(t) 추가(첫 사람 t, 두 번째 t−TEAM_LAG 2000ms), facesPerson 에 색 인자(WALK_COLORS #ff8c1a, #e07010), draw 에서 두 사람 그림, walkerAt 음수 시각 접음 / README 사람 애니메이션 절 갱신 | PASS 82 / FAIL 0 / SKIP 4 (F01~F30 검사, F31·F32 범위 밖) | 수석 화면 확인 대기 (사람 두 명이 2초 간격으로 같은 길을 가는지, 시작 직후 두 번째 사람이 경로 끝에서 튀지 않는지)
|
||
2026-10-21 10:02 | F31 | viewer.js: stairProfile 추가(18.2 점 순서, 디딤판 300·챌판 200, s_b=(z_high−z_low−400)×1.5), facesStair 를 단면 Y 띠 압출(옆면 2 + 둘레 변마다 사각형)로 교체, 블록 방식 삭제 / README 함수 절 갱신(stairProfile 추가, facesBox·facesStair 설명 고침) | PASS 83 / FAIL 0 / SKIP 0 (F01~F31) | 수석 화면 확인 대기 (계단 18런이 경사판 밑면을 가진 콘크리트 계단으로 보이는지, 계단 아래 빈 공간·사람 경로와 어긋나지 않는지). 첫 점(0,z_high)→(0,z_high−200) 과 닫는 변이 s=0 에서 겹치는 것은 SPEC 18.2 점 순서 그대로 둔 것
|
||
2026-10-21 10:02 | F32 | guide/ 를 목차·목적·구동·조작 3쪽으로 정리: 코치 작성 index·purpose·run·control 그대로 커밋, plan·scope·limits·method·history git rm / README·index.html 변경 없음 (SPEC 18.3) | 결과: PASS 86 / FAIL 0 / SKIP 0 (검사 범위 F01~F32) | 수석 화면 확인 대기 (guide/index.html 목차 → 목적·구동·조작 3쪽 링크, 🔒 줄 없음)
|
||
2026-10-21 14:49 | F33 | tools/extract_from_dxf.py 추가: DXF 에서 벽·지표·슬래브 윗면 19·평면 구멍·난간 추출 (SPEC 20.1, 도면 좌표 코드에 없음) / model_extracted.js 생성 / README 파일 구조 두 줄 | PASS 89 / FAIL 0 / SKIP 9 (검사 범위 F01~F33) | 수석 확인 대기 (대조는 F34). 19B 침사구 구멍 1개는 20.1 규칙(오프닝·구조물 계단 레이어)에 안 잡힘 — F34 전에 판단 필요. 벽 z 는 19.1 고정값 -70200·-2000 사용
|
||
2026-10-21 14:50 | F34 | 대조 검사: 도구 쪽 검사 통과(model.js 변경 없음) / compare.html 추가(model_extracted.js 읽음, 「추출 데이터로 그린 화면」 글자) / viewer.js: MODEL.drawing 없을 때 hotspots·도면 로드 건너뜀 | PASS 98 / FAIL 0 / SKIP 0 (F01~F34) | 수석 화면 확인 대기 (compare.html 3D 칸이 index.html 과 같은 모양인지, 왼쪽 안내 글자)
|
||
2026-10-21 14:53 | F34 | 보완: viewer.js 계단 없으면 사람·버튼 숨김(HAS_WALK), MODEL.drawing 없으면 클릭 영역 안 만듦 / model.js·check.sh·SPEC.md 무변경 | PASS 98 / FAIL 0 / SKIP 0 (F01~F34) | index.html 의 <path> NaN 4개는 HEAD 에도 있던 것(수석 판단 대기, 이번엔 손대지 않음)
|
||
2026-10-21 14:55 | F29 | 보완: viewer.js xSpan 이 사다리를 kind 로 찾아 위쪽 사다리(kind ladder_up)가 NaN 이 되던 것을 type 으로 고침 (단면 A-A·A-A 생략 그림의 ladder_up_W·ladder_up_C 영역 4개, x0~x1) / FEATURES.json·check.sh·SPEC.md 무변경 | PASS 81 / FAIL 0 / SKIP 17 (검사 범위 F01~F29) | 수석 화면 확인 대기 (F12 콘솔 path NaN 오류 사라졌는지)
|
||
2026-10-21 19:32 | F35 | tools/extract_from_dxf.py: 계단 18런 추출 section_stairs·stair_profile·stair_dir·stair_parts (SPEC 21장, 도면 좌표·정답 값 코드에 없음) / model_extracted.js 다시 생성 / README 도구 설명 갱신 | 결과: PASS 100 / FAIL 0 / SKIP 0 (검사 범위 F01~F35) | 수석 확인 대기 (compare.html 에 계단·사람 두 명이 보이는지)
|
||
2026-10-21 20:05 | F36 | 정답지 좌표틀 정정 (SPEC 22장): model.js 표대로 터널·잡석·패드 0°·(4850,0), 상부슬래브 구멍·맨홀 목 2개 축 정렬, 분기구 197.3°, 환기구 30.3°, 위쪽 사다리 W 값 / 평면도 1·2 rot_deg -30.3 / viewer.js planXY·planPoly 회전 | 결과: PASS 103 / FAIL 0 / SKIP 0 (검사 범위 F01~F36) | 수석 화면 확인 대기 (compare·index 평면도 클릭 영역이 도면 그림 위에 놓이는지, 터널이 계단과 나란히 +X 로 가는지)
|
||
2026-10-21 20:11 | F37 | 터널 추출 section_tunnel·plan_tunnel·tunnel_parts (SPEC 23장, 도면 좌표·정답 값 코드에 없음) / inner_r 추가 / model_extracted.js 다시 생성 / README 도구 설명 갱신 | 결과: PASS 108 / FAIL 0 / SKIP 0 (검사 범위 F01~F37) | 수석 확인 대기 (compare.html 에 터널·잡석·패드가 계단과 나란히 보이는지)
|
||
2026-10-21 20:24 | F38 | 분기구·환기구 추출 (SPEC 24장): plan_center·frame_angle(φ 30.3 류, 도면에서 구함)·section_heights(A-A 좌측 X, B-B 우측 X)·branch_parts·vent_parts / model_extracted.js 다시 생성 / README 도구 설명 갱신 | 결과: PASS 113 / FAIL 0 / SKIP 0 (검사 범위 F01~F38) | 수석 화면 확인 대기 (compare.html 에 분기구·환기구·환기탑이 계단·터널과 맞물려 보이는지)
|
||
2026-10-21 20:37 | F39 | 나머지 부재 추출: top_slab_part·neck_parts(상부 슬래브·맨홀 목 2)·pad_and_sump(19B 패드·침사구)·bottom/lean(하부 슬래브·바닥 콘크리트)·weir_parts·pit_parts(월류벽 3·집수조/침사조) / 벽 높이를 도면에서 읽도록 고정값 제거 / 20B 평면 제목 추가 / model_extracted.js 다시 생성 / README 도구 설명 갱신 | 결과: PASS 124 / FAIL 0 / SKIP 0 (검사 범위 F01~F39) | 수석 화면 확인 대기 (compare.html 에 상부 슬래브·목·패드·월류벽·집수조가 맞는지)
|
||
2026-10-21 20:39 | F40 | 정답지 보강 (SPEC 26장): viewer.js facesLadder 에 angle_deg 회전(원점 기준, 법선 포함) / model.js 에 환기구 사다리 2개(ladder_vent_wall·ladder_vent_tower, kind ladder_vent) / .gitignore 에 __pycache__/ | 결과: PASS 126 / FAIL 0 / SKIP 0 (검사 범위 F01~F40) | 수석 화면 확인 대기 (index.html 에서 환기구 벽 사다리가 덕트 입구 벽에, 환기탑 사다리가 탑 안에 보이는지)
|
||
2026-10-21 20:42 | F41 | 설계 규칙 파일 tools/design_rules.json (🔶 부재 6개·style·ids) / extract_from_dxf.py 에 load_design_rules·apply_design_rules (부재 뒤에 🔶 붙이고 color·alpha 덮어씀) / model_extracted.js 다시 생성(95개) / README 도구 설명 갱신 | 결과: PASS 132 / FAIL 0 / SKIP 0 (검사 범위 F01~F41) | 수석 화면 확인 대기 (compare.html 에 사다리·배출관이 색까지 model.js 와 같게 보이는지)
|
||
2026-10-21 20:49 | F42 | 변환 패키지: tools/dwg_to_dxf.sh(dwg2dxf 래퍼)·tools/select_views.py(views.json 상자 안 객체만, 좌표 숫자 없음)·tools/make_model.sh(DWG→full.dxf→drawing.dxf→model_extracted.js, private/ 출력 시 루트 model_extracted.js 갱신) / README 「변환 패키지」 절 / 객체 3356개 확인 | 결과: PASS 138 / FAIL 0 / SKIP 0 (검사 범위 F01~F42) | 수석 확인 대기 (README 변환 패키지 절, make_model.sh 실행 결과)
|
||
2026-10-21 21:01 | F43 | DXF→SVG 변환 도구 tools/dxf_to_svg.py (SPEC 29.1) / 추출 도구 drawing_views 로 도면 연결값을 도면에서 계산 (SPEC 29.2, views.json 세 번째 인수) / make_model.sh 에 SVG 단계 / drawing_gen.svg·model_extracted.js 다시 생성 / README 갱신 | 결과: PASS 144 / FAIL 0 / SKIP 0 (검사 범위 F01~F43) | 수석 화면 확인 대기 (index.html 왼쪽 도면이 drawing_gen.svg 로 원본과 같은지, README 변환 패키지 절)
|
||
2026-10-21 21:04 | F44 | 화면 전환: index.html 이 model_extracted.js 를 읽음 / answer.html 신설(정답지, model.js) / viewer.js 가 MODEL.drawing.src 로 도면을 읽고 없으면 그 경로 안내 / README 첫 화면·정답지·다시 만들기 갱신 | 결과: PASS 150 / FAIL 0 / SKIP 0 (검사 범위 F01~F44) | 수석 화면 확인 대기 (index.html 이 도면에서 만든 모델인지, answer.html 이 예전 정답지인지)
|
||
2026-10-21 21:08 | F45 | README 「사용 도구」 절 복원 (SPEC 31장): wsl -l -v 출력은 8f606f5 에 기록된 값을 그대로 옮김 (WSL 안에서 wsl.exe 호출 불가) / Haiku 5.5·LibreDWG·git·브라우저 / 커밋 메시지 Co-Authored-By 줄 | 결과: PASS 151 / FAIL 0 / SKIP 0 (검사 범위 F01~F45) | 수석 확인 대기 (README 사용 도구 절의 wsl 출력이 지금 Windows 값과 같은지)
|
||
2026-10-22 09:23 | F46 | WSL2 설치 증빙: evidence/wsl2.txt 에 WSL 안쪽 출력(uname·/proc/version·Ubuntu 26.04·claude 2.1.304·git·python3·dwg2dxf) 덧붙임 / README 사용 도구에 설치일 2026-07-09 와 증빙 파일 연결 | 결과: PASS 154 / FAIL 0 / SKIP 0 (검사 범위 F01~F46) | 수석 확인 대기 (evidence/wsl2.txt 의 Windows 쪽 설치일·WSL 안쪽 출력이 맞는지)
|