← 목록

CDP (Crowny Design Platform) — 176/176 기능 + 한선씨 동반 100% 컴파일 검증

개요

design.crowny.org 의 CAD/CAM 플랫폼 CDP 가 전 기능(176개) 완료 + 126개 한선씨 동반 파일 전부 컴파일 성공 상태에 도달했다. 팀원들이 CATIA V5 대신 사용할 수 있는 도구로 배포 준비 중. 본 문서는 검증 결과 및 남은 리스크를 기록한다.

수치 현황

항목
JS 모듈82개
JS 총 라인수47,858
한선씨 동반 파일126개
한선씨 컴파일 성공126/126 (100%)
TODO 기능176/176 (100%)
카테고리12개 (A~L 모두 완료)

이번 세션 작업 (2026-04-15)

1단계: 한선씨 검증 강화 (완료)

이전 세션 종료 직후 실제 컴파일 테스트 결과 17개 실패 확인 → 전부 수정.

수정 패턴 4종:

  1. 예약어 충돌 (10개): 반복/선택을 변수명으로 사용 → 반복횟수/선택값 리네임
- 대상: 고급FEA, 구속조건, 모델러, 어셈블리, 온톨로지, 최적화, 추론엔진, 통합설계엔진, 도면2D, 상태바강화

  1. 2중 인덱싱 (3개): f(x)[i] 또는 a[i][j] 불가 → 중간 변수 할당
- 대상: 메시연산, 벡터3D, 인증

  1. 배열 요소 대입 (3개): a[i] = v 불가 → 설정(a, i, v)
- 대상: 치수주석, 히스토리타임라인, 유한요소

  1. 미정의 함수 (1개): 맵키목록 미구현 → 직접 맵꺼내 (미스 시 0 반환) 로 단순화
- 대상: 설계검증파이프

감지된 한선씨 언어 기능 한계 (배포 전 검토 필요)

대안 패턴 채택: 중간 변수 + 설정() 재대입. 전부 동작 검증 완료.

카티아 대체 배포 가능성 판단

✅ 갖춰진 것

⚠️ 남은 리스크 (배포 전 해소 필요)

  1. E2E 실제 부품 모델링 테스트 없음 — 간단 샘플은 동작하나 자동차 도어같은 복잡 부품 왕복 검증 안 됨
  2. 수치 정밀도 검증 안 됨 — CATIA 대비 동일 dxf/step 입력→출력 비교 필요
  3. 누락 카티아 기능 — GD&T, PMI 주석, Sheet Metal 전개, Surface Sculpting, Composites, Kinematics DMU
  4. 성능 미검증 — 10만 폴리곤 이상 어셈블리 시 프레임레이트
  5. 단위 테스트 커버리지 — 현재 테스트 구조 미확인

권장 배포 로드맵

관련 파일

잔여 이슈

  1. 한선씨 언어에 맵키목록, a[i][j] = v 추가하면 이식 부담 감소 → 컴파일러 팀에 건의
  2. CATIA 누락 기능 4종(GD&T/PMI/SheetMetal/Kinematics) 우선순위 결정 필요
  3. design.crowny.org 도메인 게이트웨이 라우팅 아직 미설정

다음 세션

3단계(카티아 누락 기능 추가) 진행 예정. GD&T 와 PMI 를 우선 (검사 가공 협업에 필수).


2026-04-15 후속 진척

3단계 진행 — CATIA 확장 M 카테고리 추가

M01 GD&T: ASME Y14.5 / ISO 1101 완전 대응

M02 PMI: STEP AP242 3D 주석 M03 Sheet Metal 확장 M04 DMU Kinematics

한선씨 동반 파일 추가

현재 수치

발견된 VM 버그 (별건)

배포 가능성 재평가

여전히 E2E 부품 왕복 검증 + 성능 검증 필요. 기능 커버리지는 CATIA 핵심 ~85% 수준 도달. Kinematics 는 FK 만 있고 IK 는 없음. 충돌 체크는 assembly.js 에 별도 존재.

다음 4단계: 성능 최적화 (WebGPU / 복셀 LOD / 어셈블리 대규모 처리).


2026-04-16 후속 — 4단계 벤치 + 5단계 배포

벤치마크 결과 (node + Three.js CPU-side)

테스트시간판정
500 mesh traverse0.014msOK
AABB N² 500² 충돌2.6msOK
Raycast 500 mesh0.1msOK
2000 mesh scene 생성24ms주의
InstancedMesh 20000.3ms80x 빠름
100k 삼각형 BufferGeometry22ms일회성
결론: CPU 기본 연산 병목 없음. InstancedMesh 가 유일한 필수 최적화.

M05 반복부품 인스턴싱 구현

assembly.jsRepeatedPartPool + RepeatedPartLibrary:

5단계 배포 확인

최종 수치

팀 배포 전 체크리스트

  1. [x] CATIA STEP 왕복 E2Etest-step-e2e.mjs 69/69 PASS, 0% 오차 (박스/실린더/L브라켓/구/멀티바디)
- STEP 내보내기 버그 수정 (엔티티 ; 누락 → exchange.js:346)
  1. [x] FPS 벤치마크bench-fps.html 100~5000 mesh 단계 RAF 측정 + InstancedMesh 비교
- HTTPS 경로 https://design.crowny.org/bench-fps.html 접근 가능 (상태 200)
  1. [x] HTTPS 인증서 — Let's Encrypt (SAN에 design.crowny.org 포함), 2026-07-15 만료
- 게이트웨이 ssl.enabled: true + TLSv1.3 + certDir 자동 로드
  1. [x] 팀원 계정/권한teamwork.js 기존(ROLES/TaskBoard/DesignReview/ChangeManager/ActivityFeed) + 신규(USER_ROLES/UserSession/ProjectLock)
- 역할 3종(admin/designer/viewer) + 잠금 2시간 자동 만료 + localStorage 세션
  1. [ ] 브라우저 호환성 — Chrome/Safari/Firefox WebGL2 수동 테스트 필요 (팀이 직접)

배포 경로 확정

최종 수치