@bldrs-ai/conway 1.425.1281 → 1.427.1287

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.
Files changed (29) hide show
  1. package/compiled/examples/browser-bundled.cjs +30 -1
  2. package/compiled/examples/cli-bundled.cjs +30 -1
  3. package/compiled/examples/cli-step-bundled.cjs +175 -21
  4. package/compiled/examples/validator-bundled.cjs +30 -1
  5. package/compiled/src/AP214E3_2010/ap214_geometry_extraction.d.ts +61 -0
  6. package/compiled/src/AP214E3_2010/ap214_geometry_extraction.d.ts.map +1 -1
  7. package/compiled/src/AP214E3_2010/ap214_geometry_extraction.js +173 -31
  8. package/compiled/src/AP214E3_2010/ap214_model_geometry.d.ts +6 -0
  9. package/compiled/src/AP214E3_2010/ap214_model_geometry.d.ts.map +1 -1
  10. package/compiled/src/AP214E3_2010/ap214_model_geometry.js +9 -0
  11. package/compiled/src/compat/web-ifc/ap214_streamed_open.test.d.ts +2 -0
  12. package/compiled/src/compat/web-ifc/ap214_streamed_open.test.d.ts.map +1 -0
  13. package/compiled/src/compat/web-ifc/ap214_streamed_open.test.js +150 -0
  14. package/compiled/src/compat/web-ifc/ifc_api_deferred_open.test.js +41 -0
  15. package/compiled/src/compat/web-ifc/ifc_api_model_passthrough_factory.d.ts.map +1 -1
  16. package/compiled/src/compat/web-ifc/ifc_api_model_passthrough_factory.js +19 -0
  17. package/compiled/src/compat/web-ifc/ifc_api_proxy_ap214.d.ts +102 -0
  18. package/compiled/src/compat/web-ifc/ifc_api_proxy_ap214.d.ts.map +1 -1
  19. package/compiled/src/compat/web-ifc/ifc_api_proxy_ap214.js +338 -0
  20. package/compiled/src/core/progress.d.ts +8 -1
  21. package/compiled/src/core/progress.d.ts.map +1 -1
  22. package/compiled/src/core/progress.js +22 -1
  23. package/compiled/src/core/progress.test.js +11 -2
  24. package/compiled/src/ifc/ifc_model_geometry.d.ts +12 -0
  25. package/compiled/src/ifc/ifc_model_geometry.d.ts.map +1 -1
  26. package/compiled/src/ifc/ifc_model_geometry.js +15 -0
  27. package/compiled/src/version/version.js +1 -1
  28. package/compiled/tsconfig.tsbuildinfo +1 -1
  29. package/package.json +1 -1
@@ -30,7 +30,7 @@ var import_node_process = require("node:process");
30
30
  var readline = __toESM(require("node:readline"), 1);
31
31
 
32
32
  // compiled/src/version/version.js
33
- var versionString = "Conway v1.425.1281";
33
+ var versionString = "Conway v1.427.1287";
34
34
 
35
35
  // compiled/dependencies/conway-geom/interface/conway_geometry.js
36
36
  var wasmType = "";
@@ -584,6 +584,20 @@ var environment_default = Environment;
584
584
 
585
585
  // compiled/src/core/progress.js
