@flyfish-dev/cad-viewer 0.6.5 → 0.6.6
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 +13 -1
- package/README.zh-CN.md +13 -1
- package/dist/cad-viewer.es.js +2299 -2240
- package/dist/cad-viewer.es.js.map +1 -1
- package/dist/cad-viewer.umd.cjs +6 -6
- package/dist/cad-viewer.umd.cjs.map +1 -1
- package/dist/types/core/bounds.d.ts +9 -0
- package/dist/types/core/bounds.d.ts.map +1 -0
- package/dist/types/core/types.d.ts +1 -0
- package/dist/types/core/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/viewer/CadCanvasRenderer.d.ts +5 -4
- package/dist/types/viewer/CadCanvasRenderer.d.ts.map +1 -1
- package/dist/types/viewer/CadViewer.d.ts +2 -2
- package/dist/types/viewer/CadViewer.d.ts.map +1 -1
- package/dist/types/viewer/CadWebGLRenderer.d.ts +3 -2
- package/dist/types/viewer/CadWebGLRenderer.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,6 +12,12 @@ 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.6
|
|
16
|
+
|
|
17
|
+
- Added automatic initial fitting based on meaningful geometry inside a valid active DWG viewport, preventing remote coordinate clusters from shrinking the main drawing into a dot.
|
|
18
|
+
- Added `fitMode: 'auto' | 'saved-view' | 'extents'` and `viewer.fit(mode)` for automatic content fitting, exact saved-view restoration or complete drawing extents.
|
|
19
|
+
- Unified bounds and fitting behavior across the retained WebGL renderer and Canvas2D fallback.
|
|
20
|
+
|
|
15
21
|
## What changed in 0.6.5
|
|
16
22
|
|
|
17
23
|
- Preserved active DWG VPORT/header UCS saved views and applied safe planar scene transforms exactly once across geometry, text, inserts, bounds and interaction coordinates.
|
|
@@ -158,6 +164,7 @@ const viewer = new CadViewer({
|
|
|
158
164
|
canvasOptions: {
|
|
159
165
|
background: '#05070d',
|
|
160
166
|
foreground: '#f8fafc',
|
|
167
|
+
fitMode: 'auto',
|
|
161
168
|
contrastMode: 'adaptive',
|
|
162
169
|
minColorContrast: 2.45
|
|
163
170
|
}
|
|
@@ -171,6 +178,8 @@ input.addEventListener('change', async () => {
|
|
|
171
178
|
});
|
|
172
179
|
```
|
|
173
180
|
|
|
181
|
+
`fitMode: 'auto'` is the default. For DWG files with a valid active VPORT, it fits meaningful geometry inside the saved viewport, so remote survey coordinates or auxiliary geometry do not collapse the main sheet into a dot. Use `viewer.fit('saved-view')` to restore the exact saved viewport, or `viewer.fit('extents')` to include every coordinate cluster.
|
|
182
|
+
|
|
174
183
|
|
|
175
184
|
## WebGL rendering and performance model
|
|
176
185
|
|
|
@@ -264,6 +273,7 @@ const viewer = new CadViewer({
|
|
|
264
273
|
canvasOptions: {
|
|
265
274
|
background: '#05070d',
|
|
266
275
|
foreground: '#ffffff',
|
|
276
|
+
fitMode: 'auto', // 'auto' | 'saved-view' | 'extents'
|
|
267
277
|
contrastMode: 'adaptive', // 'adaptive' | 'preserve'
|
|
268
278
|
minColorContrast: 2.45,
|
|
269
279
|
showPageBounds: true,
|
|
@@ -294,7 +304,9 @@ const viewer = new CadViewer({
|
|
|
294
304
|
|
|
295
305
|
await viewer.loadFile(file);
|
|
296
306
|
await viewer.loadBuffer(arrayBuffer, 'drawing.dxf');
|
|
297
|
-
viewer.fit();
|
|
307
|
+
viewer.fit(); // automatic meaningful-content fit
|
|
308
|
+
viewer.fit('saved-view'); // exact active DWG viewport
|
|
309
|
+
viewer.fit('extents'); // all geometry, including remote coordinate clusters
|
|
298
310
|
viewer.zoomIn();
|
|
299
311
|
viewer.zoomOut();
|
|
300
312
|
await viewer.preloadDwg(); // optional DWG worker/WASM warmup
|
package/README.zh-CN.md
CHANGED
|
@@ -12,6 +12,12 @@
|
|
|
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.6 变更
|
|
16
|
+
|
|
17
|
+
- 新增基于有效 DWG active VPORT 内有意义几何的自动首屏拟合,避免远距离坐标簇把主图压缩成小黑点。
|
|
18
|
+
- 新增 `fitMode: 'auto' | 'saved-view' | 'extents'` 和 `viewer.fit(mode)`,分别用于智能内容拟合、严格恢复保存视口及查看全部图形范围。
|
|
19
|
+
- 统一 retained WebGL renderer 与 Canvas2D fallback 的边界计算和拟合行为。
|
|
20
|
+
|
|
15
21
|
## 0.6.5 变更
|
|
16
22
|
|
|
17
23
|
- 保留 DWG active VPORT/header UCS saved view,并将安全的平面场景变换只应用一次,统一覆盖几何、文字、INSERT、bounds 和交互坐标。
|
|
@@ -158,6 +164,7 @@ const viewer = new CadViewer({
|
|
|
158
164
|
canvasOptions: {
|
|
159
165
|
background: '#05070d',
|
|
160
166
|
foreground: '#f8fafc',
|
|
167
|
+
fitMode: 'auto',
|
|
161
168
|
contrastMode: 'adaptive',
|
|
162
169
|
minColorContrast: 2.45
|
|
163
170
|
}
|
|
@@ -171,6 +178,8 @@ input.addEventListener('change', async () => {
|
|
|
171
178
|
});
|
|
172
179
|
```
|
|
173
180
|
|
|
181
|
+
`fitMode: 'auto'` 是默认值。DWG 存在有效 active VPORT 时,会拟合保存视口内有意义的几何内容,避免远距离测绘坐标或辅助实体把主图框压成小黑点。使用 `viewer.fit('saved-view')` 可严格恢复保存视口,使用 `viewer.fit('extents')` 可查看全部坐标簇。
|
|
182
|
+
|
|
174
183
|
|
|
175
184
|
## WebGL 渲染与性能策略
|
|
176
185
|
|
|
@@ -264,6 +273,7 @@ const viewer = new CadViewer({
|
|
|
264
273
|
canvasOptions: {
|
|
265
274
|
background: '#05070d',
|
|
266
275
|
foreground: '#ffffff',
|
|
276
|
+
fitMode: 'auto', // 'auto' | 'saved-view' | 'extents'
|
|
267
277
|
contrastMode: 'adaptive', // 'adaptive' | 'preserve'
|
|
268
278
|
minColorContrast: 2.45,
|
|
269
279
|
showPageBounds: true,
|
|
@@ -294,7 +304,9 @@ const viewer = new CadViewer({
|
|
|
294
304
|
|
|
295
305
|
await viewer.loadFile(file);
|
|
296
306
|
await viewer.loadBuffer(arrayBuffer, 'drawing.dxf');
|
|
297
|
-
viewer.fit();
|
|
307
|
+
viewer.fit(); // 自动拟合有意义的首屏内容
|
|
308
|
+
viewer.fit('saved-view'); // 严格恢复 DWG active viewport
|
|
309
|
+
viewer.fit('extents'); // 查看全部几何,包括远距离坐标簇
|
|
298
310
|
viewer.zoomIn();
|
|
299
311
|
viewer.zoomOut();
|
|
300
312
|
await viewer.preloadDwg(); // 可选 DWG worker/WASM 预热
|