@bldrs-ai/conway 1.381.1195 → 1.383.1217

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 (36) hide show
  1. package/compiled/Dist/ConwayGeomWasmNode.js +0 -0
  2. package/compiled/Dist/ConwayGeomWasmNodeMT.js +0 -0
  3. package/compiled/Dist/ConwayGeomWasmWeb.js +0 -0
  4. package/compiled/Dist/ConwayGeomWasmWebMT.wasm +0 -0
  5. package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmNode.js +0 -0
  6. package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmNodeMT.js +0 -0
  7. package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWeb.js +0 -0
  8. package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWebMT.wasm +0 -0
  9. package/compiled/examples/browser-bundled.cjs +36 -1
  10. package/compiled/examples/cli-bundled.cjs +37 -2
  11. package/compiled/examples/cli-step-bundled.cjs +77 -8
  12. package/compiled/examples/validator-bundled.cjs +36 -1
  13. package/compiled/src/AP214E3_2010/ap214_ellipse_trim.test.d.ts +2 -0
  14. package/compiled/src/AP214E3_2010/ap214_ellipse_trim.test.d.ts.map +1 -0
  15. package/compiled/src/AP214E3_2010/ap214_ellipse_trim.test.js +74 -0
  16. package/compiled/src/AP214E3_2010/ap214_geometry_extraction.d.ts +7 -1
  17. package/compiled/src/AP214E3_2010/ap214_geometry_extraction.d.ts.map +1 -1
  18. package/compiled/src/AP214E3_2010/ap214_geometry_extraction.js +65 -7
  19. package/compiled/src/AP214E3_2010/ap214_occurrence_geometry.test.js +59 -0
  20. package/compiled/src/compat/web-ifc/ifc_api.d.ts +17 -0
  21. package/compiled/src/compat/web-ifc/ifc_api.d.ts.map +1 -1
  22. package/compiled/src/compat/web-ifc/ifc_api.js +24 -0
  23. package/compiled/src/compat/web-ifc/ifc_api_model_passthrough.d.ts +7 -0
  24. package/compiled/src/compat/web-ifc/ifc_api_model_passthrough.d.ts.map +1 -1
  25. package/compiled/src/compat/web-ifc/ifc_api_proxy_ifc.d.ts +13 -0
  26. package/compiled/src/compat/web-ifc/ifc_api_proxy_ifc.d.ts.map +1 -1
  27. package/compiled/src/compat/web-ifc/ifc_api_proxy_ifc.js +16 -1
  28. package/compiled/src/compat/web-ifc/ifc_root_express_ids.test.d.ts +2 -0
  29. package/compiled/src/compat/web-ifc/ifc_root_express_ids.test.d.ts.map +1 -0
  30. package/compiled/src/compat/web-ifc/ifc_root_express_ids.test.js +78 -0
  31. package/compiled/src/step/step_model_base.d.ts +14 -0
  32. package/compiled/src/step/step_model_base.d.ts.map +1 -1
  33. package/compiled/src/step/step_model_base.js +37 -0
  34. package/compiled/src/version/version.js +1 -1
  35. package/compiled/tsconfig.tsbuildinfo +1 -1
  36. package/package.json +1 -1
Binary file
Binary file
@@ -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.381.1195";
33
+ var versionString = "Conway v1.383.1217";
34
34
 
35
35
  // compiled/dependencies/conway-geom/interface/conway_geometry.js
36
36
  var wasmType = "";
@@ -5452,6 +5452,41 @@ var StepModelBase = class {
5452
5452
  const distinctTypes = types.length === 1 ? types[0].query : new Set(types.flatMap((type) => type.query));
5453
5453
  return this.typeIndex.count(...distinctTypes);
5454
5454
  }
5455
+ /**
5456
+ * Iterate the express IDs of entities of a set of types (including sub-types)
5457
+ * without materializing entity descriptors or touching the source buffer —
5458
+ * only the type index and the express ID column are read, so this stays cheap
5459
+ * and safe even when the model source has been spilled to an external store.
5460
+ *
5461
+ * Multi-mapped elements (e.g. complex/multi-entity mappings) may be yielded
5462
+ * once per matching mapping, so callers that need distinct IDs should dedupe.
5463
+ *
5464
+ * @param types The list of types to iterate.
5465
+ * @return {IterableIterator} A lazy iterator of express IDs for matching entities.
5466
+ * @yields {number} The express ID of each matching entity.
5467
+ */
5468
+ *expressIDsOfTypes(...types) {
5469
+ const distinctTypes = types.length === 1 ? types[0].query : new Set(types.flatMap((type) => type.query));
5470
+ const cursor = this.typeIndex.cursor(...distinctTypes);
5471
+ const expressIDs = this.expressID_;
5472
+ const firstInlineElement = this.firstInlineElement_;
5473
+ try {
5474
+ while (cursor.step()) {
5475
+ const high = cursor.high;
5476
+ let low = cursor.low;
5477
+ while (low !== 0) {
5478
+ const lowestOneHot = extractOneHotLow(low);
5479
+ low ^= 1 << lowestOneHot;
5480
+ const localID = high | lowestOneHot;
5481
+ if (localID < firstInlineElement) {
5482
+ yield expressIDs[localID];
5483
+ }
5484
+ }
5485
+ }
5486
+ } finally {
5487
+ cursor.free();
5488
+ }
5489
+ }
5455
5490
  /**
5456
5491
  * Get the non empty type IDs for this.
5457
5492
  *