@ifc-lite/geometry 2.9.0 → 2.9.2
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/geometry-parallel.d.ts +6 -0
- package/dist/geometry-parallel.d.ts.map +1 -1
- package/dist/geometry-parallel.js +30 -3
- package/dist/geometry-parallel.js.map +1 -1
- package/dist/geometry.worker.d.ts +24 -1
- package/dist/geometry.worker.d.ts.map +1 -1
- package/dist/geometry.worker.js +112 -5
- package/dist/geometry.worker.js.map +1 -1
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/packed-instanced-decoder.d.ts +34 -0
- package/dist/packed-instanced-decoder.d.ts.map +1 -0
- package/dist/packed-instanced-decoder.js +128 -0
- package/dist/packed-instanced-decoder.js.map +1 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/worker-count.d.ts.map +1 -1
- package/dist/worker-count.js +24 -1
- package/dist/worker-count.js.map +1 -1
- package/package.json +2 -2
|
@@ -53,6 +53,12 @@ export interface ProcessParallelOptions {
|
|
|
53
53
|
* Rust layer. Default `false` keeps existing behaviour.
|
|
54
54
|
*/
|
|
55
55
|
mergeLayers?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* GPU-instancing partition toggle (default true). Set false for FEDERATED loads:
|
|
58
|
+
* the instanced render path is primary-model only, so a federated model must keep
|
|
59
|
+
* all geometry on the flat path or its opaque repeated occurrences are dropped.
|
|
60
|
+
*/
|
|
61
|
+
enableInstancing?: boolean;
|
|
56
62
|
/**
|
|
57
63
|
* Issue #924 — per-entity geometry-hash tolerance in metres. When a
|
|
58
64
|
* positive value is given, each geometry worker's IfcAPI receives
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry-parallel.d.ts","sourceRoot":"","sources":["../src/geometry-parallel.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAY,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,WAAW,EACrB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,WAAW,EAAE,MAAM,GAClB;IAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAc7C;AAsCD,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CACd,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,WAAW,KACjB,IAAI,CAAC;IACV;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACjD;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzC;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5E;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAuB,eAAe,CACpC,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,iBAAiB,EAC9B,eAAe,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE;AACrD,gFAAgF;AAChF,WAAW,CAAC,EAAE,iBAAiB,EAC/B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,cAAc,CAAC,sBAAsB,CAAC,
|
|
1
|
+
{"version":3,"file":"geometry-parallel.d.ts","sourceRoot":"","sources":["../src/geometry-parallel.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAY,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,WAAW,EACrB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,WAAW,EAAE,MAAM,GAClB;IAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAc7C;AAsCD,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CACd,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,WAAW,KACjB,IAAI,CAAC;IACV;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACjD;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzC;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5E;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAuB,eAAe,CACpC,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,iBAAiB,EAC9B,eAAe,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE;AACrD,gFAAgF;AAChF,WAAW,CAAC,EAAE,iBAAiB,EAC/B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,cAAc,CAAC,sBAAsB,CAAC,CAsxBxC"}
|
|
@@ -181,19 +181,40 @@ existingSab, options) {
|
|
|
181
181
|
// renderer reconstructs world via a per-batch model-matrix translate.
|
|
182
182
|
...(m.origin ? { origin: m.origin } : {}),
|
|
183
183
|
}));
|
|
184
|
-
|
|
184
|
+
// GPU-instancing: per-batch IFNS shards ride alongside the flat meshes.
|
|
185
|
+
// Opaque repeated occurrences render ONLY via these shards (taken off the
|
|
186
|
+
// flat `meshes` array), so their count must be folded into the running
|
|
187
|
+
// total for an accurate `totalSoFar`.
|
|
188
|
+
const instancedShards = msg.instancedShards;
|
|
189
|
+
const instancedOccurrences = msg.instancedOccurrences ?? 0;
|
|
190
|
+
// #924 compare parity: geometry-diff hashes for instanced-only entities
|
|
191
|
+
// (no flat mesh carries them). Forward straight through to the consumer.
|
|
192
|
+
const instancedGeometryHashIds = msg.instancedGeometryHashIds;
|
|
193
|
+
const instancedGeometryHashValues = msg.instancedGeometryHashValues;
|
|
194
|
+
if (meshes.length > 0 ||
|
|
195
|
+
(instancedShards && instancedShards.length > 0) ||
|
|
196
|
+
(instancedGeometryHashIds && instancedGeometryHashIds.length > 0)) {
|
|
185
197
|
// Update totalMeshes per batch so consumers see a live
|
|
186
198
|
// running count via `totalSoFar`. The `complete` event
|
|
187
199
|
// below used to be the only updater, leaving streamed
|
|
188
200
|
// batches reporting a stale total until the worker exited.
|
|
189
|
-
|
|
190
|
-
|
|
201
|
+
if (meshes.length > 0) {
|
|
202
|
+
totalMeshes += meshes.length;
|
|
203
|
+
coordinator.processMeshesIncremental(meshes);
|
|
204
|
+
}
|
|
205
|
+
// Instanced occurrences left the flat array but are still rendered
|
|
206
|
+
// geometry — count them so totalSoFar reflects the full model.
|
|
207
|
+
totalMeshes += instancedOccurrences;
|
|
191
208
|
const coordinateInfo = coordinator.getCurrentCoordinateInfo();
|
|
192
209
|
eventQueue.push({
|
|
193
210
|
type: 'batch',
|
|
194
211
|
meshes,
|
|
195
212
|
totalSoFar: totalMeshes,
|
|
196
213
|
coordinateInfo: coordinateInfo || undefined,
|
|
214
|
+
...(instancedShards && instancedShards.length > 0 ? { instancedShards } : {}),
|
|
215
|
+
...(instancedGeometryHashIds && instancedGeometryHashIds.length > 0
|
|
216
|
+
? { instancedGeometryHashIds, instancedGeometryHashValues }
|
|
217
|
+
: {}),
|
|
197
218
|
});
|
|
198
219
|
wake();
|
|
199
220
|
}
|
|
@@ -282,6 +303,12 @@ existingSab, options) {
|
|
|
282
303
|
type: 'set-merge-layers',
|
|
283
304
|
enabled: options?.mergeLayers === true,
|
|
284
305
|
});
|
|
306
|
+
// GPU-instancing partition toggle — default ON; the host sets false for federated
|
|
307
|
+
// loads so a federated model's geometry stays flat (instancing is primary-only).
|
|
308
|
+
worker.postMessage({
|
|
309
|
+
type: 'set-instancing-enabled',
|
|
310
|
+
enabled: options?.enableInstancing !== false,
|
|
311
|
+
});
|
|
285
312
|
// Issue #924: forward the geometry-hash tolerance the same way — always
|
|
286
313
|
// sent so the controller path stays uniform; null is a cheap no-op.
|
|
287
314
|
worker.postMessage({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry-parallel.js","sourceRoot":"","sources":["../src/geometry-parallel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"geometry-parallel.js","sourceRoot":"","sources":["../src/geometry-parallel.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA2B/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGvD;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAqB,EACrB,SAAiB,EACjB,WAAmB,EACnB,WAAgC,EAChC,WAAmB;IAEnB,MAAM,OAAO,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1E,IAAI,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,CAAC,GAAG,UAAU,CAAC;YACf,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;YAC5C,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB;IAC9B,MAAM,CAAC,GAAG,UAAiF,CAAC;IAC5F,MAAM,CAAC,GAAG,CAAC,CAAC,uBAAuB,CAAC;IACpC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,SAAS,4BAA4B;IACnC,MAAM,CAAC,GAAG,UAET,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,CAAC,4BAA4B,CAAC;IACzC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAgGD,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,eAAe,CACpC,MAAkB,EAClB,WAA8B,EAC9B,eAAqD;AACrD,gFAAgF;AAChF,WAA+B,EAC/B,OAAgC;IAEhC,WAAW,CAAC,KAAK,EAAE,CAAC;IAEpB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;IAC7D,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAEzC,2DAA2D;IAC3D,4BAA4B;IAC5B,2CAA2C;IAC3C,oCAAoC;IACpC,IAAI,YAA+B,CAAC;IACpC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,IAAI,WAAW,IAAI,WAAW,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;QAChE,YAAY,GAAG,WAAW,CAAC;IAC7B,CAAC;SAAM,IACL,OAAO,iBAAiB,KAAK,WAAW;WACrC,WAAW,YAAY,iBAAiB;WACxC,MAAM,CAAC,UAAU,KAAK,CAAC;WACvB,MAAM,CAAC,UAAU,KAAK,WAAW,CAAC,UAAU,EAC/C,CAAC;QACD,YAAY,GAAG,WAAW,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,oDAAoD;IACpD,mEAAmE;IACnE,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAC9B,IAAI,MAAM,CACR,IAAI,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAChD,EAAE,IAAI,EAAE,QAAQ,EAAE,CACnB,CAAC;IACJ,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,CACxC,IAAI,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAChD,EAAE,IAAI,EAAE,QAAQ,EAAE,CACnB,CAAC;IAEF,+DAA+D;IAC/D,MAAM,UAAU,GAA6B,EAAE,CAAC;IAChD,IAAI,cAAc,GAAwB,IAAI,CAAC;IAC/C,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,cAAc,EAAE,CAAC;YACnB,cAAc,EAAE,CAAC;YACjB,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IAEF,mEAAmE;IACnE,IAAI,WAAW,GAAuB,IAAI,CAAC;IAC3C,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,YAAY,GAAiB,IAAI,CAAC;IAEtC,uEAAuE;IACvE,qEAAqE;IACrE,mEAAmE;IACnE,uDAAuD;IACvD,IAAI,WAAW,GAAiB,IAAI,CAAC;IACrC,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,wBAAwB,GAAG,KAAK,CAAC;IACrC;;;;;;;;OAQG;IACH,MAAM,YAAY,GAA0D,EAAE,CAAC;IAC/E,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,+EAA+E;IAC/E,6EAA6E;IAC7E,+EAA+E;IAC/E,gFAAgF;IAChF,4EAA4E;IAC5E,+EAA+E;IAC/E,gFAAgF;IAChF,+EAA+E;IAC/E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAE3B,oEAAoE;IACpE,kEAAkE;IAClE,MAAM,kBAAkB,GAAa,EAAE,CAAC;IACxC,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAE,WAAmB,EAAE,EAAE;QACpE,MAAM,CAAC,SAAS,GAAG,CAAC,CAAe,EAAE,EAAE;YACrC,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,kBAAkB,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC3E,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,cAAc;oBACpB,WAAW;oBACX,aAAa,EAAE,GAAG,CAAC,aAAa;oBAChC,SAAS,EAAE,GAAG,CAAC,SAAS;iBACzB,CAAC,CAAC;gBACH,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC5B,mEAAmE;gBACnE,iEAAiE;gBACjE,kEAAkE;gBAClE,qEAAqE;gBACrE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBACxD,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACzB,IAAI,kBAAkB,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClD,kBAAkB,CAAC,WAAW,CAAC,GAAG,OAAO,EAAE,CAAC;oBAC5C,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,mBAAmB,OAAO,EAAE,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;gBAClH,CAAC;gBACD,MAAM,MAAM,GAAe,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAc1C,EAAE,EAAE,CAAC,CAAC;oBACL,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,SAAS,EAAE,CAAC,CAAC,SAAS,YAAY,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC5F,OAAO,EAAE,CAAC,CAAC,OAAO,YAAY,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;oBACpF,OAAO,EAAE,CAAC,CAAC,OAAO,YAAY,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;oBAClF,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,8DAA8D;oBAC9D,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3D,sEAAsE;oBACtE,kEAAkE;oBAClE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5C,+DAA+D;oBAC/D,+CAA+C;oBAC/C,GAAG,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzE,mEAAmE;oBACnE,mEAAmE;oBACnE,+CAA+C;oBAC/C,GAAG,CAAC,CAAC,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5E,kEAAkE;oBAClE,sEAAsE;oBACtE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1C,CAAC,CAAC,CAAC;gBACJ,wEAAwE;gBACxE,0EAA0E;gBAC1E,uEAAuE;gBACvE,sCAAsC;gBACtC,MAAM,eAAe,GAAI,GAA2C,CAAC,eAAe,CAAC;gBACrF,MAAM,oBAAoB,GACvB,GAAyC,CAAC,oBAAoB,IAAI,CAAC,CAAC;gBACvE,wEAAwE;gBACxE,yEAAyE;gBACzE,MAAM,wBAAwB,GAC3B,GAAkD,CAAC,wBAAwB,CAAC;gBAC/E,MAAM,2BAA2B,GAC9B,GAAwD,CAAC,2BAA2B,CAAC;gBACxF,IACE,MAAM,CAAC,MAAM,GAAG,CAAC;oBACjB,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC/C,CAAC,wBAAwB,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,EACjE,CAAC;oBACD,uDAAuD;oBACvD,uDAAuD;oBACvD,sDAAsD;oBACtD,2DAA2D;oBAC3D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC;wBAC7B,WAAW,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;oBAC/C,CAAC;oBACD,mEAAmE;oBACnE,+DAA+D;oBAC/D,WAAW,IAAI,oBAAoB,CAAC;oBACpC,MAAM,cAAc,GAAG,WAAW,CAAC,wBAAwB,EAAE,CAAC;oBAC9D,UAAU,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,OAAO;wBACb,MAAM;wBACN,UAAU,EAAE,WAAW;wBACvB,cAAc,EAAE,cAAc,IAAI,SAAS;wBAC3C,GAAG,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7E,GAAG,CAAC,wBAAwB,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC;4BACjE,CAAC,CAAC,EAAE,wBAAwB,EAAE,2BAA2B,EAAE;4BAC3D,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC,CAAC;oBACH,IAAI,EAAE,CAAC;gBACT,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC5B,yDAAyD;gBACzD,2DAA2D;gBAC3D,yDAAyD;gBACzD,2DAA2D;gBAC3D,2DAA2D;gBAC3D,yDAAyD;gBACzD,yCAAyC;gBACzC,gBAAgB,EAAE,CAAC;gBACnB,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACzB,WAAW,GAAG,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjE,gBAAgB,EAAE,CAAC;gBACnB,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC,CAAC;QACF,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE;YACvB,kEAAkE;YAClE,sEAAsE;YACtE,2EAA2E;YAC3E,yEAAyE;YACzE,sEAAsE;YACtE,+CAA+C;YAC/C,MAAM,MAAM,GACV,CAAC,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,gCAAgC,CAAC;YACnC,WAAW,GAAG,IAAI,KAAK,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;YAC7D,gBAAgB,EAAE,CAAC;YACnB,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,yEAAyE;IACzE,oEAAoE;IACpE,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,KAAK,GAAG,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,MAAM,cAAc,GAAG,OAAO,SAAS,KAAK,WAAW;QACrD,CAAC,CAAC,CAAE,SAAkD,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/D,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;QAC3C,UAAU;QACV,KAAK;QACL,cAAc;QACd,SAAS,EAAE,aAAa;QACxB,mBAAmB,EAAE,OAAO,EAAE,mBAAmB;KAClD,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC;IAE5C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjC,iEAAiE;QACjE,oEAAoE;QACpE,4DAA4D;QAC5D,EAAE;QACF,oEAAoE;QACpE,8DAA8D;QAC9D,mEAAmE;QACnE,kBAAkB;QAClB,MAAM,gBAAgB,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC;QACjD,MAAM,CAAC,WAAW,CAAC;YACjB,IAAI,EAAE,MAAM;YACZ,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CAAC;QACH,iEAAiE;QACjE,kEAAkE;QAClE,kEAAkE;QAClE,gEAAgE;QAChE,oEAAoE;QACpE,iEAAiE;QACjE,oCAAoC;QACpC,MAAM,CAAC,WAAW,CAAC;YACjB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,OAAO,EAAE,WAAW,KAAK,IAAI;SACvC,CAAC,CAAC;QACH,kFAAkF;QAClF,iFAAiF;QACjF,MAAM,CAAC,WAAW,CAAC;YACjB,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,OAAO,EAAE,gBAAgB,KAAK,KAAK;SAC7C,CAAC,CAAC;QACH,wEAAwE;QACxE,oEAAoE;QACpE,MAAM,CAAC,WAAW,CAAC;YACjB,IAAI,EAAE,6BAA6B;YACnC,SAAS,EAAE,OAAO,EAAE,qBAAqB,IAAI,IAAI;SAClD,CAAC,CAAC;QACH,oEAAoE;QACpE,+DAA+D;QAC/D,MAAM,CAAC,WAAW,CAAC;YACjB,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,OAAO,EAAE,mBAAmB,IAAI,IAAI;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,gBAAgB;YAAE,OAAO;QAC7B,gBAAgB,GAAG,IAAI,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC,CAAC,gDAAgD,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,IAAI,wBAAwB,IAAI,CAAC,WAAW;YAAE,OAAO;QACrD,wBAAwB,GAAG,IAAI,CAAC;QAEhC,MAAM,YAAY,GAAG,eAAe,IAAI,IAAI,CAAC;QAC7C,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,mBAAmB,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;QAEzE,wEAAwE;QACxE,0EAA0E;QAC1E,qCAAqC;QACrC,WAAW,CAAC,eAAe,CACzB,WAAW,CAAC,SAAS,EACrB,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAC3D,CAAC;QAEF,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE;YACxC,MAAM,EAAE,mBAAmB;SAC5B,CAAC,CAAC;QACH,IAAI,EAAE,CAAC;QAEP,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,uBAAuB,EAAE,CAAC;QACtE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,WAAW,CAAC;gBACjB,IAAI,EAAE,cAAuB;gBAC7B,YAAY;gBACZ,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;gBACpD,IAAI,EAAE,IAAI,EAAE,IAAI;gBAChB,UAAU,EAAE,mBAAmB;gBAC/B,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,QAAQ;gBACpB,UAAU,EAAE,QAAQ;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,OAAO;gBACpB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;QAED,kEAAkE;QAClE,+DAA+D;QAC/D,mDAAmD;IACrD,CAAC,CAAC;IAEF;;;;;OAKG;IACH,SAAS,kBAAkB,CAAC,IAAiB,EAAE,QAAqB;QAClE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,mBAAmB,CACjD,QAAQ,EACR,YAAY,EACZ,CAAC,EACD,WAAW,EACX,kBAAkB,CACnB,CAAC;QACF,kBAAkB,GAAG,UAAU,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAChC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACxB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC3B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CACpB,EAAE,IAAI,EAAE,cAAuB,EAAE,QAAQ,EAAE,GAAG,EAAE,EAChD,CAAC,GAAG,CAAC,MAAM,CAAC,CACb,CAAC;QACJ,CAAC;IACH,CAAC;IAED,SAAS,yBAAyB,CAAC,IAAiB,EAAE,QAA4B;QAChF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,YAAY,KAAK,CAAC;YAAE,OAAO;QAC/B,IAAI,CAAC;YACH,sEAAsE;YACtE,uEAAuE;YACvE,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBACjD,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YACD,2EAA2E;YAC3E,0EAA0E;YAC1E,2EAA2E;YAC3E,+CAA+C;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;gBACrF,IAAI,OAAO,KAAK,CAAC;oBAAE,SAAS;gBAC5B,+DAA+D;gBAC/D,sDAAsD;gBACtD,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChF,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBAC3B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC7B,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CACpB,EAAE,IAAI,EAAE,cAAuB,EAAE,QAAQ,EAAE,GAAG,EAAE,EAChD,CAAC,GAAG,CAAC,MAAM,CAAC,CACb,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,GAAG,IAAI,KAAK,CAAC,kCAAkC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9G,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,CAAC,IAAiB,EAAE,QAA4B,EAAE,EAAE;QAC5E,IAAI,CAAC,wBAAwB,IAAI,CAAC,cAAc,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzE,+DAA+D;YAC/D,iEAAiE;YACjE,8DAA8D;YAC9D,6DAA6D;YAC7D,mDAAmD;YACnD,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,8DAA8D;IAC9D,MAAM,wBAAwB,GAAG,GAAG,EAAE;QACpC,IAAI,CAAC,wBAAwB,IAAI,CAAC,cAAc,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACjF,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,EAAG,CAAC;YAChC,yBAAyB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC;IAEF,8DAA8D;IAC9D,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,OAAO,EAAE,mBAAmB,IAAI,IAAI;QACvD,CAAC,CAAC,cAAc,OAAO,CAAC,mBAAmB,WAAW,iBAAiB,CAAC,MAAM,GAAG;QACjF,CAAC,CAAC,WAAW,KAAK,WAAW,iBAAiB,CAAC,MAAM,GAAG,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,8CAA8C,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,WAAW,GAAG,YAAY,EAAE,CAAC,CAAC;IAE7H,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,oEAAoE;IACpE,oEAAoE;IACpE,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,CAAC;QACL,sEAAsE;QACtE,qEAAqE;QACrE,oEAAoE;QACpE,mEAAmE;QACnE,iEAAiE;QACjE,mDAAmD;QACnD,IAAI,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC5B,aAAa,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAC5B,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;QACtB,aAAa,CAAC,SAAS,GAAG,CAAC,CAAe,EAAE,EAAE;YAC5C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;YACpB,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACrC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBACxD,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAA+C,CAAC;gBACjE,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACxB,WAAW,GAAG;wBACZ,SAAS,EAAE,GAAG,CAAC,SAAmB;wBAClC,mBAAmB,EAAG,GAAG,CAAC,mBAA0C,IAAI,SAAS;wBACjF,SAAS,EAAE,GAAG,CAAC,SAAyB;wBACxC,UAAU,EAAE,GAAG,CAAC,UAAqB;wBACrC,gBAAgB,EAAG,GAAG,CAAC,gBAA8C,IAAI,IAAI;qBAC9E,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,EAAE,gBAAgB,WAAW,CAAC,SAAS,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAClN,sBAAsB,EAAE,CAAC;oBACzB,IAAI,EAAE,CAAC;gBACT,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAmB,CAAC;oBACxC,oEAAoE;oBACpE,2DAA2D;oBAC3D,MAAM,WAAW,GAAI,GAAG,CAAC,QAAoC,IAAI,IAAI,CAAC;oBACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAChD,aAAa,EAAE,CAAC;oBAChB,mBAAmB,IAAI,QAAQ,CAAC;oBAChC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;wBACrB,YAAY,GAAG,OAAO,EAAE,CAAC;wBACzB,OAAO,CAAC,GAAG,CAAC,+BAA+B,YAAY,OAAO,QAAQ,mBAAmB,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;oBAC1H,CAAC;oBACD,IAAI,aAAa,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,GAAG,IAAI,EAAE,CAAC;wBAChD,OAAO,CAAC,GAAG,CAAC,mBAAmB,aAAa,MAAM,OAAO,EAAE,QAAQ,QAAQ,gBAAgB,mBAAmB,GAAG,CAAC,CAAC;oBACrH,CAAC;oBACD,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC1C,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjC,kEAAkE;oBAClE,+DAA+D;oBAC/D,iEAAiE;oBACjE,6DAA6D;oBAC7D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAuB,CAAC;oBAC7C,MAAM,WAAW,GAAG,GAAG,CAAC,WAAyB,CAAC;oBAClD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAuB,CAAC;oBAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,UAAyB,CAAC;oBACjD,MAAM,UAAU,GAAG,GAAG,CAAC,UAAyB,CAAC;oBACjD,MAAM,kBAAkB,GAAI,GAAG,CAAC,kBAA8C,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;oBACrG,MAAM,mBAAmB,GAAI,GAAG,CAAC,mBAA+C,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;oBACvG,MAAM,cAAc,GAAI,GAAG,CAAC,cAAyC,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC3F,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,EAAE,OAAO,QAAQ,CAAC,MAAM,YAAY,QAAQ,CAAC,MAAM,0BAA0B,YAAY,CAAC,MAAM,gBAAgB,CAAC,CAAC;oBAE1J,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBACxB,8DAA8D;wBAC9D,+DAA+D;wBAC/D,6DAA6D;wBAC7D,IAAI,CAAC;4BACH,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;4BAC9B,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;4BACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;4BAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;4BACnC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;4BACnC,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC;4BACxC,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE,CAAC;4BAC5C,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;4BACvC,CAAC,CAAC,WAAW,CACX;gCACE,IAAI,EAAE,YAAqB;gCAC3B,QAAQ,EAAE,IAAI;gCACd,WAAW,EAAE,OAAO;gCACpB,QAAQ,EAAE,KAAK;gCACf,UAAU,EAAE,OAAO;gCACnB,UAAU,EAAE,OAAO;gCACnB,kBAAkB,EAAE,IAAI;gCACxB,mBAAmB,EAAE,OAAO;gCAC5B,cAAc,EAAE,OAAO;6BACxB,EACD;gCACE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM;gCACzE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM;6BAC5C,CACF,CAAC;wBACJ,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC;oBAED,cAAc,GAAG,IAAI,CAAC;oBACtB,6DAA6D;oBAC7D,0DAA0D;oBAC1D,sCAAsC;oBACtC,wBAAwB,EAAE,CAAC;gBAC7B,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACvC,6DAA6D;oBAC7D,2DAA2D;oBAC3D,0DAA0D;oBAC1D,+DAA+D;oBAC/D,MAAM,GAAG,GAAG,GAAG,CAAC,GAAkB,CAAC;oBACnC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAqB,CAAC;oBACzC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAsB,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,EAAE,OAAO,GAAG,CAAC,MAAM,WAAW,CAAC,CAAC;oBAE9E,IAAI,OAAO,iBAAiB,KAAK,WAAW,EAAE,CAAC;wBAC7C,4DAA4D;wBAC5D,0CAA0C;wBAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC;wBAChC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;wBACtC,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;wBACxC,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;wBAC/C,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;wBACrD,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC;wBACvD,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACjC,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACvC,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBACzC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;4BACxB,IAAI,CAAC;gCACH,CAAC,CAAC,WAAW,CAAC;oCACZ,IAAI,EAAE,kBAA2B;oCACjC,GAAG,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC;oCAC5B,MAAM,EAAE,IAAI,WAAW,CAAC,SAAS,CAAC;oCAClC,OAAO,EAAE,IAAI,WAAW,CAAC,UAAU,CAAC;iCACrC,CAAC,CAAC;4BACL,CAAC;4BAAC,OAAO,GAAG,EAAE,CAAC;gCACb,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAC;4BAClE,CAAC;wBACH,CAAC;wBACD,8DAA8D;wBAC9D,iEAAiE;wBACjE,8DAA8D;wBAC9D,2BAA2B;wBAC3B,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;4BAC3B,IAAI,CAAC;gCACH,OAAO,CAAC,aAAa,CACnB,IAAI,WAAW,CAAC,MAAM,CAAC,EACvB,IAAI,WAAW,CAAC,SAAS,CAAC,EAC1B,IAAI,WAAW,CAAC,UAAU,CAAC,CAC5B,CAAC;4BACJ,CAAC;4BAAC,OAAO,GAAG,EAAE,CAAC;gCACb,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;4BAC/D,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,2DAA2D;wBAC3D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;4BACxB,IAAI,CAAC;gCACH,CAAC,CAAC,WAAW,CAAC;oCACZ,IAAI,EAAE,kBAA2B;oCACjC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE;oCAChB,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE;oCACtB,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE;iCACzB,CAAC,CAAC;4BACL,CAAC;4BAAC,OAAO,GAAG,EAAE,CAAC;gCACb,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAC;4BAClE,CAAC;wBACH,CAAC;wBACD,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;4BAC3B,IAAI,CAAC;gCACH,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;4BACtE,CAAC;4BAAC,OAAO,GAAG,EAAE,CAAC;gCACb,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;4BAC/D,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,mBAAmB,GAAG,IAAI,CAAC;oBAC3B,wBAAwB,EAAE,CAAC;gBAC7B,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACnC,gBAAgB,GAAG,GAAG,CAAC,SAAmB,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,+BAA+B,OAAO,EAAE,gBAAgB,gBAAgB,WAAW,aAAa,EAAE,CAAC,CAAC;oBAChH,2DAA2D;oBAC3D,0DAA0D;oBAC1D,0DAA0D;oBAC1D,sDAAsD;oBACtD,+CAA+C;oBAC/C,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBACzB,mBAAmB,GAAG,IAAI,CAAC;wBAC3B,iBAAiB,EAAE,CAAC;oBACtB,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,YAAY,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvC,WAAW,GAAG,IAAI,CAAC;gBACnB,aAAa,CAAC,SAAS,EAAE,CAAC;gBAC1B,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,sEAAsE;YACtE,4DAA4D;YAC5D,gEAAgE;QAClE,CAAC,CAAC;QACF,aAAa,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;YAC5B,YAAY,GAAG,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACjE,WAAW,GAAG,IAAI,CAAC;YACnB,aAAa,CAAC,SAAS,EAAE,CAAC;YAC1B,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;QAEF,oEAAoE;QACpE,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,+DAA+D;QAC/D,MAAM,iBAAiB,GAAG,GAAG,EAAE;YAC7B,WAAW,GAAG,IAAI,CAAC;YACnB,yDAAyD;YACzD,4DAA4D;YAC5D,2DAA2D;YAC3D,2DAA2D;YAC3D,0BAA0B;YAC1B,IAAI,wBAAwB,EAAE,CAAC;gBAC7B,aAAa,EAAE,CAAC;YAClB,CAAC;YACD,aAAa,CAAC,SAAS,EAAE,CAAC;YAC1B,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;QAEF,mCAAmC;QACnC,+CAA+C;QAC/C,wEAAwE;QACxE,yEAAyE;QACzE,mCAAmC;QACnC,qEAAqE;QACrE,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,MAAM,gBAAgB,GAAG,OAAO,EAAE,gBAAgB,IAAI,4BAA4B,EAAE,CAAC;QACrF,IAAI,gBAAgB,EAAE,aAAa,EAAE,MAAM,IAAI,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;YAClF,OAAO,CAAC,GAAG,CAAC,wDAAwD,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,sBAAsB,gBAAgB,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC,CAAC;QACzL,CAAC;QACD,aAAa,CAAC,WAAW,CAAC;YACxB,IAAI,EAAE,mBAAmB;YACzB,YAAY;YACZ,SAAS,EAAE,MAAM;YACjB,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7F,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;QAEH,6EAA6E;QAC7E,uEAAuE;QACvE,qEAAqE;QACrE,0DAA0D;QAC1D,6EAA6E;QAC7E,uCAAuC;QACvC,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAEhC,OAAO,IAAI,EAAE,CAAC;YACZ,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,UAAU,CAAC,KAAK,EAAG,CAAC;YAC5B,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,IAAI,CAAC;wBAAC,CAAC,CAAC,SAAS,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;gBACjE,CAAC;gBACD,IAAI,CAAC;oBAAC,aAAa,CAAC,SAAS,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;gBAC3E,MAAM,WAAW,CAAC;YACpB,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,IAAI,CAAC;wBAAC,CAAC,CAAC,SAAS,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;gBACjE,CAAC;gBACD,MAAM,YAAY,CAAC;YACrB,CAAC;YAED,mEAAmE;YACnE,iEAAiE;YACjE,mEAAmE;YACnE,mEAAmE;YACnE,8BAA8B;YAC9B,IAAI,WAAW,IAAI,CAAC,wBAAwB,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;gBACvE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,IAAI,CAAC;wBAAC,CAAC,CAAC,SAAS,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;gBACjE,CAAC;gBACD,MAAM,cAAc,GAAG,WAAW,CAAC,sBAAsB,EAAE,CAAC;gBAC5D,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC;gBAC3D,OAAO;YACT,CAAC;YAED,IACE,WAAW;mBACR,wBAAwB;mBACxB,gBAAgB,IAAI,OAAO,CAAC,MAAM;mBAClC,UAAU,CAAC,MAAM,KAAK,CAAC,EAC1B,CAAC;gBACD,MAAM;YACR,CAAC;YAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,GAAG,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,cAAc,GAAG,WAAW,CAAC,sBAAsB,EAAE,CAAC;QAC5D,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;IACxD,CAAC;YAAS,CAAC;QACT,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC;gBAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC;YAAC,aAAa,CAAC,SAAS,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC"}
|
|
@@ -116,6 +116,16 @@ export interface GeometryWorkerSetMergeLayersMessage {
|
|
|
116
116
|
type: 'set-merge-layers';
|
|
117
117
|
enabled: boolean;
|
|
118
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Toggle the GPU-instancing partition for this worker (default on). Send AFTER `init`
|
|
121
|
+
* and BEFORE the first `stream-start`, mirroring `set-merge-layers`. The host disables
|
|
122
|
+
* it for federated loads so a federated model's geometry stays on the flat path
|
|
123
|
+
* (instancing is primary-model only).
|
|
124
|
+
*/
|
|
125
|
+
export interface GeometryWorkerSetInstancingMessage {
|
|
126
|
+
type: 'set-instancing-enabled';
|
|
127
|
+
enabled: boolean;
|
|
128
|
+
}
|
|
119
129
|
/**
|
|
120
130
|
* Forward the model-diff "compute geometry hashes" toggle (issue #924) down
|
|
121
131
|
* to this worker's IfcAPI. Send AFTER `init` and BEFORE the first
|
|
@@ -138,7 +148,7 @@ export interface GeometryWorkerSetTessellationQualityMessage {
|
|
|
138
148
|
type: 'set-tessellation-quality';
|
|
139
149
|
level: TessellationQuality | null;
|
|
140
150
|
}
|
|
141
|
-
export type GeometryWorkerRequest = GeometryWorkerInitMessage | GeometryWorkerStreamStartMessage | GeometryWorkerStreamChunkMessage | GeometryWorkerStreamEndMessage | GeometryWorkerSetStylesMessage | GeometryWorkerSetEntityIndexMessage | GeometryWorkerSetMergeLayersMessage | GeometryWorkerSetComputeGeometryHashesMessage | GeometryWorkerSetTessellationQualityMessage | GeometryWorkerPrePassMessage;
|
|
151
|
+
export type GeometryWorkerRequest = GeometryWorkerInitMessage | GeometryWorkerStreamStartMessage | GeometryWorkerStreamChunkMessage | GeometryWorkerStreamEndMessage | GeometryWorkerSetStylesMessage | GeometryWorkerSetEntityIndexMessage | GeometryWorkerSetMergeLayersMessage | GeometryWorkerSetInstancingMessage | GeometryWorkerSetComputeGeometryHashesMessage | GeometryWorkerSetTessellationQualityMessage | GeometryWorkerPrePassMessage;
|
|
142
152
|
export interface GeometryWorkerBatchMessage {
|
|
143
153
|
type: 'batch';
|
|
144
154
|
meshes: {
|
|
@@ -156,6 +166,19 @@ export interface GeometryWorkerBatchMessage {
|
|
|
156
166
|
* A `bigint` survives the structured-clone `postMessage`. */
|
|
157
167
|
geometryHash?: bigint;
|
|
158
168
|
}[];
|
|
169
|
+
/** GPU-instancing: per-batch IFNS shards (transferable ArrayBuffers). The
|
|
170
|
+
* renderer decodes + GPU-instances them. Opaque repeated occurrences render
|
|
171
|
+
* ONLY via these (they were taken off the flat `meshes` array). */
|
|
172
|
+
instancedShards?: ArrayBuffer[];
|
|
173
|
+
/** Occurrence count carried by `instancedShards` this batch — folded into the
|
|
174
|
+
* pool's running mesh total so it counts flat + instanced geometry. */
|
|
175
|
+
instancedOccurrences?: number;
|
|
176
|
+
/** Geometry-diff hashes (#924) for instanced-ONLY entities (no flat mesh
|
|
177
|
+
* carries them). Parallel arrays: express id → hash. Present only when
|
|
178
|
+
* geometry hashing is enabled AND a batch routed an entity's whole geometry
|
|
179
|
+
* to the instanced shard. Transferable. */
|
|
180
|
+
instancedGeometryHashIds?: Uint32Array;
|
|
181
|
+
instancedGeometryHashValues?: BigUint64Array;
|
|
159
182
|
}
|
|
160
183
|
export interface GeometryWorkerProgressMessage {
|
|
161
184
|
type: 'progress';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.worker.d.ts","sourceRoot":"","sources":["../src/geometry.worker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"geometry.worker.d.ts","sourceRoot":"","sources":["../src/geometry.worker.ts"],"names":[],"mappings":"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"}
|
package/dist/geometry.worker.js
CHANGED
|
@@ -51,6 +51,14 @@ async function ensureInit() {
|
|
|
51
51
|
*/
|
|
52
52
|
let mergeLayersFlag = false;
|
|
53
53
|
let mergeLayersApplied = false;
|
|
54
|
+
/**
|
|
55
|
+
* GPU-instancing partition toggle (default on). The host disables it for FEDERATED
|
|
56
|
+
* loads: the instanced render path + entity map are primary-model only (single global
|
|
57
|
+
* scene, primary id space), so a federated model must receive ALL its geometry as flat
|
|
58
|
+
* meshes. With this off, processBatch uses plain processGeometryBatch (no shards), so
|
|
59
|
+
* opaque repeated occurrences stay in the flat stream instead of being dropped.
|
|
60
|
+
*/
|
|
61
|
+
let instancingEnabled = true;
|
|
54
62
|
/**
|
|
55
63
|
* Push the cached `mergeLayersFlag` onto the IfcAPI. Idempotent — only
|
|
56
64
|
* fires once per API instance unless `markMergeLayersDirty` is called
|
|
@@ -169,19 +177,57 @@ function startSession(input) {
|
|
|
169
177
|
materialColors: input.materialColors,
|
|
170
178
|
pendingMeshes: [],
|
|
171
179
|
pendingTransfers: [],
|
|
180
|
+
pendingInstancedShards: [],
|
|
181
|
+
pendingInstancedOccurrences: 0,
|
|
182
|
+
pendingInstancedGeometryHashes: new Map(),
|
|
172
183
|
totalMeshesEmitted: 0,
|
|
173
184
|
cumulativeMeshBytes: 0,
|
|
174
185
|
};
|
|
175
186
|
}
|
|
176
187
|
function flushPending(session) {
|
|
177
|
-
|
|
188
|
+
const instancedShards = session.pendingInstancedShards;
|
|
189
|
+
session.pendingInstancedShards = [];
|
|
190
|
+
const instancedOccurrences = session.pendingInstancedOccurrences;
|
|
191
|
+
session.pendingInstancedOccurrences = 0;
|
|
192
|
+
// Drain the instanced-only geometry-hash side-channel into transferable arrays
|
|
193
|
+
// (#924 compare parity). Cleared every flush so it can't leak across batches.
|
|
194
|
+
const hashEntries = session.pendingInstancedGeometryHashes;
|
|
195
|
+
session.pendingInstancedGeometryHashes = new Map();
|
|
196
|
+
if (session.pendingMeshes.length === 0 &&
|
|
197
|
+
instancedShards.length === 0 &&
|
|
198
|
+
hashEntries.size === 0) {
|
|
178
199
|
return;
|
|
200
|
+
}
|
|
179
201
|
const meshes = session.pendingMeshes;
|
|
180
202
|
const transfers = session.pendingTransfers;
|
|
181
203
|
session.pendingMeshes = [];
|
|
182
204
|
session.pendingTransfers = [];
|
|
183
|
-
|
|
184
|
-
|
|
205
|
+
let instancedGeometryHashIds;
|
|
206
|
+
let instancedGeometryHashValues;
|
|
207
|
+
if (hashEntries.size > 0) {
|
|
208
|
+
instancedGeometryHashIds = new Uint32Array(hashEntries.size);
|
|
209
|
+
instancedGeometryHashValues = new BigUint64Array(hashEntries.size);
|
|
210
|
+
let k = 0;
|
|
211
|
+
for (const [id, hash] of hashEntries) {
|
|
212
|
+
instancedGeometryHashIds[k] = id;
|
|
213
|
+
instancedGeometryHashValues[k] = hash;
|
|
214
|
+
k += 1;
|
|
215
|
+
}
|
|
216
|
+
// Freshly allocated above, so `.buffer` is a real ArrayBuffer (TS widens it
|
|
217
|
+
// to ArrayBufferLike); safe to transfer.
|
|
218
|
+
transfers.push(instancedGeometryHashIds.buffer, instancedGeometryHashValues.buffer);
|
|
219
|
+
}
|
|
220
|
+
// Total counts both routes: flat meshes + instanced occurrences (the latter
|
|
221
|
+
// left the flat array but are still rendered geometry).
|
|
222
|
+
session.totalMeshesEmitted += meshes.length + instancedOccurrences;
|
|
223
|
+
self.postMessage({
|
|
224
|
+
type: 'batch',
|
|
225
|
+
meshes,
|
|
226
|
+
...(instancedShards.length > 0 ? { instancedShards } : {}),
|
|
227
|
+
...(instancedOccurrences > 0 ? { instancedOccurrences } : {}),
|
|
228
|
+
...(instancedGeometryHashIds ? { instancedGeometryHashIds } : {}),
|
|
229
|
+
...(instancedGeometryHashValues ? { instancedGeometryHashValues } : {}),
|
|
230
|
+
}, [...transfers, ...instancedShards]);
|
|
185
231
|
}
|
|
186
232
|
function collectMeshes(session, collection) {
|
|
187
233
|
try {
|
|
@@ -189,6 +235,11 @@ function collectMeshes(session, collection) {
|
|
|
189
235
|
// enabled via `set-compute-geometry-hashes`. Read inside the try so
|
|
190
236
|
// `collection.free()` in finally still runs if extraction throws.
|
|
191
237
|
const geometryHashes = extractGeometryHashesFromCollection(collection);
|
|
238
|
+
// Track which entities got a flat mesh; any hashed entity NOT seen here had
|
|
239
|
+
// all its meshes routed to the instanced shard, so its geometry-diff hash
|
|
240
|
+
// would otherwise be dropped (it rides on flat MeshData). Captured below
|
|
241
|
+
// and emitted via a side-channel so compare still sees instanced geometry.
|
|
242
|
+
const flatMeshedIds = new Set();
|
|
192
243
|
for (let i = 0; i < collection.length; i++) {
|
|
193
244
|
// #1097: takeMesh MOVES the mesh out (no clone) — each mesh is read once.
|
|
194
245
|
const mesh = collection.takeMesh(i);
|
|
@@ -250,12 +301,20 @@ function collectMeshes(session, collection) {
|
|
|
250
301
|
// unless geometry hashing was enabled).
|
|
251
302
|
if (geometryHash !== undefined)
|
|
252
303
|
meshData.geometryHash = geometryHash;
|
|
304
|
+
flatMeshedIds.add(mesh.expressId);
|
|
253
305
|
session.pendingMeshes.push(meshData);
|
|
254
306
|
}
|
|
255
307
|
finally {
|
|
256
308
|
mesh.free();
|
|
257
309
|
}
|
|
258
310
|
}
|
|
311
|
+
// Instanced-only entities: hashes present in the collection but with no flat
|
|
312
|
+
// mesh emitted this batch. Carry them so the compare fingerprint builder can
|
|
313
|
+
// still detect geometry changes on repeated opaque elements. (#1238 / #924)
|
|
314
|
+
for (const [id, hash] of geometryHashes) {
|
|
315
|
+
if (!flatMeshedIds.has(id))
|
|
316
|
+
session.pendingInstancedGeometryHashes.set(id, hash);
|
|
317
|
+
}
|
|
259
318
|
}
|
|
260
319
|
finally {
|
|
261
320
|
collection.free();
|
|
@@ -294,8 +353,50 @@ async function processBatch(session, jobs) {
|
|
|
294
353
|
return;
|
|
295
354
|
try {
|
|
296
355
|
const ifcApi = await ensureInit();
|
|
297
|
-
|
|
298
|
-
|
|
356
|
+
// Instanced-only path: produce geometry ONCE via processGeometryBatchPartitioned,
|
|
357
|
+
// which splits each batch into flat meshes (transparent + type-template +
|
|
358
|
+
// textured) and an IFNS instancing shard (opaque, untextured ordinary
|
|
359
|
+
// occurrences). This replaces the temporary emit-both stage (which meshed
|
|
360
|
+
// twice): the upload/memory/draw win is realised here because instanced
|
|
361
|
+
// occurrences are taken OFF the flat path entirely.
|
|
362
|
+
//
|
|
363
|
+
// Defensive fallback: if the loaded wasm predates the partitioned export,
|
|
364
|
+
// fall back to plain processGeometryBatch (flat-only, no instancing) so the
|
|
365
|
+
// viewer stays fully functional rather than throwing into binary-split recovery.
|
|
366
|
+
const partitionedFn = ifcApi.processGeometryBatchPartitioned;
|
|
367
|
+
if (typeof partitionedFn === 'function' && instancingEnabled) {
|
|
368
|
+
const partitioned = partitionedFn.call(ifcApi, session.localBytes, jobs, session.unitScale, session.rtcX, session.rtcY, session.rtcZ, session.needsShift, session.voidKeys, session.voidCounts, session.voidValues, session.styleIds, session.styleColors, session.planeAngleToRadians, session.materialElementIds, session.materialColorCounts, session.materialColors);
|
|
369
|
+
try {
|
|
370
|
+
// takeMeshes() MOVES the flat MeshCollection out (take-once); collectMeshes
|
|
371
|
+
// frees it. None only on a second take — we call it once.
|
|
372
|
+
const collection = partitioned.takeMeshes();
|
|
373
|
+
if (collection)
|
|
374
|
+
collectMeshes(session, collection);
|
|
375
|
+
const shard = partitioned.takeShard();
|
|
376
|
+
if (shard && shard.byteLength > 0) {
|
|
377
|
+
// wasm-bindgen Vec<u8> returns a fresh standalone Uint8Array (offset 0,
|
|
378
|
+
// exact length), so .buffer is safe to transfer. Guard defensively: if
|
|
379
|
+
// it is ever a view into a larger buffer, copy out the exact bytes
|
|
380
|
+
// instead of transferring (and detaching) the parent buffer.
|
|
381
|
+
const exact = shard.byteOffset === 0 && shard.byteLength === shard.buffer.byteLength
|
|
382
|
+
? shard.buffer
|
|
383
|
+
: shard.slice().buffer;
|
|
384
|
+
session.pendingInstancedShards.push(exact);
|
|
385
|
+
}
|
|
386
|
+
// Fold the instanced occurrence count into the streamed mesh total so the
|
|
387
|
+
// viewer's "N meshes" reflects ALL rendered geometry (flat + instanced),
|
|
388
|
+
// not just the flat MeshCollection (these occurrences left the flat path).
|
|
389
|
+
session.pendingInstancedOccurrences += partitioned.instancedOccurrences ?? 0;
|
|
390
|
+
}
|
|
391
|
+
finally {
|
|
392
|
+
// Free the now-empty PartitionedBatch wrapper (its contents were moved out).
|
|
393
|
+
partitioned.free?.();
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
else {
|
|
397
|
+
const collection = ifcApi.processGeometryBatch(session.localBytes, jobs, session.unitScale, session.rtcX, session.rtcY, session.rtcZ, session.needsShift, session.voidKeys, session.voidCounts, session.voidValues, session.styleIds, session.styleColors, session.planeAngleToRadians, session.materialElementIds, session.materialColorCounts, session.materialColors);
|
|
398
|
+
collectMeshes(session, collection);
|
|
399
|
+
}
|
|
299
400
|
}
|
|
300
401
|
catch (err) {
|
|
301
402
|
const msg = err.message;
|
|
@@ -512,6 +613,12 @@ async function handleMessage(e) {
|
|
|
512
613
|
applyMergeLayersToApi();
|
|
513
614
|
return;
|
|
514
615
|
}
|
|
616
|
+
if (e.data.type === 'set-instancing-enabled') {
|
|
617
|
+
// Default on; the host disables it for federated loads so their geometry stays
|
|
618
|
+
// on the flat path (processBatch falls back to plain processGeometryBatch).
|
|
619
|
+
instancingEnabled = e.data.enabled === true;
|
|
620
|
+
return;
|
|
621
|
+
}
|
|
515
622
|
if (e.data.type === 'set-compute-geometry-hashes') {
|
|
516
623
|
// Same cache-and-replay contract as set-merge-layers (issue #924).
|
|
517
624
|
const tol = e.data.tolerance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.worker.js","sourceRoot":"","sources":["../src/geometry.worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"geometry.worker.js","sourceRoot":"","sources":["../src/geometry.worker.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export { CoordinateHandler } from './coordinate-handler.js';
|
|
|
9
9
|
export { GeometryQuality } from './progressive-loader.js';
|
|
10
10
|
export { computeWorkerCount, pickWorkerCount, type WorkerCountInputs, type WorkerCountResult } from './worker-count.js';
|
|
11
11
|
export { getGeometryStreamWatchdogMs, type WatchdogInputs } from './watchdog.js';
|
|
12
|
+
export { decodeInstancedShard, type DecodedInstancedShard, type DecodedInstancedTemplate, type DecodedInstance, } from './packed-instanced-decoder.js';
|
|
12
13
|
export * from './types.js';
|
|
13
14
|
import { GeometryQuality } from './progressive-loader.js';
|
|
14
15
|
import { type GeometryStats as PlatformGeometryStats } from './platform-bridge.js';
|
|
@@ -29,6 +30,12 @@ export interface GeometryProcessorOptions {
|
|
|
29
30
|
* existing per-layer rendering behaviour. See issue #540.
|
|
30
31
|
*/
|
|
31
32
|
mergeLayers?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* GPU-instancing partition toggle (default true). Set false for FEDERATED loads:
|
|
35
|
+
* the renderer's instanced path is primary-model only, so a federated model must
|
|
36
|
+
* keep all geometry on the flat path or its opaque repeated occurrences are dropped.
|
|
37
|
+
*/
|
|
38
|
+
enableInstancing?: boolean;
|
|
32
39
|
/**
|
|
33
40
|
* Tessellation detail level for curved geometry (issue #976):
|
|
34
41
|
* `'lowest' | 'low' | 'medium' | 'high' | 'highest'`. Unset/`'medium'`
|
|
@@ -64,6 +71,16 @@ export type StreamingGeometryEvent = {
|
|
|
64
71
|
totalSoFar: number;
|
|
65
72
|
coordinateInfo?: import('./types.js').CoordinateInfo;
|
|
66
73
|
nativeTelemetry?: import('./platform-bridge.js').NativeBatchTelemetry;
|
|
74
|
+
/** Emit-both GPU-instancing: per-batch IFNS shards (transferable). The
|
|
75
|
+
* consumer decodes + uploads them as instanced overlays; present only
|
|
76
|
+
* once the wasm exposes processGeometryBatchInstanced. */
|
|
77
|
+
instancedShards?: ArrayBuffer[];
|
|
78
|
+
/** Geometry-diff hashes (#924) for instanced-ONLY entities — those whose
|
|
79
|
+
* whole geometry went to the shard, so no flat MeshData carries the hash.
|
|
80
|
+
* Parallel arrays (express id → hash) so compare still detects changes on
|
|
81
|
+
* repeated opaque elements. Present only when geometry hashing is on. */
|
|
82
|
+
instancedGeometryHashIds?: Uint32Array;
|
|
83
|
+
instancedGeometryHashValues?: BigUint64Array;
|
|
67
84
|
} | {
|
|
68
85
|
type: 'colorUpdate';
|
|
69
86
|
updates: Map<number, [number, number, number, number]>;
|
|
@@ -111,6 +128,7 @@ export declare class GeometryProcessor {
|
|
|
111
128
|
private isNative;
|
|
112
129
|
private lastNativeStats;
|
|
113
130
|
private mergeLayers;
|
|
131
|
+
private enableInstancing;
|
|
114
132
|
private tessellationQuality;
|
|
115
133
|
constructor(options?: GeometryProcessorOptions);
|
|
116
134
|
/**
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAGH,OAAO,EAAE,aAAa,EAAE,KAAK,gCAAgC,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAIrL,OAAO,EACL,oBAAoB,EACpB,OAAO,EACP,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,aAAa,IAAI,qBAAqB,EAC3C,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,GAClC,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxH,OAAO,EAAE,2BAA2B,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16,6 +16,11 @@ export { CoordinateHandler } from './coordinate-handler.js';
|
|
|
16
16
|
export { GeometryQuality } from './progressive-loader.js';
|
|
17
17
|
export { computeWorkerCount, pickWorkerCount } from './worker-count.js';
|
|
18
18
|
export { getGeometryStreamWatchdogMs } from './watchdog.js';
|
|
19
|
+
export {
|
|
20
|
+
// `isInstancedShard` / `INSTANCED_SHARD_MAGIC` / `INSTANCED_SHARD_VERSION`
|
|
21
|
+
// are intentionally NOT re-exported — they have no consumer outside the
|
|
22
|
+
// decoder module + its test, so they stay internal. (#1238 review)
|
|
23
|
+
decodeInstancedShard, } from './packed-instanced-decoder.js';
|
|
19
24
|
export * from './types.js';
|
|
20
25
|
import { IfcLiteBridge } from './ifc-lite-bridge.js';
|
|
21
26
|
import { BufferBuilder } from './buffer-builder.js';
|
|
@@ -55,12 +60,14 @@ export class GeometryProcessor {
|
|
|
55
60
|
isNative = false;
|
|
56
61
|
lastNativeStats = null;
|
|
57
62
|
mergeLayers;
|
|
63
|
+
enableInstancing;
|
|
58
64
|
tessellationQuality;
|
|
59
65
|
constructor(options = {}) {
|
|
60
66
|
this.bufferBuilder = new BufferBuilder();
|
|
61
67
|
this.coordinateHandler = new CoordinateHandler();
|
|
62
68
|
this.isNative = options.preferNative !== false && isTauri();
|
|
63
69
|
this.mergeLayers = options.mergeLayers === true;
|
|
70
|
+
this.enableInstancing = options.enableInstancing !== false;
|
|
64
71
|
this.tessellationQuality = options.tessellationQuality ?? null;
|
|
65
72
|
// Note: options accepted for API compatibility
|
|
66
73
|
void options.quality;
|
|
@@ -488,6 +495,8 @@ export class GeometryProcessor {
|
|
|
488
495
|
// at construction time. processParallel posts `set-merge-layers`
|
|
489
496
|
// to every spawned worker right after `init`.
|
|
490
497
|
mergeLayers: this.mergeLayers,
|
|
498
|
+
// Federated loads disable instancing (primary-only render path).
|
|
499
|
+
enableInstancing: this.enableInstancing,
|
|
491
500
|
// Issue #924: forward the geometry-hash tolerance the host enabled via
|
|
492
501
|
// `enableGeometryHashes()` so the worker pool fingerprints too.
|
|
493
502
|
geometryHashTolerance: this.bridge?.getComputeGeometryHashes() ?? null,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/** `"IFNS"` little-endian — must match `INSTANCED_MAGIC` in instancing.rs. */
|
|
2
|
+
export declare const INSTANCED_SHARD_MAGIC = 1229344339;
|
|
3
|
+
/** Must match `INSTANCED_VERSION` in instancing.rs. */
|
|
4
|
+
export declare const INSTANCED_SHARD_VERSION = 1;
|
|
5
|
+
/** A unique geometry decoded from an instanced shard (uploaded once). */
|
|
6
|
+
export interface DecodedInstancedTemplate {
|
|
7
|
+
positions: Float32Array;
|
|
8
|
+
normals: Float32Array;
|
|
9
|
+
indices: Uint32Array;
|
|
10
|
+
/** Per-template local origin (f64); world vertex = transform · (origin + position). */
|
|
11
|
+
origin: [number, number, number];
|
|
12
|
+
}
|
|
13
|
+
/** One occurrence of a decoded template. */
|
|
14
|
+
export interface DecodedInstance {
|
|
15
|
+
templateIndex: number;
|
|
16
|
+
entityId: number;
|
|
17
|
+
/** RGBA in 0–1. */
|
|
18
|
+
color: [number, number, number, number];
|
|
19
|
+
/** Row-major mat4 mapping the template's world geometry onto this occurrence. */
|
|
20
|
+
transform: Float32Array;
|
|
21
|
+
}
|
|
22
|
+
/** A decoded instanced shard. */
|
|
23
|
+
export interface DecodedInstancedShard {
|
|
24
|
+
templates: DecodedInstancedTemplate[];
|
|
25
|
+
instances: DecodedInstance[];
|
|
26
|
+
}
|
|
27
|
+
/** Whether a payload's leading magic marks it as an instanced ("IFNS") shard. */
|
|
28
|
+
export declare function isInstancedShard(payload: unknown): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Decode an instanced ("IFNS") geometry shard. Throws on bad magic/version or a
|
|
31
|
+
* truncated buffer.
|
|
32
|
+
*/
|
|
33
|
+
export declare function decodeInstancedShard(payload: unknown): DecodedInstancedShard;
|
|
34
|
+
//# sourceMappingURL=packed-instanced-decoder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packed-instanced-decoder.d.ts","sourceRoot":"","sources":["../src/packed-instanced-decoder.ts"],"names":[],"mappings":"AA4BA,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,aAAc,CAAC;AACjD,uDAAuD;AACvD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAMzC,yEAAyE;AACzE,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,uFAAuF;IACvF,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,iFAAiF;IACjF,SAAS,EAAE,YAAY,CAAC;CACzB;AAED,iCAAiC;AACjC,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,wBAAwB,EAAE,CAAC;IACtC,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAQ1D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,qBAAqB,CA2F5E"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
/**
|
|
5
|
+
* Binary format parsing for INSTANCED geometry shards ("IFNS").
|
|
6
|
+
*
|
|
7
|
+
* Mirrors the Rust encoder in `rust/geometry/src/instancing.rs`
|
|
8
|
+
* (`encode_instanced` / `decode_instanced`). Carries each UNIQUE template
|
|
9
|
+
* geometry once + a per-occurrence instance row (transform + entity id + colour),
|
|
10
|
+
* so the renderer can upload a template once and `drawIndexed(.., instanceCount)`.
|
|
11
|
+
*
|
|
12
|
+
* Layout (little-endian):
|
|
13
|
+
* Header (8 × uint32): magic, version, templateCount, instanceCount,
|
|
14
|
+
* positionsLen, normalsLen, indicesLen, reserved
|
|
15
|
+
* Template table (templateCount × 48 bytes): posOff, posLen, nrmOff, nrmLen,
|
|
16
|
+
* idxOff, idxLen (6 × uint32) then originX, originY,
|
|
17
|
+
* originZ (3 × float64)
|
|
18
|
+
* Instance table (instanceCount × 88 bytes): templateIndex (uint32),
|
|
19
|
+
* entityId (uint32), colour (4 × float32),
|
|
20
|
+
* transform (16 × float32, row-major)
|
|
21
|
+
* Data: positions (Float32 × positionsLen), normals (Float32 × normalsLen),
|
|
22
|
+
* indices (Uint32 × indicesLen). Offsets/lengths are ELEMENT counts;
|
|
23
|
+
* indices stay local to each template's vertex range (0-based).
|
|
24
|
+
*/
|
|
25
|
+
import { toArrayBuffer } from './packed-geometry-decoder.js';
|
|
26
|
+
/** `"IFNS"` little-endian — must match `INSTANCED_MAGIC` in instancing.rs. */
|
|
27
|
+
export const INSTANCED_SHARD_MAGIC = 0x4946_4e53;
|
|
28
|
+
/** Must match `INSTANCED_VERSION` in instancing.rs. */
|
|
29
|
+
export const INSTANCED_SHARD_VERSION = 1;
|
|
30
|
+
const HEADER_WORDS = 8;
|
|
31
|
+
const TEMPLATE_RECORD_BYTES = 48;
|
|
32
|
+
const INSTANCE_RECORD_BYTES = 88;
|
|
33
|
+
/** Whether a payload's leading magic marks it as an instanced ("IFNS") shard. */
|
|
34
|
+
export function isInstancedShard(payload) {
|
|
35
|
+
try {
|
|
36
|
+
const buffer = toArrayBuffer(payload);
|
|
37
|
+
if (buffer.byteLength < 4)
|
|
38
|
+
return false;
|
|
39
|
+
return new Uint32Array(buffer, 0, 1)[0] === INSTANCED_SHARD_MAGIC;
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Decode an instanced ("IFNS") geometry shard. Throws on bad magic/version or a
|
|
47
|
+
* truncated buffer.
|
|
48
|
+
*/
|
|
49
|
+
export function decodeInstancedShard(payload) {
|
|
50
|
+
const buffer = toArrayBuffer(payload);
|
|
51
|
+
if (buffer.byteLength < HEADER_WORDS * 4) {
|
|
52
|
+
throw new Error('Instanced shard too small for header');
|
|
53
|
+
}
|
|
54
|
+
const header = new Uint32Array(buffer, 0, HEADER_WORDS);
|
|
55
|
+
const [magic, version, templateCount, instanceCount, positionsLen, normalsLen, indicesLen] = header;
|
|
56
|
+
if (magic !== INSTANCED_SHARD_MAGIC) {
|
|
57
|
+
throw new Error('Invalid instanced shard magic');
|
|
58
|
+
}
|
|
59
|
+
if (version !== INSTANCED_SHARD_VERSION) {
|
|
60
|
+
throw new Error(`Unsupported instanced shard version: ${version}`);
|
|
61
|
+
}
|
|
62
|
+
const templateTableOffset = HEADER_WORDS * 4;
|
|
63
|
+
const instanceTableOffset = templateTableOffset + templateCount * TEMPLATE_RECORD_BYTES;
|
|
64
|
+
const dataOffset = instanceTableOffset + instanceCount * INSTANCE_RECORD_BYTES;
|
|
65
|
+
const positionsByteOffset = dataOffset;
|
|
66
|
+
const normalsByteOffset = positionsByteOffset + positionsLen * 4;
|
|
67
|
+
const indicesByteOffset = normalsByteOffset + normalsLen * 4;
|
|
68
|
+
const expectedBytes = indicesByteOffset + indicesLen * 4;
|
|
69
|
+
if (buffer.byteLength < expectedBytes) {
|
|
70
|
+
throw new Error(`Instanced shard truncated: have ${buffer.byteLength}, need ${expectedBytes}`);
|
|
71
|
+
}
|
|
72
|
+
// Pooled data arrays (views into the shard buffer; sub-viewed per template).
|
|
73
|
+
const positions = new Float32Array(buffer, positionsByteOffset, positionsLen);
|
|
74
|
+
const normals = new Float32Array(buffer, normalsByteOffset, normalsLen);
|
|
75
|
+
const indices = new Uint32Array(buffer, indicesByteOffset, indicesLen);
|
|
76
|
+
const view = new DataView(buffer);
|
|
77
|
+
const templates = [];
|
|
78
|
+
for (let t = 0; t < templateCount; t += 1) {
|
|
79
|
+
const base = templateTableOffset + t * TEMPLATE_RECORD_BYTES;
|
|
80
|
+
const posOff = view.getUint32(base, true);
|
|
81
|
+
const posLen = view.getUint32(base + 4, true);
|
|
82
|
+
const nrmOff = view.getUint32(base + 8, true);
|
|
83
|
+
const nrmLen = view.getUint32(base + 12, true);
|
|
84
|
+
const idxOff = view.getUint32(base + 16, true);
|
|
85
|
+
const idxLen = view.getUint32(base + 20, true);
|
|
86
|
+
const origin = [
|
|
87
|
+
view.getFloat64(base + 24, true),
|
|
88
|
+
view.getFloat64(base + 32, true),
|
|
89
|
+
view.getFloat64(base + 40, true),
|
|
90
|
+
];
|
|
91
|
+
// Validate each template's pool ranges before subarray — a malformed/wrapped
|
|
92
|
+
// offset would otherwise silently clip (subarray saturates), yielding
|
|
93
|
+
// truncated geometry indistinguishable from a real occurrence.
|
|
94
|
+
if (posOff + posLen > positionsLen ||
|
|
95
|
+
nrmOff + nrmLen > normalsLen ||
|
|
96
|
+
idxOff + idxLen > indicesLen) {
|
|
97
|
+
throw new Error(`Instanced shard template ${t} pool offset out of bounds`);
|
|
98
|
+
}
|
|
99
|
+
templates.push({
|
|
100
|
+
positions: positions.subarray(posOff, posOff + posLen),
|
|
101
|
+
normals: normals.subarray(nrmOff, nrmOff + nrmLen),
|
|
102
|
+
indices: indices.subarray(idxOff, idxOff + idxLen),
|
|
103
|
+
origin,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
const instances = [];
|
|
107
|
+
for (let i = 0; i < instanceCount; i += 1) {
|
|
108
|
+
const base = instanceTableOffset + i * INSTANCE_RECORD_BYTES;
|
|
109
|
+
const templateIndex = view.getUint32(base, true);
|
|
110
|
+
if (templateIndex >= templates.length) {
|
|
111
|
+
throw new Error(`Instanced shard instance ${i} references missing template ${templateIndex} (have ${templates.length})`);
|
|
112
|
+
}
|
|
113
|
+
const entityId = view.getUint32(base + 4, true);
|
|
114
|
+
const color = [
|
|
115
|
+
view.getFloat32(base + 8, true),
|
|
116
|
+
view.getFloat32(base + 12, true),
|
|
117
|
+
view.getFloat32(base + 16, true),
|
|
118
|
+
view.getFloat32(base + 20, true),
|
|
119
|
+
];
|
|
120
|
+
const transform = new Float32Array(16);
|
|
121
|
+
for (let k = 0; k < 16; k += 1) {
|
|
122
|
+
transform[k] = view.getFloat32(base + 24 + k * 4, true);
|
|
123
|
+
}
|
|
124
|
+
instances.push({ templateIndex, entityId, color, transform });
|
|
125
|
+
}
|
|
126
|
+
return { templates, instances };
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=packed-instanced-decoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packed-instanced-decoder.js","sourceRoot":"","sources":["../src/packed-instanced-decoder.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -163,6 +163,15 @@ export interface GeometryResult {
|
|
|
163
163
|
totalTriangles: number;
|
|
164
164
|
totalVertices: number;
|
|
165
165
|
coordinateInfo: CoordinateInfo;
|
|
166
|
+
/**
|
|
167
|
+
* Geometry-diff hashes (#924) for instanced-ONLY entities — repeated opaque
|
|
168
|
+
* geometry whose whole mesh set went to the GPU-instanced shard, so it never
|
|
169
|
+
* appears in `meshes`. Keyed by express id → hash. Lets the compare feature
|
|
170
|
+
* detect geometry changes on instanced elements (it would otherwise silently
|
|
171
|
+
* miss them, a regression vs. the pre-instancing flat path). Absent when
|
|
172
|
+
* geometry hashing is off or no entity was fully instanced.
|
|
173
|
+
*/
|
|
174
|
+
instancedGeometryHashes?: Map<number, bigint>;
|
|
166
175
|
}
|
|
167
176
|
/**
|
|
168
177
|
* Representation identifier types for symbolic representations
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-count.d.ts","sourceRoot":"","sources":["../src/worker-count.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;CACrD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"worker-count.d.ts","sourceRoot":"","sources":["../src/worker-count.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;CACrD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,CAqI/E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAEjE"}
|
package/dist/worker-count.js
CHANGED
|
@@ -30,7 +30,30 @@ export function computeWorkerCount(inputs) {
|
|
|
30
30
|
// Cores-based ceiling (preserves the previous tier behaviour, but expressed
|
|
31
31
|
// as upper bounds rather than exact picks).
|
|
32
32
|
let coresCap;
|
|
33
|
-
|
|
33
|
+
// Small files load in a few seconds (not a sustained grind) and cost trivial
|
|
34
|
+
// memory, so neither the thermal nor the bandwidth/RAM concerns the per-core
|
|
35
|
+
// caps below guard against bind. A small but geometry-heavy model is
|
|
36
|
+
// COMPUTE-bound (boolean-clipped steel — 170_KM is 20 MB / ~5000 booleans —
|
|
37
|
+
// or dense breps), which scales with cores; the 3–4-worker cap left most of
|
|
38
|
+
// an active-cooled (10+ core) machine idle. The measured bandwidth ceiling
|
|
39
|
+
// was a >512 MB georef result (#1159) — the opposite regime. Give small files
|
|
40
|
+
// near-full parallelism; the memoryCap below still gates if RAM is tight, and
|
|
41
|
+
// `?geomWorkers=N` still overrides per-host.
|
|
42
|
+
//
|
|
43
|
+
// Lower bound (MIN_PARALLEL_MB): the caller spawns workers from a file-size
|
|
44
|
+
// PROXY (`fileSizeMB × 100`) before the pre-pass reports real job counts, so
|
|
45
|
+
// the totalJobs ceiling below can't yet protect a *light* small model. Gating
|
|
46
|
+
// the bump to ≥8 MB keeps tiny/simple models (which load in a couple seconds
|
|
47
|
+
// on a few workers) off the fast path — so we don't pay extra WASM-init/heap
|
|
48
|
+
// for idle workers on a model with little parallel work — while the 8–64 MB
|
|
49
|
+
// band, where there's enough geometry to amortize the workers, still scales.
|
|
50
|
+
// (#1258 review P2.)
|
|
51
|
+
const SMALL_FILE_MB = 64;
|
|
52
|
+
const MIN_PARALLEL_MB = 8;
|
|
53
|
+
if (fileSizeMB >= MIN_PARALLEL_MB && fileSizeMB <= SMALL_FILE_MB && cores >= 10) {
|
|
54
|
+
coresCap = Math.min(maxWorkers, cores - 2);
|
|
55
|
+
}
|
|
56
|
+
else if (cores >= 16 && deviceMemoryGB >= 16) {
|
|
34
57
|
coresCap = Math.min(maxWorkers, Math.floor(cores / 2));
|
|
35
58
|
}
|
|
36
59
|
else if (cores >= 12 && deviceMemoryGB >= 8) {
|
package/dist/worker-count.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-count.js","sourceRoot":"","sources":["../src/worker-count.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAuD/D;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAyB;IAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,8DAA8D;IAC9D,yEAAyE;IACzE,qEAAqE;IACrE,kEAAkE;IAClE,mEAAmE;IACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC;QAChC,CAAC,CAAC,gBAAgB,CAAC;IACrB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC;IAE5E,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,4DAA4D;QAC5D,8DAA8D;QAC9D,+DAA+D;QAC/D,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACtC,CAAC;IAED,4EAA4E;IAC5E,4CAA4C;IAC5C,IAAI,QAAgB,CAAC;IACrB,IAAI,KAAK,IAAI,EAAE,IAAI,cAAc,IAAI,EAAE,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"worker-count.js","sourceRoot":"","sources":["../src/worker-count.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/geometry",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.2",
|
|
4
4
|
"description": "Geometry processing bridge for IFC-Lite - 1.9x faster than web-ifc",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@ifc-lite/data": "^2.2.0",
|
|
17
|
-
"@ifc-lite/wasm": "^2.11.
|
|
17
|
+
"@ifc-lite/wasm": "^2.11.1"
|
|
18
18
|
},
|
|
19
19
|
"optionalDependencies": {
|
|
20
20
|
"@tauri-apps/api": "^2.11.0"
|