@flyfish-dev/cad-viewer 0.5.3 → 0.6.1

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/dist/style.css CHANGED
@@ -1 +1 @@
1
- .cad-viewer-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.cad-viewer-canvas.is-dragging{cursor:grabbing}.cad-viewer-webgl-canvas{position:relative;z-index:0}.cad-viewer-text-overlay{display:block;contain:strict;-webkit-user-select:none;user-select:none}
1
+ .dwfv-root{height:100%;min-height:0;display:grid;grid-template-rows:auto 1fr;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827}.dwfv-toolbar{display:flex;gap:8px;align-items:center;padding:8px 12px;background:#fff;border-bottom:1px solid #e5e7eb}.dwfv-toolbar button,.dwfv-toolbar select{font:inherit}.dwfv-workspace{min-height:0;display:grid;grid-template-columns:minmax(220px,300px) 1fr}.dwfv-tree{overflow:auto;border-right:1px solid #d6d8dd;background:#fff;font-size:12px;padding:8px}.dwfv-tree[style*="display: none"]+.dwfv-stage{grid-column:1 / -1}.dwfv-tree-header{font-weight:700;margin-bottom:4px}.dwfv-tree-stats{color:#6b7280;margin-bottom:8px}.dwfv-tree details{margin-left:8px}.dwfv-tree summary{cursor:pointer;padding:2px 0}.dwfv-tree-meta{color:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;padding-left:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dwfv-stage{position:relative;overflow:hidden;background:#e5e7eb}.dwfv-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.dwfv-webgl-canvas{pointer-events:none}.dwfv-overlay-canvas{pointer-events:auto;touch-action:none;cursor:grab}.dwfv-overlay-canvas:active{cursor:grabbing}.dwfv-status{margin-left:auto;font-size:12px;color:#4b5563}.dwfv-warn{color:#92400e}.cad-viewer-container{position:relative;overflow:hidden;min-width:0;min-height:0}.cad-viewer-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.cad-viewer-canvas.is-dragging{cursor:grabbing}.cad-viewer-webgl-canvas{position:relative;z-index:0}.cad-viewer-text-overlay{display:block;contain:strict;-webkit-user-select:none;user-select:none}.cad-viewer-native-host{position:absolute;top:0;right:0;bottom:0;left:0;display:none;z-index:2;min-width:0;min-height:0;background:#05070d}.cad-viewer-native-host.is-active{display:block}.cad-viewer-native-host .dwfv-root{height:100%;min-height:0;color:#dbeafe;background:#05070d}.cad-viewer-native-host .dwfv-toolbar{min-height:34px;padding:5px 8px;gap:6px;border-bottom:1px solid rgba(71,85,105,.65);background:#0f172af5;color:#e5e7eb}.cad-viewer-native-host .dwfv-toolbar button,.cad-viewer-native-host .dwfv-toolbar select{height:24px;border:1px solid rgba(100,116,139,.75);border-radius:6px;background:#111827;color:#e5e7eb;font-size:12px}.cad-viewer-native-host .dwfv-toolbar button{padding:0 8px;cursor:pointer}.cad-viewer-native-host .dwfv-toolbar button:hover,.cad-viewer-native-host .dwfv-toolbar select:hover{border-color:#60a5fa;color:#bfdbfe}.cad-viewer-native-host .dwfv-status{color:#93c5fd;font-size:12px}.cad-viewer-native-host .dwfv-workspace{min-height:0;background:#05070d}.cad-viewer-native-host .dwfv-stage{background:#05070d}.cad-viewer-native-host .dwfv-tree{border-right:1px solid rgba(71,85,105,.7);background:#0f172a;color:#dbeafe}.cad-viewer-native-host .dwfv-tree-stats,.cad-viewer-native-host .dwfv-tree-meta{color:#94a3b8}.cad-viewer-native-host .dwfv-warn{color:#fbbf24}
@@ -1,4 +1,5 @@
1
1
  export type CadFormat = 'dwg' | 'dxf' | 'dwf' | 'dwfx' | 'xps' | 'unknown';
2
+ export type CadDwfLineWeightMode = 'adaptive' | 'physical' | 'hairline';
2
3
  export interface CadPoint2D {
3
4
  x: number;
4
5
  y: number;
@@ -128,7 +129,7 @@ export interface CadLoadInput {
128
129
  fileName?: string;
129
130
  buffer?: ArrayBuffer | Uint8Array;
130
131
  }
131
- export type CadLoadProgressPhase = 'read' | 'detect' | 'worker-start' | 'worker-ready' | 'wasm-init' | 'parse' | 'normalize' | 'render' | 'done';
132
+ export type CadLoadProgressPhase = 'read' | 'detect' | 'worker-start' | 'worker-ready' | 'wasm-init' | 'parse' | 'normalize' | 'render' | 'native-render' | 'done';
132
133
  export interface CadLoadProgress {
133
134
  phase: CadLoadProgressPhase;
134
135
  message: string;
@@ -164,6 +165,32 @@ export interface CadLoadOptions {
164
165
  keepRaw?: boolean;
165
166
  /** Abort a pending load. For native parsers this terminates and recreates the worker. */
166
167
  signal?: AbortSignal;
168
+ /** URL to dwf-viewer's optional 2D raster fallback WASM asset, usually /wasm/dwfv-render.wasm. */
169
+ dwfWasmUrl?: string;
170
+ /** Prefer dwf-viewer's WebGL paths for W2D/W3D rendering. */
171
+ dwfPreferWebgl?: boolean;
172
+ /** Allow dwf-viewer's WASM raster backend for complex 2D vector pages. */
173
+ dwfPreferWasm?: boolean;
174
+ /** Background passed to the native DWF renderer. Defaults to the active CAD canvas background. */
175
+ dwfBackground?: string;
176
+ /** DWF renderer device-pixel-ratio cap. */
177
+ dwfMaxDevicePixelRatio?: number;
178
+ /** DWF renderer maximum backing-store pixels per canvas. */
179
+ dwfMaxCanvasPixels?: number;
180
+ /** DWF WebGL GPU cache budget in bytes. */
181
+ dwfMaxGpuCacheBytes?: number;
182
+ /** Number of DWF pages/scenes kept in the native renderer cache. */
183
+ dwfMaxCachedScenes?: number;
184
+ /** DWF/XPS CAD line-weight rendering mode. Defaults to dwf-viewer's adaptive mode. */
185
+ dwfLineWeightMode?: CadDwfLineWeightMode;
186
+ /** Minimum CSS-pixel stroke used by the DWF/XPS adaptive line-weight renderer. */
187
+ dwfMinStrokeCssPx?: number;
188
+ /** Maximum overview stroke width before zoom restores physical line weights. */
189
+ dwfMaxOverviewStrokeCssPx?: number;
190
+ /** Minimum CSS-pixel text size shown in dense adaptive DWF/XPS overviews. */
191
+ dwfMinTextCssPx?: number;
192
+ /** Minimum filled area, in CSS pixels, shown in dense adaptive DWF/XPS overviews. */
193
+ dwfMinFilledAreaCssPx?: number;
167
194
  /** Receives coarse loader progress events. */
168
195
  onProgress?: (progress: CadLoadProgress) => void;
169
196
  }
@@ -182,6 +209,17 @@ export interface CadLoader {
182
209
  accepts(input: CadLoadInput, bytes?: Uint8Array): boolean;
183
210
  load(input: CadLoadInput, options?: CadLoadOptions): Promise<CadLoadResult>;
184
211
  }
212
+ export interface CadNativeRenderableLoader extends CadLoader {
213
+ readonly nativeRenderer: true;
214
+ mount(input: CadLoadInput, host: HTMLElement, options?: CadLoadOptions): Promise<CadLoadResult>;
215
+ unmount(): void;
216
+ fit?(): void;
217
+ zoomIn?(): void;
218
+ zoomOut?(): void;
219
+ resize?(): void;
220
+ setNativeOptions?(options: CadLoadOptions): void;
221
+ }
222
+ export declare function isCadNativeRenderableLoader(loader: CadLoader): loader is CadNativeRenderableLoader;
185
223
  export interface CadSummary {
186
224
  format: CadFormat;
187
225
  sourceName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,10 @@ export type { CadViewerLoadResult, CadViewerOptions, CadViewerRendererBackend, C
4
4
  export { CadCanvasRenderer } from './viewer/CadCanvasRenderer';
5
5
  export { CadWebGLRenderer, isWebGLAvailable } from './viewer/CadWebGLRenderer';
6
6
  export type { CanvasViewerOptions, RenderStats, ViewChangeEvent, ViewState } from './viewer/CadCanvasRenderer';
7
- export { CadLoaderRegistry, createDefaultLoaderRegistry, DwgLoader, DwgWorkerClient, DxfLoader, DwfLoader, DwfUnsupportedError, supportsDwgWorker } from './loaders';
7
+ export { CadLoaderRegistry, createDefaultLoaderRegistry, DwgLoader, DwgWorkerClient, DxfLoader, DwfLoader, supportsDwgWorker } from './loaders';
8
8
  export { createCadDocument, inferEntityKind, normalizeCadEntity, summarizeCadDocument } from './core/entity';
9
9
  export { detectCadFormat, readInputBytes } from './core/format';
10
+ export { isCadNativeRenderableLoader } from './core/types';
10
11
  export { colorFromAci, colorFromTrueColor, resolveCadColor } from './core/color';
11
- export type { CadBlock, CadBounds, CadDocument, CadEntity, CadEntityKind, CadFormat, CadLayer, CadLoadInput, CadLoadOptions, CadLoadProgress, CadLoadProgressPhase, CadLoadResult, CadLoader, CadPage, CadPathCommand, CadPoint, CadPoint2D, CadPoint3D, CadSummary } from './core/types';
12
+ export type { CadBlock, CadBounds, CadDocument, CadEntity, CadEntityKind, CadFormat, CadLayer, CadLoadInput, CadLoadOptions, CadLoadProgress, CadLoadProgressPhase, CadLoadResult, CadLoader, CadNativeRenderableLoader, CadPage, CadPathCommand, CadPoint, CadPoint2D, CadPoint3D, CadSummary } from './core/types';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEvH,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE/G,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAErK,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjF,YAAY,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,SAAS,EACT,OAAO,EACP,cAAc,EACd,QAAQ,EACR,UAAU,EACV,UAAU,EACV,UAAU,EACX,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEvH,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE/G,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEhJ,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjF,YAAY,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,SAAS,EACT,yBAAyB,EACzB,OAAO,EACP,cAAc,EACd,QAAQ,EACR,UAAU,EACV,UAAU,EACV,UAAU,EACX,MAAM,cAAc,CAAC"}
@@ -1,15 +1,24 @@
1
- import type { CadLoadInput, CadLoadOptions, CadLoadResult, CadLoader } from '../../core/types';
2
- export declare class DwfUnsupportedError extends Error {
3
- readonly format = "dwf";
4
- constructor(message: string);
5
- }
6
- export declare class DwfLoader implements CadLoader {
1
+ import { type RenderStats as DwfRenderStats } from 'dwf-viewer';
2
+ import type { CadLoadInput, CadLoadOptions, CadLoadResult, CadNativeRenderableLoader } from '../../core/types';
3
+ export declare class DwfLoader implements CadNativeRenderableLoader {
7
4
  readonly id = "dwf";
8
- readonly label = "DWFx/XPS 2D package loader";
5
+ readonly label = "DWF/DWFx native viewer powered by dwf-viewer";
9
6
  readonly formats: readonly ["dwf", "dwfx", "xps"];
7
+ readonly nativeRenderer: true;
10
8
  private readonly defaults;
9
+ private native?;
10
+ private host?;
11
+ private lastStats?;
11
12
  constructor(defaults?: CadLoadOptions);
12
13
  accepts(input: CadLoadInput, bytes?: Uint8Array): boolean;
13
14
  load(input: CadLoadInput, options?: CadLoadOptions): Promise<CadLoadResult>;
15
+ mount(input: CadLoadInput, host: HTMLElement, options?: CadLoadOptions): Promise<CadLoadResult>;
16
+ unmount(): void;
17
+ fit(): void;
18
+ zoomIn(): void;
19
+ zoomOut(): void;
20
+ resize(): void;
21
+ setNativeOptions(options: CadLoadOptions): void;
22
+ getLastNativeStats(): DwfRenderStats | undefined;
14
23
  }
15
24
  //# sourceMappingURL=DwfLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DwfLoader.d.ts","sourceRoot":"","sources":["../../../../src/loaders/dwf/DwfLoader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAA0B,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAuC,MAAM,kBAAkB,CAAC;AAE5J,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,MAAM,SAAS;gBACZ,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,SAAU,YAAW,SAAS;IACzC,QAAQ,CAAC,EAAE,SAAS;IACpB,QAAQ,CAAC,KAAK,gCAAgC;IAC9C,QAAQ,CAAC,OAAO,kCAAmC;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;gBAE9B,QAAQ,GAAE,cAAmB;IAIzC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO;IAOnD,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;CAsCtF"}
1
+ {"version":3,"file":"DwfLoader.d.ts","sourceRoot":"","sources":["../../../../src/loaders/dwf/DwfLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgI,KAAK,WAAW,IAAI,cAAc,EAAqB,MAAM,YAAY,CAAC;AAGjN,OAAO,KAAK,EAAqC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,yBAAyB,EAAuC,MAAM,kBAAkB,CAAC;AAEvL,qBAAa,SAAU,YAAW,yBAAyB;IACzD,QAAQ,CAAC,EAAE,SAAS;IACpB,QAAQ,CAAC,KAAK,kDAAkD;IAChE,QAAQ,CAAC,OAAO,kCAAmC;IACnD,QAAQ,CAAC,cAAc,EAAG,IAAI,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAc;IAC3B,OAAO,CAAC,SAAS,CAAC,CAAiB;gBAEvB,QAAQ,GAAE,cAAmB;IAIzC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO;IAOnD,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAiB/E,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAmCzG,OAAO,IAAI,IAAI;IAOf,GAAG,IAAI,IAAI;IAIX,MAAM,IAAI,IAAI;IAKd,OAAO,IAAI,IAAI;IAKf,MAAM,IAAI,IAAI;IAId,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IA4B/C,kBAAkB,IAAI,cAAc,GAAG,SAAS;CAGjD"}
@@ -4,5 +4,5 @@ export declare function createDefaultLoaderRegistry(options?: CadLoadOptions): C
4
4
  export { CadLoaderRegistry } from './CadLoaderRegistry';
5
5
  export { DwgLoader, DwgWorkerClient, supportsDwgWorker } from './dwg/DwgLoader';
6
6
  export { DxfLoader } from './dxf/DxfLoader';
7
- export { DwfLoader, DwfUnsupportedError } from './dwf/DwfLoader';
7
+ export { DwfLoader } from './dwf/DwfLoader';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,cAAmB,GAAG,iBAAiB,CAM3F;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,cAAmB,GAAG,iBAAiB,CAM3F;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { CadLoaderRegistry } from '../loaders/CadLoaderRegistry';
2
2
  import { summarizeCadDocument } from '../core/entity';
3
- import type { CadDocument, CadLoadInput, CadLoadOptions, CadLoadProgress, CadLoadResult, CadLoader } from '../core/types';
3
+ import { type CadDocument, type CadLoadInput, type CadLoadOptions, type CadLoadProgress, type CadLoadResult, type CadLoader } from '../core/types';
4
4
  import { CadCanvasRenderer, type CanvasViewerOptions, type RenderStats, type ViewChangeEvent } from './CadCanvasRenderer';
5
5
  import { CadWebGLRenderer } from './CadWebGLRenderer';
6
6
  export type CadViewerRendererBackend = 'auto' | 'webgl' | 'canvas2d';
@@ -8,7 +8,9 @@ export type CadRenderer = CadCanvasRenderer | CadWebGLRenderer;
8
8
  export interface CadViewerOptions extends CadLoadOptions {
9
9
  container?: HTMLElement;
10
10
  canvas?: HTMLCanvasElement;
11
- /** Rendering backend. `auto` uses WebGL when available and falls back to Canvas2D. */
11
+ /** Optional DOM host used by native format viewers such as dwf-viewer. */
12
+ nativeHost?: HTMLElement;
13
+ /** Rendering backend for normalized DWG/DXF scenes. `auto` uses WebGL when available and falls back to Canvas2D. */
12
14
  renderer?: CadViewerRendererBackend;
13
15
  canvasOptions?: CanvasViewerOptions;
14
16
  loaders?: CadLoader[];
@@ -29,8 +31,10 @@ export declare class CadViewer {
29
31
  readonly canvas: HTMLCanvasElement;
30
32
  readonly renderer: CadRenderer;
31
33
  readonly registry: CadLoaderRegistry;
34
+ readonly nativeHost?: HTMLElement;
32
35
  private readonly options;
33
36
  private lastResult?;
37
+ private activeNativeLoader?;
34
38
  constructor(options?: CadViewerOptions);
35
39
  registerLoader(loader: CadLoader): this;
36
40
  loadFile(file: File, options?: CadLoadOptions): Promise<CadViewerLoadResult>;
@@ -48,7 +52,12 @@ export declare class CadViewer {
48
52
  getLoadResult(): CadViewerLoadResult | undefined;
49
53
  getDocument(): CadDocument | undefined;
50
54
  getZoomPercent(): number;
55
+ isNativeRendererActive(): boolean;
56
+ private loadThroughRegistry;
51
57
  private applyLoadResult;
58
+ private applyNativeLoadResult;
59
+ private deactivateNativeRenderer;
60
+ private emitNativeRenderStats;
52
61
  private mergeLoadOptions;
53
62
  }
54
63
  export declare function createCadViewer(options?: CadViewerOptions): CadViewer;
@@ -1 +1 @@
1
- {"version":3,"file":"CadViewer.d.ts","sourceRoot":"","sources":["../../../src/viewer/CadViewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CadViewer.d.ts","sourceRoot":"","sources":["../../../src/viewer/CadViewer.ts"],"names":[],"mappings":"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"}
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@flyfish-dev/cad-viewer",
3
- "version": "0.5.3",
4
- "description": "A production-oriented lightweight frontend CAD viewer for DWG, DXF and DWFx/DWF preview, built with TypeScript, WebGL, Canvas overlays and worker-backed DWG WebAssembly parsing.",
3
+ "version": "0.6.1",
4
+ "description": "A production-oriented lightweight frontend CAD viewer for DWG, DXF, DWF, DWFx and XPS, built with TypeScript, worker-backed DWG WebAssembly parsing, native dwf-viewer integration, WebGL 2D/3D rendering and Canvas overlays.",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0-only",
7
7
  "author": "Yu Wang",
@@ -19,6 +19,7 @@
19
19
  "dxf",
20
20
  "dwf",
21
21
  "dwfx",
22
+ "xps",
22
23
  "autocad",
23
24
  "viewer",
24
25
  "canvas",
@@ -29,7 +30,10 @@
29
30
  "wasm",
30
31
  "webgl",
31
32
  "gpu",
32
- "cad-viewer"
33
+ "cad-viewer",
34
+ "w2d",
35
+ "w3d",
36
+ "dwf-viewer"
33
37
  ],
34
38
  "sideEffects": [
35
39
  "*.css",
@@ -53,7 +57,8 @@
53
57
  "./wasm/libredwg-web.wasm": "./dist/wasm/libredwg-web.wasm",
54
58
  "./wasm/libredwg-web.js": "./dist/wasm/libredwg-web.js",
55
59
  "./dist/index.js": "./dist/index.js",
56
- "./dist/index.d.ts": "./dist/index.d.ts"
60
+ "./dist/index.d.ts": "./dist/index.d.ts",
61
+ "./wasm/dwfv-render.wasm": "./dist/wasm/dwfv-render.wasm"
57
62
  },
58
63
  "files": [
59
64
  "dist",
@@ -80,7 +85,7 @@
80
85
  "build": "npm run clean && npm run typecheck && npm run build:lib && npm run build:demo",
81
86
  "preview": "npm run build:demo && vite preview --config vite.config.ts --host 0.0.0.0",
82
87
  "pack:dry": "npm pack --dry-run",
83
- "release:npm": "npm publish --access public",
88
+ "release:npm": "npm publish --access public --auth-type=web",
84
89
  "pages:dev": "npm run build:demo && wrangler pages dev dist-demo",
85
90
  "deploy:pages": "npm run build:demo && wrangler pages deploy dist-demo --project-name cad-viewer",
86
91
  "prepublishOnly": "npm run clean && npm run typecheck && npm run build:lib && npm run pack:dry",
@@ -91,8 +96,8 @@
91
96
  },
92
97
  "dependencies": {
93
98
  "@mlightcad/libredwg-web": "^0.7.2",
94
- "dxf-parser": "^1.1.2",
95
- "fflate": "^0.8.2"
99
+ "dwf-viewer": "^0.6.1",
100
+ "dxf-parser": "^1.1.2"
96
101
  },
97
102
  "devDependencies": {
98
103
  "@types/node": "^20.14.12",