@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/dist/parser.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { decodeText, toUint8Array } from "./binary.js";
2
2
  import { Demo3DUnsupportedError, Demo3DZipError } from "./errors.js";
3
3
  import { parseDemo3DXmlFast } from "./fast-xml.js";
4
- import { Demo3DPackage, Demo3DResource, extractProject } from "./model.js";
4
+ import { Demo3DMesh, Demo3DPackage, Demo3DResource, extractProject } from "./model.js";
5
5
  import { defaultParseXml, xmlDocumentToElement } from "./xml.js";
6
6
  import { parseZip } from "./zip.js";
7
7
  export async function parseDemo3D(input, options = {}) {
@@ -25,10 +25,9 @@ export async function parseDemo3D(input, options = {}) {
25
25
  const thumbnailPromise = thumbnailEntry ? loadResource(thumbnailEntry) : Promise.resolve(undefined);
26
26
  const modelBytes = await modelEntry.arrayBuffer();
27
27
  const modelXml = decodeText(modelBytes, "utf-8");
28
- const root = options.parseXml || options.xmlParser === "dom"
29
- ? xmlDocumentToElement((options.parseXml ?? defaultParseXml)(modelXml))
30
- : parseDemo3DXmlFast(modelXml);
31
- const model = extractProject(root);
28
+ const root = parseXmlElement(modelXml, options);
29
+ const externalMeshes = await parseExternalMeshCache(archive.entries, options);
30
+ const model = extractProject(root, externalMeshes);
32
31
  const [resources, buffers, thumbnail] = await Promise.all([
33
32
  resourcesPromise,
34
33
  buffersPromise,
@@ -38,16 +37,143 @@ export async function parseDemo3D(input, options = {}) {
38
37
  }
39
38
  function findModelEntry(entries) {
40
39
  const modelEntries = entries.filter((entry) => entry.name.toLowerCase().endsWith(".demo3d"));
41
- if (modelEntries.length === 0) {
42
- throw new Demo3DZipError("No nested .demo3d XML model entry was found in the package.");
43
- }
44
40
  const preferred = modelEntries.find((entry) => entry.uncompressedSize > 0 && entry.name.indexOf("/") === -1);
45
- const entry = preferred ?? modelEntries[0];
41
+ const entry = preferred
42
+ ?? modelEntries[0]
43
+ ?? entries.find((candidate) => candidate.name.toLowerCase() === "model.xml");
44
+ if (!entry) {
45
+ throw new Demo3DZipError('No Demo3D project XML entry ("*.demo3d" or "Model.xml") was found in the package.');
46
+ }
46
47
  if (entry.uncompressedSize === 0) {
47
48
  throw new Demo3DUnsupportedError(`Model entry "${entry.name}" is empty.`, "DEMO3D_EMPTY_MODEL");
48
49
  }
49
50
  return entry;
50
51
  }
52
+ function parseXmlElement(xml, options) {
53
+ return options.parseXml || options.xmlParser === "dom"
54
+ ? xmlDocumentToElement((options.parseXml ?? defaultParseXml)(xml))
55
+ : parseDemo3DXmlFast(xml);
56
+ }
57
+ async function parseExternalMeshCache(entries, options) {
58
+ const entryByPath = new Map(entries.map((entry) => [entry.name.toLowerCase(), entry]));
59
+ const mapEntry = entryByPath.get("meshes/map.xml");
60
+ if (!mapEntry) {
61
+ return [];
62
+ }
63
+ const mapXml = decodeText(await mapEntry.arrayBuffer(), "utf-8");
64
+ const root = parseXmlElement(mapXml, options);
65
+ if (root.localName !== "MeshMap") {
66
+ throw new Demo3DUnsupportedError(`External mesh map has unsupported root element "${root.name}".`, "DEMO3D_MESH_MAP_ROOT_UNSUPPORTED");
67
+ }
68
+ const vertexDescriptors = root.child("Vertices")?.childrenNamed("VertexBuffer") ?? [];
69
+ const indexDescriptors = root.child("Indices")?.childrenNamed("IndexBuffer") ?? [];
70
+ const meshEntries = root.child("Meshes")?.childrenNamed("Mesh") ?? [];
71
+ const requiredPaths = new Set();
72
+ for (const mesh of meshEntries) {
73
+ const vertexIndex = integerAttribute(mesh, "VertexBuffer");
74
+ const indexIndex = integerAttribute(mesh, "IndexBuffers");
75
+ const sectionIndex = integerAttribute(mesh, "Sections");
76
+ const vertexPath = vertexIndex === undefined ? undefined : attribute(vertexDescriptors[vertexIndex], "Path");
77
+ const indexPath = indexIndex === undefined ? undefined : attribute(indexDescriptors[indexIndex], "Path");
78
+ if (vertexPath) {
79
+ requiredPaths.add(meshCachePath(vertexPath));
80
+ }
81
+ if (indexPath) {
82
+ requiredPaths.add(meshCachePath(indexPath));
83
+ }
84
+ if (sectionIndex !== undefined) {
85
+ requiredPaths.add(`meshes/s${sectionIndex}.dat`);
86
+ }
87
+ }
88
+ const dataByPath = new Map();
89
+ const paths = [...requiredPaths];
90
+ const batchSize = 32;
91
+ for (let offset = 0; offset < paths.length; offset += batchSize) {
92
+ await Promise.all(paths.slice(offset, offset + batchSize).map(async (path) => {
93
+ const entry = entryByPath.get(path.toLowerCase());
94
+ if (entry) {
95
+ dataByPath.set(path.toLowerCase(), await entry.arrayBuffer());
96
+ }
97
+ }));
98
+ }
99
+ const meshes = [];
100
+ for (const mesh of meshEntries) {
101
+ const id = attribute(mesh, "Id");
102
+ const vertexIndex = integerAttribute(mesh, "VertexBuffer");
103
+ const indexIndex = integerAttribute(mesh, "IndexBuffers");
104
+ const sectionIndex = integerAttribute(mesh, "Sections");
105
+ const vertexDescriptor = vertexIndex === undefined ? undefined : vertexDescriptors[vertexIndex];
106
+ const indexDescriptor = indexIndex === undefined ? undefined : indexDescriptors[indexIndex];
107
+ const vertexPath = attribute(vertexDescriptor, "Path");
108
+ const indexPath = attribute(indexDescriptor, "Path");
109
+ const vertices = vertexPath ? dataByPath.get(meshCachePath(vertexPath).toLowerCase()) : undefined;
110
+ const indices = indexPath ? dataByPath.get(meshCachePath(indexPath).toLowerCase()) : undefined;
111
+ if (!id || !vertices) {
112
+ continue;
113
+ }
114
+ const vertexFormat = externalVertexFormat(vertexDescriptor);
115
+ const stride = externalVertexStride(vertexFormat);
116
+ const vertexCount = Math.floor(vertices.byteLength / stride);
117
+ const indexFormat = vertexCount > 0xffff ? "UInt32" : "UInt16";
118
+ const sectionData = sectionIndex === undefined
119
+ ? undefined
120
+ : dataByPath.get(`meshes/s${sectionIndex}.dat`);
121
+ const external = {
122
+ meshFormat: "TriangleList",
123
+ vertexFormat,
124
+ indexFormat,
125
+ vertices,
126
+ indices,
127
+ auxiliary: indices && sectionData
128
+ ? decodeExternalSubsets(sectionData, indices.byteLength, indexFormat)
129
+ : undefined
130
+ };
131
+ meshes.push(new Demo3DMesh("e3d:Mesh", mesh, id, external));
132
+ }
133
+ return meshes;
134
+ }
135
+ function externalVertexFormat(descriptor) {
136
+ const usages = descriptor?.childrenNamed("Attribute")
137
+ .map((item) => attribute(item, "Usage")?.toLowerCase())
138
+ .filter((item) => Boolean(item)) ?? [];
139
+ const hasNormal = usages.includes("normal");
140
+ const hasTexture = usages.some((usage) => usage.includes("texture"));
141
+ if (hasNormal && hasTexture) {
142
+ return "PositionNormalTexture";
143
+ }
144
+ return hasNormal ? "PositionNormal" : "Position";
145
+ }
146
+ function externalVertexStride(vertexFormat) {
147
+ return vertexFormat === "PositionNormalTexture" ? 32 : vertexFormat === "PositionNormal" ? 24 : 12;
148
+ }
149
+ function decodeExternalSubsets(sections, indexByteLength, indexFormat) {
150
+ const indexSize = indexFormat === "UInt32" ? 4 : 2;
151
+ const faceCount = Math.floor(indexByteLength / indexSize / 3);
152
+ if (faceCount === 0 || sections.byteLength < 8 || sections.byteLength % 8 !== 0) {
153
+ return undefined;
154
+ }
155
+ const subsets = new Uint8Array(faceCount);
156
+ const view = new DataView(sections.buffer, sections.byteOffset, sections.byteLength);
157
+ for (let slot = 0; slot < sections.byteLength / 8; slot += 1) {
158
+ const startFace = Math.floor(view.getUint32(slot * 8, true) / 3);
159
+ const faceLength = Math.floor(view.getUint32(slot * 8 + 4, true) / 3);
160
+ subsets.fill(Math.min(slot, 255), startFace, Math.min(faceCount, startFace + faceLength));
161
+ }
162
+ return subsets;
163
+ }
164
+ function meshCachePath(path) {
165
+ return `meshes/${path.replace(/\\/g, "/").replace(/^\/+/, "")}`;
166
+ }
167
+ function integerAttribute(element, name) {
168
+ const value = attribute(element, name);
169
+ if (value === undefined || !/^\d+$/.test(value)) {
170
+ return undefined;
171
+ }
172
+ return Number.parseInt(value, 10);
173
+ }
174
+ function attribute(element, name) {
175
+ return element?.attributes.find((item) => item.localName === name)?.value;
176
+ }
51
177
  function isResourceEntry(path) {
52
178
  const lower = path.toLowerCase();
53
179
  return (lower.startsWith("userresources/") ||
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAoB,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAyB,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAoC,MAAM,UAAU,CAAC;AAOtE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAkB,EAAE,OAAO,GAAuB,EAAE;IACpF,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACvF,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IAC5G,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,CAAC;IACrG,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAmC,CAAC;IACpE,MAAM,YAAY,GAAG,CAAC,KAAe,EAA2B,EAAE;QAChE,IAAI,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAC5B,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IACpE,MAAM,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpG,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK;QAC1D,CAAC,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,gBAAgB;QAChB,cAAc;QACd,gBAAgB;KACjB,CAAC,CAAC;IAEH,OAAO,IAAI,aAAa,CACtB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAChC,UAAU,CAAC,IAAI,EACf,QAAQ,EACR,KAAK,EACL,SAAS,EACT,SAAS,EACT,OAAO,CACR,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,OAA4B;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAE7F,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,cAAc,CAAC,6DAA6D,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7G,MAAM,KAAK,GAAG,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAE3C,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,sBAAsB,CAAC,gBAAgB,KAAK,CAAC,IAAI,aAAa,EAAE,oBAAoB,CAAC,CAAC;IAClG,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,CACL,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAClC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QACvB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QACvB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CACvB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAmB;IACtC,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,KAAe;IACvC,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACvF,CAAC"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
package/dist/raw3d.d.ts CHANGED
@@ -19,13 +19,15 @@ export declare class Raw3DNode {
19
19
  readonly meshIndex: number | undefined;
20
20
  readonly layerIndex: number | undefined;
21
21
  readonly materialIndices: readonly number[];
22
+ readonly textIndex: number | undefined;
23
+ readonly interactionMode: number | undefined;
22
24
  readonly location: readonly number[];
23
25
  readonly rotation: readonly number[];
24
26
  readonly scale: readonly number[];
25
27
  readonly castsShadow: boolean;
26
28
  readonly customAttributes: ReadonlyMap<string, string>;
27
29
  readonly xml: Demo3DXmlElement;
28
- constructor(index: number, name: string, parentIndex: number | undefined, meshIndex: number | undefined, layerIndex: number | undefined, materialIndices: readonly number[], location: readonly number[], rotation: readonly number[], scale: readonly number[], castsShadow: boolean, customAttributes: ReadonlyMap<string, string>, 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);
29
31
  }
30
32
  export declare class Raw3DLayer {
31
33
  readonly name: string;
@@ -53,6 +55,28 @@ export declare class Raw3DTexture {
53
55
  readonly xml: Demo3DXmlElement;
54
56
  constructor(path: string, data: Uint8Array | undefined, xml: Demo3DXmlElement);
55
57
  }
58
+ export declare class Raw3DText {
59
+ readonly value: string;
60
+ readonly size: number;
61
+ readonly fontFamily: string;
62
+ readonly materialIndex: number | undefined;
63
+ readonly verticalAlign: number;
64
+ readonly startPosition: readonly number[];
65
+ readonly endPosition: readonly number[];
66
+ readonly xml: Demo3DXmlElement;
67
+ constructor(value: string, size: number, fontFamily: string, materialIndex: number | undefined, verticalAlign: number, startPosition: readonly number[], endPosition: readonly number[], xml: Demo3DXmlElement);
68
+ }
69
+ export declare class Raw3DLight {
70
+ readonly nodeIndex: number | undefined;
71
+ readonly materialIndex: number | undefined;
72
+ readonly enabled: boolean;
73
+ readonly type: string;
74
+ readonly attenuationConstant: number;
75
+ readonly attenuationLinear: number;
76
+ readonly attenuationQuadratic: number;
77
+ readonly xml: Demo3DXmlElement;
78
+ constructor(nodeIndex: number | undefined, materialIndex: number | undefined, enabled: boolean, type: string, attenuationConstant: number, attenuationLinear: number, attenuationQuadratic: number, xml: Demo3DXmlElement);
79
+ }
56
80
  export declare class Raw3DVertexAttribute {
57
81
  readonly usage: string;
58
82
  readonly type: string;
@@ -71,15 +95,20 @@ export declare class Raw3DVertexBuffer {
71
95
  }
72
96
  export declare class Raw3DIndexBuffer {
73
97
  readonly path: string;
98
+ readonly format: string;
74
99
  readonly data: Uint8Array | undefined;
75
100
  readonly xml: Demo3DXmlElement;
76
- constructor(path: string, data: Uint8Array | undefined, xml: Demo3DXmlElement);
101
+ constructor(path: string, format: string, data: Uint8Array | undefined, xml: Demo3DXmlElement);
77
102
  }
78
103
  export declare class Raw3DMesh {
79
104
  readonly vertexBufferIndex: number;
80
105
  readonly indexBufferIndices: readonly number[];
106
+ /** The primitive topology. Omitted by RAW3D means TriangleList. */
107
+ readonly meshType: string;
81
108
  readonly xml: Demo3DXmlElement;
82
- constructor(vertexBufferIndex: number, indexBufferIndices: readonly number[], xml: Demo3DXmlElement);
109
+ constructor(vertexBufferIndex: number, indexBufferIndices: readonly number[],
110
+ /** The primitive topology. Omitted by RAW3D means TriangleList. */
111
+ meshType: string, xml: Demo3DXmlElement);
83
112
  }
84
113
  export declare class Raw3DProject {
85
114
  readonly root: Demo3DXmlElement;
@@ -89,10 +118,12 @@ export declare class Raw3DProject {
89
118
  readonly layers: readonly Raw3DLayer[];
90
119
  readonly materials: readonly Raw3DMaterial[];
91
120
  readonly textures: readonly Raw3DTexture[];
121
+ readonly textObjects: readonly Raw3DText[];
122
+ readonly lights: readonly Raw3DLight[];
92
123
  readonly meshes: readonly Raw3DMesh[];
93
124
  readonly vertexBuffers: readonly Raw3DVertexBuffer[];
94
125
  readonly indexBuffers: readonly Raw3DIndexBuffer[];
95
- constructor(root: Demo3DXmlElement, origin: string | undefined, views: readonly Raw3DView[], nodes: readonly Raw3DNode[], layers: readonly Raw3DLayer[], materials: readonly Raw3DMaterial[], textures: readonly Raw3DTexture[], meshes: readonly Raw3DMesh[], vertexBuffers: readonly Raw3DVertexBuffer[], indexBuffers: readonly Raw3DIndexBuffer[]);
126
+ 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[]);
96
127
  }
97
128
  export declare class Raw3DPackage {
98
129
  readonly entries: readonly ZipEntryInfo[];
@@ -1 +1 @@
1
- {"version":3,"file":"raw3d.d.ts","sourceRoot":"","sources":["../src/raw3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"raw3d.d.ts","sourceRoot":"","sources":["../src/raw3d.ts"],"names":[],"mappings":"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"}
package/dist/raw3d.js CHANGED
@@ -21,19 +21,23 @@ export class Raw3DNode {
21
21
  meshIndex;
22
22
  layerIndex;
23
23
  materialIndices;
24
+ textIndex;
25
+ interactionMode;
24
26
  location;
25
27
  rotation;
26
28
  scale;
27
29
  castsShadow;
28
30
  customAttributes;
29
31
  xml;
30
- constructor(index, name, parentIndex, meshIndex, layerIndex, materialIndices, location, rotation, scale, castsShadow, customAttributes, xml) {
32
+ constructor(index, name, parentIndex, meshIndex, layerIndex, materialIndices, textIndex, interactionMode, location, rotation, scale, castsShadow, customAttributes, xml) {
31
33
  this.index = index;
32
34
  this.name = name;
33
35
  this.parentIndex = parentIndex;
34
36
  this.meshIndex = meshIndex;
35
37
  this.layerIndex = layerIndex;
36
38
  this.materialIndices = materialIndices;
39
+ this.textIndex = textIndex;
40
+ this.interactionMode = interactionMode;
37
41
  this.location = location;
38
42
  this.rotation = rotation;
39
43
  this.scale = scale;
@@ -88,6 +92,46 @@ export class Raw3DTexture {
88
92
  this.xml = xml;
89
93
  }
90
94
  }
95
+ export class Raw3DText {
96
+ value;
97
+ size;
98
+ fontFamily;
99
+ materialIndex;
100
+ verticalAlign;
101
+ startPosition;
102
+ endPosition;
103
+ xml;
104
+ constructor(value, size, fontFamily, materialIndex, verticalAlign, startPosition, endPosition, xml) {
105
+ this.value = value;
106
+ this.size = size;
107
+ this.fontFamily = fontFamily;
108
+ this.materialIndex = materialIndex;
109
+ this.verticalAlign = verticalAlign;
110
+ this.startPosition = startPosition;
111
+ this.endPosition = endPosition;
112
+ this.xml = xml;
113
+ }
114
+ }
115
+ export class Raw3DLight {
116
+ nodeIndex;
117
+ materialIndex;
118
+ enabled;
119
+ type;
120
+ attenuationConstant;
121
+ attenuationLinear;
122
+ attenuationQuadratic;
123
+ xml;
124
+ constructor(nodeIndex, materialIndex, enabled, type, attenuationConstant, attenuationLinear, attenuationQuadratic, xml) {
125
+ this.nodeIndex = nodeIndex;
126
+ this.materialIndex = materialIndex;
127
+ this.enabled = enabled;
128
+ this.type = type;
129
+ this.attenuationConstant = attenuationConstant;
130
+ this.attenuationLinear = attenuationLinear;
131
+ this.attenuationQuadratic = attenuationQuadratic;
132
+ this.xml = xml;
133
+ }
134
+ }
91
135
  export class Raw3DVertexAttribute {
92
136
  usage;
93
137
  type;
@@ -118,10 +162,12 @@ export class Raw3DVertexBuffer {
118
162
  }
119
163
  export class Raw3DIndexBuffer {
120
164
  path;
165
+ format;
121
166
  data;
122
167
  xml;
123
- constructor(path, data, xml) {
168
+ constructor(path, format, data, xml) {
124
169
  this.path = path;
170
+ this.format = format;
125
171
  this.data = data;
126
172
  this.xml = xml;
127
173
  }
@@ -129,10 +175,14 @@ export class Raw3DIndexBuffer {
129
175
  export class Raw3DMesh {
130
176
  vertexBufferIndex;
131
177
  indexBufferIndices;
178
+ meshType;
132
179
  xml;
133
- constructor(vertexBufferIndex, indexBufferIndices, xml) {
180
+ constructor(vertexBufferIndex, indexBufferIndices,
181
+ /** The primitive topology. Omitted by RAW3D means TriangleList. */
182
+ meshType, xml) {
134
183
  this.vertexBufferIndex = vertexBufferIndex;
135
184
  this.indexBufferIndices = indexBufferIndices;
185
+ this.meshType = meshType;
136
186
  this.xml = xml;
137
187
  }
138
188
  }
@@ -144,10 +194,12 @@ export class Raw3DProject {
144
194
  layers;
145
195
  materials;
146
196
  textures;
197
+ textObjects;
198
+ lights;
147
199
  meshes;
148
200
  vertexBuffers;
149
201
  indexBuffers;
150
- constructor(root, origin, views, nodes, layers, materials, textures, meshes, vertexBuffers, indexBuffers) {
202
+ constructor(root, origin, views, nodes, layers, materials, textures, textObjects, lights, meshes, vertexBuffers, indexBuffers) {
151
203
  this.root = root;
152
204
  this.origin = origin;
153
205
  this.views = views;
@@ -155,6 +207,8 @@ export class Raw3DProject {
155
207
  this.layers = layers;
156
208
  this.materials = materials;
157
209
  this.textures = textures;
210
+ this.textObjects = textObjects;
211
+ this.lights = lights;
158
212
  this.meshes = meshes;
159
213
  this.vertexBuffers = vertexBuffers;
160
214
  this.indexBuffers = indexBuffers;
@@ -215,7 +269,7 @@ async function extractRaw3DProject(root, loadData) {
215
269
  Promise.all(vertexBufferElements.map((element) => loadData(attribute(element, "Path") ?? ""))),
216
270
  Promise.all(indexBufferElements.map((element) => loadData(attribute(element, "Path") ?? "")))
217
271
  ]);
218
- 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")), 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("Meshes")?.childrenNamed("Mesh") ?? []).map((element) => new Raw3DMesh(integerAttribute(element, "VertexBuffer") ?? -1, integerList(attribute(element, "IndexBuffers")), element)), vertexBufferElements.map((element, index) => {
272
+ 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), attribute(element, "FontFamily") ?? "Arial", 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")), attribute(element, "MeshType") ?? "TriangleList", element)), vertexBufferElements.map((element, index) => {
219
273
  let offset = 0;
220
274
  const attributes = element.childrenNamed("Attribute").map((attributeElement) => {
221
275
  const type = attribute(attributeElement, "Type") ?? "Vector3";
@@ -225,7 +279,7 @@ async function extractRaw3DProject(root, loadData) {
225
279
  return result;
226
280
  });
227
281
  return new Raw3DVertexBuffer(attribute(element, "Path") ?? "", attributes, offset, vertexData[index], element);
228
- }), indexBufferElements.map((element, index) => new Raw3DIndexBuffer(attribute(element, "Path") ?? "", indexData[index], element)));
282
+ }), indexBufferElements.map((element, index) => new Raw3DIndexBuffer(attribute(element, "Path") ?? "", attribute(element, "Format") ?? "UInt16", indexData[index], element)));
229
283
  }
230
284
  function attribute(element, name) {
231
285
  return element.attributes.find((item) => item.localName === name)?.value;
@@ -252,6 +306,9 @@ function integerList(value) {
252
306
  return numberList(value).map((item) => Math.trunc(item));
253
307
  }
254
308
  function vectorComponentCount(type) {
309
+ if (/^(Single|Float|Double|Half)$/i.test(type)) {
310
+ return 1;
311
+ }
255
312
  const match = /Vector([1-4])$/i.exec(type);
256
313
  return match ? Number.parseInt(match[1], 10) : 3;
257
314
  }
package/dist/raw3d.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"raw3d.js","sourceRoot":"","sources":["../src/raw3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"raw3d.js","sourceRoot":"","sources":["../src/raw3d.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type * as Three from "three";
2
2
  import { Demo3DMaterial, Demo3DMesh, Demo3DPackage, Demo3DProject } from "../model.js";
3
3
  export { createRaw3DThreeGroup, createRaw3DThreeScene, decodeRaw3DThreeGeometry, type Raw3DThreeModule, type Raw3DThreeOptions, type Raw3DThreeScene, type Raw3DThreeStats, type Raw3DThreeWarning } from "./raw3d.js";
4
4
  export { createDemo3DThreeRenderer, type Demo3DThreeCanvasRendererOptions, type Demo3DThreeModule, type Demo3DThreeRendererInstance, type Demo3DThreeRendererFallback, type Demo3DThreeRendererResult, type Demo3DThreeRenderBackend, type Demo3DThreeWebGPUModule } from "./renderer.js";
5
+ export { applyDemo3DThreeRenderMode, type Demo3DThreeRenderMode, type Demo3DThreeRenderModeOptions, type Demo3DThreeRenderModeResult } from "./presentation.js";
5
6
  export type ThreeModule = typeof Three;
6
7
  export interface Demo3DThreeWarning {
7
8
  readonly code: string;
@@ -50,6 +51,7 @@ export interface Demo3DThreeStats {
50
51
  unreconstructedProceduralVisuals: number;
51
52
  imageVisuals: number;
52
53
  lights: number;
54
+ pointClouds: number;
53
55
  missingGeometryPlaceholders: number;
54
56
  serializedRenderables: number;
55
57
  unsupported: number;
@@ -63,6 +65,8 @@ export interface Demo3DThreeScene {
63
65
  }
64
66
  export declare function createDemo3DThreeScene(parsed: Demo3DPackage | Demo3DProject, options?: Demo3DThreeRendererOptions): Promise<Demo3DThreeScene>;
65
67
  export declare function createDemo3DThreeGroup(parsed: Demo3DPackage | Demo3DProject, options?: Demo3DThreeRendererOptions): Promise<Three.Group>;
68
+ /** Dispose geometries, materials, and textures owned by a generated Demo3D or RAW3D group. */
69
+ export declare function disposeDemo3DThreeGroup(root: Three.Object3D): void;
66
70
  export declare function decodeDemo3DThreeGeometry(mesh: Demo3DMesh, three: ThreeModule): Three.BufferGeometry;
67
71
  export declare function createDemo3DThreeMaterial(material: Demo3DMaterial | undefined, three: ThreeModule): Three.Material;
68
72
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/three/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/three/index.ts"],"names":[],"mappings":"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"}