@mlightcad/data-model 1.14.11 → 1.14.12
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/data-model.cjs +17 -17
- package/lib/base/AcDbDxfPairReader.d.ts +26 -8
- package/lib/base/AcDbDxfPairReader.d.ts.map +1 -1
- package/lib/base/AcDbDxfPairReader.js +627 -128
- package/lib/base/AcDbDxfPairReader.js.map +1 -1
- package/lib/converter/worker/AcDbBaseWorker.d.ts +18 -1
- package/lib/converter/worker/AcDbBaseWorker.d.ts.map +1 -1
- package/lib/converter/worker/AcDbBaseWorker.js +30 -4
- package/lib/converter/worker/AcDbBaseWorker.js.map +1 -1
- package/lib/converter/worker/index.d.ts +1 -1
- package/lib/converter/worker/index.d.ts.map +1 -1
- package/lib/converter/worker/index.js +1 -1
- package/lib/converter/worker/index.js.map +1 -1
- package/lib/database/AcDbDatabase.d.ts +11 -0
- package/lib/database/AcDbDatabase.d.ts.map +1 -1
- package/lib/database/AcDbDatabase.js +63 -14
- package/lib/database/AcDbDatabase.js.map +1 -1
- package/lib/database/AcDbOpenDatabaseError.d.ts +3 -7
- package/lib/database/AcDbOpenDatabaseError.d.ts.map +1 -1
- package/lib/database/AcDbOpenDatabaseError.js +5 -16
- package/lib/database/AcDbOpenDatabaseError.js.map +1 -1
- package/lib/dxf/AcDbDxfEntityFactory.d.ts.map +1 -1
- package/lib/dxf/AcDbDxfEntityFactory.js +6 -14
- package/lib/dxf/AcDbDxfEntityFactory.js.map +1 -1
- package/lib/entity/AcDbArc.d.ts +9 -2
- package/lib/entity/AcDbArc.d.ts.map +1 -1
- package/lib/entity/AcDbArc.js +42 -42
- package/lib/entity/AcDbArc.js.map +1 -1
- package/lib/entity/AcDbCircle.d.ts +9 -2
- package/lib/entity/AcDbCircle.d.ts.map +1 -1
- package/lib/entity/AcDbCircle.js +37 -37
- package/lib/entity/AcDbCircle.js.map +1 -1
- package/lib/entity/AcDbEllipse.d.ts +9 -2
- package/lib/entity/AcDbEllipse.d.ts.map +1 -1
- package/lib/entity/AcDbEllipse.js +29 -41
- package/lib/entity/AcDbEllipse.js.map +1 -1
- package/lib/entity/AcDbEntity.d.ts +27 -2
- package/lib/entity/AcDbEntity.d.ts.map +1 -1
- package/lib/entity/AcDbEntity.js +46 -14
- package/lib/entity/AcDbEntity.js.map +1 -1
- package/lib/entity/AcDbLeader.d.ts.map +1 -1
- package/lib/entity/AcDbLeader.js +1 -0
- package/lib/entity/AcDbLeader.js.map +1 -1
- package/lib/entity/AcDbLine.d.ts +20 -3
- package/lib/entity/AcDbLine.d.ts.map +1 -1
- package/lib/entity/AcDbLine.js +77 -37
- package/lib/entity/AcDbLine.js.map +1 -1
- package/lib/entity/AcDbMLeader.d.ts.map +1 -1
- package/lib/entity/AcDbMLeader.js +2 -1
- package/lib/entity/AcDbMLeader.js.map +1 -1
- package/lib/entity/AcDbMText.d.ts.map +1 -1
- package/lib/entity/AcDbMText.js +3 -2
- package/lib/entity/AcDbMText.js.map +1 -1
- package/lib/entity/AcDbPolyline.d.ts.map +1 -1
- package/lib/entity/AcDbPolyline.js +7 -4
- package/lib/entity/AcDbPolyline.js.map +1 -1
- package/lib/entity/AcDbSpline.d.ts +9 -2
- package/lib/entity/AcDbSpline.d.ts.map +1 -1
- package/lib/entity/AcDbSpline.js +32 -0
- package/lib/entity/AcDbSpline.js.map +1 -1
- package/lib/entity/AcDbTextExtentsHelpers.d.ts +10 -3
- package/lib/entity/AcDbTextExtentsHelpers.d.ts.map +1 -1
- package/lib/entity/AcDbTextExtentsHelpers.js +15 -7
- package/lib/entity/AcDbTextExtentsHelpers.js.map +1 -1
- package/lib/misc/AcDbRenderingCache.d.ts +35 -0
- package/lib/misc/AcDbRenderingCache.d.ts.map +1 -1
- package/lib/misc/AcDbRenderingCache.js +116 -0
- package/lib/misc/AcDbRenderingCache.js.map +1 -1
- package/package.json +4 -4
|
@@ -31,6 +31,13 @@ export declare function acdbPeekDxfHeaderInfo(buffer: ArrayBuffer): AcDbDxfHeade
|
|
|
31
31
|
* Scans with a character cursor (no full-file `string[]` of lines).
|
|
32
32
|
*/
|
|
33
33
|
export declare function acdbMakeAsciiDxfPairReader(text: string): AcDbDxfPairReader;
|
|
34
|
+
/**
|
|
35
|
+
* Bytes decoded per `TextDecoder` call in {@link acdbMakeUtf8AsciiDxfPairReader}.
|
|
36
|
+
*
|
|
37
|
+
* Sized as a compromise: large enough that a multi-MB DXF costs hundreds of
|
|
38
|
+
* decode calls rather than one per line, small enough that windows still holding
|
|
39
|
+
* a retained value slice do not pin much memory.
|
|
40
|
+
*/
|
|
34
41
|
/**
|
|
35
42
|
* ASCII pair reader that decodes UTF-8 bytes one line-aligned window at a time,
|
|
36
43
|
* instead of allocating a full-file decoded string (peak memory ≈ input bytes
|
|
@@ -53,11 +60,12 @@ export interface AcDbCreateDxfPairReaderOptions {
|
|
|
53
60
|
/**
|
|
54
61
|
* Override text encoding for ASCII DXF.
|
|
55
62
|
*
|
|
56
|
-
* When omitted, the encoding is
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
63
|
+
* When omitted, the encoding is chosen automatically: bytes that validate
|
|
64
|
+
* as UTF-8 decode as UTF-8; otherwise a declared pre-2007 `$DWGCODEPAGE`
|
|
65
|
+
* is honored (see {@link acdbCreateDxfPairReader}). When provided, it wins
|
|
66
|
+
* over detection — use it to force e.g. `'cp949'` for Korean drawings whose
|
|
67
|
+
* header lies. Common non-WHATWG aliases such as `'cp949'` are normalized
|
|
68
|
+
* to a supported `TextDecoder` label (`'euc-kr'`).
|
|
61
69
|
*/
|
|
62
70
|
encoding?: string;
|
|
63
71
|
/** Force R12 1-byte group codes for binary DXF. */
|
|
@@ -66,9 +74,19 @@ export interface AcDbCreateDxfPairReaderOptions {
|
|
|
66
74
|
/**
|
|
67
75
|
* Create a pair reader from DXF bytes (ASCII or binary).
|
|
68
76
|
*
|
|
69
|
-
* ASCII path
|
|
70
|
-
*
|
|
71
|
-
*
|
|
77
|
+
* ASCII path encoding strategy (hybrid of byte-trust and header sniffing):
|
|
78
|
+
*
|
|
79
|
+
* 1. An explicit `options.encoding` always wins — the caller asserts the
|
|
80
|
+
* encoding, no sniffing contradicts it.
|
|
81
|
+
* 2. Otherwise the bytes are strictly validated as UTF-8. Valid UTF-8
|
|
82
|
+
* (including pure ASCII) decodes correctly regardless of any stale
|
|
83
|
+
* `$DWGCODEPAGE`, so the header is never consulted — modern files skip
|
|
84
|
+
* the header pre-scan entirely and stream straight from bytes.
|
|
85
|
+
* 3. Invalid UTF-8 means the file is not a spec-conformant modern DXF. The
|
|
86
|
+
* HEADER is then peeked for `$ACADVER`/`$DWGCODEPAGE`: pre-2007 drawings
|
|
87
|
+
* with a declared code page decode through it (matching AutoCAD), while
|
|
88
|
+
* R2007+ or headerless files fall back to UTF-8 (replacement chars mark
|
|
89
|
+
* the broken bytes).
|
|
72
90
|
*/
|
|
73
91
|
export declare function acdbCreateDxfPairReader(data: ArrayBuffer | Uint8Array, options?: AcDbCreateDxfPairReaderOptions): AcDbDxfPairReader;
|
|
74
92
|
//# sourceMappingURL=AcDbDxfPairReader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbDxfPairReader.d.ts","sourceRoot":"","sources":["../../src/base/AcDbDxfPairReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAU3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"AcDbDxfPairReader.d.ts","sourceRoot":"","sources":["../../src/base/AcDbDxfPairReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAU3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAwBhD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAA;IACjC,IAAI,IAAI,WAAW,GAAG,SAAS,CAAA;IAC/B,IAAI,IAAI,WAAW,GAAG,SAAS,CAAA;IAC/B,QAAQ,IAAI;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CAClD;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;IAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAMzD;AAkjBD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,CA0C5E;AAoDD;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CA+D1E;AAOD;;;;;;GAMG;AAEH;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,UAAU,GAChB,iBAAiB,CAEnB;AASD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACvD,iBAAiB,CAoKnB;AAED,MAAM,WAAW,8BAA8B;IAC7C;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAqDD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,GAAG,UAAU,EAC9B,OAAO,GAAE,8BAAmC,GAC3C,iBAAiB,CA4EnB"}
|