@jfk-solutions/demo3d-file-format 1.6.0 → 1.8.0
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 +78 -1
- package/dist/examples/export-embedded-viewer-standalone.html +193 -0
- package/dist/examples/three-render-smoke-standalone.html +4933 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/model.d.ts +36 -3
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +178 -11
- package/dist/model.js.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +135 -9
- package/dist/parser.js.map +1 -1
- package/dist/raw3d.d.ts +35 -4
- package/dist/raw3d.d.ts.map +1 -1
- package/dist/raw3d.js +63 -6
- package/dist/raw3d.js.map +1 -1
- package/dist/three/index.d.ts +4 -0
- package/dist/three/index.d.ts.map +1 -1
- package/dist/three/index.js +186 -21
- package/dist/three/index.js.map +1 -1
- package/dist/three/presentation.d.ts +31 -0
- package/dist/three/presentation.d.ts.map +1 -0
- package/dist/three/presentation.js +137 -0
- package/dist/three/presentation.js.map +1 -0
- package/dist/three/raw3d.d.ts +4 -0
- package/dist/three/raw3d.d.ts.map +1 -1
- package/dist/three/raw3d.js +202 -14
- package/dist/three/raw3d.js.map +1 -1
- package/dist/xml.d.ts +4 -1
- package/dist/xml.d.ts.map +1 -1
- package/dist/xml.js +14 -3
- package/dist/xml.js.map +1 -1
- package/package.json +6 -2
package/dist/xml.js
CHANGED
|
@@ -3,15 +3,26 @@ import { Demo3DXmlError } from "./errors.js";
|
|
|
3
3
|
const XSI_NAMESPACE = "http://www.w3.org/2001/XMLSchema-instance";
|
|
4
4
|
export class Demo3DBinaryBlock {
|
|
5
5
|
base64;
|
|
6
|
-
|
|
6
|
+
bytes;
|
|
7
|
+
constructor(base64, bytes) {
|
|
7
8
|
this.base64 = base64;
|
|
9
|
+
this.bytes = bytes;
|
|
10
|
+
}
|
|
11
|
+
static fromBase64(base64) {
|
|
12
|
+
return new Demo3DBinaryBlock(base64);
|
|
13
|
+
}
|
|
14
|
+
static fromBytes(bytes) {
|
|
15
|
+
return new Demo3DBinaryBlock("", bytes);
|
|
8
16
|
}
|
|
9
17
|
get byteLengthEstimate() {
|
|
18
|
+
if (this.bytes) {
|
|
19
|
+
return this.bytes.byteLength;
|
|
20
|
+
}
|
|
10
21
|
const cleanLength = this.base64.replace(/\s+/g, "").length;
|
|
11
22
|
return Math.floor((cleanLength * 3) / 4);
|
|
12
23
|
}
|
|
13
24
|
toUint8Array() {
|
|
14
|
-
return encodeBase64ToBytes(this.base64);
|
|
25
|
+
return this.bytes ?? encodeBase64ToBytes(this.base64);
|
|
15
26
|
}
|
|
16
27
|
}
|
|
17
28
|
export class Demo3DXmlElement {
|
|
@@ -126,7 +137,7 @@ export function coerceDemo3DXmlValue(localName, xsiType, text, childCount) {
|
|
|
126
137
|
return text.split("|").filter(Boolean).map(Number).filter((value) => Number.isFinite(value));
|
|
127
138
|
}
|
|
128
139
|
if ((localName === "D" || localName === "A") && looksLikeBase64(text)) {
|
|
129
|
-
return
|
|
140
|
+
return Demo3DBinaryBlock.fromBase64(text);
|
|
130
141
|
}
|
|
131
142
|
return text;
|
|
132
143
|
}
|
package/dist/xml.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xml.js","sourceRoot":"","sources":["../src/xml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,aAAa,GAAG,2CAA2C,CAAC;AAkBlE,MAAM,OAAO,iBAAiB;
|
|
1
|
+
{"version":3,"file":"xml.js","sourceRoot":"","sources":["../src/xml.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jfk-solutions/demo3d-file-format",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "Browser-first TypeScript parser for Demo3D .demo3d and .raw3d files.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -21,8 +21,11 @@
|
|
|
21
21
|
"README.md"
|
|
22
22
|
],
|
|
23
23
|
"scripts": {
|
|
24
|
-
"build": "
|
|
24
|
+
"build": "npm run build:library && node scripts/build-standalone-demo.mjs",
|
|
25
|
+
"build:library": "tsc -p tsconfig.json",
|
|
26
|
+
"build:test-page": "npm run build:library && node scripts/build-standalone-demo.mjs",
|
|
25
27
|
"demo:three": "npm run build && node scripts/serve-demo.mjs examples/three-render-smoke.html",
|
|
28
|
+
"demo:export": "npm run build && node scripts/serve-demo.mjs dist/examples/export-embedded-viewer-standalone.html",
|
|
26
29
|
"test": "vitest run",
|
|
27
30
|
"test:browser": "npm run build && playwright test",
|
|
28
31
|
"test:watch": "vitest"
|
|
@@ -49,6 +52,7 @@
|
|
|
49
52
|
"@types/node": "^26.1.1",
|
|
50
53
|
"@types/three": "^0.185.1",
|
|
51
54
|
"@xmldom/xmldom": "^0.9.10",
|
|
55
|
+
"esbuild": "^0.28.1",
|
|
52
56
|
"three": "^0.185.1",
|
|
53
57
|
"typescript": "^7.0.2",
|
|
54
58
|
"vitest": "^4.1.10"
|