@flyfish-dev/cad-viewer 0.5.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.
Files changed (58) hide show
  1. package/LICENSE +661 -0
  2. package/NOTICE +11 -0
  3. package/README.md +411 -0
  4. package/README.zh-CN.md +411 -0
  5. package/dist/assets/DwgWorker-CuZJ5EUe.js +349 -0
  6. package/dist/assets/DwgWorker-CuZJ5EUe.js.map +1 -0
  7. package/dist/assets/index-C365l3i9.js +4161 -0
  8. package/dist/assets/index-C365l3i9.js.map +1 -0
  9. package/dist/cad-viewer.es.js +2992 -0
  10. package/dist/cad-viewer.es.js.map +1 -0
  11. package/dist/cad-viewer.umd.cjs +30 -0
  12. package/dist/cad-viewer.umd.cjs.map +1 -0
  13. package/dist/index.d.ts +1 -0
  14. package/dist/index.js +1 -0
  15. package/dist/style.css +1 -0
  16. package/dist/types/core/color.d.ts +21 -0
  17. package/dist/types/core/color.d.ts.map +1 -0
  18. package/dist/types/core/entity.d.ts +34 -0
  19. package/dist/types/core/entity.d.ts.map +1 -0
  20. package/dist/types/core/format.d.ts +8 -0
  21. package/dist/types/core/format.d.ts.map +1 -0
  22. package/dist/types/core/geometry.d.ts +17 -0
  23. package/dist/types/core/geometry.d.ts.map +1 -0
  24. package/dist/types/core/transform.d.ts +20 -0
  25. package/dist/types/core/transform.d.ts.map +1 -0
  26. package/dist/types/core/types.d.ts +195 -0
  27. package/dist/types/core/types.d.ts.map +1 -0
  28. package/dist/types/index.d.ts +12 -0
  29. package/dist/types/index.d.ts.map +1 -0
  30. package/dist/types/loaders/CadLoaderRegistry.d.ts +15 -0
  31. package/dist/types/loaders/CadLoaderRegistry.d.ts.map +1 -0
  32. package/dist/types/loaders/dwf/DwfLoader.d.ts +15 -0
  33. package/dist/types/loaders/dwf/DwfLoader.d.ts.map +1 -0
  34. package/dist/types/loaders/dwg/DwgLoader.d.ts +15 -0
  35. package/dist/types/loaders/dwg/DwgLoader.d.ts.map +1 -0
  36. package/dist/types/loaders/dwg/DwgParser.d.ts +24 -0
  37. package/dist/types/loaders/dwg/DwgParser.d.ts.map +1 -0
  38. package/dist/types/loaders/dwg/DwgWorker.d.ts +2 -0
  39. package/dist/types/loaders/dwg/DwgWorker.d.ts.map +1 -0
  40. package/dist/types/loaders/dwg/DwgWorkerClient.d.ts +18 -0
  41. package/dist/types/loaders/dwg/DwgWorkerClient.d.ts.map +1 -0
  42. package/dist/types/loaders/dwg/dwgVersion.d.ts +9 -0
  43. package/dist/types/loaders/dwg/dwgVersion.d.ts.map +1 -0
  44. package/dist/types/loaders/dwg/libredwgWasmModuleProxy.d.ts +14 -0
  45. package/dist/types/loaders/dwg/libredwgWasmModuleProxy.d.ts.map +1 -0
  46. package/dist/types/loaders/dxf/DxfLoader.d.ts +12 -0
  47. package/dist/types/loaders/dxf/DxfLoader.d.ts.map +1 -0
  48. package/dist/types/loaders/index.d.ts +8 -0
  49. package/dist/types/loaders/index.d.ts.map +1 -0
  50. package/dist/types/viewer/CadCanvasRenderer.d.ts +142 -0
  51. package/dist/types/viewer/CadCanvasRenderer.d.ts.map +1 -0
  52. package/dist/types/viewer/CadViewer.d.ts +55 -0
  53. package/dist/types/viewer/CadViewer.d.ts.map +1 -0
  54. package/dist/types/viewer/CadWebGLRenderer.d.ts +69 -0
  55. package/dist/types/viewer/CadWebGLRenderer.d.ts.map +1 -0
  56. package/dist/wasm/libredwg-web.js +15 -0
  57. package/dist/wasm/libredwg-web.wasm +0 -0
  58. package/package.json +103 -0