586
586
  function yieldToEventLoop() {
587
+ const scheduler = globalThis.scheduler;
588
+ if (typeof scheduler?.yield === "function") {
589
+ return scheduler.yield();
590
+ }
591
+ if (typeof MessageChannel === "function") {
592
+ return new Promise((resolve) => {
593
+ const channel = new MessageChannel();
594
+ channel.port1.onmessage = () => {
595
+ channel.port1.close();
596
+ resolve();
597
+ };
598
+ channel.port2.postMessage(null);
599
+ });
600
+ }
587
601
  return new Promise((resolve) => {
588
602
  setTimeout(resolve, 0);
589
603
  });
@@ -70412,9 +70426,24 @@ var IfcModelGeometry = class {
70412
70426
  /**
70413
70427
  * Add a mesh to the geometry cache.
70414
70428
  *
70429
+ * Freezes the native float vertex mirror at add time (one
70430
+ * GetVertexData call): consumers (the compat GetGeometry surface)
70431
+ * read float vertices whose frame must match the scene transforms,
70432
+ * which are authored against the geometry AS CREATED. Later native
70433
+ * mutations that keep the vertex count (normalize's centering)
70434
+ * deliberately do NOT refresh the mirror, so every extraction path —
70435
+ * whole-model walk, per-product demand pump, parse-time preview —
70436
+ * serves the same creation-frame floats. Without this, paths that
70437
+ * first read vertices only after a centering mutation serve
70438
+ * per-geometry-shifted vertices against unshifted transforms
70439
+ * (Share's demand-path "scatter").
70440
+ *
70415
70441
  * @param mesh
70416
70442
  */
70417
70443
  add(mesh) {
70444
+ if (mesh.type === CanonicalMeshType.BUFFER_GEOMETRY) {
70445
+ mesh.geometry.GetVertexData();
70446
+ }
70418
70447
  this.meshes_.set(mesh.localID, mesh);
70419
70448
  }
70420
70449
  /**
@@ -14965,7 +14965,7 @@ ${t5.join("\n")}` : "";
14965
14965
  var import_process = require("process");
14966
14966
 
14967
14967
  // compiled/src/version/version.js
14968
- var versionString = "Conway v1.425.1281";
14968
+ var versionString = "Conway v1.427.1287";
14969
14969
 
14970
14970
  // compiled/dependencies/conway-geom/interface/conway_geometry.js
14971
14971
  function pThreadsAllowed() {
@@ -16310,6 +16310,20 @@ var Memory = class {
16310
16310
  // compiled/src/core/progress.js
16311
16311
  var DEFAULT_PROGRESS_INTERVAL_MS = 100;
16312
16312
  function yieldToEventLoop() {
16313
+ const scheduler = globalThis.scheduler;
16314
+ if (typeof scheduler?.yield === "function") {
16315
+ return scheduler.yield();
16316
+ }
16317
+ if (typeof MessageChannel === "function") {
16318
+ return new Promise((resolve) => {
16319
+ const channel = new MessageChannel();
16320
+ channel.port1.onmessage = () => {
16321
+ channel.port1.close();
16322
+ resolve();
16323
+ };
16324
+ channel.port2.postMessage(null);
16325
+ });
16326
+ }
16313
16327
  return new Promise((resolve) => {
16314
16328
  setTimeout(resolve, 0);
16315
16329
  });
@@ -86257,9 +86271,24 @@ var IfcModelGeometry = class {
86257
86271
  /**
86258
86272
  * Add a mesh to the geometry cache.
86259
86273
  *
86274
+ * Freezes the native float vertex mirror at add time (one
86275
+ * GetVertexData call): consumers (the compat GetGeometry surface)
86276
+ * read float vertices whose frame must match the scene transforms,
86277
+ * which are authored against the geometry AS CREATED. Later native
86278
+ * mutations that keep the vertex count (normalize's centering)
86279
+ * deliberately do NOT refresh the mirror, so every extraction path —
86280
+ * whole-model walk, per-product demand pump, parse-time preview —
86281
+ * serves the same creation-frame floats. Without this, paths that
86282
+ * first read vertices only after a centering mutation serve
86283
+ * per-geometry-shifted vertices against unshifted transforms
86284
+ * (Share's demand-path "scatter").
86285
+ *
86260
86286
  * @param mesh
86261
86287
  */
86262
86288
  add(mesh) {
86289
+ if (mesh.type === CanonicalMeshType.BUFFER_GEOMETRY) {
86290
+ mesh.geometry.GetVertexData();
86291
+ }
86263
86292
  this.meshes_.set(mesh.localID, mesh);
86264
86293
  }
86265
86294
  /**
@@ -15943,7 +15943,7 @@ var ParsingBuffer = class {
15943
15943
  };
15944
15944
 
15945
15945
  // compiled/src/version/version.js
15946
- var versionString = "Conway v1.425.1281";
15946
+ var versionString = "Conway v1.427.1287";
15947
15947
 
15948
15948
  // compiled/dependencies/conway-geom/interface/conway_geometry.js
15949
15949
  function pThreadsAllowed() {
@@ -17287,6 +17287,20 @@ var Memory = class {
17287
17287
 
17288
17288
  // compiled/src/core/progress.js
17289
17289
  function yieldToEventLoop() {
17290
+ const scheduler = globalThis.scheduler;
17291
+ if (typeof scheduler?.yield === "function") {
17292
+ return scheduler.yield();
17293
+ }
17294
+ if (typeof MessageChannel === "function") {
17295
+ return new Promise((resolve) => {
17296
+ const channel = new MessageChannel();
17297
+ channel.port1.onmessage = () => {
17298
+ channel.port1.close();
17299
+ resolve();
17300
+ };
17301
+ channel.port2.postMessage(null);
17302
+ });
17303
+ }
17290
17304
  return new Promise((resolve) => {
17291
17305
  setTimeout(resolve, 0);
17292
17306
  });
@@ -79966,10 +79980,19 @@ var AP214ModelGeometry = class {
79966
79980
  /**
79967
79981
  * Add a mesh to this geometry collection.
79968
79982
  *
79983
+ * Freezes the native float vertex mirror at add time, exactly like
79984
+ * IfcModelGeometry.add (see its note): consumers read float vertices
79985
+ * whose frame must match the scene transforms, which are authored
79986
+ * against the geometry AS CREATED — later count-preserving native
79987
+ * mutations (normalize's centering) must not shift the served frame.
79988
+ *
79969
79989
  * @param mesh
79970
79990
  * @param parentLocalID
79971
79991
  */
79972
79992
  add(mesh, parentLocalID) {
79993
+ if (mesh.type === CanonicalMeshType.BUFFER_GEOMETRY) {
79994
+ mesh.geometry.GetVertexData();
79995
+ }
79973
79996
  this.meshes_.set(mesh.localID, mesh);
79974
79997
  if (parentLocalID !== void 0) {
79975
79998
  let children = this.children_.get(parentLocalID);
@@ -81432,6 +81455,7 @@ var AP214GeometryExtraction = class _AP214GeometryExtraction {
81432
81455
  this.csgDepth = 0;
81433
81456
  this.freeVectorPolygonalFaces_ = [];
81434
81457
  this.geometryTypeCounts = /* @__PURE__ */ new Map();
81458
+ this.demandCursor_ = 0;
81435
81459
  this.csgMemoization = !this.lowMemoryMode;
81436
81460
  this.materials = model.materials;
81437
81461
  this.scene = new AP214SceneBuilder(model, conwayModel, this.materials);
@@ -83980,13 +84004,27 @@ ${error.stack} - expressID: #${face_.expressID}`);
83980
84004
  * @return {[ExtractResult, AP214SceneBuilder]} - Enum indicating extraction result
83981
84005
  * + Geometry array
83982
84006
  */
83983
- extractAP214GeometryData(logTime = false) {
83984
- let result = ExtractResult.INCOMPLETE;
83985
- const startTime = Date.now();
83986
- const previousMemoizationState = this.model.elementMemoization;
84007
+ /**
84008
+ * Prepare per-unit demand extraction (STEP demand parity phase 2)
84009
+ * without executing any geometry work: builds the assembly tree and
84010
+ * thunks exactly like the whole-model walk, but the root executions
84011
+ * are captured as an ordered list of UNITS — a childless root is one
84012
+ * unit; a root with children is flattened one level (one unit per
84013
+ * immediate child, in order, then one for the root's own items), so
84014
+ * single-root assemblies still pump progressively per part. Executing
84015
+ * every unit in order then calling {@link finishDemandExtraction}
84016
+ * reproduces the whole-model walk exactly — the classic
84017
+ * {@link extractAP214GeometryData} runs through this same path.
84018
+ * Idempotent.
84019
+ */
84020
+ // eslint-disable-next-line max-lines-per-function
84021
+ prepareDemandExtraction() {
84022
+ if (this.demandUnits_ !== void 0) {
84023
+ return;
84024
+ }
83987
84025
  const model = this.model;
83988
84026
  const treeMap = /* @__PURE__ */ new Map();
83989
- const makeThunk = (representation2, owningElementLocalID, mappedTreeNode) => {
84027
+ const makeThunk = (representation2, owningElementLocalID, mappedTreeNode, slice) => {
83990
84028
  return (owningLocalID, parentTransform) => {
83991
84029
  owningLocalID ??= owningElementLocalID;
83992
84030
  const mappedItem = mappedTreeNode !== void 0 || parentTransform !== void 0;
@@ -83995,8 +84033,9 @@ ${error.stack} - expressID: #${face_.expressID}`);
83995
84033
  if (parentTransform !== void 0) {
83996
84034
  this.scene.addTransform(representation2.localID, parentTransform.getValues(), parentTransform, true);
83997
84035
  }
83998
- if (mappedTreeNode?.children !== void 0) {
83999
- for (const [childLocalID, childOwningLocalID, childTransform] of mappedTreeNode.children) {
84036
+ if (mappedTreeNode?.children !== void 0 && (slice === void 0 || slice.childStart !== slice.childEnd)) {
84037
+ const sliceChildren = slice !== void 0 ? mappedTreeNode.children.slice(slice.childStart, slice.childEnd) : mappedTreeNode.children;
84038
+ for (const [childLocalID, childOwningLocalID, childTransform] of sliceChildren) {
84000
84039
  const mappedChild = treeMap.get(childLocalID);
84001
84040
  const enterChildStackDepth = this.scene.stackLength;
84002
84041
  const enterChildParent = this.scene.currentParent;
@@ -84030,7 +84069,8 @@ ${error.stack} - expressID: #${face_.expressID}`);
84030
84069
  }
84031
84070
  }
84032
84071
  }
84033
- for (const item of representation2.items) {
84072
+ const includeItems = slice?.includeItems ?? true;
84073
+ for (const item of includeItems ? representation2.items : []) {
84034
84074
  try {
84035
84075
  if (item instanceof placement) {
84036
84076
  this.extractPlacement(item, mappedItem);
@@ -84069,9 +84109,11 @@ ${error.stack} - expressID: #${face_.expressID}`);
84069
84109
  }
84070
84110
  };
84071
84111
  };
84072
- try {
84112
+ const pendingRoots = [];
84113
+ {
84073
84114
  this.scene.clearParentStack();
84074
84115
  const MEMOIZATION_THRESHOLD = 256 * 1024 * 1024;
84116
+ this.demandMemoizationRestore_ = this.model.elementMemoization;
84075
84117
  if (this.lowMemoryMode || model.bufferBytesize > MEMOIZATION_THRESHOLD) {
84076
84118
  this.model.elementMemoization = false;
84077
84119
  }
@@ -84124,6 +84166,8 @@ ${error.stack} - expressID: #${face_.expressID}`);
84124
84166
  sourceNode = { parents: 1 };
84125
84167
  treeMap.set(sourceID, sourceNode);
84126
84168
  sourceNode.thunk = makeThunk(sourceShape, owningLocalID, sourceNode);
84169
+ sourceNode.rep = sourceShape;
84170
+ sourceNode.owningLocalID = owningLocalID;
84127
84171
  } else {
84128
84172
  sourceNode.parents ??= 0;
84129
84173
  ++sourceNode.parents;
@@ -84161,6 +84205,8 @@ ${error.stack} - expressID: #${face_.expressID}`);
84161
84205
  ++sourceNode.parents;
84162
84206
  }
84163
84207
  sourceNode.thunk = makeThunk(sourceShape, owningLocalID, sourceNode);
84208
+ sourceNode.rep = sourceShape;
84209
+ sourceNode.owningLocalID = owningLocalID;
84164
84210
  let targetNode = treeMap.get(targetID);
84165
84211
  if (targetNode === void 0) {
84166
84212
  targetNode = { parents: 0, children: [[sourceID, owningLocalID, transform]] };
@@ -84189,6 +84235,8 @@ ${error.stack} - expressID: #${face_.expressID}`);
84189
84235
  const mappedTreeNode = treeNode;
84190
84236
  const thunk = makeThunk(shapeRepresentation, owningElementLocalID, mappedTreeNode);
84191
84237
  mappedTreeNode.thunk = thunk;
84238
+ mappedTreeNode.rep = shapeRepresentation;
84239
+ mappedTreeNode.owningLocalID = owningElementLocalID;
84192
84240
  if (!hasMappedNode) {
84193
84241
  mappedTreeNode.processed = true;
84194
84242
  const sourceShapeContext = shapeRepresentation.context_of_items.findVariant(global_unit_assigned_context)?.units?.find((unit) => unit.findVariant(length_unit))?.findVariant(length_unit);
@@ -84197,7 +84245,10 @@ ${error.stack} - expressID: #${face_.expressID}`);
84197
84245
  const sourceUnitInM = this.convertToMetres(sourceShapeContext) ?? 1;
84198
84246
  scaleTransform = this.uniformScaleAffine(this.identity3DNativeMatrix, 1 / sourceUnitInM);
84199
84247
  }
84200
- thunk(void 0, scaleTransform);
84248
+ pendingRoots.push({
84249
+ node: mappedTreeNode,
84250
+ scaleTransform
84251
+ });
84201
84252
  continue;
84202
84253
  }
84203
84254
  }
@@ -84214,6 +84265,8 @@ ${error.stack} - expressID: #${face_.expressID}`);
84214
84265
  const mappedTreeNode = treeNode;
84215
84266
  const owningElementLocalID = shapeRepresentation.localID;
84216
84267
  mappedTreeNode.thunk = makeThunk(shapeRepresentation, owningElementLocalID, mappedTreeNode);
84268
+ mappedTreeNode.rep = shapeRepresentation;
84269
+ mappedTreeNode.owningLocalID = owningElementLocalID;
84217
84270
  }
84218
84271
  for (const [sourceID, mappedNode] of treeMap.entries()) {
84219
84272
  if ((mappedNode.parents ?? 0) === 0 && mappedNode.thunk !== void 0 && mappedNode.processed !== true) {
@@ -84224,22 +84277,123 @@ ${error.stack} - expressID: #${face_.expressID}`);
84224
84277
  const sourceUnitInM = this.convertToMetres(sourceShapeContext) ?? 1;
84225
84278
  scaleTransform = this.uniformScaleAffine(this.identity3DNativeMatrix, 1 / sourceUnitInM);
84226
84279
  }
84227
- mappedNode.thunk(void 0, scaleTransform);
84280
+ pendingRoots.push({ node: mappedNode, scaleTransform });
84228
84281
  }
84229
84282
  }
84230
- this.finalizeStagedFaces();
84231
- if (RegressionCaptureState.memoization !== MemoizationCapture.FULL) {
84232
- this.model.geometry.deleteTemporaries();
84283
+ const units = [];
84284
+ for (const root of pendingRoots) {
84285
+ const node = root.node;
84286
+ const scaleTransform = root.scaleTransform;
84287
+ const childCount = node.children?.length ?? 0;
84288
+ if (childCount === 0 || node.rep === void 0) {
84289
+ units.push(() => node.thunk(void 0, scaleTransform));
84290
+ continue;
84291
+ }
84292
+ for (let child = 0; child < childCount; ++child) {
84293
+ const sliced = makeThunk(node.rep, node.owningLocalID, node, { childStart: child, childEnd: child + 1, includeItems: false });
84294
+ units.push(() => sliced(void 0, scaleTransform));
84295
+ }
84296
+ const itemsOnly = makeThunk(node.rep, node.owningLocalID, node, { childStart: 0, childEnd: 0, includeItems: true });
84297
+ units.push(() => itemsOnly(void 0, scaleTransform));
84298
+ }
84299
+ this.demandUnits_ = units;
84300
+ }
84301
+ }
84302
+ /**
84303
+ * Total demand units (see prepareDemandExtraction).
84304
+ *
84305
+ * @return {number} The unit count (0 before preparation).
84306
+ */
84307
+ get demandUnitCount() {
84308
+ return this.demandUnits_?.length ?? 0;
84309
+ }
84310
+ /**
84311
+ * Units already executed by extractDemandUnitBatch.
84312
+ *
84313
+ * @return {number} The cursor.
84314
+ */
84315
+ get demandUnitCursor() {
84316
+ return this.demandCursor_;
84317
+ }
84318
+ /**
84319
+ * Execute the next `count` demand units (STEP demand parity phase 2)
84320
+ * — the per-unit pump behind the shim's ExtractGeometryBatch for
84321
+ * AP214 models. Staged face tessellation is finalized after every
84322
+ * batch so captured geometry is complete and readable.
84323
+ *
84324
+ * @param count Max units to execute this call (min 1).
84325
+ * @return {number} Units actually executed.
84326
+ */
84327
+ extractDemandUnitBatch(count) {
84328
+ const units = this.demandUnits_;
84329
+ if (units === void 0) {
84330
+ return 0;
84331
+ }
84332
+ const end = Math.min(this.demandCursor_ + Math.max(count, 1), units.length);
84333
+ let executed = 0;
84334
+ for (; this.demandCursor_ < end; ++this.demandCursor_) {
84335
+ try {
84336
+ units[this.demandCursor_]();
84337
+ ++executed;
84338
+ } catch (ex) {
84339
+ if (ex instanceof Error) {
84340
+ logger_default.error(`Error processing demand unit:
84341
+ ${ex.name}
84342
+ ${ex.message}`);
84343
+ } else {
84344
+ logger_default.error(`Unknown exception processing demand unit (${ex})`);
84345
+ }
84233
84346
  }
84234
- result = ExtractResult.COMPLETE;
84235
- if (this.pointBuffer?.pointer) {
84236
- this.wasmModule._free(this.pointBuffer.pointer);
84237
- this.pointBuffer = null;
84347
+ }
84348
+ this.finalizeStagedFaces();
84349
+ return executed;
84350
+ }
84351
+ /**
84352
+ * Complete a demand extraction after every unit has run: final staged
84353
+ * tessellation, temporaries cleanup, point-buffer release and
84354
+ * memoization restore — the tail the whole-model walk runs.
84355
+ *
84356
+ * @return {[ExtractResult, AP214SceneBuilder, AP214ProductShapeMap]}
84357
+ * The completed extraction result.
84358
+ */
84359
+ finishDemandExtraction() {
84360
+ this.finalizeStagedFaces();
84361
+ if (RegressionCaptureState.memoization !== MemoizationCapture.FULL) {
84362
+ this.model.geometry.deleteTemporaries();
84363
+ }
84364
+ if (this.pointBuffer?.pointer) {
84365
+ this.wasmModule._free(this.pointBuffer.pointer);
84366
+ this.pointBuffer = null;
84367
+ }
84368
+ if (this.demandMemoizationRestore_ !== void 0) {
84369
+ this.model.elementMemoization = this.demandMemoizationRestore_;
84370
+ this.demandMemoizationRestore_ = void 0;
84371
+ }
84372
+ return [ExtractResult.COMPLETE, this.scene, this.productShapeMap];
84373
+ }
84374
+ /**
84375
+ * Whole-model extraction: prepare + run every demand unit + finish —
84376
+ * a single code path with the per-unit pump, so pumped and classic
84377
+ * extractions are identical by construction.
84378
+ *
84379
+ * @param logTime Unused (kept for call compatibility).
84380
+ * @return {[ExtractResult, AP214SceneBuilder, AP214ProductShapeMap]}
84381
+ * The completed extraction result.
84382
+ */
84383
+ // eslint-disable-next-line no-unused-vars
84384
+ extractAP214GeometryData(logTime = false) {
84385
+ try {
84386
+ this.prepareDemandExtraction();
84387
+ while (this.demandCursor_ < this.demandUnitCount) {
84388
+ this.extractDemandUnitBatch(this.demandUnitCount);
84238
84389
  }
84239
- return [result, this.scene, this.productShapeMap];
84390
+ return this.finishDemandExtraction();
84240
84391
  } finally {
84241
84392
  this.finalizeStagedFaces();
84242
- this.model.elementMemoization = previousMemoizationState;
84393
+ if (this.demandMemoizationRestore_ !== void 0) {
84394
+ this.model.elementMemoization = this.demandMemoizationRestore_;
84395
+ this.demandMemoizationRestore_ = void 0;
84396
+ }
84243
84397
  }
84244
84398
  }
84245
84399
  /**
@@ -944,7 +944,7 @@ var EntityTypesIfcCount = 909;
944
944
  var entity_types_ifc_gen_default = EntityTypesIfc;
945
945
 
946
946
  // compiled/src/version/version.js
947
- var versionString = "Conway v1.425.1281";
947
+ var versionString = "Conway v1.427.1287";
948
948
 
949
949
  // compiled/dependencies/conway-geom/interface/conway_geometry.js
950
950
  var wasmType = "";
@@ -1498,6 +1498,20 @@ var environment_default = Environment;
1498
1498
 
1499
1499
  // compiled/src/core/progress.js
1500
1500
  function yieldToEventLoop() {
1501
+ const scheduler = globalThis.scheduler;
1502
+ if (typeof scheduler?.yield === "function") {
1503
+ return scheduler.yield();
1504
+ }
1505
+ if (typeof MessageChannel === "function") {
1506
+ return new Promise((resolve) => {
1507
+ const channel = new MessageChannel();
1508
+ channel.port1.onmessage = () => {
1509
+ channel.port1.close();
1510
+ resolve();
1511
+ };
1512
+ channel.port2.postMessage(null);
1513
+ });
1514
+ }
1501
1515
  return new Promise((resolve) => {
1502
1516
  setTimeout(resolve, 0);
1503
1517
  });
@@ -70410,9 +70424,24 @@ var IfcModelGeometry = class {
70410
70424
  /**
70411
70425
  * Add a mesh to the geometry cache.
70412
70426
  *
70427
+ * Freezes the native float vertex mirror at add time (one
70428
+ * GetVertexData call): consumers (the compat GetGeometry surface)
70429
+ * read float vertices whose frame must match the scene transforms,
70430
+ * which are authored against the geometry AS CREATED. Later native
70431
+ * mutations that keep the vertex count (normalize's centering)
70432
+ * deliberately do NOT refresh the mirror, so every extraction path —
70433
+ * whole-model walk, per-product demand pump, parse-time preview —
70434
+ * serves the same creation-frame floats. Without this, paths that
70435
+ * first read vertices only after a centering mutation serve
70436
+ * per-geometry-shifted vertices against unshifted transforms
70437
+ * (Share's demand-path "scatter").
70438
+ *
70413
70439
  * @param mesh
70414
70440
  */
70415
70441
  add(mesh) {
70442
+ if (mesh.type === CanonicalMeshType.BUFFER_GEOMETRY) {
70443
+ mesh.geometry.GetVertexData();
70444
+ }
70416
70445
  this.meshes_.set(mesh.localID, mesh);
70417
70446
  }
70418
70447
  /**
@@ -762,6 +762,67 @@ export declare class AP214GeometryExtraction {
762
762
  * @return {[ExtractResult, AP214SceneBuilder]} - Enum indicating extraction result
763
763
  * + Geometry array
764
764
  */
765
+ /**
766
+ * Prepare per-unit demand extraction (STEP demand parity phase 2)
767
+ * without executing any geometry work: builds the assembly tree and
768
+ * thunks exactly like the whole-model walk, but the root executions
769
+ * are captured as an ordered list of UNITS — a childless root is one
770
+ * unit; a root with children is flattened one level (one unit per
771
+ * immediate child, in order, then one for the root's own items), so
772
+ * single-root assemblies still pump progressively per part. Executing
773
+ * every unit in order then calling {@link finishDemandExtraction}
774
+ * reproduces the whole-model walk exactly — the classic
775
+ * {@link extractAP214GeometryData} runs through this same path.
776
+ * Idempotent.
777
+ */
778
+ prepareDemandExtraction(): void;
779
+ private demandUnits_?;
780
+ private demandCursor_;
781
+ private demandMemoizationRestore_?;
782
+ /**
783
+ * Total demand units (see prepareDemandExtraction).
784
+ *
785
+ * @return {number} The unit count (0 before preparation).
786
+ */
787
+ get demandUnitCount(): number;
788
+ /**
789
+ * Units already executed by extractDemandUnitBatch.
790
+ *
791
+ * @return {number} The cursor.
792
+ */
793
+ get demandUnitCursor(): number;
794
+ /**
795
+ * Execute the next `count` demand units (STEP demand parity phase 2)
796
+ * — the per-unit pump behind the shim's ExtractGeometryBatch for
797
+ * AP214 models. Staged face tessellation is finalized after every
798
+ * batch so captured geometry is complete and readable.
799
+ *
800
+ * @param count Max units to execute this call (min 1).
801
+ * @return {number} Units actually executed.
802
+ */
803
+ extractDemandUnitBatch(count: number): number;
804
+ /**
805
+ * Complete a demand extraction after every unit has run: final staged
806
+ * tessellation, temporaries cleanup, point-buffer release and
807
+ * memoization restore — the tail the whole-model walk runs.
808
+ *
809
+ * @return {[ExtractResult, AP214SceneBuilder, AP214ProductShapeMap]}
810
+ * The completed extraction result.
811
+ */
812
+ finishDemandExtraction(): [
813
+ ExtractResult,
814
+ AP214SceneBuilder,
815
+ AP214ProductShapeMap
816
+ ];
817
+ /**
818
+ * Whole-model extraction: prepare + run every demand unit + finish —
819
+ * a single code path with the per-unit pump, so pumped and classic
820
+ * extractions are identical by construction.
821
+ *
822
+ * @param logTime Unused (kept for call compatibility).
823
+ * @return {[ExtractResult, AP214SceneBuilder, AP214ProductShapeMap]}
824
+ * The completed extraction result.
825
+ */
765
826
  extractAP214GeometryData(logTime?: boolean): [
766
827
  ExtractResult,
767
828
  AP214SceneBuilder,
@@ -1 +1 @@
1
- {"version":3,"file":"ap214_geometry_extraction.d.ts","sourceRoot":"","sources":["../../../src/AP214E3_2010/ap214_geometry_extraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,sBAAsB,EAEtB,OAAO,EACP,WAAW,EAOX,wBAAwB,EAMxB,aAAa,EACb,SAAS,EACT,sBAAsB,EAEtB,cAAc,EACd,iBAAiB,EAOjB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EAItB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAqB,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EAEnB,8BAA8B,EAC9B,mBAAmB,EACnB,mBAAmB,EACnB,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACX,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,OAAO,EAEL,aAAa,EAEb,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAEhB,cAAc,EACd,eAAe,EACf,oCAAoC,EACpC,oCAAoC,EACpC,MAAM,EACN,UAAU,EACV,eAAe,EAEf,eAAe,EACf,kBAAkB,EAGlB,KAAK,EACL,mBAAmB,EACnB,SAAS,EAIT,OAAO,EACP,mBAAmB,EACnB,IAAI,EACJ,wBAAwB,EACxB,YAAY,EAMZ,gBAAgB,EAGhB,WAAW,EACX,IAAI,EACJ,mBAAmB,EACnB,WAAW,EAMX,MAAM,EACN,SAAS,EAAE,KAAK,EAEhB,QAAQ,EAMR,aAAa,EACb,uBAAuB,EAEvB,mBAAmB,EAInB,oBAAoB,EACpB,iCAAiC,EACjC,yBAAyB,EACzB,SAAS,EAET,iBAAiB,EACjB,WAAW,EACX,OAAO,EAEP,2BAA2B,EAC3B,qBAAqB,EAIrB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EAKd,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,gBAAgB,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,cAAc,MAAM,oBAAoB,CAAA;AAK/C;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,GAAE,MAAU,GAAG,SAAS,CAE3F;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,GAAE,MAAU,GAAG,SAAS,CAG9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAChC,IAAI,EAAE,UAAU,GAAG,aAAa,EAChC,YAAY,EAAE,SAAS,EAAE,KAAK,GAAE,MAAU,GAAG,SAAS,CAezD;AAED;;;GAGG;AACH,qBAAa,uBAAuB;IAyDhC,OAAO,CAAC,QAAQ,CAAC,WAAW;aACZ,KAAK,EAAE,cAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;IA3DhC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAY;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAY;IAE7C,OAAO,CAAC,UAAU,CAAY;IAE9B,SAAgB,KAAK,EAAE,iBAAiB,CAAA;IAExC,SAAgB,SAAS,EAAE,kBAAkB,CAAA;IAE7C,SAAgB,eAAe,EAAE,oBAAoB,CAAA;IAIrD,OAAO,CAAC,mBAAmB,CAAQ;IAEnC,OAAO,CAAC,cAAc,CAAa;IAEnC,OAAO,CAAC,0BAA0B,CAAgD;IAClF,OAAO,CAAC,0BAA0B,CAAgD;IAClF,OAAO,CAAC,gCAAgC,CACoB;IAE5D,OAAO,CAAC,sBAAsB,CAA2C;IAElE,WAAW,EAAE,qBAAqB,GAAG,IAAI,CAAO;IAEvD,OAAO,CAAC,sBAAsB,CAAoB;IAClD,OAAO,CAAC,sBAAsB,CAAoB;IAElD,OAAO,CAAC,cAAc,CAAgB;IAEtC,OAAO,CAAC,QAAQ,CAAY;IAE5B;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC,SAAgB,MAAM,EAAE,gBAAgB,CAAA;IAExC,SAAgB,aAAa,EAAE,cAAc,CAAA;IAE7C;;;;;;;;;OASG;gBAEgB,WAAW,EAAE,cAAc,EAC5B,KAAK,EAAE,cAAc,EACpB,aAAa,GAAE,OAAc,EAC7B,aAAa,GAAE,MAAW,EAC1B,aAAa,GAAE,OAAe;IAoCjD;;;;;;;;OAQG;IACH,mBAAmB,IAAI,IAAI;IAO3B;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IAWtB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;;OAIG;IACH,mBAAmB,IAAI,MAAM;IAa7B;;OAEG;IACH,qBAAqB;IAOrB;;OAEG;IACH,4BAA4B;IAY5B;;OAEG;IACH,sCAAsC;IAYtC;;OAEG;IACH,gCAAgC;IAUhC;;OAEG;IACH,gCAAgC;IAWhC;;;OAGG;IACH,sBAAsB,IAAI,MAAM;IAKhC;;;OAGG;IACH,aAAa,IAAI,UAAU;IAK3B;;;;OAIG;IACH,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC;IAcrE;;;;;OAKG;IACH,8BAA8B,IAAI,8BAA8B;IAQhE;;;;OAIG;IACH,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAY9D;;;;;OAKG;IACH,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAa9D,WAAW,IAAI,WAAW;IAK1B;;;;;OAKG;IACH,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC;IAa/D;;;;OAIG;IACH,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAa9D;;;OAGG;IACH,0BAA0B,IAAI,SAAS,CAAC,mBAAmB,CAAC;IAQ5D;;;;OAIG;IACH,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAc/D;;;;OAIG;IACH,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAa/D;;;;;OAKG;IACH,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB;IAWxD;;;;;OAKG;IACH,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAW1D,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAyC;IAEnF;;OAEG;IACH,uCAAuC,IAAI,IAAI;IAQ/C;;;;OAIG;IACH,oCAAoC,CAChC,gCAAgC,EAAE,gCAAgC,GAAG,IAAI;IAK7E;;;;;OAKG;IACH,gCAAgC,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,gCAAgC;IAwBxF;;;;;OAKG;IACH,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAY7D;;;;OAIG;IACH,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAa7D;;;;OAIG;IACH,aAAa,IAAI,OAAO;IAQxB;;;;OAIG;IACH,OAAO,CAAC,OAAO,GAAE,MAAU;IAO3B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;OAIG;IACH,OAAO,CAAC,8BAA8B;IAYtC;;;;;OAKG;IACH,OAAO,CAAC,+BAA+B;IAavC;;;OAGG;IACH,eAAe,CAAC,KAAK,EAAC,YAAY,GAAG,WAAW,GAAG,GAAG;IAatD;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAC,YAAY,GAAG,WAAW,GAAG,UAAU;IAe/D;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS;IAapE;;;;;OAKG;IACH,mCAAmC,CAAC,IAAI,EAAE,oCAAoC;IAkC9E;;;;OAIG;IACH,oBAAoB,CAAE,OAAO,EAAE,MAAM;IAOrC;;;;OAIG;IACH,oBAAoB,CAAE,IAAI,EAAE,cAAc;IAkG1C;;;;;OAKG;IACH,qBAAqB,CAAE,IAAI,EACzB,mBAAmB,GACnB,cAAc,GACd,gBAAgB,GAChB,YAAY;IA+Gd;;;;OAIG;IACH,mBAAmB,CAAC,IAAI,EAAE,mBAAmB;IAiG7C;;;;OAIG;IACH,iBAAiB,CACb,IAAI,EAAE,WAAW,EACjB,kBAAkB,CAAC,EAAE,mBAAmB,GAAI,MAAM,GAAG,SAAS;IAiClE,+BAA+B,CAC3B,IAAI,EAAE,WAAW,EACjB,oBAAoB,CAAC,EAAE,MAAM,GAAI,IAAI;IAoCzC;;;OAGG;IACH,qBAAqB,CACjB,IAAI,EAAE,gBAAgB,EACtB,SAAS,GAAE,OAAe;IAkC9B;;;;OAIG;IAeH;;;OAGG;IACH,wBAAwB,CACpB,IAAI,EAAE,mBAAmB,EACzB,SAAS,GAAE,OAAe;IA6C9B;;;;;;OAMG;IACH,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,gBAAgB,GAAG,SAAS;IAuBzD;;;;;;;OAOG;IACH,YAAY,CACR,IAAI,EAAE,KAAK,GACX,aAAa,GACb,QAAQ,GACR,MAAM,GACN,cAAc,GACd,yBAAyB,GACzB,uBAAuB,GACvB,IAAI,EACJ,WAAW,GAAC,OAAc,EAC1B,MAAM,GAAC,OAAe,EACtB,iBAAiB,GAAE,iBAAiB,GAAG,SAAkB,GAC3D,WAAW,GAAG,SAAS;IAoJzB;;;;;;OAMG;IACH,qBAAqB,CAAC,IAAI,EAAE,eAAe,EACvC,WAAW,GAAC,OAAc,EAC1B,KAAK,GAAC,OAAe,GACtB,WAAW,GAAG,SAAS;IA2C1B;;;;OAIG;IACH,eAAe,CAAE,IAAI,EAAE,MAAM,GAAI,WAAW,GAAG,SAAS;IAgDxD;;;;;;;;;OASG;IACH,WAAW,CACP,IAAI,EAAE,IAAI,EACV,WAAW,GAAC,OAAc,EAC1B,MAAM,GAAC,OAAe,EACtB,sBAAsB,CAAC,EAAE,wBAAwB,GAAI,WAAW,GAAG,SAAS;IAmEhF;;;;;;;;OAQG;IACH,mBAAmB,CACjB,IAAI,EAAE,cAAc,EACpB,WAAW,GAAE,OAAc,EAC3B,MAAM,GAAE,OAAe,EACvB,sBAAsB,GAAE,wBAWzB,GAAI,WAAW;IA6HhB;;;;;;;OAOG;IACH,kBAAkB,CAChB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,OAAe,EACvB,WAAW,GAAC,OAAc,EAC1B,sBAAsB,GAAE,wBAWzB,GAAG,WAAW,GAAG,SAAS;IA4C3B;;;;;;;OAOG;IACH,mBAAmB,CACjB,IAAI,EAAE,OAAO,EACb,MAAM,GAAE,OAAe,EACvB,WAAW,GAAC,OAAc,EAC1B,sBAAsB,GAAE,wBAWzB,GAAG,WAAW,GAAG,SAAS;IA2C3B;;;;;;OAMG;IACH,wBAAwB,CACtB,IAAI,EAAE,aAAa,EACnB,WAAW,GAAC,OAAc,EAC1B,MAAM,GAAC,OAAe,GAAI,WAAW,GAAG,SAAS;IAgInD;;;;;;OAMG;IACH,2BAA2B,CAAE,MAAM,EAAE,eAAe,EAAE,EAAE,UAAU,EAAC,MAAM,GAAI,YAAY;IAgBzF;;;;;;OAMG;IACH,eAAe,CACb,IAAI,EAAE,QAAQ,EACd,WAAW,GAAE,OAAc,EAC3B,MAAM,GAAE,OAAe,GAAI,WAAW,GAAG,SAAS;IA+BpD;;;;;;OAMG;IACH,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS;IAoClE;;;;;;OAMG;IACH,iBAAiB,CACb,IAAI,EAAE,WAAW,EACjB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,OAAO,GAAE,WAAW,EAAE,GAAG,SAAkB;IA0I/C;;;;OAIG;IACH,SAAgB,kBAAkB,sBAA4B;IAE9D;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;;;;;;;OASG;IACH,yBAAyB,CACrB,IAAI,EAAE,mBAAmB,EACzB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,YAAY,GAAE,OAAe;IAsFjC;;;;OAIG;IACH,wBAAwB,CAAC,IAAI,EAAE,mBAAmB;IAOlD;;;;OAIG;IACH,wBAAwB,CACpB,IAAI,EAAE,kBAAkB,EAAE,EAC1B,aAAa,EAAE,MAAM;IAsBzB;;;OAGG;IACH,iCAAiC,CAAC,IAAI,EAAE,wBAAwB;IAMhE;;;;OAIG;IACH,uBAAuB,CACnB,IAAI,EAAE,YAAY,EAClB,SAAS,GAAE,OAAe;IAQ9B;;;;OAIG;IACH,kCAAkC,CAC9B,IAAI,EAAE,yBAAyB;IAsBnC;;;;;;;OAOG;IACH,YAAY,CACR,IAAI,EAAE,IAAI,EAAE,EACZ,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,cAAc,GAAG,SAAS,EACtC,SAAS,GAAE,OAAe,GAAG,cAAc;IAkD/C;;;;;OAKG;IACH,YAAY,CAAE,IAAI,EAAE,KAAK,GAAI,kBAAkB;IAU/C;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAE,eAAe,CAAE,GAAG,SAAS,CAAE,OAAO,CAAE;IAkBxE;;;;;;OAMG;IACH,sBAAsB,CAClB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAE,eAAe,CAAE,CAAC,EACrC,EAAE,EAAE,SAAS,CAAC,SAAS,CAAE,OAAO,CAAE,CAAC,GAAG,IAAI;IAO9C;;;;;;;OAOG;IACH,qBAAqB,CACjB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,EACrB,KAAK,SAAI,EACT,GAAG,SAAc,GAAG,IAAI;IAS5B;;;;;OAKG;IACH,2BAA2B,CACvB,IAAI,EAAE,KAAK,CAAE,KAAK,CAAG,MAAM,CAAE,CAAE,EAC/B,EAAE,EAAE,SAAS,CAAE,SAAS,CAAE,MAAM,CAAE,CAAE,GAAG,IAAI;IAoB/C;;;;;OAKG;IACH,qBAAqB,CACjB,IAAI,EAAE,gBAAgB,GAAI,cAAc;IAoC5C;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAW7D;;;;;;OAMG;IACH,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE,MAAM;IA0SzF;;;;;OAKG;IACH,cAAc,CAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAC,aAAa;IAqE1D;;;;;OAKG;IACH,+BAA+B,CAAC,IAAI,EAAE,2BAA2B,EAAE,aAAa,EAAE,aAAa;IA0B/F;;;;;OAKG;IACH,0BAA0B,CAAC,IAAI,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa;IA+BpF;;;;;OAKG;IACH,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,EAAE,aAAa,EAAE,aAAa;IAWjF;;;;;OAKG;IACH,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa;IAY7E;;;;;OAKG;IACH,qBAAqB,CAAC,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa;IAWzE;;;;;OAKG;IACH,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa;IAe3E;;;;;;;;;OASG;IACH,oCAAoC,CAChC,MAAM,EAAE,eAAe,EAAE,EACzB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,MAAM,GAC1B,qBAAqB;IAqDxB;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc;IAgEhD;;;;;OAKG;IACH,uBAAuB,CAAE,IAAI,EAAE,kBAAkB,GAAI,kBAAkB;IA0CvE;;;;;;;OAOG;IACH,mCAAmC,CAAE,IAAI,EAAE,oCAAoC,GAC7E,kBAAkB;IAqCpB;;;;;;OAMG;IACH,uBAAuB,CAAC,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAC3E;;;;;;;OAOG;IAEH,uBAAuB,CACrB,IAAI,EAAE,eAAe,EACrB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,IAAI,GAAG,sBAAsB;IA4D5C;;;;;;OAMG;IACH,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,mBAAmB;IACvI;;;;;;;OAOG;IAEH,uBAAuB,CACrB,IAAI,EAAE,kBAAkB,EACxB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,IAAI,EACjB,UAAU,CAAC,EAAE,OAAO,GAAG,sBAAsB;IA6E/C;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,GAAE,OAAe,GAAI,mBAAmB,GAAG,SAAS;IAkBhG,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAI,kBAAkB,GAAG,SAAS;IAQrE;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,sBAAsB;IAiCtB;;;;OAIG;IACH,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM;IAyChD,eAAe,CAAE,QAAQ,EAAE,WAAW,GAAI,MAAM,GAAG,SAAS;IAmC5D,yBAAyB,CAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAI,MAAM,GAAG,SAAS;IAe3F;;;;;;OAMG;IACH,wBAAwB,CAAC,OAAO,GAAE,OAAe,GAC/C;QAAC,aAAa;QAAE,iBAAiB;QAAE,oBAAoB;KAAC;IAsa1D;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,iBAAiB,EAAE,iCAAiC,EAAE,WAAW,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,GAAE,OAAe,GAAG,CAAC,kBAAkB,GAAG,SAAS,EAAE,OAAO,CAAC;CA2DhP"}
1
+ {"version":3,"file":"ap214_geometry_extraction.d.ts","sourceRoot":"","sources":["../../../src/AP214E3_2010/ap214_geometry_extraction.ts"],"names":[],"mappings":"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"}