stp-analyzerlisted
Install: claude install-skill jsb4702-glitch/verification-harness
# STEP 분석기 (브라우저 단독 · OCC 정밀측정)
`/stp-analyzer` 실행 시 — 로컬 서버를 띄우고 브라우저로 분석 도구를 연다. 파일은 서버 전송 없이 전부 브라우저(로컬)에서 처리된다.
## 실행 절차
1. 자산 존재 확인 (`~/stp-analyzer.html`, `~/stp-worker.js`, `~/stp-assets/opencascade.wasm.{js,wasm}`).
2. 포트(기본 8742)에 서버가 떠 있지 않으면 `~` 에서 띄운다:
```bash
PORT=${1:-8742}
cd ~
if ! curl -s -o /dev/null "http://localhost:$PORT/stp-analyzer.html"; then
(python3 ~/.claude/skills/stp-analyzer/scripts/br_server.py "$PORT" >/tmp/stp_server.log 2>&1 &)
sleep 1
fi
open "http://localhost:$PORT/stp-analyzer.html"
```
3. 사용자에게 안내: 브라우저 창에서 `.stp/.step` 드래그 → 분석. **고속 미리보기(occt-import-js)가 수초 내 색상 포함 표시**되고, OCC 정밀 분석(측정·부피·토폴로지)은 백그라운드로 이어짐(완료 전 측정 클릭 시 안내 표시). 첫 로드 시 OCC 엔진 다운로드 1회(`br_server.py`가 brotli 사전압축본을 서빙 → 정밀엔진 62.8MB가 **9.0MB로 전송**, 6.9x↓).
## 기능
| 레벨 | 항목 |
|------|------|
| L1 | 스키마(AP203/214/242)·단위·author·생성일시·엔티티 수 (헤더 파싱) |
| L2 | 부피·표면적·무게중심·바운딩박스(AddOptimal) — **OCC 해석적 정확값** |
| L3 | Solid/Face/Edge/Vertex 유니크 카운트, 면·엣지 종류 분포 |
| L4 | 자유엣지 · 퇴화엣지 분리집계(합법 BRep — 자유엣지 오보고 방지) · 표시 삼각형 수 |
| 측정 | 📐 ON → 점/선/면 클릭. 2개 선택 시 **BRepExtrema 최소거리**(선-선/선-점/점-면 등 임의 조합), 원호 1개 선택 시 **정확 ⌀/R/축**, 두 직선 사잇각. 측정 중에도 회전·이동 가능(클릭/드래그 구분) |
## 대형파일 — 네이티브 모드 (2026-07-21)
- **280MB 초과 파일은 자동으로 네이티브 모드**: 브라우저가 파일을 127.0.0.1 로컬서버로 스트리밍(POST body=File — JS 힙에 전체 미적재)하고, 서버가 네이티브 OCC(파이썬 OCP)로 파싱·삼각화·집계해 바이너리 버퍼로 돌려준다. 뷰어·측정 UI는 동일, 측정(BRepExtrema)·엣지상세는 서버 API 라우팅. 파일은 localhost 밖으로 안 나감(로컬 전용 원칙 유지). `?native=1`로 소형파일도 강제 가능(회귀시험용).
- **650MB 실측(m2n 200k S