forked from kimminsung/dwg-dxf-viewer-sample
Repos copy src/viewer2d/acadrust-dwg/ around, and package.json still says 0.1.0 for both the old 0.4.1 build and this one, so a copy could not tell which parser it carries. The README travels with the folder and records the acadrust version (0.6.5, unmodified), wrapper branch/commit, the wasm SHA-256, a grep marker that only a 0.6.5 build contains, and what changes when replacing an old copy. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.6 KiB
2.6 KiB
acadrust-dwg — DWG 파서 wasm (빌드 정보)
이 폴더를 다른 레포로 복사해 쓴다면 이 README 도 같이 복사한다. 사본이 최신인지 판별할 근거가 여기 있다.
| 항목 | 값 |
|---|---|
| acadrust | 0.6.5 — crates.io 판을 무수정으로 사용 (upstream commit 289a616da6c68518218594aa80802cbe7fa71309, crate SHA-256 5eaa72520f70eb6f7f09b06f44e1ed0d8fad5fa743364f2c3715c30df962ec7c) |
| 래퍼 (dwg-wasm, MIT) | hmwebviewer 의 rust/dwg-wasm, 브랜치 chore/acadrust-0.6.5, 커밋 7c6786a |
acadrust_dwg_bg.wasm SHA-256 |
2d58b20f172cad3c6a38330c7173d9292107bd2fec8e4085f68507be961761fd |
| 빌드 | 2026-10-19 · wasm-pack 0.15 · rustc 1.92 · opt-level = "s", LTO |
| 정본 위치 | gitea.hmac.kr/kimminsung/dwg-dxf-viewer-sample → src/viewer2d/acadrust-dwg/ (master) |
내 사본이 최신인지 확인
sha256sum acadrust_dwg_bg.wasm # 2d58b20f172cad3c… 이면 이 빌드
grep -c -a 'acadrust-0.6.5' acadrust_dwg_bg.wasm # 1 이상 = 0.6.5 빌드, 0 = 옛 0.4.x 빌드
package.json 의 version(0.1.0)은 옛 빌드와 같아서 판별에 쓸 수 없다.
grep 표식은 wasm 안에 남은 crates.io 경로(…\acadrust-0.6.5\src\…)라서, 0.6.5 crate 로 빌드했을 때만 생긴다.
옛 빌드(acadrust 0.4.1 + 로컬 패치)에서 바꿀 때 알아 둘 것
- API 는 같다.
init/initSync,parse_dwg_json(bytes),parse_dwg(bytes), parseResult 구조 모두 그대로다. 파일 4개(acadrust_dwg.js,acadrust_dwg.d.ts,acadrust_dwg_bg.wasm,acadrust_dwg_bg.wasm.d.ts)만 바꾸면 된다. - 크기: 864 KB → 2.9 MB (brotli 294 → 815 KB). 대형 도면 로드는 약 2~9 % 느리다.
- 더 정확해진 값 (0.4.1 이 잘못 읽던 것):
- 레이아웃 전체 뷰포트의
VIEWPORT.id= 1 - 3D 폴리선 vertex 순서
- ATTDEF 정렬
- 치수
pt10 - 트루컬러의 근사 ACI
- 레이아웃 전체 뷰포트의
- 한글: 한글(CP949)을 원본 출력에서 바로 디코딩한다. JS 쪽
fixDwgKoreanText는 그대로 둬도 무해하다. - 새 타입명:
DIMENSION_ARC,DIMENSION_LARGE_RADIAL. 0.4.1 은 이 치수를 버렸다. - 손상 레코드: 도면 전체를 거부하지 않고 건너뛴 뒤 notification 으로 남긴다 (failsafe).
- 상세: 정본 레포
docs/acadrust-0.6.5-upgrade.md. 22개 샘플 화면 비교:docs/acadrust-0.6.5-upgrade-report.html.
라이선스
acadrust 는 MPL-2.0 이고 무수정으로 쓴다. 배포할 때는 MPL 원문과 소스 입수 위치 고지를 동봉한다 (정본 레포의 THIRD-PARTY-NOTICES.md, public/licenses/). 래퍼는 MIT.