# CAD-Viewer(한국어) [English](./README.md) | [简体中文](./README.zh-CN.md) | [日本語](./README.ja.md) | [한국어](./README.ko.md) | [Español](./README.es.md) | [Português](./README.pt.md) | [Русский](./README.ru.md) | [Čeština](./README.cs.md) cad-viewer는 `백엔드 서비스에 전혀 의존하지 않고 완전히 브라우저에서 동작하는 세계 최초의 웹 기반 DXF/DWG 뷰어 및 에디터`입니다. DWG/DXF 파싱, 지오메트리 처리, 렌더링을 브라우저에서 직접 수행함으로써 cad-viewer는 진정한 서버리스 CAD 보기 및 편집을 가능하게 하며, 클라우드 앱, 오프라인 사용, 개인정보에 민감한 워크플로에 이상적입니다. 또한 다른 CAD 뷰어에서는 거의 찾아볼 수 없는 기능을 제공합니다—**클릭 한 번으로 단일 자체 포함 HTML 파일로 내보내기**. 다운로드한 `.html`에는 도면 스냅샷과 경량 뷰어 런타임이 내장되어 있어, 수신자는 **CAD 앱, 서버, 설치 없이** 모든 최신 브라우저에서 열어 팬, 줌, 레이어 전환, 거리 측정을 할 수 있습니다. 대부분의 데스크톱 및 웹 CAD 뷰어는 자사 제품 내에서만 보기를 허용합니다. cad-viewer는 라이브 도면을 이메일로 보내거나, 보관하거나, 정적 파일 호스트에 올릴 수 있는 휴대용 오프라인 산출물로 바꿉니다—클라이언트 공유, 규정 준수 아카이브, 에어갭 워크플로에 이상적입니다. 오프라인 뷰어는 동일한 도면을 열 때 기존 데스크톱 도구보다 훨씬 적은 메모리를 사용합니다(아래 [메모리 비교](#자체-포함-html-메모리-사용량) 참조). - [**🌐 홈페이지**](https://mlightcad.com/) - [**🌐 라이브 데모**](https://mlightcad.github.io/cad-viewer/) - **🌐 API 문서**: [Read the Docs](https://cad-viewer.readthedocs.io/en/latest/) (버전별) · [GitHub Pages](https://mlightcad.github.io/cad-viewer/docs/) (최신/dev) - [**🌐 Wiki**](https://github.com/mlightcad/cad-viewer/wiki) - X (Twitter): [@mlightcad](https://x.com/mlightcad) - YouTube: [@mlightcad](https://www.youtube.com/@mlightcad) - Medium: [@mlightcad](https://medium.com/@mlightcad) - Juejin(稀土掘金): [@mlightcad](https://juejin.cn/column/7501992214283501579) ### cad-viewer 기반 앱 [Thingraph](https://cad.thingraph.site/) 팀은 cad-viewer 위에 프로덕션급 DWG/DXF 뷰어와 플랫폼 통합을 구축하여 전 세계 수만 명의 사용자에게 서비스를 제공합니다: - [DWG Viewer Web App](https://cad.thingraph.site/dwg-viewer) — 전 세계 엔지니어링 팀이 빠르고 서버리스하게 도면에 접근하는 데 사용하는 브라우저 기반 DWG/DXF 뷰어. 플랫폼별 설치: - [Google Drive](https://workspace.google.com/marketplace/app/dwg_viewer/641533811831) — **Open with**로 Drive에서 DWG/DXF 열기 - [VS Code](https://marketplace.visualstudio.com/items?itemName=thingraph.dwg-viewer) — `.dwg` / `.dxf` 읽기 전용 커스텀 에디터 - [Cursor](https://open-vsx.org/extension/thingraph/dwg-viewer) — Open VSX를 통한 동일 확장 - [Confluence](https://marketplace.atlassian.com/apps/2890472615/dwg-viewer-for-confluence) — 페이지에 DWG/DXF 미리보기 임베드 - [Windows Explorer](https://cad.thingraph.site/install/windows) — 파일 탐색기에서 썸네일 및 미리보기 커뮤니티 앱 및 통합: - [flyfish-dev/cad-viewer](https://github.com/flyfish-dev/cad-viewer) — DWG, DXF, DWF, DWFx, XPS용 프로덕션 지향 브라우저 CAD 뷰어 ([라이브 데모](https://cad-viewer-iys.pages.dev)) - [Nextcloud CAD Viewer](https://github.com/ashcoft/nextcloud-cad-viewer) — 브라우저에서 DWG/DXF를 보는 Nextcloud 네이티브 앱 ([앱 스토어](https://apps.nextcloud.com/apps/cad_viewer)) 커뮤니티 Linux 데스크톱 패키지: - [CAD Viewer AppImage](https://github.com/pass-wind/cad-viewer-appimage) — Linux용 Electron 기반 AppImage(약 114 MB), Fedora에서 테스트됨 - [cad-viewer (AUR)](https://aur.archlinux.org/packages/cad-viewer) — 시스템 Electron을 사용하는 Arch Linux 소스 패키지(약 5.4 MB) - [cad-viewer-bin (AUR)](https://aur.archlinux.org/packages/cad-viewer-bin) — 완전 오프라인 도면 열기를 위한 번들 폰트/템플릿이 포함된 Arch Linux 바이너리 패키지 ![CAD-Viewer Quick Demo](./assets/cad-viewer.gif) ## 기능 - **고성능** — 대용량 DWG/DXF 파일을 60+ FPS로 부드럽게 렌더링 - **백엔드 불필요** — 파일을 브라우저에서 완전히 파싱 및 처리 - **향상된 데이터 보안** — 파일이 기기를 떠나지 않아 완전한 프라이버시 보장 - **쉬운 통합** — 서버 설정이나 백엔드 인프라 불필요 - 서드파티 통합을 위한 모듈형 아키텍처 - **오프라인 HTML로 내보내기** — 현재 도면을 내장 뷰어(팬/줌, 범위 줌, 레이어, 거리 측정, EN/ZH UI)가 포함된 단일 자체 포함 `.html` 파일로 내보내기. 모든 브라우저에서 오프라인으로 열림. cad-viewer 인스턴스나 백엔드 불필요. - 오프라인 및 온라인 편집 워크플로 - 고급 최적화 기법을 적용한 THREE.js 3D 렌더링 엔진 - CMS, Notion, WeChat 등 플랫폼과의 확장 및 통합을 위해 설계 ## 시작하기 ### 사전 요구 사항 - [Node.js](https://nodejs.org/) >= 24 - [pnpm](https://pnpm.io/) >= 10 ### 설치 ```bash git clone https://github.com/mlightcad/cad-viewer.git cd cad-viewer pnpm install ``` ### 개발 ```bash # 전체 기능 뷰어(cad-viewer) 시작 pnpm dev # 또는 간단한 뷰어 시작 pnpm dev:simple ``` ### 빌드 ```bash pnpm build ``` ### 미리보기 ```bash # 전체 기능 뷰어 미리보기 pnpm preview # 간단한 뷰어 미리보기 pnpm preview:simple ``` ## 사용 방법 ### 데스크톱 브라우저 조작 - **선택**: 엔티티를 왼쪽 클릭 - **확대/축소**: 마우스 휠 위/아래 스크롤 - **팬**: 가운데 마우스 버튼을 누른 채 드래그 - **지우기**: 엔티티를 선택한 후 `Del` 키 누르기 ### 태블릿/모바일 브라우저 조작 - **선택**: 엔티티 탭 - **줌**: 두 손가락으로 핀치 - **팬**: 한 손가락으로 드래그 ## 플러그인 시스템 CAD-Viewer는 [`@mlightcad/cad-simple-viewer`](packages/cad-simple-viewer)의 모듈형 **플러그인 시스템**을 중심으로 구축됩니다. 플러그인은 `AcApPlugin` 인터페이스를 구현하고 `onLoad` / `onUnload`를 통해 뷰어 생명주기에 연결됩니다—일반적으로 명령 등록, UI 추가, 내보내기/가져오기 파이프라인 연결에 사용됩니다. `AcApDocManager.instance.pluginManager`(`loadPlugin`, `registerLazyPlugin`, 또는 문서 관리자 생성 시 `plugins.fromConfig`)를 통해 플러그인을 로드합니다. 내보내기 지향 플러그인은 **지연 로딩**을 지원합니다: 작은 stub을 먼저 등록하고, 사용자가 관련 명령(예: `-chtml`, 또는 `cad-viewer`의 `chtml` 대화상자에서 내보내기 확인)을 실행할 때만 무거운 번들을 다운로드합니다. 모노레포에는 여러 퍼스트파티 플러그인이 포함되어 있습니다. 각각 하나의 관심사에 집중하며, 필요에 따라 조합할 수 있습니다. **설치, 등록, API 세부 사항은 각 패키지 README**에 있습니다—아래 링크를 참조하세요. ### 공식 플러그인 | 패키지 | 역할 | 명령 / 기능 | |---------|------|-------------------------| | [`@mlightcad/cad-simple-ui-plugin`](packages/cad-simple-ui-plugin) | `cad-simple-viewer`용 **툴바 및 레이어 관리자 UI**(순수 DOM, Vue/React 없음) | `layer`, 기본 툴바(보기, 측정, 내보내기, 검토, 테마, 로케일) | | [`@mlightcad/cad-agent-plugin`](packages/cad-agent-plugin) | **자연어 CAD 에이전트**(AI 채팅 패널 + 도면 도구 호출) | `agent` | | [`@mlightcad/cad-html-plugin`](packages/cad-html-plugin) | 도면을 **자체 포함 오프라인 HTML**로 내보내기 | `chtml` (`cad-viewer` 대화상자), `-chtml` (명령줄) | | [`@mlightcad/cad-pdf-plugin`](packages/cad-pdf-plugin) | **PDF 내보내기 및 가져오기**(벡터 파이프라인) | `cpdf`, `ipdf` | | [`@mlightcad/cad-svg-plugin`](packages/cad-svg-plugin) | **SVG 내보내기** 및 공유 벡터 렌더러(PDF 내보내기에서도 사용) | `csvg` | ### `@mlightcad/cad-simple-ui-plugin` — 간단한 뷰어용 UI 크롬 [`cad-simple-viewer`](packages/cad-simple-viewer)는 의도적으로 **애플리케이션 UI 없이** 캔버스와 CAD 코어만 제공합니다. 자체 웹 앱에 간단한 뷰어를 임베드하고 전체 Vue 기반 [`cad-viewer`](packages/cad-viewer) 셸을 채택하지 않으려면 **`cad-simple-ui-plugin`이 의도된 UI 레이어**입니다. 제공 기능: - **구성 가능한 툴바**(임의의 가장자리 배치, 기본 CAD 명령, 중첩 메뉴, 커스텀 항목) - **플로팅 레이어 관리자**(레이어 켜기/끄기, ACI 색상 선택기, 더블클릭으로 레이어로 줌) - **`COLORTHEME` sysvar 및 호스트 요소의 `--ml-ui-*` CSS 토큰과 테마 동기화** - **`AcApI18n`과 로케일 동기화**(영어 / 중국어) 모든 위젯은 프레임워크에 독립적(순수 DOM)입니다. 전체 Vue [`cad-viewer`](packages/cad-viewer) 앱은 자체 Element Plus UI가 있으며 이 플러그인이 필요하지 않습니다. `cad-simple-viewer`를 직접 기반으로 구축할 때 `cad-simple-ui-plugin`을 사용하세요. → **빠른 시작, 툴바 커스터마이징, 옵션:** [packages/cad-simple-ui-plugin/README.md](packages/cad-simple-ui-plugin/README.md) ### `@mlightcad/cad-agent-plugin` — AI 도면 어시스턴트 [`cad-agent-plugin`](packages/cad-agent-plugin)은 `cad-simple-viewer` 기반 앱에 **자연어 CAD 에이전트**를 추가합니다. 사용자가 일반 언어로 원하는 것을 설명하면, 에이전트가 CAD 도구를 호출하여 도면을 검사하고 지오메트리를 생성하거나 수정합니다. 제공 기능: - **지연 로딩** `AcApPlugin`(트리거 명령: `agent`) — AI 번들이 크리티컬 패스에 포함되지 않음 - Vercel AI SDK(`Experimental_Agent` + `@ai-sdk/vue`) 기반 **Vue 채팅 패널**(`AgentChatPanel`) - **브라우저 측 LLM 구성** — OpenAI, Anthropic 또는 OpenAI 호환 엔드포인트용 API 키가 클라이언트에 유지(`localStorage`에 암호화 저장) - **1단계 CAD 도구** — `get_drawing_context`; `draw_line`, `draw_circle`, `draw_arc`, `draw_rectangle`, `draw_polyline`, `draw_text`; `set_current_layer`, `create_layer`, `zoom_extents` - 플러그인 i18n 레이어를 통한 **영어 / 중국어 / 터키어 / 체코어** UI 문자열 전체 Vue [`cad-viewer`](packages/cad-viewer) 앱은 패키지가 설치되면 에이전트를 자동 등록합니다(팔레트 탭). [`cad-simple-viewer-example`](packages/cad-simple-viewer-example)은 `cad-simple-ui-plugin`을 통해 도킹 탭에 연결합니다. 호스트 앱은 `registerLazyAgentPlugin`과 `setAgentPaletteOpener`를 호출하여 원하는 위치에 패널을 마운트합니다. → **설치, 등록, 도구 목록:** [packages/cad-agent-plugin/README.md](packages/cad-agent-plugin/README.md) ### 내보내기 플러그인(HTML / PDF / SVG) 이 플러그인들은 동일한 플러그인 관리자에 내보내기(및 PDF 가져오기) 명령을 추가합니다. **지연 로딩**되어 초기 페이지 용량을 작게 유지합니다. [`cad-simple-viewer-example`](packages/cad-simple-viewer-example) 데모는 세 내보내기 플러그인, `cad-simple-ui-plugin`, `cad-agent-plugin`을 모두 등록합니다. 전체 [`cad-viewer`](packages/cad-viewer) 앱은 부트스트랩에서 내보내기 플러그인과(설치 시) 에이전트 플러그인을 등록합니다. - **HTML** — 공유 및 아카이브용 단일 파일 오프라인 뷰어: [packages/cad-html-plugin/README.md](packages/cad-html-plugin/README.md) (동일 파이프라인의 헤드리스 CLI: [packages/cad-html-exporter-cli/README.md](packages/cad-html-exporter-cli/README.md)) - **PDF** — 벡터 PDF 내보내기 및 PDF-to-CAD 가져오기: [packages/cad-pdf-plugin/README.md](packages/cad-pdf-plugin/README.md) - **SVG** — 벡터 SVG 내보내기: [packages/cad-svg-plugin/README.md](packages/cad-svg-plugin/README.md) #### 자체 포함 HTML 메모리 사용량 샘플 도면 [`canteen.dwg`](https://cdn.jsdelivr.net/gh/mlightcad/cad-data@main/data/canteen.dwg)를 열 때 메모리 소비량은 대략 다음과 같습니다: | 뷰어 | 메모리 소비량 | |--------|-------------| | AutoCAD 2020 | 320 MB | | GstarCAD Viewer (浩辰看图王) | 246 MB | | 자체 포함 HTML(측정 모드) | 56 MB | | 자체 포함 HTML(보기 모드) | 33 MB | 오프라인 HTML 뷰어는 보기 모드에서 AutoCAD 2020보다 약 **83% 적은** 메모리, GstarCAD Viewer보다 약 **77% 적은** 메모리를 사용하면서도 팬/줌, 레이어 전환, 거리 측정(측정 모드)을 지원합니다. ## 성능 CAD-Viewer는 **탁월한 성능**을 위해 설계되었으며, 높은 프레임률을 유지하면서 매우 큰 DXF/DWG 파일을 처리할 수 있습니다. 여러 고급 렌더링 기술로 성능을 최적화합니다: - **커스텀 셰이더 머티리얼**: GPU 가속 셰이더 머티리얼로 복잡한 선종과 해치 채우기 패턴을 효율적으로 렌더링 - **지오메트리 배칭**: 동일 머티리얼의 점, 선, 영역을 병합하여 드로우 호출을 크게 줄임 - **인스턴스 렌더링**: 인스턴싱 기법으로 반복 지오메트리 렌더링 최적화 - **버퍼 지오메트리 최적화**: 효율적인 메모리 관리 및 지오메트리 병합으로 GPU 오버헤드 감소 - **머티리얼 캐싱**: 유사 엔티티 간 머티리얼 재사용으로 상태 변경 최소화 - **WebGL 최적화**: 최신 WebGL 기능으로 하드웨어 가속 렌더링 활용 이러한 최적화를 통해 CAD-Viewer는 수천 개의 엔티티가 있는 복잡한 CAD 도면을 부드럽게 렌더링하면서 반응성 있는 사용자 상호작용을 유지합니다. ## 알려진 문제 기본 오픈소스 DWG 경로는 [LibreDWG](https://github.com/LibreDWG/libredwg) 기반입니다. 많은 도면에서 잘 동작하지만, 엔티티 커버리지는 여전히 제한적이고 WASM 번들은 훨씬 크며, 시작이 느리고, 메모리 사용량이 높으며, 매우 큰 DWG 파일에서는 메모리 부족 오류가 발생할 수 있습니다. 또한 상용 클로즈드소스 제품에는 GPL 라이선스 고려 사항이 있습니다. 더 나은 호환성, 낮은 메모리 사용량, 대용량 파일 지원, 또는 더 명확한 상용 라이선스가 필요하면 [**프로프라이어터리 DWG 파서**](./PROPRIETARY-PARSER.md)를 참조하세요. | 항목 | LibreDWG 기반 파서 | 프로프라이어터리 DWG 파서 | |------|------------------------|------------------------| | 지원 엔티티 | 제한적 커버리지 | 더 넓은 커버리지 | | 번들 크기 | ~13 MB | ~437 KB | | 로드 속도 | 느린 시작 | 훨씬 빠른 시작 | | 메모리 사용량 | 높음 | 낮음 | | 대용량 DWG 파일 | 대용량 파일에서 OOM 가능 | 해당 문제 없음 | | 라이선스 | GPL 전파 위험 | GPL 전파 문제 없음 | ## 로드맵 이 프로젝트의 목표는 모듈형 아키텍처와 프레임워크에 독립적인 통합을 갖춘 **브라우저의 풀 기능 2D AutoCAD 유사 시스템**(뷰어 + 에디터)을 만드는 것입니다. 범례: - [x] 완료 - [ ] 계획됨 - [ ] ⏳ 진행 중 ### 핵심 파일 및 데이터 레이어 #### 파일 지원 * [x] DXF 로딩 * [x] DWG 로딩 * [x] 자체 포함 오프라인 HTML로 내보내기(내장 뷰어) * [x] 대용량 파일 스트리밍 / 증분 로딩 * [ ] ⏳ 파일 버전 호환성(R12–Latest) #### 데이터 모델 * [x] 통합 엔티티 데이터 모델 * [x] 레이어 테이블 지원 * [x] 블록 / 삽입 구조 * [ ] ⏳ Handle 및 객체 ID 관리: 현재 objectId는 handle과 동일하며 bigint(int64) 대신 하나의 문자열로 표현됨. * [ ] ⏳ XData / 확장 사전 지원 * [ ] 프록시 엔티티 처리 ### 렌더링 및 성능 #### 렌더링 엔진 * [x] WebGL 기반 렌더링(Three.js) * [x] 2D 전용 최적화 파이프라인 * [x] 레이어 기반 씬 구성 * [x] 레이아웃 / 용지 공간 렌더링 * [ ] 뷰포트 엔티티 지원 #### 성능 최적화 * [x] 지오메트리 병합 및 배칭 * [x] 공간 인덱싱(기본) * [x] 고급 공간 인덱스(R-tree / BVH) * [ ] LOD(Level-of-detail) 렌더링 * [ ] 매우 큰 도면용 멀티 캔버스 / 타일 렌더링 ### 보기 및 탐색 #### 뷰 컨트롤 * [x] 팬 * [x] 줌(휠 / 박스 줌) * [x] 뷰 맞춤 / 범위 * [ ] 명명된 뷰 * [ ] 뷰 히스토리(뷰 변경 실행 취소 / 다시 실행) #### 표시 컨트롤 * [x] 레이어 표시/숨김 * [x] 레이어 동결 / 잠금 * [x] 선 두께 표시 * [ ] 선종 스케일링 * [x] 배경 / 테마 전환 ### 선택 및 상호작용 #### 선택 * [x] 단일 엔티티 선택 * [x] 선택된 엔티티 강조 * [x] 윈도우 선택 * [x] 크로싱 선택 * [x] 선택 필터(유형 / 레이어별) * [x] 선택 순환 #### 스냅(OSNAP) * [x] 끝점 * [x] 중점 * [x] 중심 * [ ] 교차점 * [ ] 수직 / 접선 * [x] 최근접 * [ ] 스냅 추적 ### 편집 및 수정 #### 기본 편집 * [x] 엔티티 편집 프레임워크 * [x] 이동 * [x] 복사 * [x] 회전 * [ ] 축척 * [x] 삭제 * [x] 실행 취소 / 다시 실행 #### 지오메트리 편집 * [x] 그립 포인트 * [ ] 스트레치 * [ ] 트림 * [ ] 연장 * [x] 오프셋 * [ ] 분해 * [ ] 결합 / 필렛 / 모따기(2D) ### 그리기 및 생성 도구 #### 기본 엔티티 * [x] 선 * [x] 폴리라인 * [x] 스플라인 * [x] 원 * [x] 호 * [x] 타원 * [x] 사각형 / 다각형 #### 고급 엔티티 * [x] 해치 * [ ] 텍스트(한 줄 / 여러 줄) * [ ] 치수(선형, 정렬, 각도) * [ ] 블록 생성 및 삽입 ### 측정 * [x] 거리 * [x] 호 길이 * [x] 면적 * [x] 각도 * [ ] 좌표 * [ ] 엔티티 통계(길이, 면적, 개수) ### 치수 * [x] 선형 치수 * [ ] 각도 치수 * [ ] 좌표 ### 속성 및 UI 패널 #### 속성 팔레트 * [x] 선택된 엔티티 속성 * [ ] 레이어, 색상, 선종 편집 * [x] 변경 시 실시간 업데이트 #### 패널 및 UI * [x] 레이어 관리자 * [ ] 블록 관리자 * [x] 명령 히스토리 / 콘솔 * [x] 상태 표시줄(스냅, 직교, 그리드) #### 명령 시스템 * [x] 명령 레지스트리 * [x] 명령 별칭 * [x] 명령 프롬프트(AutoCAD 스타일) ### 통합 및 확장성 #### 프레임워크 통합 * [x] 프레임워크에 독립적인 코어 * [ ] React 통합 예제 * [x] Vue 통합 예제 * [ ] OpenLayers / 지도 통합 * [ ] CMS / Notion 임베딩 #### 플러그인 시스템 * [x] 플러그인 API * [ ] 커스텀 엔티티 지원 * [x] 커스텀 명령 ### 오프라인 및 온라인 편집 #### 오프라인 에디터 * [x] 브라우저 로컬 편집 * [x] DXF로 저장 * [ ] 변경 세트 / diff 저장 * [ ] IndexedDB 영속성 #### 온라인 에디터 * [ ] 백엔드 API 설계 * [ ] 사용자 인증 * [ ] 파일 버전 관리 * [ ] 다중 사용자 접근 제어 * [ ] 실시간 협업(향후) ### 플랫폼 목표 * [ ] ⏳ Google Drive 통합 * [ ] WeChat 미니 프로그램 뷰어 * [ ] 모바일 브라우저 지원(읽기 전용) ### 문서 및 커뮤니티 * [x] 아키텍처 문서 * [x] API 레퍼런스 * [ ] 기여 가이드 * [x] 예제 프로젝트 * [x] 로드맵 및 변경 로그 유지 이 로드맵은 기여자가 **무엇이 있는지**, **무엇이 없는지**, **어디에 도움이 필요한지**를 명확히 볼 수 있도록 의도적으로 세분화되어 있습니다. ## 기여 기여를 환영합니다! 버그 수정, 새 기능, 제안을 위해 이슈나 풀 리퀘스트를 열어 주세요. 버그 리포트의 경우, 문제가 있는 도면 링크를 제공하면 재현 및 수정에 도움이 됩니다. ## 라이선스 cad-viewer 모노레포는 주로 [MIT](LICENSE) 라이선스입니다. DXF 로딩은 `@mlightcad/data-model`의 내장 MIT 파서를 사용합니다. `@mlightcad/cad-simple-viewer`의 **기본 DWG 로딩 경로**는 GPL-3.0 패키지(`libredwg-web` / `@mlightcad/libredwg-converter`)에 의존합니다. 클로즈드소스 제품을 배포하고 고객에게 GPL 코드를 배포할 수 없다면, [**프로프라이어터리 DWG 파서**](./PROPRIETARY-PARSER.md)를 대신 사용하세요—해당 컨버터를 대체하고 나머지 스택은 MIT만 유지할 수 있습니다. → **상용 파서:** [PROPRIETARY-PARSER.md](./PROPRIETARY-PARSER.md) (범위, 라이선스, 가격, 통합, GPL 준수, 지원)