Copy the vanilla engine from dwg-dxf-viewer-sample verbatim (#1):
- src/engine/viewer2d/* (Viewer2D.js incl. the 2.5D view, parsers,
acadrust-dwg WASM, cadSpaces, slugText, linParser/linData,
fixDwgKoreanText, ...)
- src/engine/{layerPanel,panelUtils,propertyInspector,optionsStore}.ts
The relative layout is kept (engine/viewer2d next to the panel files),
so not even import paths changed; `diff -r --strip-trailing-cr` against
the sample is empty. public/ (NanumGothic, samples, licenses, module
map) is copied as is.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Start the React rebuild of the DWG/DXF viewer (#1).
- HMDesign is a git submodule (vendor/HMDesign, main) and its
packages/ui is an npm workspace, so @hm-design/ui resolves to the
submodule and shares this repo's node_modules.
- scripts/setup-hmdesign.mjs (postinstall) builds the package dist and
points vendor/HMDesign/node_modules at ours with a junction, because
HMDesign's build script reads typescript/shadcn from its own root.
Nothing inside the submodule is modified.
- Versions follow HMDesign (react 19.3.0, vite 8.3.0, tailwindcss
4.3.3, typescript 7.0.2) and the sample (three 0.185.1, dxf-parser
1.1.2, opentype.js 2.0.0).
- CSS entry: tailwindcss + @hm-design/ui/tailwind.css (index.css).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>