@bldrs-ai/conway 1.502.1421 → 1.509.1435

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 (37) 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.js +1 -1
  5. package/compiled/Dist/ConwayGeomWasmWebMT.wasm +0 -0
  6. package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmNode.js +0 -0
  7. package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmNodeMT.js +0 -0
  8. package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWeb.js +0 -0
  9. package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWebMT.js +1 -1
  10. package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWebMT.wasm +0 -0
  11. package/compiled/dependencies/conway-geom/interface/conway_geometry.d.ts +19 -0
  12. package/compiled/dependencies/conway-geom/interface/conway_geometry.d.ts.map +1 -1
  13. package/compiled/dependencies/conway-geom/interface/conway_geometry.js +17 -0
  14. package/compiled/examples/browser-bundled.cjs +132 -21
  15. package/compiled/examples/cli-bundled.cjs +189 -57
  16. package/compiled/examples/cli-step-bundled.cjs +156 -28
  17. package/compiled/examples/validator-bundled.cjs +132 -21
  18. package/compiled/src/compat/web-ifc/coordination_export_order.test.d.ts +2 -0
  19. package/compiled/src/compat/web-ifc/coordination_export_order.test.d.ts.map +1 -0
  20. package/compiled/src/compat/web-ifc/coordination_export_order.test.js +110 -0
  21. package/compiled/src/compat/web-ifc/coordination_f64.d.ts +60 -1
  22. package/compiled/src/compat/web-ifc/coordination_f64.d.ts.map +1 -1
  23. package/compiled/src/compat/web-ifc/coordination_f64.js +103 -8
  24. package/compiled/src/compat/web-ifc/coordination_f64.test.js +115 -30
  25. package/compiled/src/ifc/ifc_geometry_extraction.d.ts +0 -1
  26. package/compiled/src/ifc/ifc_geometry_extraction.d.ts.map +1 -1
  27. package/compiled/src/ifc/ifc_geometry_extraction.js +34 -44
  28. package/compiled/src/step/parsing/uint32_sink.d.ts +20 -0
  29. package/compiled/src/step/parsing/uint32_sink.d.ts.map +1 -1
  30. package/compiled/src/step/parsing/uint32_sink.js +95 -0
  31. package/compiled/src/step/parsing/uint32_sink.test.js +41 -1
  32. package/compiled/src/step/step_model_base.d.ts +32 -13
  33. package/compiled/src/step/step_model_base.d.ts.map +1 -1
  34. package/compiled/src/step/step_model_base.js +64 -24
  35. package/compiled/src/version/version.js +1 -1
  36. package/compiled/tsconfig.tsbuildinfo +1 -1
  37. package/package.json +1 -1