@@ -0,0 +1 @@
1
+ export * from './types/index';
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ export * from './cad-viewer.es.js';
package/dist/style.css ADDED
@@ -0,0 +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}
@@ -0,0 +1,21 @@
1
+ import type { CadDocument, CadEntity, CadLayer } from './types';
2
+ export type CadColorContrastMode = 'preserve' | 'adaptive';
3
+ export interface ColorResolveOptions {
4
+ foreground?: string;
5
+ background?: string;
6
+ trueColorByteOrder?: 'rgb' | 'bgr';
7
+ contrastMode?: CadColorContrastMode;
8
+ minColorContrast?: number;
9
+ }
10
+ export declare function colorFromAci(index: number | undefined, fallback?: string, foreground?: string): string;
11
+ export declare function colorFromTrueColor(value: number, byteOrder?: 'rgb' | 'bgr'): string;
12
+ export declare function parseCssColor(value: unknown): string | undefined;
13
+ export declare function normalizeXpsColor(value: string | undefined): string | undefined;
14
+ export declare function resolveCadColor(entity: CadEntity, document?: CadDocument, options?: ColorResolveOptions): string;
15
+ export declare function resolveFillColor(entity: CadEntity, document?: CadDocument, options?: ColorResolveOptions): string | undefined;
16
+ export declare function adaptColorForCanvas(color: string, options?: ColorResolveOptions): string;
17
+ export declare function ensureContrast(color: string, background: string, foreground: string, minRatio?: number): string;
18
+ export declare function layerVisible(layer: CadLayer | undefined): boolean;
19
+ export declare function isByBlockColor(entity: CadEntity): boolean;
20
+ export declare function applyByBlockColorInheritance(entity: CadEntity, parent: CadEntity, document?: CadDocument, options?: ColorResolveOptions): CadEntity;
21
+ //# sourceMappingURL=color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/core/color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAiChE,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,UAAU,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACnC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AASD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,SAAY,EAAE,UAAU,SAAW,GAAG,MAAM,CAQ3G;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,KAAK,GAAG,KAAa,GAAG,MAAM,CAS1F;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CA8BhE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAiB/E;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,OAAO,GAAE,mBAAwB,GAAG,MAAM,CAqCpH;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,OAAO,GAAE,mBAAwB,GAAG,MAAM,GAAG,SAAS,CAUjI;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,MAAM,CAK5F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,MAAM,CAkB5G;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAGjE;AA6BD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAIzD;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,OAAO,GAAE,mBAAwB,GAAG,SAAS,CAKvJ"}
@@ -0,0 +1,34 @@
1
+ import type { CadBlock, CadDocument, CadEntity, CadEntityKind, CadLayer, CadPage, CadPoint3D } from './types';
2
+ export interface NormalizeCadEntityOptions {
3
+ /** Preserve the parser-owned raw object on entity.raw. This can be very large and may not be structured-clone safe. */
4
+ keepRaw?: boolean;
5
+ /** Copy unknown parser properties onto the normalized entity. Disable inside workers for predictable cloneable payloads. */
6
+ includeUnknownProperties?: boolean;
7
+ /** How to interpret a numeric raw `color` property when the source parser is ambiguous. */
8
+ numericColorMode?: 'auto' | 'aci' | 'rgb';
9
+ }
10
+ export declare function createCadDocument(init: Partial<CadDocument> & Pick<CadDocument, 'format'>): CadDocument;
11
+ export declare function inferEntityKind(type: unknown): CadEntityKind;
12
+ export declare function normalizeCadEntity(raw: Record<string, unknown>, forcedType?: string, options?: NormalizeCadEntityOptions): CadEntity;
13
+ export declare function pointFromUnknown(value: unknown): CadPoint3D | undefined;
14
+ export declare function normalizePoints(value: unknown): Array<CadPoint3D & {
15
+ bulge?: number;
16
+ startWidth?: number;
17
+ endWidth?: number;
18
+ }>;
19
+ export declare function summarizeCadDocument(document: CadDocument): {
20
+ format: import("./types").CadFormat;
21
+ sourceName: string | undefined;
22
+ entityCount: number;
23
+ layerCount: number;
24
+ blockCount: number;
25
+ pageCount: number;
26
+ byType: Record<string, number>;
27
+ warnings: string[];
28
+ };
29
+ export declare function addLayer(target: Record<string, CadLayer>, layer: CadLayer): void;
30
+ export declare function addBlock(target: Record<string, CadBlock>, block: CadBlock): void;
31
+ export declare function flattenPages(pages: CadPage[] | undefined): CadEntity[];
32
+ export declare function numberOrUndefined(value: unknown): number | undefined;
33
+ export declare function stringOrUndefined(value: unknown): string | undefined;
34
+ //# sourceMappingURL=entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/core/entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE9G,MAAM,WAAW,yBAAyB;IACxC,uHAAuH;IACvH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4HAA4H;IAC5H,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,2FAA2F;IAC3F,gBAAgB,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;CAC3C;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,WAAW,CAcvG;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAoC5D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,yBAA8B,GAAG,SAAS,CAiDxI;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CASvE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC,UAAU,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiB9H;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,WAAW;;;;;;;;;EAgBzD;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAIhF;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAIhF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAGtE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGpE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIpE"}
@@ -0,0 +1,8 @@
1
+ import type { CadFormat, CadLoadInput } from './types';
2
+ export declare function readInputBytes(input: CadLoadInput): Promise<Uint8Array>;
3
+ export declare function exactArrayBuffer(bytes: Uint8Array): ArrayBuffer;
4
+ export declare function extensionOf(input: CadLoadInput): string;
5
+ export declare function detectCadFormat(input: CadLoadInput, bytes?: Uint8Array): CadFormat;
6
+ export declare function ascii(bytes: Uint8Array): string;
7
+ export declare function decodeUtf8(bytes: Uint8Array): string;
8
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/core/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvD,wBAAsB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAK7E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAG/D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAIvD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAiBlF;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE/C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEpD"}
@@ -0,0 +1,17 @@
1
+ import type { CadBounds, CadPoint2D, CadPoint3D } from './types';
2
+ export declare function emptyBounds(): CadBounds;
3
+ export declare function boundsValid(bounds: CadBounds): boolean;
4
+ export declare function includePoint(bounds: CadBounds, point: CadPoint2D | CadPoint3D): void;
5
+ export declare function includeCircle(bounds: CadBounds, center: CadPoint2D, radius: number): void;
6
+ export declare function mergeBounds(target: CadBounds, source: CadBounds): void;
7
+ export declare function paddedBounds(bounds: CadBounds, ratio?: number, minimum?: number): CadBounds;
8
+ export declare function isFinitePoint(p: unknown): p is CadPoint3D;
9
+ export declare function xy(p: CadPoint2D | CadPoint3D): CadPoint2D;
10
+ export declare function normalizeAngleRadians(value: number): number;
11
+ export declare function degreesToRadians(value: number): number;
12
+ export declare function arcPoints(center: CadPoint2D, radius: number, startAngle: number, endAngle: number, ccw?: boolean, segments?: number): CadPoint2D[];
13
+ export declare function ellipsePoints(center: CadPoint2D, majorAxisEndPoint: CadPoint2D, ratio?: number, startAngle?: number, endAngle?: number, segments?: number): CadPoint2D[];
14
+ export declare function bulgeToPolylinePoints(p1: CadPoint2D, p2: CadPoint2D, bulge?: number, segments?: number): CadPoint2D[];
15
+ export declare function stripMTextFormatting(text: string): string;
16
+ export declare function clamp(value: number, min: number, max: number): number;
17
+ //# sourceMappingURL=geometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../../src/core/geometry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjE,wBAAgB,WAAW,IAAI,SAAS,CAEvC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAGtD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAMpF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAKzF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAItE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,SAAO,EAAE,OAAO,SAAO,GAAG,SAAS,CAKvF;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,CAIzD;AAED,wBAAgB,EAAE,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAEzD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAO,EAAE,QAAQ,SAAK,GAAG,UAAU,EAAE,CAqB3I;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,KAAK,SAAI,EAAE,UAAU,SAAI,EAAE,QAAQ,SAAc,EAAE,QAAQ,SAAK,GAAG,UAAU,EAAE,CAwB/J;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,SAAI,EAAE,QAAQ,SAAK,GAAG,UAAU,EAAE,CAe5G;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQzD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAErE"}
@@ -0,0 +1,20 @@
1
+ import type { CadEntity, CadPathCommand, CadPoint2D, CadPoint3D } from './types';
2
+ export interface Matrix2D {
3
+ a: number;
4
+ b: number;
5
+ c: number;
6
+ d: number;
7
+ e: number;
8
+ f: number;
9
+ }
10
+ export declare const IDENTITY_MATRIX: Matrix2D;
11
+ export declare function multiplyMatrix(left: Matrix2D, right: Matrix2D): Matrix2D;
12
+ export declare function translationMatrix(x: number, y: number): Matrix2D;
13
+ export declare function rotationMatrix(angle: number): Matrix2D;
14
+ export declare function scaleMatrix(x: number, y?: number): Matrix2D;
15
+ export declare function transformPoint(point: CadPoint2D | CadPoint3D, matrix: Matrix2D): CadPoint3D;
16
+ export declare function transformPathCommands(commands: CadPathCommand[] | undefined, matrix: Matrix2D): CadPathCommand[] | undefined;
17
+ export declare function matrixFromInsert(entity: CadEntity, basePoint?: CadPoint3D): Matrix2D;
18
+ export declare function transformEntity(entity: CadEntity, matrix: Matrix2D): CadEntity;
19
+ export declare function parseMatrix(value: string | null | undefined): Matrix2D | undefined;
20
+ //# sourceMappingURL=transform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/core/transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjF,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,eAAO,MAAM,eAAe,EAAE,QAAiD,CAAC;AAEhF,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,QAAQ,CASxE;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,CAEhE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAItD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,SAAI,GAAG,QAAQ,CAEtD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAG,UAAU,CAM3F;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAG,cAAc,EAAE,GAAG,SAAS,CAG5H;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,GAAE,UAA2B,GAAG,QAAQ,CAWpG;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,CA2B9E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAMlF"}
@@ -0,0 +1,195 @@
1
+ export type CadFormat = 'dwg' | 'dxf' | 'dwf' | 'dwfx' | 'xps' | 'unknown';
2
+ export interface CadPoint2D {
3
+ x: number;
4
+ y: number;
5
+ }
6
+ export interface CadPoint3D extends CadPoint2D {
7
+ z?: number;
8
+ }
9
+ export type CadPoint = CadPoint2D | CadPoint3D;
10
+ export interface CadBounds {
11
+ minX: number;
12
+ minY: number;
13
+ maxX: number;
14
+ maxY: number;
15
+ }
16
+ export interface CadLayer {
17
+ name: string;
18
+ color?: string | number;
19
+ colorIndex?: number;
20
+ trueColor?: number;
21
+ lineType?: string;
22
+ lineweight?: number;
23
+ isVisible?: boolean;
24
+ isLocked?: boolean;
25
+ isFrozen?: boolean;
26
+ raw?: unknown;
27
+ }
28
+ export interface CadPathCommand {
29
+ cmd: 'M' | 'L' | 'C' | 'Q' | 'Z';
30
+ points: CadPoint2D[];
31
+ }
32
+ export type CadEntityKind = 'line' | 'circle' | 'arc' | 'polyline' | 'ellipse' | 'text' | 'point' | 'insert' | 'solid' | 'hatch' | 'spline' | 'path' | 'image' | 'viewport' | 'unsupported';
33
+ export interface CadEntity {
34
+ id?: string;
35
+ type: string;
36
+ kind?: CadEntityKind;
37
+ handle?: string;
38
+ layer?: string;
39
+ color?: string | number;
40
+ trueColor?: number | string | {
41
+ r: number;
42
+ g: number;
43
+ b: number;
44
+ a?: number;
45
+ };
46
+ colorIndex?: number;
47
+ colorNumber?: number;
48
+ colorName?: string;
49
+ fillColor?: string | number;
50
+ fillColorIndex?: number;
51
+ opacity?: number;
52
+ lineweight?: number;
53
+ lineType?: string;
54
+ linetype?: string;
55
+ isVisible?: boolean;
56
+ isInPaperSpace?: boolean;
57
+ startPoint?: CadPoint3D;
58
+ endPoint?: CadPoint3D;
59
+ center?: CadPoint3D;
60
+ radius?: number;
61
+ startAngle?: number;
62
+ endAngle?: number;
63
+ majorAxisEndPoint?: CadPoint3D;
64
+ axisRatio?: number;
65
+ vertices?: Array<CadPoint3D & {
66
+ bulge?: number;
67
+ startWidth?: number;
68
+ endWidth?: number;
69
+ }>;
70
+ points?: CadPoint3D[];
71
+ controlPoints?: CadPoint3D[];
72
+ fitPoints?: CadPoint3D[];
73
+ degree?: number;
74
+ knots?: number[];
75
+ isClosed?: boolean;
76
+ flag?: number;
77
+ insertionPoint?: CadPoint3D;
78
+ text?: string;
79
+ value?: string;
80
+ height?: number;
81
+ textHeight?: number;
82
+ rotation?: number;
83
+ scale?: CadPoint3D;
84
+ name?: string;
85
+ blockName?: string;
86
+ attribs?: CadEntity[];
87
+ loops?: Array<{
88
+ vertices?: CadPoint3D[];
89
+ commands?: CadPathCommand[];
90
+ isClosed?: boolean;
91
+ }>;
92
+ commands?: CadPathCommand[];
93
+ imageSource?: string;
94
+ imageDataUrl?: string;
95
+ width?: number;
96
+ pageIndex?: number;
97
+ raw?: unknown;
98
+ [key: string]: unknown;
99
+ }
100
+ export interface CadBlock {
101
+ name: string;
102
+ basePoint?: CadPoint3D;
103
+ entities: CadEntity[];
104
+ raw?: unknown;
105
+ }
106
+ export interface CadPage {
107
+ index: number;
108
+ name?: string;
109
+ width: number;
110
+ height: number;
111
+ entities: CadEntity[];
112
+ }
113
+ export interface CadDocument {
114
+ format: CadFormat;
115
+ sourceName?: string;
116
+ units?: string;
117
+ header?: Record<string, unknown>;
118
+ layers: Record<string, CadLayer>;
119
+ blocks: Record<string, CadBlock>;
120
+ entities: CadEntity[];
121
+ pages?: CadPage[];
122
+ metadata: Record<string, unknown>;
123
+ warnings: string[];
124
+ raw?: unknown;
125
+ }
126
+ export interface CadLoadInput {
127
+ file?: File;
128
+ fileName?: string;
129
+ buffer?: ArrayBuffer | Uint8Array;
130
+ }
131
+ export type CadLoadProgressPhase = 'read' | 'detect' | 'worker-start' | 'worker-ready' | 'wasm-init' | 'parse' | 'normalize' | 'render' | 'done';
132
+ export interface CadLoadProgress {
133
+ phase: CadLoadProgressPhase;
134
+ message: string;
135
+ format?: CadFormat;
136
+ loaded?: number;
137
+ total?: number;
138
+ percent?: number;
139
+ elapsedMs?: number;
140
+ }
141
+ export interface CadLoadOptions {
142
+ wasmPath?: string;
143
+ preferDwgWasm?: boolean;
144
+ maxInsertDepth?: number;
145
+ includePaperSpace?: boolean;
146
+ /**
147
+ * Parse heavy formats in a Web Worker where available. DWG defaults to true
148
+ * because LibreDWG WebAssembly initialization and decoding can block the UI.
149
+ */
150
+ useWorker?: boolean;
151
+ /** Custom worker URL for bundlers/CDNs that cannot resolve the packaged worker URL. */
152
+ workerUrl?: string | URL;
153
+ /** Custom worker factory for applications that manage workers themselves. */
154
+ workerFactory?: () => Worker;
155
+ /** Milliseconds before an in-flight worker load is rejected. 0 disables timeout. */
156
+ workerTimeoutMs?: number;
157
+ /**
158
+ * Transfer the input ArrayBuffer to the worker when it is safe to do so. This
159
+ * avoids an extra copy for File inputs. ArrayBuffer inputs are copied by
160
+ * default to avoid detaching caller-owned buffers.
161
+ */
162
+ transferInputBuffer?: boolean;
163
+ /** Keep parser raw objects on the normalized document. Disabled by default for memory and worker cloning safety. */
164
+ keepRaw?: boolean;
165
+ /** Abort a pending load. For native parsers this terminates and recreates the worker. */
166
+ signal?: AbortSignal;
167
+ /** Receives coarse loader progress events. */
168
+ onProgress?: (progress: CadLoadProgress) => void;
169
+ }
170
+ export interface CadLoadResult {
171
+ document: CadDocument;
172
+ raw?: unknown;
173
+ bytes: number;
174
+ elapsedMs: number;
175
+ format: CadFormat;
176
+ warnings: string[];
177
+ }
178
+ export interface CadLoader {
179
+ readonly id: string;
180
+ readonly label: string;
181
+ readonly formats: readonly CadFormat[];
182
+ accepts(input: CadLoadInput, bytes?: Uint8Array): boolean;
183
+ load(input: CadLoadInput, options?: CadLoadOptions): Promise<CadLoadResult>;
184
+ }
185
+ export interface CadSummary {
186
+ format: CadFormat;
187
+ sourceName?: string;
188
+ entityCount: number;
189
+ layerCount: number;
190
+ blockCount: number;
191
+ pageCount: number;
192
+ byType: Record<string, number>;
193
+ warnings: string[];
194
+ }
195
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import './styles.css';
2
+ export { CadViewer, createCadViewer } from './viewer/CadViewer';
3
+ export type { CadViewerLoadResult, CadViewerOptions, CadViewerRendererBackend, CadRenderer } from './viewer/CadViewer';
4
+ export { CadCanvasRenderer } from './viewer/CadCanvasRenderer';
5
+ export { CadWebGLRenderer, isWebGLAvailable } from './viewer/CadWebGLRenderer';
6
+ export type { CanvasViewerOptions, RenderStats, ViewChangeEvent, ViewState } from './viewer/CadCanvasRenderer';
7
+ export { CadLoaderRegistry, createDefaultLoaderRegistry, DwgLoader, DwgWorkerClient, DxfLoader, DwfLoader, DwfUnsupportedError, supportsDwgWorker } from './loaders';
8
+ export { createCadDocument, inferEntityKind, normalizeCadEntity, summarizeCadDocument } from './core/entity';
9
+ export { detectCadFormat, readInputBytes } from './core/format';
10
+ 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
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,15 @@
1
+ import type { CadFormat, CadLoadInput, CadLoadOptions, CadLoadResult, CadLoader } from '../core/types';
2
+ export declare class CadLoaderRegistry {
3
+ private readonly loaders;
4
+ constructor(loaders?: CadLoader[]);
5
+ register(loader: CadLoader): this;
6
+ unregister(loaderId: string): this;
7
+ list(): CadLoader[];
8
+ detect(input: CadLoadInput): Promise<{
9
+ loader: CadLoader;
10
+ bytes: Uint8Array;
11
+ format: CadFormat;
12
+ }>;
13
+ load(input: CadLoadInput, options?: CadLoadOptions): Promise<CadLoadResult>;
14
+ }
15
+ //# sourceMappingURL=CadLoaderRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CadLoaderRegistry.d.ts","sourceRoot":"","sources":["../../../src/loaders/CadLoaderRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEvG,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;gBAE/B,OAAO,GAAE,SAAS,EAAO;IAIrC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAOjC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMlC,IAAI,IAAI,SAAS,EAAE;IAIb,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC;IAUjG,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;CAItF"}
@@ -0,0 +1,15 @@
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 {
7
+ readonly id = "dwf";
8
+ readonly label = "DWFx/XPS 2D package loader";
9
+ readonly formats: readonly ["dwf", "dwfx", "xps"];
10
+ private readonly defaults;
11
+ constructor(defaults?: CadLoadOptions);
12
+ accepts(input: CadLoadInput, bytes?: Uint8Array): boolean;
13
+ load(input: CadLoadInput, options?: CadLoadOptions): Promise<CadLoadResult>;
14
+ }
15
+ //# sourceMappingURL=DwfLoader.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,15 @@
1
+ import type { CadLoadInput, CadLoadOptions, CadLoadResult, CadLoader } from '../../core/types';
2
+ export declare class DwgLoader implements CadLoader {
3
+ readonly id = "dwg";
4
+ readonly label = "DWG / LibreDWG WebAssembly";
5
+ readonly formats: readonly ["dwg"];
6
+ private readonly defaults;
7
+ private readonly workerClient;
8
+ constructor(defaults?: CadLoadOptions);
9
+ accepts(input: CadLoadInput, bytes?: Uint8Array): boolean;
10
+ load(input: CadLoadInput, options?: CadLoadOptions): Promise<CadLoadResult>;
11
+ terminateWorker(): void;
12
+ preload(options?: CadLoadOptions): Promise<void>;
13
+ }
14
+ export { DwgWorkerClient, supportsDwgWorker } from './DwgWorkerClient';
15
+ //# sourceMappingURL=DwgLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DwgLoader.d.ts","sourceRoot":"","sources":["../../../../src/loaders/dwg/DwgLoader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG/F,qBAAa,SAAU,YAAW,SAAS;IACzC,QAAQ,CAAC,EAAE,SAAS;IACpB,QAAQ,CAAC,KAAK,gCAAgC;IAC9C,QAAQ,CAAC,OAAO,mBAAoB;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;gBAE1C,QAAQ,GAAE,cAAmB;IAIzC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO;IAMnD,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAsBrF,eAAe,IAAI,IAAI;IAIvB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAOrD;AAMD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { CadDocument, CadLoadOptions, CadLoadProgress, CadLoadResult } from '../../core/types';
2
+ interface LibreDwgModule {
3
+ Dwg_File_Type?: Record<string, number>;
4
+ LibreDwg?: {
5
+ create(wasmPath?: string): Promise<any>;
6
+ createByWasmInstance?(wasmInstance: any): any;
7
+ };
8
+ createModule?: (moduleArg?: Record<string, unknown>) => Promise<any>;
9
+ }
10
+ export interface ParseDwgBytesOptions extends CadLoadOptions {
11
+ sourceName?: string;
12
+ onProgress?: (progress: CadLoadProgress) => void;
13
+ }
14
+ export declare function parseDwgBytes(bytes: Uint8Array, options?: ParseDwgBytesOptions): Promise<CadLoadResult>;
15
+ export declare function createLibreDwg(wasmPath?: string): Promise<{
16
+ module: LibreDwgModule;
17
+ instance: any;
18
+ Dwg_File_Type?: Record<string, number>;
19
+ }>;
20
+ export declare function normalizeDwgDatabase(rawDb: unknown, sourceName?: string, version?: unknown, options?: {
21
+ keepRaw?: boolean;
22
+ }): CadDocument;
23
+ export {};
24
+ //# sourceMappingURL=DwgParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DwgParser.d.ts","sourceRoot":"","sources":["../../../../src/loaders/dwg/DwgParser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,WAAW,EAAuB,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGnI,UAAU,cAAc;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,oBAAoB,CAAC,CAAC,YAAY,EAAE,GAAG,GAAG,GAAG,CAAC;KAC/C,CAAC;IACF,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;CAClD;AAID,wBAAsB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC,CAuCjH;AAED,wBAAsB,cAAc,CAAC,QAAQ,SAAW,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CA0CpJ;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,WAAW,CA8B7I"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DwgWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DwgWorker.d.ts","sourceRoot":"","sources":["../../../../src/loaders/dwg/DwgWorker.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import type { CadLoadInput, CadLoadOptions, CadLoadResult } from '../../core/types';
2
+ export interface DwgWorkerLoadOptions extends CadLoadOptions {
3
+ fileName?: string;
4
+ }
5
+ export declare class DwgWorkerClient {
6
+ private worker?;
7
+ private sequence;
8
+ private readonly pending;
9
+ load(bytes: Uint8Array, input: CadLoadInput, options?: DwgWorkerLoadOptions): Promise<CadLoadResult>;
10
+ preload(options?: DwgWorkerLoadOptions): Promise<void>;
11
+ terminate(): void;
12
+ private ensureWorker;
13
+ private handleMessage;
14
+ private rejectAll;
15
+ private resetWorker;
16
+ }
17
+ export declare function supportsDwgWorker(): boolean;
18
+ //# sourceMappingURL=DwgWorkerClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DwgWorkerClient.d.ts","sourceRoot":"","sources":["../../../../src/loaders/dwg/DwgWorkerClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAmB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAErG,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA6CD,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAE7D,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAgDxG,OAAO,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C1D,SAAS,IAAI,IAAI;IAIjB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,WAAW;CAKpB;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C"}
@@ -0,0 +1,9 @@
1
+ export type DwgRelease = 'R12' | 'R13' | 'R14' | 'R2000' | 'R2004' | 'R2007' | 'R2010' | 'R2013' | 'R2018' | 'UNKNOWN';
2
+ export interface DwgVersionInfo {
3
+ signature: string;
4
+ release: DwgRelease;
5
+ supportedByOpenDesignSpec: boolean;
6
+ notes?: string;
7
+ }
8
+ export declare function readDwgVersion(bytes: Uint8Array): DwgVersionInfo;
9
+ //# sourceMappingURL=dwgVersion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dwgVersion.d.ts","sourceRoot":"","sources":["../../../../src/loaders/dwg/dwgVersion.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEvH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,UAAU,CAAC;IACpB,yBAAyB,EAAE,OAAO,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAcD,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,CAShE"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Runtime proxy for @mlightcad/libredwg-web/wasm/libredwg-web.js.
3
+ *
4
+ * The npm package root points Vite at a distribution file that embeds a huge
5
+ * inline wasm data URL. The lean package wrapper imports the wasm glue file
6
+ * directly, but Vite still tries to rewrite its `new URL('libredwg-web.wasm',
7
+ * import.meta.url)` fallback and emits a duplicated .wasm asset.
8
+ *
9
+ * This proxy keeps the application bundle small: the worker loads the official
10
+ * Emscripten glue from the public wasm directory at runtime, and DwgParser
11
+ * provides the real wasm bytes through `wasmBinary`.
12
+ */
13
+ export default function createModule(moduleArg?: Record<string, unknown>): Promise<any>;
14
+ //# sourceMappingURL=libredwgWasmModuleProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libredwgWasmModuleProxy.d.ts","sourceRoot":"","sources":["../../../../src/loaders/dwg/libredwgWasmModuleProxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAA8B,YAAY,CAAC,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAQhG"}
@@ -0,0 +1,12 @@
1
+ import type { CadDocument, CadLoadInput, CadLoadOptions, CadLoadResult, CadLoader } from '../../core/types';
2
+ export declare class DxfLoader implements CadLoader {
3
+ readonly id = "dxf";
4
+ readonly label = "DXF / JavaScript parser";
5
+ readonly formats: readonly ["dxf"];
6
+ private readonly defaults;
7
+ constructor(defaults?: CadLoadOptions);
8
+ accepts(input: CadLoadInput, bytes?: Uint8Array): boolean;
9
+ load(input: CadLoadInput, options?: CadLoadOptions): Promise<CadLoadResult>;
10
+ }
11
+ export declare function normalizeDxfDatabase(parsed: unknown, sourceName?: string, warnings?: string[]): CadDocument;
12
+ //# sourceMappingURL=DxfLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DxfLoader.d.ts","sourceRoot":"","sources":["../../../../src/loaders/dxf/DxfLoader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAY,WAAW,EAAuB,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAc,MAAM,kBAAkB,CAAC;AAEvJ,qBAAa,SAAU,YAAW,SAAS;IACzC,QAAQ,CAAC,EAAE,SAAS;IACpB,QAAQ,CAAC,KAAK,6BAA6B;IAC3C,QAAQ,CAAC,OAAO,mBAAoB;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;gBAE9B,QAAQ,GAAE,cAAmB;IAIzC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO;IAInD,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;CAiBtF;AASD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,GAAG,WAAW,CAsB/G"}
@@ -0,0 +1,8 @@
1
+ import { CadLoaderRegistry } from './CadLoaderRegistry';
2
+ import type { CadLoadOptions } from '../core/types';
3
+ export declare function createDefaultLoaderRegistry(options?: CadLoadOptions): CadLoaderRegistry;
4
+ export { CadLoaderRegistry } from './CadLoaderRegistry';
5
+ export { DwgLoader, DwgWorkerClient, supportsDwgWorker } from './dwg/DwgLoader';
6
+ export { DxfLoader } from './dxf/DxfLoader';
7
+ export { DwfLoader, DwfUnsupportedError } from './dwf/DwfLoader';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}