@shapediver/viewer.data-engine.sdtf-engine 3.15.12 → 3.16.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.
@@ -4,6 +4,7 @@ export declare class SDTFEngine {
4
4
  private readonly _logger;
5
5
  private static _instance;
6
6
  private _parsedFile;
7
+ private _overview;
7
8
  static get instance(): SDTFEngine;
8
9
  /**
9
10
  * Load the sdtf content into a scene graph node.
@@ -13,36 +14,10 @@ export declare class SDTFEngine {
13
14
  */
14
15
  loadContent(content: ResOutputContent, jwtToken?: string): Promise<ITreeNode>;
15
16
  /**
16
- * Create an overview of the SDTF file.
17
- * This overview is used for the data visualization.
18
- * It is structured as a dictionary with the name as the key and an array of Objects as the value.
19
- * The array of objects contains the different types that can be found in the SDTF file under the same name.
20
- *
21
- * Example:
22
- * {
23
- * "color": [
24
- * {
25
- * typeHint: 'string',
26
- * count: 2,
27
- * values: ["red", "blue"]
28
- * },
29
- * {
30
- * typeHint: 'numberArray',
31
- * count: 2,
32
- * values: [[1,0,0,1], [0,0,1,1]]
33
- * },
34
- * ]
35
- * }
36
- *
37
- * The overview contains the following information:
38
- * - name of the attribute + type of the attribute
39
- * - the count
40
- * - for numerical attributes, the min and max values
41
- * - for string attributes, the unique values
42
- *
43
- * @returns
17
+ * Update the overview with a single attribute entry.
18
+ * Called during item loading so we avoid a separate pass over all items.
44
19
  */
45
- private createSDTFOverview;
20
+ private updateOverview;
46
21
  /**
47
22
  * Load the attributes into a SDTFAttributesData data item.
48
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"SDTFEngine.d.ts","sourceRoot":"","sources":["../src/SDTFEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,qCAAqC,CAAC;AAUrE,OAAO,EAAC,SAAS,EAAW,MAAM,qCAAqC,CAAC;AAaxE,qBAAa,UAAU;IAGtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAa;IAErC,OAAO,CAAC,WAAW,CAAsB;IAMzC,WAAkB,QAAQ,eAEzB;IAMD;;;;;OAKG;IACU,WAAW,CACvB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC;IAkCrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;YACW,kBAAkB;IA2FhC;;;;;OAKG;YACW,cAAc;IA8C5B;;;;;;OAMG;YACW,SAAS;IA8BvB;;;;;;OAMG;YACW,QAAQ;IA0CtB;;;;;;OAMG;YACW,QAAQ;CA+BtB"}
1
+ {"version":3,"file":"SDTFEngine.d.ts","sourceRoot":"","sources":["../src/SDTFEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,qCAAqC,CAAC;AAUrE,OAAO,EACN,SAAS,EAMT,MAAM,qCAAqC,CAAC;AAO7C,qBAAa,UAAU;IAGtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAa;IAErC,OAAO,CAAC,WAAW,CAAsB;IAEzC,OAAO,CAAC,SAAS,CAAqB;IAMtC,WAAkB,QAAQ,eAEzB;IAMD;;;;;OAKG;IACU,WAAW,CACvB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC;IAqCrB;;;OAGG;IACH,OAAO,CAAC,cAAc;IA6DtB;;;;;OAKG;YACW,cAAc;IA0D5B;;;;;;OAMG;YACW,SAAS;IA6BvB;;;;;;OAMG;YACW,QAAQ;IAwCtB;;;;;;OAMG;YACW,QAAQ;CA8BtB"}
@@ -14,14 +14,14 @@ const sdk_sdtf_primitives_1 = require("@shapediver/sdk.sdtf-primitives");
14
14
  const sdk_sdtf_v1_1 = require("@shapediver/sdk.sdtf-v1");
15
15
  const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
16
16
  const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
17
- const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
18
17
  class SDTFEngine {
19
18
  constructor() {
20
- // #region Properties (3)
19
+ // #region Properties (4)
21
20
  this._logger = viewer_shared_services_1.Logger.instance;
21
+ this._overview = {};
22
22
  // #endregion Private Methods (5)
23
23
  }
24
- // #endregion Properties (3)
24
+ // #endregion Properties (4)
25
25
  // #region Public Static Accessors (1)
26
26
  static get instance() {
27
27
  return this._instance || (this._instance = new this());
@@ -48,126 +48,75 @@ class SDTFEngine {
48
48
  const parser = sdk.createParser();
49
49
  // parse the file
50
50
  this._parsedFile = yield parser.readFromUrl(content.href);
51
- // crete the overview and save it in the node data
52
- node.data.push(yield this.createSDTFOverview());
53
- // add the loaded chunks to the node
54
- for (let i = 0; i < this._parsedFile.chunks.length; i++)
55
- node.children.push(yield this.loadChunk(this._parsedFile.chunks[i], i));
51
+ // reset overview it will be populated during item loading
52
+ this._overview = {};
53
+ // load all chunks in parallel
54
+ const chunks = yield Promise.all(this._parsedFile.chunks.map((chunk, i) => this.loadChunk(chunk, i)));
55
+ for (const chunk of chunks)
56
+ node.children.push(chunk);
57
+ // create the overview from data collected during item loading
58
+ node.data.push(new viewer_shared_node_tree_1.SDTFOverviewData(this._overview));
56
59
  return node;
57
60
  });
58
61
  }
59
62
  // #endregion Public Methods (1)
60
63
  // #region Private Methods (5)
61
64
  /**
62
- * Create an overview of the SDTF file.
63
- * This overview is used for the data visualization.
64
- * It is structured as a dictionary with the name as the key and an array of Objects as the value.
65
- * The array of objects contains the different types that can be found in the SDTF file under the same name.
66
- *
67
- * Example:
68
- * {
69
- * "color": [
70
- * {
71
- * typeHint: 'string',
72
- * count: 2,
73
- * values: ["red", "blue"]
74
- * },
75
- * {
76
- * typeHint: 'numberArray',
77
- * count: 2,
78
- * values: [[1,0,0,1], [0,0,1,1]]
79
- * },
80
- * ]
81
- * }
82
- *
83
- * The overview contains the following information:
84
- * - name of the attribute + type of the attribute
85
- * - the count
86
- * - for numerical attributes, the min and max values
87
- * - for string attributes, the unique values
88
- *
89
- * @returns
65
+ * Update the overview with a single attribute entry.
66
+ * Called during item loading so we avoid a separate pass over all items.
90
67
  */
91
- createSDTFOverview() {
68
+ updateOverview(key, dataTypehint, value) {
92
69
  var _a, _b, _c, _d;
93
- return __awaiter(this, void 0, void 0, function* () {
94
- const overview = {};
95
- // go through all attributes
96
- for (let i = 0; i < this._parsedFile.items.length; i++) {
97
- const itemAttributes = this._parsedFile.items[i].attributes;
98
- // if there are no attributes, continue
99
- if (!itemAttributes)
100
- continue;
101
- // go through all entries
102
- for (let key in itemAttributes.entries) {
103
- const dataToCopy = itemAttributes.entries[key];
104
- const value = yield dataToCopy.getContent();
105
- // create the type hint to use
106
- const dataTypehint = dataToCopy.typeHint === undefined
107
- ? "undefined"
108
- : dataToCopy.typeHint.name;
109
- // check if the attribute is already in the overview
110
- const existingEntries = overview[key]
111
- ? overview[key].filter((o) => o.typeHint === dataTypehint)
112
- : [];
113
- if (overview[key] && existingEntries.length > 0) {
114
- // update the existing entry
115
- const entry = existingEntries[0];
116
- // update the count
117
- entry.count++;
118
- // update the values
119
- if (sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isStringType(dataTypehint)) {
120
- if (!((_a = entry.values) === null || _a === void 0 ? void 0 : _a.includes(value))) {
121
- (_b = entry.values) === null || _b === void 0 ? void 0 : _b.push(value);
122
- (_c = entry.countForValue) === null || _c === void 0 ? void 0 : _c.push(1);
123
- }
124
- else {
125
- const index = (_d = entry.values) === null || _d === void 0 ? void 0 : _d.indexOf(value);
126
- if (index !== undefined && index > -1)
127
- entry.countForValue[index] += 1;
128
- }
129
- }
130
- // update the min and max
131
- if (sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isNumberType(dataTypehint)) {
132
- entry.min = Math.min(value, entry.min);
133
- entry.max = Math.max(value, entry.max);
134
- }
135
- }
136
- else {
137
- // create a new entry, if the name already exists, but the type does not
138
- if (overview[key]) {
139
- overview[key].push({
140
- typeHint: dataTypehint,
141
- count: 1,
142
- });
143
- }
144
- // create completely new entry
145
- else {
146
- overview[key] = [
147
- {
148
- typeHint: dataTypehint,
149
- count: 1,
150
- },
151
- ];
152
- }
153
- // update the values
154
- if (sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isStringType(dataTypehint)) {
155
- overview[key][overview[key].length - 1].values = [
156
- value,
157
- ];
158
- overview[key][overview[key].length - 1].countForValue =
159
- [1];
160
- }
161
- // update the min and max
162
- if (sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isNumberType(dataTypehint)) {
163
- overview[key][overview[key].length - 1].min = (value);
164
- overview[key][overview[key].length - 1].max = (value);
165
- }
166
- }
70
+ const overview = this._overview;
71
+ // check if the attribute is already in the overview
72
+ const existingEntries = overview[key]
73
+ ? overview[key].filter((o) => o.typeHint === dataTypehint)
74
+ : [];
75
+ if (overview[key] && existingEntries.length > 0) {
76
+ // update the existing entry
77
+ const entry = existingEntries[0];
78
+ entry.count++;
79
+ if (sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isStringType(dataTypehint)) {
80
+ if (!((_a = entry.values) === null || _a === void 0 ? void 0 : _a.includes(value))) {
81
+ (_b = entry.values) === null || _b === void 0 ? void 0 : _b.push(value);
82
+ (_c = entry.countForValue) === null || _c === void 0 ? void 0 : _c.push(1);
83
+ }
84
+ else {
85
+ const index = (_d = entry.values) === null || _d === void 0 ? void 0 : _d.indexOf(value);
86
+ if (index !== undefined && index > -1)
87
+ entry.countForValue[index] += 1;
167
88
  }
168
89
  }
169
- return new viewer_shared_types_1.SDTFOverviewData(overview);
170
- });
90
+ if (sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isNumberType(dataTypehint)) {
91
+ entry.min = Math.min(value, entry.min);
92
+ entry.max = Math.max(value, entry.max);
93
+ }
94
+ }
95
+ else {
96
+ if (overview[key]) {
97
+ overview[key].push({
98
+ typeHint: dataTypehint,
99
+ count: 1,
100
+ });
101
+ }
102
+ else {
103
+ overview[key] = [
104
+ {
105
+ typeHint: dataTypehint,
106
+ count: 1,
107
+ },
108
+ ];
109
+ }
110
+ const newEntry = overview[key][overview[key].length - 1];
111
+ if (sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isStringType(dataTypehint)) {
112
+ newEntry.values = [value];
113
+ newEntry.countForValue = [1];
114
+ }
115
+ if (sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isNumberType(dataTypehint)) {
116
+ newEntry.min = value;
117
+ newEntry.max = value;
118
+ }
119
+ }
171
120
  }
172
121
  /**
173
122
  * Load the attributes into a SDTFAttributesData data item.
@@ -176,31 +125,45 @@ class SDTFEngine {
176
125
  * @returns
177
126
  */
178
127
  loadAttributes(attributes) {
179
- var _a, _b, _c, _d;
128
+ var _a;
180
129
  return __awaiter(this, void 0, void 0, function* () {
181
- const data = new viewer_shared_types_1.SDTFAttributesData();
182
- // go through all attributes entries and save them in data items
183
- for (let key in attributes.entries) {
184
- if (sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isBooleanType((_a = attributes.entries[key].typeHint) === null || _a === void 0 ? void 0 : _a.name) ||
185
- sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isColorType((_b = attributes.entries[key].typeHint) === null || _b === void 0 ? void 0 : _b.name) ||
186
- sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isNumberType((_c = attributes.entries[key].typeHint) === null || _c === void 0 ? void 0 : _c.name) ||
187
- sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isStringType((_d = attributes.entries[key].typeHint) === null || _d === void 0 ? void 0 : _d.name)) {
188
- // create the data item and save it in the dictionary
189
- const typeHint = attributes.entries[key].typeHint === undefined
190
- ? "undefined"
191
- : attributes.entries[key].typeHint.name;
192
- data.attributes[key] = new viewer_shared_types_1.SDTFAttributeData(typeHint, yield attributes.entries[key].getContent());
130
+ const data = new viewer_shared_node_tree_1.SDTFAttributesData();
131
+ const keys = Object.keys(attributes.entries);
132
+ // Separate keys into primitive (need content now) and non-primitive (lazy)
133
+ const primitiveKeys = [];
134
+ const lazyKeys = [];
135
+ for (const key of keys) {
136
+ const typeName = (_a = attributes.entries[key].typeHint) === null || _a === void 0 ? void 0 : _a.name;
137
+ if (sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isBooleanType(typeName) ||
138
+ sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isColorType(typeName) ||
139
+ sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isNumberType(typeName) ||
140
+ sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isStringType(typeName)) {
141
+ primitiveKeys.push(key);
193
142
  }
194
143
  else {
195
- // async data
196
- const typeHint = attributes.entries[key].typeHint === undefined
197
- ? "undefined"
198
- : attributes.entries[key].typeHint.name;
199
- data.attributes[key] = new viewer_shared_types_1.SDTFAttributeData(typeHint, () => __awaiter(this, void 0, void 0, function* () {
200
- return yield attributes.entries[key].getContent();
201
- }));
144
+ lazyKeys.push(key);
202
145
  }
203
146
  }
147
+ // Fetch all primitive attribute contents in parallel
148
+ const primitiveContents = yield Promise.all(primitiveKeys.map((key) => attributes.entries[key].getContent()));
149
+ for (let i = 0; i < primitiveKeys.length; i++) {
150
+ const key = primitiveKeys[i];
151
+ const typeHint = attributes.entries[key].typeHint === undefined
152
+ ? "undefined"
153
+ : attributes.entries[key].typeHint.name;
154
+ data.attributes[key] = new viewer_shared_node_tree_1.SDTFAttributeData(typeHint, primitiveContents[i]);
155
+ // Update overview inline to avoid a second pass
156
+ this.updateOverview(key, typeHint, primitiveContents[i]);
157
+ }
158
+ // Non-primitive attributes stay lazy
159
+ for (const key of lazyKeys) {
160
+ const typeHint = attributes.entries[key].typeHint === undefined
161
+ ? "undefined"
162
+ : attributes.entries[key].typeHint.name;
163
+ data.attributes[key] = new viewer_shared_node_tree_1.SDTFAttributeData(typeHint, () => __awaiter(this, void 0, void 0, function* () {
164
+ return yield attributes.entries[key].getContent();
165
+ }));
166
+ }
204
167
  return data;
205
168
  });
206
169
  }
@@ -218,20 +181,19 @@ class SDTFEngine {
218
181
  if (chunk.attributes !== undefined) {
219
182
  chunkDef.data.push(yield this.loadAttributes(chunk.attributes));
220
183
  }
221
- // if there are items, add them to the chunk as children
222
- if (chunk.items !== undefined && chunk.items.length > 0) {
223
- for (let i = 0, len = chunk.items.length; i < len; i++) {
224
- // got through all items
225
- chunkDef.addChild(yield this.loadItem(chunk.items[i], i));
226
- }
227
- }
228
- // if there are nodes, add them to the chunk as children
229
- if (chunk.nodes !== undefined && chunk.nodes.length > 0) {
230
- for (let i = 0, len = chunk.nodes.length; i < len; i++) {
231
- // got through all children
232
- chunkDef.addChild(yield this.loadNode(chunk.nodes[i], i));
233
- }
234
- }
184
+ // load items and nodes in parallel
185
+ const [items, nodes] = yield Promise.all([
186
+ chunk.items !== undefined && chunk.items.length > 0
187
+ ? Promise.all(chunk.items.map((item, i) => this.loadItem(item, i)))
188
+ : [],
189
+ chunk.nodes !== undefined && chunk.nodes.length > 0
190
+ ? Promise.all(chunk.nodes.map((n, i) => this.loadNode(n, i)))
191
+ : [],
192
+ ]);
193
+ if (items.length > 0)
194
+ chunkDef.addChild(items);
195
+ if (nodes.length > 0)
196
+ chunkDef.addChild(nodes);
235
197
  return chunkDef;
236
198
  });
237
199
  }
@@ -251,19 +213,16 @@ class SDTFEngine {
251
213
  attributes = yield this.loadAttributes(item.attributes);
252
214
  // create the typehint
253
215
  const typeHint = item.typeHint === undefined ? "undefined" : item.typeHint.name;
254
- let itemData;
255
- // create the data and save it in the item node
256
- if (sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isBooleanType(typeHint) ||
216
+ const isPrimitive = sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isBooleanType(typeHint) ||
257
217
  sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isColorType(typeHint) ||
258
218
  sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isNumberType(typeHint) ||
259
- sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isStringType(typeHint)) {
260
- itemData = new viewer_shared_types_1.SDTFItemData(typeHint, yield item.getContent(), attributes === null || attributes === void 0 ? void 0 : attributes.attributes);
261
- }
262
- else {
263
- itemData = new viewer_shared_types_1.SDTFItemData(typeHint, () => __awaiter(this, void 0, void 0, function* () {
219
+ sdk_sdtf_primitives_1.SdtfPrimitiveTypeGuard.isStringType(typeHint);
220
+ // For primitive items, fetch content in parallel with attributes (already done above)
221
+ const itemData = isPrimitive
222
+ ? new viewer_shared_node_tree_1.SDTFItemData(typeHint, yield item.getContent(), attributes === null || attributes === void 0 ? void 0 : attributes.attributes)
223
+ : new viewer_shared_node_tree_1.SDTFItemData(typeHint, () => __awaiter(this, void 0, void 0, function* () {
264
224
  return yield item.getContent();
265
225
  }), attributes === null || attributes === void 0 ? void 0 : attributes.attributes);
266
- }
267
226
  itemDef.data.push(itemData);
268
227
  return itemDef;
269
228
  });
@@ -282,20 +241,19 @@ class SDTFEngine {
282
241
  if (node.attributes !== undefined) {
283
242
  nodeDef.data.push(yield this.loadAttributes(node.attributes));
284
243
  }
285
- // if there are items, add them to the node as children
286
- if (node.items !== undefined && node.items.length > 0) {
287
- for (let i = 0, len = node.items.length; i < len; i++) {
288
- // got through all items
289
- nodeDef.addChild(yield this.loadItem(node.items[i], i));
290
- }
291
- }
292
- // if there are nodes, add them to the node as children
293
- if (node.nodes !== undefined && node.nodes.length > 0) {
294
- for (let i = 0, len = node.nodes.length; i < len; i++) {
295
- // got through all children
296
- nodeDef.addChild(yield this.loadNode(node.nodes[i], i));
297
- }
298
- }
244
+ // load items and nodes in parallel
245
+ const [items, nodes] = yield Promise.all([
246
+ node.items !== undefined && node.items.length > 0
247
+ ? Promise.all(node.items.map((item, i) => this.loadItem(item, i)))
248
+ : [],
249
+ node.nodes !== undefined && node.nodes.length > 0
250
+ ? Promise.all(node.nodes.map((n, i) => this.loadNode(n, i)))
251
+ : [],
252
+ ]);
253
+ if (items.length > 0)
254
+ nodeDef.addChild(items);
255
+ if (nodes.length > 0)
256
+ nodeDef.addChild(nodes);
299
257
  return nodeDef;
300
258
  });
301
259
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SDTFEngine.js","sourceRoot":"","sources":["../src/SDTFEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SDTFEngine.js","sourceRoot":"","sources":["../src/SDTFEngine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.data-engine.sdtf-engine",
3
- "version": "3.15.12",
3
+ "version": "3.16.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -40,12 +40,12 @@
40
40
  "dependencies": {
41
41
  "@shapediver/sdk.geometry-api-sdk-v2": "3.1.0",
42
42
  "@shapediver/sdk.sdtf-v1": "1.7.0",
43
- "@shapediver/viewer.data-engine.shared-types": "3.15.12",
44
- "@shapediver/viewer.shared.build-data": "3.15.12",
45
- "@shapediver/viewer.shared.node-tree": "3.15.12",
46
- "@shapediver/viewer.shared.services": "3.15.12",
47
- "@shapediver/viewer.shared.types": "3.15.12",
43
+ "@shapediver/viewer.data-engine.shared-types": "3.16.0",
44
+ "@shapediver/viewer.shared.build-data": "3.16.0",
45
+ "@shapediver/viewer.shared.node-tree": "3.16.0",
46
+ "@shapediver/viewer.shared.services": "3.16.0",
47
+ "@shapediver/viewer.shared.types": "3.16.0",
48
48
  "gl-matrix": "3.3.0"
49
49
  },
50
- "gitHead": "0e207ee896c1c259a9781db82ad466ac2c337094"
50
+ "gitHead": "51ec55e0309ab4a08dbd40ead42024e5a03783c2"
51
51
  }