@flyfish-dev/cad-viewer 0.6.1 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,6 +12,17 @@ The project provides a clean loader architecture for **DWG**, **DXF**, **DWF**,
12
12
 
13
13
  > DWG support uses `@mlightcad/libredwg-web` / LibreDWG WebAssembly in a worker. DXF support uses JavaScript parsing plus a built-in fallback parser. DWF, DWFx and XPS support is powered by `dwf-viewer` 0.6.x, including DWF 6+ ZIP containers, WHIP/W2D 2D sheets, W3D/HSF 3D eModel geometry, DWFx/OPC/XPS pages, adaptive CAD line weights and an optional raster WASM fallback.
14
14
 
15
+ ## What changed in 0.6.3
16
+
17
+ - Added `dxfEncoding` for overriding DXF text decoding when legacy files omit or misdeclare `$DWGCODEPAGE`.
18
+ - DXF decoding now honors BOMs and `$DWGCODEPAGE` values such as `ANSI_936`, `CP936`, `GBK`, `BIG5`, `SHIFT_JIS` and Windows code pages before falling back.
19
+ - DXF text entities now normalize common CAD escapes such as `\U+XXXX`, `%%c`, `%%d`, `%%p` and `\P`.
20
+
21
+ ## What changed in 0.6.2
22
+
23
+ - Updated the native DWF path to `dwf-viewer` 0.6.4 for upstream DWF/DWFx bug fixes while keeping this package on its own SemVer line.
24
+ - Verified the exposed `CadViewer` DWF/XPS options still match the current `dwf-viewer` API.
25
+
15
26
  ## What changed in 0.6.1
16
27
 
17
28
  - Updated the native DWF path to `dwf-viewer` 0.6.1.
@@ -231,6 +242,7 @@ const viewer = new CadViewer({
231
242
  canvas, // optional existing HTMLCanvasElement
232
243
  renderer: 'auto', // 'auto' | 'webgl' | 'canvas2d'
233
244
  wasmPath: '/wasm', // directory containing libredwg-web.wasm and dwfv-render.wasm
245
+ dxfEncoding: 'gb18030', // optional override when legacy DXF codepage metadata is wrong
234
246
  dwfWasmUrl: '/wasm/dwfv-render.wasm',
235
247
  autoFit: true,
236
248
  canvasOptions: {
@@ -335,7 +347,7 @@ viewer.registerLoader({
335
347
  | Format | Loader | Coverage |
336
348
  |---|---|---|
337
349
  | DWG | `DwgLoader` | Uses LibreDWG WebAssembly. Rendering coverage depends on the entities exposed by LibreDWG conversion. |
338
- | DXF | `DxfLoader` | Uses `dxf-parser` plus fallback parsing. Supports core entities, blocks/inserts, colors/layers, polylines, text, hatch boundaries and splines as preview polylines. |
350
+ | DXF | `DxfLoader` | Uses `dxf-parser` plus fallback parsing. Supports codepage-aware text decoding, CAD text escape normalization, core entities, blocks/inserts, colors/layers, polylines, hatch boundaries and splines as preview polylines. |
339
351
  | DWF | `DwfLoader` + `dwf-viewer` | DWF 6+ ZIP packages, WHIP/W2D 2D sheets, W3D/HSF 3D eModel pages, model tree metadata, WebGL rendering and optional WASM fallback. |
340
352
  | DWFx / XPS | `DwfLoader` + `dwf-viewer` | DWFx/OPC/XPS pages with WebGL-accelerated vector paths, embedded fonts, text, images, package resources and adaptive overview line weights through the native DWF renderer. |
341
353
 
package/README.zh-CN.md CHANGED
@@ -12,6 +12,17 @@
12
12
 
13
13
  > DWG 使用 `@mlightcad/libredwg-web` / LibreDWG WebAssembly,并默认运行在 Worker 中。DXF 使用 JavaScript 解析器并带内置 fallback。DWF、DWFx、XPS 由 `dwf-viewer` 0.6.x 驱动,覆盖 DWF 6+ ZIP 包、WHIP/W2D 2D 图纸、W3D/HSF 3D eModel、DWFx/OPC/XPS 页面、自适应 CAD 线宽和可选 raster WASM fallback。
14
14
 
15
+ ## 0.6.3 变更
16
+
17
+ - 新增 `dxfEncoding`,用于旧 DXF 缺少或误写 `$DWGCODEPAGE` 时显式指定文本编码。
18
+ - DXF 解码现在会优先识别 BOM 和 `$DWGCODEPAGE`,支持 `ANSI_936`、`CP936`、`GBK`、`BIG5`、`SHIFT_JIS` 以及 Windows code page,不再把中文 DXF 退到有损的 ISO-8859-1。
19
+ - DXF 文本实体会归一化常见 CAD 转义,例如 `\U+XXXX`、`%%c`、`%%d`、`%%p` 和 `\P`。
20
+
21
+ ## 0.6.2 变更
22
+
23
+ - 原生 DWF 通道升级到 `dwf-viewer` 0.6.4,包含上游 DWF/DWFx bugfix;本包继续按自身 SemVer 发布为 0.6.2。
24
+ - 已确认当前暴露的 `CadViewer` DWF/XPS 配置项仍与最新版 `dwf-viewer` API 匹配。
25
+
15
26
  ## 0.6.1 变更
16
27
 
17
28
  - 原生 DWF 通道升级到 `dwf-viewer` 0.6.1。
@@ -231,6 +242,7 @@ const viewer = new CadViewer({
231
242
  canvas, // 也可以传入已有 canvas
232
243
  renderer: 'auto', // 'auto' | 'webgl' | 'canvas2d'
233
244
  wasmPath: '/wasm', // LibreDWG WebAssembly 资源路径。Worker 场景建议使用绝对路径/URL
245
+ dxfEncoding: 'gb18030', // 可选:旧 DXF codepage 元数据错误时显式指定编码
234
246
  dwfWasmUrl: '/wasm/dwfv-render.wasm',
235
247
  autoFit: true,
236
248
  canvasOptions: {
@@ -335,7 +347,7 @@ viewer.registerLoader({
335
347
  | 格式 | Loader | 支持范围 |
336
348
  |---|---|---|
337
349
  | DWG | `DwgLoader` | 使用 LibreDWG WebAssembly。渲染完整度取决于 LibreDWG converter 暴露出的实体。 |
338
- | DXF | `DxfLoader` | 使用 `dxf-parser` + 内置 fallback。支持基础实体、block/insert、颜色/图层、多段线、文字、hatch boundary、spline 预览。 |
350
+ | DXF | `DxfLoader` | 使用 `dxf-parser` + 内置 fallback。支持 codepage-aware 文本解码、CAD 文本转义归一化、基础实体、block/insert、颜色/图层、多段线、hatch boundary、spline 预览。 |
339
351
  | DWF | `DwfLoader` + `dwf-viewer` | DWF 6+ ZIP 包、WHIP/W2D 2D 图纸、W3D/HSF 3D eModel、模型树元数据、WebGL 渲染和可选 WASM fallback。 |
340
352
  | DWFx / XPS | `DwfLoader` + `dwf-viewer` | DWFx/OPC/XPS 页面,包含 WebGL 加速 vector path、嵌入字体、文本、图片、包内资源和自适应总览线宽,通过原生 DWF 渲染器展示。 |
341
353