@jfk-solutions/demo3d-file-format 1.5.0 → 1.7.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 +25 -2
- package/dist/binary.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/fast-xml.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/model.d.ts +17 -1
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +91 -2
- package/dist/model.js.map +1 -1
- package/dist/parser.js.map +1 -1
- package/dist/raw3d.d.ts +133 -0
- package/dist/raw3d.d.ts.map +1 -0
- package/dist/raw3d.js +332 -0
- package/dist/raw3d.js.map +1 -0
- package/dist/three/index.d.ts +2 -0
- package/dist/three/index.d.ts.map +1 -1
- package/dist/three/index.js +250 -34
- package/dist/three/index.js.map +1 -1
- package/dist/three/raw3d.d.ts +36 -0
- package/dist/three/raw3d.d.ts.map +1 -0
- package/dist/three/raw3d.js +384 -0
- package/dist/three/raw3d.js.map +1 -0
- package/dist/three/renderer.js.map +1 -1
- package/dist/xml.d.ts.map +1 -1
- package/dist/xml.js.map +1 -1
- package/dist/zip.d.ts.map +1 -1
- package/dist/zip.js.map +1 -1
- package/package.json +7 -6
package/dist/raw3d.d.ts
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { type Demo3DInput } from "./binary.js";
|
|
2
|
+
import { Demo3DResource } from "./model.js";
|
|
3
|
+
import { type Demo3DXmlElement, type ParseXmlDocument } from "./xml.js";
|
|
4
|
+
import { type ZipEntryInfo } from "./zip.js";
|
|
5
|
+
export interface ParseRaw3DOptions {
|
|
6
|
+
readonly parseXml?: ParseXmlDocument;
|
|
7
|
+
readonly xmlParser?: "fast" | "dom";
|
|
8
|
+
}
|
|
9
|
+
export declare class Raw3DView {
|
|
10
|
+
readonly name: string;
|
|
11
|
+
readonly position: readonly number[];
|
|
12
|
+
readonly target: readonly number[];
|
|
13
|
+
constructor(name: string, position: readonly number[], target: readonly number[]);
|
|
14
|
+
}
|
|
15
|
+
export declare class Raw3DNode {
|
|
16
|
+
readonly index: number;
|
|
17
|
+
readonly name: string;
|
|
18
|
+
readonly parentIndex: number | undefined;
|
|
19
|
+
readonly meshIndex: number | undefined;
|
|
20
|
+
readonly layerIndex: number | undefined;
|
|
21
|
+
readonly materialIndices: readonly number[];
|
|
22
|
+
readonly textIndex: number | undefined;
|
|
23
|
+
readonly interactionMode: number | undefined;
|
|
24
|
+
readonly location: readonly number[];
|
|
25
|
+
readonly rotation: readonly number[];
|
|
26
|
+
readonly scale: readonly number[];
|
|
27
|
+
readonly castsShadow: boolean;
|
|
28
|
+
readonly customAttributes: ReadonlyMap<string, string>;
|
|
29
|
+
readonly xml: Demo3DXmlElement;
|
|
30
|
+
constructor(index: number, name: string, parentIndex: number | undefined, meshIndex: number | undefined, layerIndex: number | undefined, materialIndices: readonly number[], textIndex: number | undefined, interactionMode: number | undefined, location: readonly number[], rotation: readonly number[], scale: readonly number[], castsShadow: boolean, customAttributes: ReadonlyMap<string, string>, xml: Demo3DXmlElement);
|
|
31
|
+
}
|
|
32
|
+
export declare class Raw3DLayer {
|
|
33
|
+
readonly name: string;
|
|
34
|
+
readonly materialIndex: number | undefined;
|
|
35
|
+
readonly xml: Demo3DXmlElement;
|
|
36
|
+
constructor(name: string, materialIndex: number | undefined, xml: Demo3DXmlElement);
|
|
37
|
+
}
|
|
38
|
+
export declare class Raw3DMaterial {
|
|
39
|
+
readonly red: number;
|
|
40
|
+
readonly green: number;
|
|
41
|
+
readonly blue: number;
|
|
42
|
+
readonly transparency: number;
|
|
43
|
+
readonly reflectivity: number;
|
|
44
|
+
readonly textureIndex: number | undefined;
|
|
45
|
+
readonly normalTextureIndex: number | undefined;
|
|
46
|
+
readonly normalScale: number;
|
|
47
|
+
readonly scaleU: number;
|
|
48
|
+
readonly scaleV: number;
|
|
49
|
+
readonly xml: Demo3DXmlElement;
|
|
50
|
+
constructor(red: number, green: number, blue: number, transparency: number, reflectivity: number, textureIndex: number | undefined, normalTextureIndex: number | undefined, normalScale: number, scaleU: number, scaleV: number, xml: Demo3DXmlElement);
|
|
51
|
+
}
|
|
52
|
+
export declare class Raw3DTexture {
|
|
53
|
+
readonly path: string;
|
|
54
|
+
readonly data: Uint8Array | undefined;
|
|
55
|
+
readonly xml: Demo3DXmlElement;
|
|
56
|
+
constructor(path: string, data: Uint8Array | undefined, xml: Demo3DXmlElement);
|
|
57
|
+
}
|
|
58
|
+
export declare class Raw3DText {
|
|
59
|
+
readonly value: string;
|
|
60
|
+
readonly size: number;
|
|
61
|
+
readonly materialIndex: number | undefined;
|
|
62
|
+
readonly verticalAlign: number;
|
|
63
|
+
readonly startPosition: readonly number[];
|
|
64
|
+
readonly endPosition: readonly number[];
|
|
65
|
+
readonly xml: Demo3DXmlElement;
|
|
66
|
+
constructor(value: string, size: number, materialIndex: number | undefined, verticalAlign: number, startPosition: readonly number[], endPosition: readonly number[], xml: Demo3DXmlElement);
|
|
67
|
+
}
|
|
68
|
+
export declare class Raw3DLight {
|
|
69
|
+
readonly nodeIndex: number | undefined;
|
|
70
|
+
readonly materialIndex: number | undefined;
|
|
71
|
+
readonly enabled: boolean;
|
|
72
|
+
readonly type: string;
|
|
73
|
+
readonly attenuationConstant: number;
|
|
74
|
+
readonly attenuationLinear: number;
|
|
75
|
+
readonly attenuationQuadratic: number;
|
|
76
|
+
readonly xml: Demo3DXmlElement;
|
|
77
|
+
constructor(nodeIndex: number | undefined, materialIndex: number | undefined, enabled: boolean, type: string, attenuationConstant: number, attenuationLinear: number, attenuationQuadratic: number, xml: Demo3DXmlElement);
|
|
78
|
+
}
|
|
79
|
+
export declare class Raw3DVertexAttribute {
|
|
80
|
+
readonly usage: string;
|
|
81
|
+
readonly type: string;
|
|
82
|
+
readonly componentCount: number;
|
|
83
|
+
readonly offset: number;
|
|
84
|
+
readonly xml: Demo3DXmlElement;
|
|
85
|
+
constructor(usage: string, type: string, componentCount: number, offset: number, xml: Demo3DXmlElement);
|
|
86
|
+
}
|
|
87
|
+
export declare class Raw3DVertexBuffer {
|
|
88
|
+
readonly path: string;
|
|
89
|
+
readonly attributes: readonly Raw3DVertexAttribute[];
|
|
90
|
+
readonly stride: number;
|
|
91
|
+
readonly data: Uint8Array | undefined;
|
|
92
|
+
readonly xml: Demo3DXmlElement;
|
|
93
|
+
constructor(path: string, attributes: readonly Raw3DVertexAttribute[], stride: number, data: Uint8Array | undefined, xml: Demo3DXmlElement);
|
|
94
|
+
}
|
|
95
|
+
export declare class Raw3DIndexBuffer {
|
|
96
|
+
readonly path: string;
|
|
97
|
+
readonly format: string;
|
|
98
|
+
readonly data: Uint8Array | undefined;
|
|
99
|
+
readonly xml: Demo3DXmlElement;
|
|
100
|
+
constructor(path: string, format: string, data: Uint8Array | undefined, xml: Demo3DXmlElement);
|
|
101
|
+
}
|
|
102
|
+
export declare class Raw3DMesh {
|
|
103
|
+
readonly vertexBufferIndex: number;
|
|
104
|
+
readonly indexBufferIndices: readonly number[];
|
|
105
|
+
readonly xml: Demo3DXmlElement;
|
|
106
|
+
constructor(vertexBufferIndex: number, indexBufferIndices: readonly number[], xml: Demo3DXmlElement);
|
|
107
|
+
}
|
|
108
|
+
export declare class Raw3DProject {
|
|
109
|
+
readonly root: Demo3DXmlElement;
|
|
110
|
+
readonly origin: string | undefined;
|
|
111
|
+
readonly views: readonly Raw3DView[];
|
|
112
|
+
readonly nodes: readonly Raw3DNode[];
|
|
113
|
+
readonly layers: readonly Raw3DLayer[];
|
|
114
|
+
readonly materials: readonly Raw3DMaterial[];
|
|
115
|
+
readonly textures: readonly Raw3DTexture[];
|
|
116
|
+
readonly textObjects: readonly Raw3DText[];
|
|
117
|
+
readonly lights: readonly Raw3DLight[];
|
|
118
|
+
readonly meshes: readonly Raw3DMesh[];
|
|
119
|
+
readonly vertexBuffers: readonly Raw3DVertexBuffer[];
|
|
120
|
+
readonly indexBuffers: readonly Raw3DIndexBuffer[];
|
|
121
|
+
constructor(root: Demo3DXmlElement, origin: string | undefined, views: readonly Raw3DView[], nodes: readonly Raw3DNode[], layers: readonly Raw3DLayer[], materials: readonly Raw3DMaterial[], textures: readonly Raw3DTexture[], textObjects: readonly Raw3DText[], lights: readonly Raw3DLight[], meshes: readonly Raw3DMesh[], vertexBuffers: readonly Raw3DVertexBuffer[], indexBuffers: readonly Raw3DIndexBuffer[]);
|
|
122
|
+
}
|
|
123
|
+
export declare class Raw3DPackage {
|
|
124
|
+
readonly entries: readonly ZipEntryInfo[];
|
|
125
|
+
readonly modelEntryName: string;
|
|
126
|
+
readonly modelXml: string;
|
|
127
|
+
readonly model: Raw3DProject;
|
|
128
|
+
readonly thumbnail?: Demo3DResource | undefined;
|
|
129
|
+
readonly aspects?: Demo3DResource | undefined;
|
|
130
|
+
constructor(entries: readonly ZipEntryInfo[], modelEntryName: string, modelXml: string, model: Raw3DProject, thumbnail?: Demo3DResource | undefined, aspects?: Demo3DResource | undefined);
|
|
131
|
+
}
|
|
132
|
+
export declare function parseRaw3D(input: Demo3DInput, options?: ParseRaw3DOptions): Promise<Raw3DPackage>;
|
|
133
|
+
//# sourceMappingURL=raw3d.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw3d.d.ts","sourceRoot":"","sources":["../src/raw3d.ts"],"names":[],"mappings":"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"}
|
package/dist/raw3d.js
ADDED
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
import { decodeText, toUint8Array } from "./binary.js";
|
|
2
|
+
import { Demo3DUnsupportedError, Demo3DZipError } from "./errors.js";
|
|
3
|
+
import { parseDemo3DXmlFast } from "./fast-xml.js";
|
|
4
|
+
import { Demo3DResource } from "./model.js";
|
|
5
|
+
import { defaultParseXml, xmlDocumentToElement } from "./xml.js";
|
|
6
|
+
import { parseZip } from "./zip.js";
|
|
7
|
+
export class Raw3DView {
|
|
8
|
+
name;
|
|
9
|
+
position;
|
|
10
|
+
target;
|
|
11
|
+
constructor(name, position, target) {
|
|
12
|
+
this.name = name;
|
|
13
|
+
this.position = position;
|
|
14
|
+
this.target = target;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class Raw3DNode {
|
|
18
|
+
index;
|
|
19
|
+
name;
|
|
20
|
+
parentIndex;
|
|
21
|
+
meshIndex;
|
|
22
|
+
layerIndex;
|
|
23
|
+
materialIndices;
|
|
24
|
+
textIndex;
|
|
25
|
+
interactionMode;
|
|
26
|
+
location;
|
|
27
|
+
rotation;
|
|
28
|
+
scale;
|
|
29
|
+
castsShadow;
|
|
30
|
+
customAttributes;
|
|
31
|
+
xml;
|
|
32
|
+
constructor(index, name, parentIndex, meshIndex, layerIndex, materialIndices, textIndex, interactionMode, location, rotation, scale, castsShadow, customAttributes, xml) {
|
|
33
|
+
this.index = index;
|
|
34
|
+
this.name = name;
|
|
35
|
+
this.parentIndex = parentIndex;
|
|
36
|
+
this.meshIndex = meshIndex;
|
|
37
|
+
this.layerIndex = layerIndex;
|
|
38
|
+
this.materialIndices = materialIndices;
|
|
39
|
+
this.textIndex = textIndex;
|
|
40
|
+
this.interactionMode = interactionMode;
|
|
41
|
+
this.location = location;
|
|
42
|
+
this.rotation = rotation;
|
|
43
|
+
this.scale = scale;
|
|
44
|
+
this.castsShadow = castsShadow;
|
|
45
|
+
this.customAttributes = customAttributes;
|
|
46
|
+
this.xml = xml;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export class Raw3DLayer {
|
|
50
|
+
name;
|
|
51
|
+
materialIndex;
|
|
52
|
+
xml;
|
|
53
|
+
constructor(name, materialIndex, xml) {
|
|
54
|
+
this.name = name;
|
|
55
|
+
this.materialIndex = materialIndex;
|
|
56
|
+
this.xml = xml;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export class Raw3DMaterial {
|
|
60
|
+
red;
|
|
61
|
+
green;
|
|
62
|
+
blue;
|
|
63
|
+
transparency;
|
|
64
|
+
reflectivity;
|
|
65
|
+
textureIndex;
|
|
66
|
+
normalTextureIndex;
|
|
67
|
+
normalScale;
|
|
68
|
+
scaleU;
|
|
69
|
+
scaleV;
|
|
70
|
+
xml;
|
|
71
|
+
constructor(red, green, blue, transparency, reflectivity, textureIndex, normalTextureIndex, normalScale, scaleU, scaleV, xml) {
|
|
72
|
+
this.red = red;
|
|
73
|
+
this.green = green;
|
|
74
|
+
this.blue = blue;
|
|
75
|
+
this.transparency = transparency;
|
|
76
|
+
this.reflectivity = reflectivity;
|
|
77
|
+
this.textureIndex = textureIndex;
|
|
78
|
+
this.normalTextureIndex = normalTextureIndex;
|
|
79
|
+
this.normalScale = normalScale;
|
|
80
|
+
this.scaleU = scaleU;
|
|
81
|
+
this.scaleV = scaleV;
|
|
82
|
+
this.xml = xml;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
export class Raw3DTexture {
|
|
86
|
+
path;
|
|
87
|
+
data;
|
|
88
|
+
xml;
|
|
89
|
+
constructor(path, data, xml) {
|
|
90
|
+
this.path = path;
|
|
91
|
+
this.data = data;
|
|
92
|
+
this.xml = xml;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
export class Raw3DText {
|
|
96
|
+
value;
|
|
97
|
+
size;
|
|
98
|
+
materialIndex;
|
|
99
|
+
verticalAlign;
|
|
100
|
+
startPosition;
|
|
101
|
+
endPosition;
|
|
102
|
+
xml;
|
|
103
|
+
constructor(value, size, materialIndex, verticalAlign, startPosition, endPosition, xml) {
|
|
104
|
+
this.value = value;
|
|
105
|
+
this.size = size;
|
|
106
|
+
this.materialIndex = materialIndex;
|
|
107
|
+
this.verticalAlign = verticalAlign;
|
|
108
|
+
this.startPosition = startPosition;
|
|
109
|
+
this.endPosition = endPosition;
|
|
110
|
+
this.xml = xml;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
export class Raw3DLight {
|
|
114
|
+
nodeIndex;
|
|
115
|
+
materialIndex;
|
|
116
|
+
enabled;
|
|
117
|
+
type;
|
|
118
|
+
attenuationConstant;
|
|
119
|
+
attenuationLinear;
|
|
120
|
+
attenuationQuadratic;
|
|
121
|
+
xml;
|
|
122
|
+
constructor(nodeIndex, materialIndex, enabled, type, attenuationConstant, attenuationLinear, attenuationQuadratic, xml) {
|
|
123
|
+
this.nodeIndex = nodeIndex;
|
|
124
|
+
this.materialIndex = materialIndex;
|
|
125
|
+
this.enabled = enabled;
|
|
126
|
+
this.type = type;
|
|
127
|
+
this.attenuationConstant = attenuationConstant;
|
|
128
|
+
this.attenuationLinear = attenuationLinear;
|
|
129
|
+
this.attenuationQuadratic = attenuationQuadratic;
|
|
130
|
+
this.xml = xml;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
export class Raw3DVertexAttribute {
|
|
134
|
+
usage;
|
|
135
|
+
type;
|
|
136
|
+
componentCount;
|
|
137
|
+
offset;
|
|
138
|
+
xml;
|
|
139
|
+
constructor(usage, type, componentCount, offset, xml) {
|
|
140
|
+
this.usage = usage;
|
|
141
|
+
this.type = type;
|
|
142
|
+
this.componentCount = componentCount;
|
|
143
|
+
this.offset = offset;
|
|
144
|
+
this.xml = xml;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
export class Raw3DVertexBuffer {
|
|
148
|
+
path;
|
|
149
|
+
attributes;
|
|
150
|
+
stride;
|
|
151
|
+
data;
|
|
152
|
+
xml;
|
|
153
|
+
constructor(path, attributes, stride, data, xml) {
|
|
154
|
+
this.path = path;
|
|
155
|
+
this.attributes = attributes;
|
|
156
|
+
this.stride = stride;
|
|
157
|
+
this.data = data;
|
|
158
|
+
this.xml = xml;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
export class Raw3DIndexBuffer {
|
|
162
|
+
path;
|
|
163
|
+
format;
|
|
164
|
+
data;
|
|
165
|
+
xml;
|
|
166
|
+
constructor(path, format, data, xml) {
|
|
167
|
+
this.path = path;
|
|
168
|
+
this.format = format;
|
|
169
|
+
this.data = data;
|
|
170
|
+
this.xml = xml;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
export class Raw3DMesh {
|
|
174
|
+
vertexBufferIndex;
|
|
175
|
+
indexBufferIndices;
|
|
176
|
+
xml;
|
|
177
|
+
constructor(vertexBufferIndex, indexBufferIndices, xml) {
|
|
178
|
+
this.vertexBufferIndex = vertexBufferIndex;
|
|
179
|
+
this.indexBufferIndices = indexBufferIndices;
|
|
180
|
+
this.xml = xml;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
export class Raw3DProject {
|
|
184
|
+
root;
|
|
185
|
+
origin;
|
|
186
|
+
views;
|
|
187
|
+
nodes;
|
|
188
|
+
layers;
|
|
189
|
+
materials;
|
|
190
|
+
textures;
|
|
191
|
+
textObjects;
|
|
192
|
+
lights;
|
|
193
|
+
meshes;
|
|
194
|
+
vertexBuffers;
|
|
195
|
+
indexBuffers;
|
|
196
|
+
constructor(root, origin, views, nodes, layers, materials, textures, textObjects, lights, meshes, vertexBuffers, indexBuffers) {
|
|
197
|
+
this.root = root;
|
|
198
|
+
this.origin = origin;
|
|
199
|
+
this.views = views;
|
|
200
|
+
this.nodes = nodes;
|
|
201
|
+
this.layers = layers;
|
|
202
|
+
this.materials = materials;
|
|
203
|
+
this.textures = textures;
|
|
204
|
+
this.textObjects = textObjects;
|
|
205
|
+
this.lights = lights;
|
|
206
|
+
this.meshes = meshes;
|
|
207
|
+
this.vertexBuffers = vertexBuffers;
|
|
208
|
+
this.indexBuffers = indexBuffers;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
export class Raw3DPackage {
|
|
212
|
+
entries;
|
|
213
|
+
modelEntryName;
|
|
214
|
+
modelXml;
|
|
215
|
+
model;
|
|
216
|
+
thumbnail;
|
|
217
|
+
aspects;
|
|
218
|
+
constructor(entries, modelEntryName, modelXml, model, thumbnail, aspects) {
|
|
219
|
+
this.entries = entries;
|
|
220
|
+
this.modelEntryName = modelEntryName;
|
|
221
|
+
this.modelXml = modelXml;
|
|
222
|
+
this.model = model;
|
|
223
|
+
this.thumbnail = thumbnail;
|
|
224
|
+
this.aspects = aspects;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
export async function parseRaw3D(input, options = {}) {
|
|
228
|
+
const archive = parseZip(toUint8Array(input));
|
|
229
|
+
const entryByPath = new Map(archive.entries.map((entry) => [entry.name.toLowerCase(), entry]));
|
|
230
|
+
const modelEntry = entryByPath.get("model.xml");
|
|
231
|
+
if (!modelEntry) {
|
|
232
|
+
throw new Demo3DZipError('No "Model.xml" scene entry was found in the RAW3D package.');
|
|
233
|
+
}
|
|
234
|
+
if (modelEntry.uncompressedSize === 0) {
|
|
235
|
+
throw new Demo3DUnsupportedError('RAW3D scene entry "Model.xml" is empty.', "RAW3D_EMPTY_MODEL");
|
|
236
|
+
}
|
|
237
|
+
const modelXml = decodeText(await modelEntry.arrayBuffer(), "utf-8");
|
|
238
|
+
const root = options.parseXml || options.xmlParser === "dom"
|
|
239
|
+
? xmlDocumentToElement((options.parseXml ?? defaultParseXml)(modelXml))
|
|
240
|
+
: parseDemo3DXmlFast(modelXml);
|
|
241
|
+
if (root.localName !== "Scene") {
|
|
242
|
+
throw new Demo3DUnsupportedError(`RAW3D Model.xml has unsupported root element "${root.name}".`, "RAW3D_MODEL_ROOT_UNSUPPORTED");
|
|
243
|
+
}
|
|
244
|
+
const loadData = async (path) => {
|
|
245
|
+
const entry = entryByPath.get(path.toLowerCase());
|
|
246
|
+
return entry ? entry.arrayBuffer() : undefined;
|
|
247
|
+
};
|
|
248
|
+
const model = await extractRaw3DProject(root, loadData);
|
|
249
|
+
const thumbnailEntry = entryByPath.get("thumbnail.png");
|
|
250
|
+
const aspectsEntry = entryByPath.get("aspects.json");
|
|
251
|
+
const [thumbnail, aspects] = await Promise.all([
|
|
252
|
+
thumbnailEntry ? toResource(thumbnailEntry) : undefined,
|
|
253
|
+
aspectsEntry ? toResource(aspectsEntry) : undefined
|
|
254
|
+
]);
|
|
255
|
+
return new Raw3DPackage(archive.entries.map(toEntryInfo), modelEntry.name, modelXml, model, thumbnail, aspects);
|
|
256
|
+
}
|
|
257
|
+
async function extractRaw3DProject(root, loadData) {
|
|
258
|
+
const textureElements = root.child("Textures")?.childrenNamed("Texture") ?? [];
|
|
259
|
+
const vertexBufferElements = root.child("VertexBuffers")?.childrenNamed("VertexBuffer") ?? [];
|
|
260
|
+
const indexBufferElements = root.child("IndexBuffers")?.childrenNamed("IndexBuffer") ?? [];
|
|
261
|
+
const [textureData, vertexData, indexData] = await Promise.all([
|
|
262
|
+
Promise.all(textureElements.map((element) => loadData(attribute(element, "Path") ?? ""))),
|
|
263
|
+
Promise.all(vertexBufferElements.map((element) => loadData(attribute(element, "Path") ?? ""))),
|
|
264
|
+
Promise.all(indexBufferElements.map((element) => loadData(attribute(element, "Path") ?? "")))
|
|
265
|
+
]);
|
|
266
|
+
return new Raw3DProject(root, attribute(root, "Origin"), (root.child("Views")?.childrenNamed("View") ?? []).map((element) => new Raw3DView(attribute(element, "Name") ?? "", numberList(attribute(element, "Position")), numberList(attribute(element, "Target")))), (root.child("Nodes")?.childrenNamed("Node") ?? []).map((element, position) => new Raw3DNode(integerAttribute(element, "Index") ?? position, attribute(element, "Name") ?? "", integerAttribute(element, "Parent"), integerAttribute(element, "Mesh"), integerAttribute(element, "Layer"), integerList(attribute(element, "Materials")), integerAttribute(element, "Text"), integerAttribute(element, "InteractionMode"), numberList(attribute(element, "Location")), numberList(attribute(element, "Rotation")), numberList(attribute(element, "Scale"), [1, 1, 1]), booleanAttribute(element, "CastsShadow", true), parseCustomAttributes(attribute(element, "CustomAttributes")), element)), (root.child("Layers")?.childrenNamed("Layer") ?? []).map((element) => new Raw3DLayer(attribute(element, "Name") ?? "", integerAttribute(element, "Material"), element)), (root.child("Materials")?.childrenNamed("Material") ?? []).map((element) => new Raw3DMaterial(numberAttribute(element, "R", 0), numberAttribute(element, "G", 0), numberAttribute(element, "B", 0), numberAttribute(element, "A", 0), numberAttribute(element, "Reflectivity", 0), integerAttribute(element, "Texture"), integerAttribute(element, "NormalTexture"), numberAttribute(element, "NormalScale", 1), numberAttribute(element, "SU", 1), numberAttribute(element, "SV", 1), element)), textureElements.map((element, index) => new Raw3DTexture(attribute(element, "Path") ?? "", textureData[index], element)), (root.child("TextObjects")?.childrenNamed("Text") ?? []).map((element) => new Raw3DText(attribute(element, "Value") ?? "", numberAttribute(element, "Size", 0.1), integerAttribute(element, "Material"), integerAttribute(element, "VerticalAlign") ?? 0, numberList(attribute(element, "StartPosition")), numberList(attribute(element, "EndPosition")), element)), (root.child("Lights")?.childrenNamed("Light") ?? []).map((element) => new Raw3DLight(integerAttribute(element, "Node"), integerAttribute(element, "Material"), booleanAttribute(element, "Enabled", true), attribute(element, "Type") ?? "Directional", numberAttribute(element, "AttenuationConstant", 1), numberAttribute(element, "AttenuationLinear", 0), numberAttribute(element, "AttenuationQuadratic", 0), element)), (root.child("Meshes")?.childrenNamed("Mesh") ?? []).map((element) => new Raw3DMesh(integerAttribute(element, "VertexBuffer") ?? -1, integerList(attribute(element, "IndexBuffers")), element)), vertexBufferElements.map((element, index) => {
|
|
267
|
+
let offset = 0;
|
|
268
|
+
const attributes = element.childrenNamed("Attribute").map((attributeElement) => {
|
|
269
|
+
const type = attribute(attributeElement, "Type") ?? "Vector3";
|
|
270
|
+
const componentCount = vectorComponentCount(type);
|
|
271
|
+
const result = new Raw3DVertexAttribute(attribute(attributeElement, "Usage") ?? "", type, componentCount, offset, attributeElement);
|
|
272
|
+
offset += componentCount * 4;
|
|
273
|
+
return result;
|
|
274
|
+
});
|
|
275
|
+
return new Raw3DVertexBuffer(attribute(element, "Path") ?? "", attributes, offset, vertexData[index], element);
|
|
276
|
+
}), indexBufferElements.map((element, index) => new Raw3DIndexBuffer(attribute(element, "Path") ?? "", attribute(element, "Format") ?? "UInt16", indexData[index], element)));
|
|
277
|
+
}
|
|
278
|
+
function attribute(element, name) {
|
|
279
|
+
return element.attributes.find((item) => item.localName === name)?.value;
|
|
280
|
+
}
|
|
281
|
+
function numberAttribute(element, name, fallback) {
|
|
282
|
+
const parsed = Number.parseFloat(attribute(element, name) ?? "");
|
|
283
|
+
return Number.isFinite(parsed) ? parsed : fallback;
|
|
284
|
+
}
|
|
285
|
+
function integerAttribute(element, name) {
|
|
286
|
+
const parsed = Number.parseInt(attribute(element, name) ?? "", 10);
|
|
287
|
+
return Number.isFinite(parsed) ? parsed : undefined;
|
|
288
|
+
}
|
|
289
|
+
function booleanAttribute(element, name, fallback) {
|
|
290
|
+
const value = attribute(element, name)?.toLowerCase();
|
|
291
|
+
return value === undefined ? fallback : value !== "false" && value !== "0";
|
|
292
|
+
}
|
|
293
|
+
function numberList(value, fallback = []) {
|
|
294
|
+
if (!value) {
|
|
295
|
+
return [...fallback];
|
|
296
|
+
}
|
|
297
|
+
return value.trim().split(/\s+/).map(Number).filter(Number.isFinite);
|
|
298
|
+
}
|
|
299
|
+
function integerList(value) {
|
|
300
|
+
return numberList(value).map((item) => Math.trunc(item));
|
|
301
|
+
}
|
|
302
|
+
function vectorComponentCount(type) {
|
|
303
|
+
if (/^(Single|Float|Double|Half)$/i.test(type)) {
|
|
304
|
+
return 1;
|
|
305
|
+
}
|
|
306
|
+
const match = /Vector([1-4])$/i.exec(type);
|
|
307
|
+
return match ? Number.parseInt(match[1], 10) : 3;
|
|
308
|
+
}
|
|
309
|
+
function parseCustomAttributes(value) {
|
|
310
|
+
const attributes = new Map();
|
|
311
|
+
const parts = value?.split("|") ?? [];
|
|
312
|
+
for (let index = 0; index + 1 < parts.length; index += 2) {
|
|
313
|
+
if (parts[index]) {
|
|
314
|
+
attributes.set(parts[index], parts[index + 1]);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
return attributes;
|
|
318
|
+
}
|
|
319
|
+
function toEntryInfo(entry) {
|
|
320
|
+
return {
|
|
321
|
+
name: entry.name,
|
|
322
|
+
compressedSize: entry.compressedSize,
|
|
323
|
+
uncompressedSize: entry.uncompressedSize,
|
|
324
|
+
compressionMethod: entry.compressionMethod,
|
|
325
|
+
flags: entry.flags,
|
|
326
|
+
crc32: entry.crc32
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
async function toResource(entry) {
|
|
330
|
+
return new Demo3DResource(entry.name, toEntryInfo(entry), await entry.arrayBuffer());
|
|
331
|
+
}
|
|
332
|
+
//# sourceMappingURL=raw3d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw3d.js","sourceRoot":"","sources":["../src/raw3d.ts"],"names":[],"mappings":"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"}
|
package/dist/three/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type * as Three from "three";
|
|
2
2
|
import { Demo3DMaterial, Demo3DMesh, Demo3DPackage, Demo3DProject } from "../model.js";
|
|
3
|
+
export { createRaw3DThreeGroup, createRaw3DThreeScene, decodeRaw3DThreeGeometry, type Raw3DThreeModule, type Raw3DThreeOptions, type Raw3DThreeScene, type Raw3DThreeStats, type Raw3DThreeWarning } from "./raw3d.js";
|
|
3
4
|
export { createDemo3DThreeRenderer, type Demo3DThreeCanvasRendererOptions, type Demo3DThreeModule, type Demo3DThreeRendererInstance, type Demo3DThreeRendererFallback, type Demo3DThreeRendererResult, type Demo3DThreeRenderBackend, type Demo3DThreeWebGPUModule } from "./renderer.js";
|
|
4
5
|
export type ThreeModule = typeof Three;
|
|
5
6
|
export interface Demo3DThreeWarning {
|
|
@@ -49,6 +50,7 @@ export interface Demo3DThreeStats {
|
|
|
49
50
|
unreconstructedProceduralVisuals: number;
|
|
50
51
|
imageVisuals: number;
|
|
51
52
|
lights: number;
|
|
53
|
+
pointClouds: number;
|
|
52
54
|
missingGeometryPlaceholders: number;
|
|
53
55
|
serializedRenderables: number;
|
|
54
56
|
unsupported: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/three/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,EAML,cAAc,EACd,UAAU,EACV,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/three/index.ts"],"names":[],"mappings":"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"}
|