@@ -241,6 +241,25 @@ export declare class ConwayGeometry {
241
241
  * @return {GeometryObject} - Native geometry object
242
242
  */
243
243
  getPolygonalFaceSetGeometry(parameters: ParamsPolygonalFaceSet): GeometryObject;
244
+ /**
245
+ * Triangulate a faceset from the packed index sinks, skipping the
246
+ * per-face C++ vector unpack.
247
+ *
248
+ * @param points Native point vector.
249
+ * @param indicesPtr Packed face indices.
250
+ * @param faceOffsetsPtr Per-face offsets into indices (N+1).
251
+ * @param faceOffsetsLength Offset array length (N+1). Face count is
252
+ * derived inside C++ as length - 1, same as
253
+ * buildIndexedPolygonalFaceVector.
254
+ * @param startIndicesPtr Packed ring-start indices.
255
+ * @param startOffsetsPtr Per-face offsets into start indices (N+1).
256
+ * @return {GeometryObject} Native geometry.
257
+ */
258
+ getPolygonalFaceSetGeometryPacked(points: StdVector<{
259
+ x: number;
260
+ y: number;
261
+ z: number;
262
+ }>, indicesPtr: number, faceOffsetsPtr: number, faceOffsetsLength: number, startIndicesPtr: number, startOffsetsPtr: number): GeometryObject;
244
263
  /**
245
264
  *
246
265
  * @param parameters ParamsGetPolygonalFaceSetGeometry parsed from data model
@@ -1 +1 @@
1
- {"version":3,"file":"conway_geometry.d.ts","sourceRoot":"","sources":["../../../../dependencies/conway-geom/interface/conway_geometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conway_geometry.d.ts","sourceRoot":"","sources":["../../../../dependencies/conway-geom/interface/conway_geometry.ts"],"names":[],"mappings":"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"}
@@ -433,6 +433,23 @@ export class ConwayGeometry {
433
433
  const result = this.wasmModule.getPolygonalFaceSetGeometry(parameters);
434
434
  return result;
435
435
  }
436
+ /**
437
+ * Triangulate a faceset from the packed index sinks, skipping the
438
+ * per-face C++ vector unpack.
439
+ *
440
+ * @param points Native point vector.
441
+ * @param indicesPtr Packed face indices.
442
+ * @param faceOffsetsPtr Per-face offsets into indices (N+1).
443
+ * @param faceOffsetsLength Offset array length (N+1). Face count is
444
+ * derived inside C++ as length - 1, same as
445
+ * buildIndexedPolygonalFaceVector.
446
+ * @param startIndicesPtr Packed ring-start indices.
447
+ * @param startOffsetsPtr Per-face offsets into start indices (N+1).
448
+ * @return {GeometryObject} Native geometry.
449
+ */
450
+ getPolygonalFaceSetGeometryPacked(points, indicesPtr, faceOffsetsPtr, faceOffsetsLength, startIndicesPtr, startOffsetsPtr) {
451
+ return this.wasmModule.getPolygonalFaceSetGeometryPacked(points, indicesPtr, faceOffsetsPtr, faceOffsetsLength, startIndicesPtr, startOffsetsPtr);
452
+ }
436
453
  /**
437
454
  *
438
455
  * @param parameters ParamsGetPolygonalFaceSetGeometry parsed from data model
@@ -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.502.1421";
33
+ var versionString = "Conway v1.509.1435";
34
34
 
35
35
  // compiled/dependencies/conway-geom/interface/conway_geometry.js
36
36
  var wasmType = "";
@@ -4698,7 +4698,18 @@ var StepVtableBuilder = class {
4698
4698
  };
4699
4699
 
4700
4700
  // compiled/src/step/parsing/uint32_sink.js
4701
+ var OPEN_PAREN3 = parsing_constants_default.OPEN_PAREN;
4702
+ var CLOSE_PAREN3 = parsing_constants_default.CLOSE_PAREN;
4703
+ var COMMA3 = parsing_constants_default.COMMA;
4704
+ var ZERO5 = parsing_constants_default.ZERO;
4705
+ var WHITESPACE4 = parsing_constants_default.WHITE_SPACE_SET;
4701
4706
  function extractIntegerArrayAt(buffer, cursor, endCursor, sink) {
4707
+ const marked = sink.length;
4708
+ const fast = extractUnsignedIntegerListAt(buffer, cursor, endCursor, sink);
4709
+ if (fast !== void 0) {
4710
+ return fast;
4711
+ }
4712
+ sink.truncate(marked);
4702
4713
  if (stepExtractOptional(buffer, cursor, endCursor) === null) {
4703
4714
  return 0;
4704
4715
  }
@@ -4718,6 +4729,68 @@ function extractIntegerArrayAt(buffer, cursor, endCursor, sink) {
4718
4729
  }
4719
4730
  return count;
4720
4731
  }
4732
+ function extractUnsignedIntegerListAt(buffer, cursor, endCursor, sink) {
4733
+ const marked = sink.length;
4734
+ while (cursor < endCursor && WHITESPACE4.has(buffer[cursor])) {
4735
+ ++cursor;
4736
+ }
4737
+ if (cursor >= endCursor) {
4738
+ return void 0;
4739
+ }
4740
+ if (buffer[cursor] === parsing_constants_default.DOLLAR) {
4741
+ return 0;
4742
+ }
4743
+ if (buffer[cursor] !== OPEN_PAREN3) {
4744
+ return void 0;
4745
+ }
4746
+ ++cursor;
4747
+ let count = 0;
4748
+ while (cursor < endCursor) {
4749
+ while (cursor < endCursor && WHITESPACE4.has(buffer[cursor])) {
4750
+ ++cursor;
4751
+ }
4752
+ if (cursor >= endCursor) {
4753
+ sink.truncate(marked);
4754
+ return void 0;
4755
+ }
4756
+ if (buffer[cursor] === CLOSE_PAREN3) {
4757
+ return count;
4758
+ }
4759
+ if (count > 0) {
4760
+ if (buffer[cursor] !== COMMA3) {
4761
+ sink.truncate(marked);
4762
+ return void 0;
4763
+ }
4764
+ ++cursor;
4765
+ while (cursor < endCursor && WHITESPACE4.has(buffer[cursor])) {
4766
+ ++cursor;
4767
+ }
4768
+ if (cursor >= endCursor) {
4769
+ sink.truncate(marked);
4770
+ return void 0;
4771
+ }
4772
+ }
4773
+ const digit = buffer[cursor] - ZERO5;
4774
+ if (digit < 0 || digit > 9) {
4775
+ sink.truncate(marked);
4776
+ return void 0;
4777
+ }
4778
+ let value = digit;
4779
+ ++cursor;
4780
+ while (cursor < endCursor) {
4781
+ const next = buffer[cursor] - ZERO5;
4782
+ if (next < 0 || next > 9) {
4783
+ break;
4784
+ }
4785
+ value = value * 10 + next;
4786
+ ++cursor;
4787
+ }
4788
+ sink.push(value);
4789
+ ++count;
4790
+ }
4791
+ sink.truncate(marked);
4792
+ return void 0;
4793
+ }
4721
4794
 
4722
4795
  // compiled/src/indexing/index_set_constants.js
4723
4796
  var IndexSetConstants = class {
@@ -5270,43 +5343,63 @@ var StepModelBase = class {
5270
5343
  }
5271
5344
  }
5272
5345
  /**
5273
- * Populate a raw vtable entry for a particular element, extra
5346
+ * Resolve an express ID to a local ID, using `hintLocalID + 1` when
5347
+ * the next record is the one we want. Tessellated Faces lists are
5348
+ * sequential (PSB: every faceset), so this turns 9.1M interpolation
5349
+ * searches into one per faceset.
5274
5350
  *
5275
- * @param element The raw elment to populate the vtable entry for.
5276
- * @return {boolean} Did the vtable entry populate correctly?
5351
+ * @param expressID The referenced record.
5352
+ * @param hintLocalID Local ID of the previous resolve, if any.
5353
+ * @return {number | undefined} The local ID, or undefined if unknown.
5277
5354
  */
5355
+ resolveExpressID(expressID, hintLocalID) {
5356
+ if (hintLocalID !== void 0) {
5357
+ const next = hintLocalID + 1;
5358
+ if (next < this.firstInlineElement_ && this.expressID_[next] === expressID) {
5359
+ return next;
5360
+ }
5361
+ }
5362
+ return this.expressIDMap_.get(expressID);
5363
+ }
5278
5364
  /**
5279
- * Append a referenced record's unsigned-integer list field into `sink`
5280
- * without materialising the referenced entity.
5281
- *
5282
- * This is the reference-level twin of
5365
+ * Append a local record's unsigned-integer list field into `sink`
5366
+ * without an express-ID lookup. The reference-level twin of
5283
5367
  * `StepEntityBase.extractIntegerArrayInto`, for hot loops that walk
5284
5368
  * millions of small records (tessellated facesets) where constructing
5285
5369
  * an entity per record dominates. It deliberately handles only the
5286
5370
  * simple case and reports failure otherwise, so callers keep a
5287
5371
  * correct fallback rather than this growing subtle special cases:
5288
- * the reference must resolve, be single-class (no multi-mapping),
5289
- * and be exactly `expectedTypeID` — which is what makes reading
5290
- * `offset` as a plain vtable slot equivalent to the generated
5291
- * getter's `getOffsetCursor( offset, _, _ )` (that only subtracts a
5292
- * base offset for multi-mapped records).
5372
+ * the record must be single-class (no multi-mapping) and exactly
5373
+ * `expectedTypeID`.
5293
5374
  *
5294
- * @param expressID The referenced record's express ID.
5295
- * @param offset The field's vtable offset within the record.
5375
+ * Field 0 is the data-block start the parser stored in `address_`
5376
+ * (after `TYPE(`). Reading it from the columns skips the descriptor
5377
+ * and vtable `entry()` would retain — on a 9 M-face model those are
5378
+ * the objects the faceset path is trying not to build. Non-zero
5379
+ * offsets still go through a vtable, because only field 0 has that
5380
+ * address identity.
5381
+ *
5382
+ * @param localID The record's local ID.
5383
+ * @param offset The field's vtable offset.
5296
5384
  * @param expectedTypeID The type the record must be.
5297
5385
  * @param sink Receives the appended values.
5298
5386
  * @return {number | undefined} Count appended, or undefined when the
5299
- * fast path does not apply and the caller must fall back.
5387
+ * fast path does not apply.
5300
5388
  */
5301
- extractIntegerArrayByExpressIDInto(expressID, offset, expectedTypeID, sink) {
5302
- const localID = this.expressIDMap_.get(expressID);
5303
- if (localID === void 0 || localID >= this.count_) {
5389
+ extractIntegerArrayByLocalIDInto(localID, offset, expectedTypeID, sink) {
5390
+ if (localID >= this.count_) {
5304
5391
  return void 0;
5305
5392
  }
5306
- const element = this.entry(localID);
5307
- if (element.multiMapping !== void 0 || element.typeID !== expectedTypeID) {
5393
+ if (this.complexEntries_?.has(localID) || this.typeID_[localID] !== expectedTypeID) {
5308
5394
  return void 0;
5309
5395
  }
5396
+ if (offset === 0) {
5397
+ const address = this.address_[localID];
5398
+ const acquisition = this.bufferProvider_.acquire(address, this.length_[localID]);
5399
+ const viewAddress = address - acquisition.offset;
5400
+ return extractIntegerArrayAt(acquisition.buffer, viewAddress, acquisition.buffer.length, sink);
5401
+ }
5402
+ const element = this.entry(localID);
5310
5403
  if (element.vtableIndex === void 0 && !this.populateVtableEntryRaw(element)) {
5311
5404
  return void 0;
5312
5405
  }
@@ -5317,6 +5410,24 @@ var StepModelBase = class {
5317
5410
  }
5318
5411
  return extractIntegerArrayAt(buffer, vtable[element.vtableIndex + offset], buffer.length, sink);
5319
5412
  }
5413
+ /**
5414
+ * Append a referenced record's unsigned-integer list field into `sink`
5415
+ * without materialising the referenced entity.
5416
+ *
5417
+ * @param expressID The referenced record's express ID.
5418
+ * @param offset The field's vtable offset within the record.
5419
+ * @param expectedTypeID The type the record must be.
5420
+ * @param sink Receives the appended values.
5421
+ * @return {number | undefined} Count appended, or undefined when the
5422
+ * fast path does not apply.
5423
+ */
5424
+ extractIntegerArrayByExpressIDInto(expressID, offset, expectedTypeID, sink) {
5425
+ const localID = this.expressIDMap_.get(expressID);
5426
+ if (localID === void 0) {
5427
+ return void 0;
5428
+ }
5429
+ return this.extractIntegerArrayByLocalIDInto(localID, offset, expectedTypeID, sink);
5430
+ }
5320
5431
  populateVtableEntryRaw(element) {
5321
5432
  if (element.vtableIndex !== void 0 || element.typeID === 0) {
5322
5433
  return true;