Files
dwg-dxf-viewer-sample/src/viewer2d/acadrust-dwg/README.md
T
minsungandClaude Opus 5.5 473addbe44 docs(dwg): build identity README next to the parser wasm
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>
2026-10-20 10:07:13 +09:00

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.