# Phase 1 MVP — 협업자 시연 시나리오

대상: BD Lead가 잠재 고객·파트너에게 시연하는 5~10분 데모.
기준 자산: 261MB STEP → 19MB factory.glb (협업자 어셈블리 MS24-1090).

---

## 1. 시연 흐름 (10분)

### 1.1 [0:00–1:00] 도입 — 문제 제기

> "기계설비 설계 회사에서 STEP 파일 한 개로 동작 시뮬레이션을 만들려면, 보통 외주 SI 5천만원 + 3개월. 우리 도구는 STEP 파일을 던지면 자동 변환되어, 부품에 마우스로 속성만 부여하면 시뮬이 즉시 가능."

**보여줄 화면**: 협업자 어셈블리 261MB STEP 파일 size + 19MB glb 변환 결과 (외부 영구 URL 페이지에 게시되어 있음).

### 1.2 [1:00–2:30] 변환 파이프라인

페이지: https://os-file-server.tail2b816d.ts.net/?section=upload

1. "자료 업로드" 탭 — "STEP 업로드" 드래그앤드롭
2. "변환" 버튼 클릭 → cadquery-ocp + Blender Draco가 백그라운드에서 동작
3. 변환 완료 → 같은 페이지 "보관된 버전" 섹션에 라벨 붙여 비교 가능

**핵심 데이터 (페이지 R2 박스)**:
- 261MB → 19MB (93% 압축)
- 부품명 100% 보존 (8763개)
- 인스턴싱 평균 3.70배 (945 mesh / 7890 node)
- 재질 75종 (반투명 8 BLEND alphaMode 보존)

### 1.3 [2:30–5:00] Unity Inspector — 부품 트리

데모 머신: Windows 10/11 + Unity 6.0.73f1

1. `Tools → factory00 → Open Inspector` 클릭
2. Toolbar `Load .glb` → `wiki/uploads/MS24-1090...factory.glb` 선택
3. **TreeView 좌측 패널** — 어셈블리 그룹은 청록 prefix(▸), 부품은 회색(•). 인스턴스 부품은 이름 옆 `×N` 배지
4. 검색창에 "shaft" 입력 → 매칭 노드 노란색 강조 + 조상 자동 펼침
5. 노드 클릭 → 우측 상세 패널에 name/id/parent/transform 표시

### 1.4 [5:00–7:30] 속성 편집 — Motor 부여 + 시뮬

1. 우측 패널에서:
   - `Type` PopupField → `Motor` 선택
   - `Movable` Toggle → ✓
   - `Movement Type` → `Rotation`
   - `Axis` → `Y`
   - `Speed` FloatField → `30` (deg/s)
2. Toolbar `Save .factory.json` → `wiki/uploads/factory00-project.json` 저장
3. ▶ Play 모드 진입 → SimulationLoop가 Motor 부품에서 회전 시작
   - 어셈블리 자식(`ParentChild` Constraint 자동 매핑된 8762개 부품) 동기 회전
   - 충돌 발생 시 우측 status bar에 빨간 toast

### 1.5 [7:30–9:00] 영업 포인트 — Pro 라이선스 차별화

| Free | Pro |
|---|---|
| STEP 자동 변환 | 동일 |
| TreeView Inspector | 동일 |
| Constraint 4종 (Fixed/Parent/Hinge/Slider) | + 시퀀스 시뮬레이션 (시간 기반) |
| AABB 충돌 감지 | + MeshCollider 정적 검증 |
| JSON 프로젝트 파일 | + PLC/IO 연동 (Modbus TCP, OPC UA) |
| 1.5만원/월 | 4.9만원/월 |

### 1.6 [9:00–10:00] 마무리 — Ask

> "현재 261MB 어셈블리 파일럿을 통해 핵심 기술 리스크 R1~R4 모두 검증 완료. 다음 단계는 첫 유료 고객 3사 + 파트너 1사 확보. 미팅 후속으로 NDA + Pilot Agreement 체결 가능한지?"

---

## 2. 시연 사전 준비 체크리스트

- [ ] Unity Editor 열고 MainScene 활성 (`Tools → factory00 → Build Main Scene`)
- [ ] `wiki/uploads/MS24-1090...factory.glb` 존재 확인 (19MB)
- [ ] 외부 영구 URL HTTP 200 검증: `curl https://os-file-server.tail2b816d.ts.net/`
- [ ] Tailscale 데몬 동작 (`tailscale status`)
- [ ] PDF 보고서 최신 (1.15MB v1.8 — Production Build 행 포함)
- [ ] 협업자 어셈블리 STEP 원본 백업 (변환 시연 시 새로 변환 가능)

## 3. 시연 중 주의사항

- **Inspector 폴드 펼치기는 마우스 클릭** — 시연자는 검색으로 자동 펼침을 활용
- **Play 모드 진입 시 첫 1~2초 정지** — 임포트 + Constraint 자동 빌드 (8763개 부품 + 8762 ParentChild)
- **회전 시연**은 적절히 큰 부품에 motor 부여. 너무 작은 부품은 카메라에서 안 보일 수 있음
- **충돌 시연**은 motor 회전이 다른 부품과 부딪히는 부품 선택 필요 (사전에 어떤 부품 조합인지 식별)
- **반투명 시각**: 카메라를 한 번 돌려 BLEND alphaMode 8개 부품 (유리·커버) 시연

## 4. 백업 시연 (Unity 안 켜질 때)

페이지만 있어도 80% 시연 가능:
- 외부 URL → R2 박스 (변환·압축·인스턴싱 데이터)
- 자료 업로드 탭 → STEP 변환 라이브 시연
- 보관된 버전 비교 → 옵션별 결과 토글

PDF 1.15MB도 보강 자료로 활용.

## 5. 자주 받는 질문 — 답변 카드

**Q: STEP 라이선스는 어떻게 처리?**
A: cadquery-ocp는 LGPL, subprocess 격리로 GPL/LGPL 감염 회피. 상용 SDK 라이선스 비용 0원.

**Q: 어셈블리 인스턴스 보존?**
A: OCCT TopLoc_Location matrix wrapper 노드로 보존. 평균 3.70배 인스턴싱 압축.

**Q: 파일 사이즈 한계는?**
A: 검증된 최대 261MB STEP (8763 부품). 이론적으로 더 큰 파일도 가능하나, 데시메이션 ratio 슬라이더로 사용자가 직접 조절.

**Q: PLC 연동 시점?**
A: Phase 2 Pro 기능. 이벤트 버스가 day-1부터 PLC 신호 수용 가능하도록 설계됨 (hopCount 큐잉).

**Q: 모바일/웹 버전?**
A: 현재 Windows 데스크탑만 1차 출시. 모바일은 산업용 트윈 워크플로우와 안 맞음 (대형 어셈블리 + 정밀 조작). WebGL은 Phase 3 검토 가능.
