@ifc-lite/server-client 1.24.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +28 -1
  2. package/dist/client.d.ts +29 -3
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +89 -162
  5. package/dist/client.js.map +1 -1
  6. package/dist/data-model-decoder.d.ts +4 -0
  7. package/dist/data-model-decoder.d.ts.map +1 -1
  8. package/dist/data-model-decoder.js +14 -8
  9. package/dist/data-model-decoder.js.map +1 -1
  10. package/dist/geometry-diagnostics-types.d.ts +124 -0
  11. package/dist/geometry-diagnostics-types.d.ts.map +1 -0
  12. package/dist/geometry-diagnostics-types.js +5 -0
  13. package/dist/geometry-diagnostics-types.js.map +1 -0
  14. package/dist/parquet-columns.d.ts +22 -4
  15. package/dist/parquet-columns.d.ts.map +1 -1
  16. package/dist/parquet-columns.js +32 -0
  17. package/dist/parquet-columns.js.map +1 -1
  18. package/dist/parquet-decoder.d.ts +3 -1
  19. package/dist/parquet-decoder.d.ts.map +1 -1
  20. package/dist/parquet-decoder.js +40 -70
  21. package/dist/parquet-decoder.js.map +1 -1
  22. package/dist/parquet-nullable.d.ts +26 -0
  23. package/dist/parquet-nullable.d.ts.map +1 -0
  24. package/dist/parquet-nullable.js +36 -0
  25. package/dist/parquet-nullable.js.map +1 -0
  26. package/dist/parquet-rotation.d.ts +70 -0
  27. package/dist/parquet-rotation.d.ts.map +1 -0
  28. package/dist/parquet-rotation.js +96 -0
  29. package/dist/parquet-rotation.js.map +1 -0
  30. package/dist/parquet-stream-events.d.ts +23 -0
  31. package/dist/parquet-stream-events.d.ts.map +1 -0
  32. package/dist/parquet-stream-events.js +133 -0
  33. package/dist/parquet-stream-events.js.map +1 -0
  34. package/dist/parquet-tables.d.ts +11 -1
  35. package/dist/parquet-tables.d.ts.map +1 -1
  36. package/dist/parquet-tables.js +45 -59
  37. package/dist/parquet-tables.js.map +1 -1
  38. package/dist/parse-query.d.ts +18 -0
  39. package/dist/parse-query.d.ts.map +1 -0
  40. package/dist/parse-query.js +21 -0
  41. package/dist/parse-query.js.map +1 -0
  42. package/dist/symbolic-types.d.ts +2 -0
  43. package/dist/symbolic-types.d.ts.map +1 -1
  44. package/dist/types.d.ts +8 -46
  45. package/dist/types.d.ts.map +1 -1
  46. package/dist/types.js +1 -0
  47. package/dist/types.js.map +1 -1
  48. package/package.json +4 -3
@@ -5,6 +5,7 @@
5
5
  * Decode Parquet-encoded data model from server.
6
6
  */
7
7
  import { ensureParquetInit } from './parquet-decoder.js';
8
+ import { nullableFloat64Column } from './parquet-nullable.js';
8
9
  /**
9
10
  * Columnar entity index for the server data model (issue #1841).
10
11
  *
@@ -155,11 +156,10 @@ export class ServerEntityIndex {
155
156
  }
156
157
  }
157
158
  /**
158
- * Decode data model from Parquet buffer.
159
- *
160
- * OPTIMIZED: Uses toArray() for bulk string extraction instead of per-element .get() calls.
161
- * Arrow's .get(i) is slow for strings (offset lookup + UTF-8 decode per call).
162
- * toArray() decodes all strings in one pass which is 10-20x faster for large datasets.
159
+ * Decode data model from Parquet buffer. Bulk string columns use toArray()
160
+ * instead of per-element .get() (10-20x faster, no per-row UTF-8 decode); a
161
+ * NULLABLE numeric column is the exception — see `nullableFloat64Column` in
162
+ * `parquet-nullable.ts` for why toArray() alone silently turns a null into 0.
163
163
  *
164
164
  * Format: [entities_len][entities_data][properties_len][properties_data][quantities_len][quantities_data][relationships_len][relationships_data][spatial_len][spatial_data]
165
165
  */
@@ -350,6 +350,10 @@ export async function decodeDataModel(data) {
350
350
  const relTypesArr = relationshipsArrow.getChild('rel_type')?.toArray();
351
351
  const relatingIds = relationshipsArrow.getChild('relating_id')?.toArray();
352
352
  const relatedIds = relationshipsArrow.getChild('related_id')?.toArray();
353
+ // rel_id arrives with the v6 payload (issue #3860). An older server sends no
354
+ // such column: leave the field absent rather than defaulting to 0, so a
355
+ // caller can tell "no id on the wire" from the genuine 0 on synthetic rows.
356
+ const relIds = relationshipsArrow.getChild('rel_id')?.toArray();
353
357
  // Pre-allocate array for better performance
354
358
  const relationships = new Array(relatingIds.length);
355
359
  for (let i = 0; i < relatingIds.length; i++) {
@@ -358,6 +362,8 @@ export async function decodeDataModel(data) {
358
362
  relating_id: relatingIds[i],
359
363
  related_id: relatedIds[i],
360
364
  };
365
+ if (relIds !== undefined)
366
+ relationships[i].rel_id = relIds[i];
361
367
  }
362
368
  // Parse spatial hierarchy - format: [nodes_len][nodes_data][element_to_storey_len][element_to_storey_data]...
363
369
  const spatialView = new DataView(spatialData.buffer, spatialData.byteOffset, spatialData.byteLength);
@@ -391,7 +397,7 @@ export async function decodeDataModel(data) {
391
397
  const pathsArr = nodesArrow.getChild('path')?.toArray();
392
398
  const spatialTypeNamesArr = nodesArrow.getChild('type_name')?.toArray();
393
399
  const spatialNamesArr = nodesArrow.getChild('name')?.toArray();
394
- const elevationsArr = nodesArrow.getChild('elevation')?.toArray();
400
+ const elevationsArr = nullableFloat64Column(nodesArrow, 'elevation');
395
401
  const childrenIdsList = nodesArrow.getChild('children_ids');
396
402
  const elementIdsList = nodesArrow.getChild('element_ids');
397
403
  // Pre-allocate array for spatial nodes
@@ -421,7 +427,7 @@ export async function decodeDataModel(data) {
421
427
  path: pathsArr[i] ?? '',
422
428
  type_name: spatialTypeNamesArr[i] ?? '',
423
429
  name: spatialNamesArr[i] || undefined,
424
- elevation: elevationsArr[i] ?? undefined,
430
+ elevation: elevationsArr?.[i] ?? undefined,
425
431
  children_ids: childrenIds,
426
432
  element_ids: elementIds,
427
433
  };
@@ -473,7 +479,7 @@ export async function decodeDataModel(data) {
473
479
  const setNames = t.getChild('set_name')?.toArray();
474
480
  const layerIndices = t.getChild('layer_index')?.toArray();
475
481
  const materialNames = t.getChild('material_name')?.toArray();
476
- const thicknesses = t.getChild('thickness')?.toArray();
482
+ const thicknesses = nullableFloat64Column(t, 'thickness');
477
483
  const ventChild = t.getChild('is_ventilated');
478
484
  const categories = t.getChild('category')?.toArray();
479
485
  for (let i = 0; i < elementIds.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"data-model-decoder.js","sourceRoot":"","sources":["../src/data-model-decoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-model-decoder.js","sourceRoot":"","sources":["../src/data-model-decoder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * The CSG / opening diagnostics wire shape of the parse response.
3
+ *
4
+ * WHY THIS IS A COPY. `@ifc-lite/geometry` owns the canonical
5
+ * `GeometryDiagnostics` (packages/geometry/src/diagnostics.ts), and re-exporting
6
+ * it would be the obvious way to have one definition. This package deliberately
7
+ * ships with an empty `dependencies` map: it is the thin HTTP client, usable in
8
+ * a browser or a Node service that never loads the geometry stack, and
9
+ * `@ifc-lite/geometry` pulls in `@ifc-lite/wasm` (a cargo/wasm-pack build) plus
10
+ * `@ifc-lite/data`. A type-only import would not stay type-only either -
11
+ * declaration emit writes the cross-package reference into `dist/index.d.ts`,
12
+ * so every consumer would have to have the geometry package installed to
13
+ * typecheck. The copy is the cheaper trade.
14
+ *
15
+ * WHAT KEEPS THE COPY HONEST. `geometry-diagnostics-contract.test.ts` compares
16
+ * this interface with the canonical one field by field at COMPILE TIME, so a
17
+ * field added on either side fails `pnpm typecheck` instead of drifting the way
18
+ * this file drifted through #3691, #3752 and #3766 (issue #3857).
19
+ *
20
+ * Split out of `types.ts` under the module-size ratchet, following the
21
+ * `symbolic-types.ts` precedent (#3199); `types.ts` re-exports it, so the
22
+ * package's public surface is unchanged.
23
+ *
24
+ * Field names are camelCase because the Rust producer's `rename_all` says so -
25
+ * unlike the snake_case response envelope this type sits inside.
26
+ */
27
+ /**
28
+ * CSG / opening diagnostics for a geometry pass. Mirrors the Rust
29
+ * `GeometryDiagnostics` (camelCase serde) the server and the WASM batch path both
30
+ * emit. `totalCsgFailures` and the classification counts are exact;
31
+ * `productsWithFailures`, `hostsWithOpenings` and `silentNoOps` are batch-summed
32
+ * upper bounds.
33
+ */
34
+ export interface GeometryDiagnostics {
35
+ /**
36
+ * Contract version handshake (mirrors Rust
37
+ * `GEOMETRY_DIAGNOSTICS_SCHEMA_VERSION`, currently 3). Bumped on field
38
+ * renames/removals and count-semantics changes; also on an additive field
39
+ * whose absence a consumer must tell apart from a real zero, which is why 3
40
+ * (added `totalUnsupportedItems`) bumped. A purely additive optional field
41
+ * that no consumer gates on does not bump. Kept worded the same as the
42
+ * canonical copy in `@ifc-lite/geometry`: the structural contract test cannot
43
+ * see comments, so a rule stated two ways here is drift nothing catches.
44
+ *
45
+ * REQUIRED, not optional: the Rust field is a plain `u32` serialized
46
+ * unconditionally, so every producer since #1514 writes the key. A value of
47
+ * `0` is what Rust's `#[serde(default)]` yields when it READS a payload
48
+ * written before #1514, and is the only "pre-versioned producer" signal a
49
+ * consumer sees.
50
+ */
51
+ schemaVersion: number;
52
+ /** Total CSG boolean failures (un-cut openings, emptied hosts, kernel fallbacks). */
53
+ totalCsgFailures: number;
54
+ /** Distinct products with at least one failure (batch-summed upper bound). */
55
+ productsWithFailures: number;
56
+ /** Hosts that had openings processed (batch-summed upper bound). */
57
+ hostsWithOpenings: number;
58
+ /** Opening-classifier outcome counts. */
59
+ classification: {
60
+ rectangular: number;
61
+ diagonal: number;
62
+ nonRectangular: number;
63
+ total: number;
64
+ };
65
+ /** Failure counts by stable reason label, sorted desc by count. */
66
+ failuresByReason: Array<{
67
+ reason: string;
68
+ count: number;
69
+ }>;
70
+ /**
71
+ * Hosts where rectangular cutters ran, the triangle count was unchanged, and NO
72
+ * failure was recorded (cut attempted, geometry not modified). Batch-summed
73
+ * upper bound.
74
+ */
75
+ silentNoOps: number;
76
+ /** rect_fast fast-path engagement (perf observability). */
77
+ rectFast: {
78
+ fired: number;
79
+ openingsCut: number;
80
+ deferHostNotBox: number;
81
+ deferNotThrough: number;
82
+ deferOffFace: number;
83
+ deferNearEdge: number;
84
+ deferNoOpenings: number;
85
+ /** Optional: absent on payloads produced before this counter existed (#1649). */
86
+ deferTooManyOpenings?: number;
87
+ };
88
+ /**
89
+ * Content-hash references the geometry pass refused because they exceeded
90
+ * `u32::MAX` (#3421 / #3752). Nonzero means some instancing was skipped, not
91
+ * that geometry is wrong. Optional: absent on payloads from producers
92
+ * predating the counter.
93
+ */
94
+ oversizedRefDrops?: number;
95
+ /** Bounded top-N worst-failing hosts (opt-in per-product detail). */
96
+ worstHosts: Array<{
97
+ productId: number;
98
+ ifcType: string;
99
+ openings: number;
100
+ csgFailures: number;
101
+ firstFailureLabel?: string;
102
+ /** World-space AABB of the host mesh, when a void cut captured it.
103
+ * Mirrors the `{min, max}` shape used by `MeshData.localBounds`. */
104
+ bbox?: {
105
+ min: [number, number, number];
106
+ max: [number, number, number];
107
+ };
108
+ /** Final triangle count of the host's mesh (post-cut when a void
109
+ * subtraction ran, otherwise the pre-cut count). */
110
+ triangleCount?: number;
111
+ }>;
112
+ /**
113
+ * Representation items dropped from the mesh output because no processor is
114
+ * registered for the item's type, or the registered processor errored (#3691).
115
+ * Optional: absent on payloads from producers predating the counter.
116
+ */
117
+ totalUnsupportedItems?: number;
118
+ /** `totalUnsupportedItems` broken down by IFC type, sorted desc by count. */
119
+ unsupportedItemsByType?: Array<{
120
+ reason: string;
121
+ count: number;
122
+ }>;
123
+ }
124
+ //# sourceMappingURL=geometry-diagnostics-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometry-diagnostics-types.d.ts","sourceRoot":"","sources":["../src/geometry-diagnostics-types.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;;;;OAeG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,gBAAgB,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,cAAc,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,mEAAmE;IACnE,gBAAgB,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,iFAAiF;QACjF,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qEAAqE;IACrE,UAAU,EAAE,KAAK,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B;6EACqE;QACrE,IAAI,CAAC,EAAE;YAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAC;QACxE;6DACqD;QACrD,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,6EAA6E;IAC7E,sBAAsB,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnE"}
@@ -0,0 +1,5 @@
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
+ export {};
5
+ //# sourceMappingURL=geometry-diagnostics-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometry-diagnostics-types.js","sourceRoot":"","sources":["../src/geometry-diagnostics-types.ts"],"names":[],"mappings":"AAAA;;+DAE+D"}
@@ -2,12 +2,14 @@
2
2
  * The column layer shared by both Parquet decoders.
3
3
  *
4
4
  * Split out of `parquet-tables.ts` when #3215 pushed that file past its
5
- * module-size budget. The gate's rule is shrink or split, not raise, and this
6
- * is the seam that was already there: the two decoders differ in row count and
7
- * identity column, but resolve the SAME additive trailing block, which the
8
- * server builds from one `shared_trailing_fields()` in
5
+ * module-size budget. The gate's default is shrink or split; a raise is
6
+ * sanctioned but wants a per-file justification in the PR, and none was needed
7
+ * here, because the seam was already there: the two decoders differ in row
8
+ * count and identity column, but resolve the SAME additive trailing block,
9
+ * which the server builds from one `shared_trailing_fields()` in
9
10
  * `apps/server/src/services/parquet_schema.rs`.
10
11
  */
12
+ import type { MeshData } from './types.js';
11
13
  import type { ArrowTableLike } from './parquet-tables.js';
12
14
  /**
13
15
  * Absent marker for the two source ids; mirrors the constants in
@@ -60,4 +62,20 @@ export declare function meshColumns(table: ArrowTableLike, rowCount: number): {
60
62
  };
61
63
  /** One source-id column at one row, or `undefined` when absent. */
62
64
  export declare function readSourceId(column: ArrayLike<number> | undefined, index: number): number | undefined;
65
+ /**
66
+ * The canonical per-mesh transform metadata, spread into the `MeshData` literal.
67
+ *
68
+ * `origin` is omitted when the frame IS the world origin and `geometry_class`
69
+ * when it is 0 (occurrence), so a world-baked mesh decodes to exactly the shape
70
+ * it had before these columns existed — and to the same shape on every
71
+ * transport (JSON, standard Parquet, optimized Parquet).
72
+ */
73
+ export declare function transformFields(index: number, cols: {
74
+ originX?: ArrayLike<number>;
75
+ originY?: ArrayLike<number>;
76
+ originZ?: ArrayLike<number>;
77
+ geometryClass?: ArrayLike<number>;
78
+ geometryItemId?: ArrayLike<number>;
79
+ materialId?: ArrayLike<number>;
80
+ }): Partial<MeshData>;
63
81
  //# sourceMappingURL=parquet-columns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-columns.d.ts","sourceRoot":"","sources":["../src/parquet-columns.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAE3C,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAEhG;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAG/B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM;;;;;;;EASlE;AAED,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrG"}
1
+ {"version":3,"file":"parquet-columns.d.ts","sourceRoot":"","sources":["../src/parquet-columns.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAE3C,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAEhG;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAG/B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM;;;;;;;EASlE;AAED,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrG;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IACJ,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5B,aAAa,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CAChC,GACA,OAAO,CAAC,QAAQ,CAAC,CA0BnB"}
@@ -62,4 +62,36 @@ export function readSourceId(column, index) {
62
62
  const v = column?.[index];
63
63
  return v && v !== ABSENT_SOURCE_ID ? v : undefined;
64
64
  }
65
+ /**
66
+ * The canonical per-mesh transform metadata, spread into the `MeshData` literal.
67
+ *
68
+ * `origin` is omitted when the frame IS the world origin and `geometry_class`
69
+ * when it is 0 (occurrence), so a world-baked mesh decodes to exactly the shape
70
+ * it had before these columns existed — and to the same shape on every
71
+ * transport (JSON, standard Parquet, optimized Parquet).
72
+ */
73
+ export function transformFields(index, cols) {
74
+ // A usable column can still carry a non-finite VALUE at this row. `||` alone
75
+ // misses it: an all-NaN triplet is already dropped, but a PARTIAL one
76
+ // (`[NaN, 5, 0]`) is truthy and the NaN would poison bounds math. Not a
77
+ // throw -- this file throws only for STRUCTURAL malformation.
78
+ const ox = cols.originX?.[index];
79
+ const oy = cols.originY?.[index];
80
+ const oz = cols.originZ?.[index];
81
+ const originFinite = Number.isFinite(ox) && Number.isFinite(oy) && Number.isFinite(oz);
82
+ const origin = originFinite && (ox || oy || oz) ? [ox, oy, oz] : undefined;
83
+ const geometry_class = cols.geometryClass?.[index] || undefined;
84
+ // Sentinel, not null (#3215): a nullable column's values buffer is undefined
85
+ // at null rows and parquet-wasm 0.7.x leaks the NEIGHBOURING row's id into it
86
+ // -- a material-less mesh decoded as `material_id: 902`, a real-looking id
87
+ // for another entity. Non-nullable means no validity bitmap to leak.
88
+ const geometry_item_id = readSourceId(cols.geometryItemId, index);
89
+ const material_id = readSourceId(cols.materialId, index);
90
+ return {
91
+ ...(origin ? { origin } : {}),
92
+ ...(geometry_class ? { geometry_class } : {}),
93
+ ...(geometry_item_id ? { geometry_item_id } : {}),
94
+ ...(material_id ? { material_id } : {}),
95
+ };
96
+ }
65
97
  //# sourceMappingURL=parquet-columns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-columns.js","sourceRoot":"","sources":["../src/parquet-columns.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,sEAAsE;AACtE,4DAA4D;AAe5D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAE3C,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,KAAqB,EAAE,IAAY;IAC/D,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAqB,EACrB,IAAY,EACZ,QAAgB;IAEhB,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAqB,EAAE,QAAgB;IACjE,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC;QAClD,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC;QAClD,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC;QAClD,aAAa,EAAE,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,CAAC;QAC9D,cAAc,EAAE,YAAY,CAAC,KAAK,EAAE,kBAAkB,EAAE,QAAQ,CAAC;QACjE,UAAU,EAAE,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,YAAY,CAAC,MAAqC,EAAE,KAAa;IAC/E,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"parquet-columns.js","sourceRoot":"","sources":["../src/parquet-columns.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,sEAAsE;AACtE,4DAA4D;AAiB5D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAE3C,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,KAAqB,EAAE,IAAY;IAC/D,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAqB,EACrB,IAAY,EACZ,QAAgB;IAEhB,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAqB,EAAE,QAAgB;IACjE,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC;QAClD,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC;QAClD,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC;QAClD,aAAa,EAAE,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,CAAC;QAC9D,cAAc,EAAE,YAAY,CAAC,KAAK,EAAE,kBAAkB,EAAE,QAAQ,CAAC;QACjE,UAAU,EAAE,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,YAAY,CAAC,MAAqC,EAAE,KAAa;IAC/E,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,IAOC;IAED,6EAA6E;IAC7E,sEAAsE;IACtE,wEAAwE;IACxE,8DAA8D;IAC9D,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvF,MAAM,MAAM,GACV,YAAY,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAA8B,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;IAEhE,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,qEAAqE;IACrE,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAEzD,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC"}
@@ -5,13 +5,14 @@
5
5
  * Uses parquet-wasm for efficient Parquet parsing in the browser.
6
6
  */
7
7
  import type { MeshData } from './types.js';
8
+ type ParquetModule = typeof import('parquet-wasm');
8
9
  /**
9
10
  * Ensure parquet-wasm WASM module is initialized.
10
11
  * This MUST be called before using any parquet functions.
11
12
  *
12
13
  * @returns Initialized parquet-wasm module
13
14
  */
14
- export declare function ensureParquetInit(): Promise<typeof import("parquet-wasm/esm/arrow2.js")>;
15
+ export declare function ensureParquetInit(): Promise<ParquetModule>;
15
16
  /**
16
17
  * Decode a Parquet geometry response from the server.
17
18
  *
@@ -49,4 +50,5 @@ export declare function isParquetAvailable(): Promise<boolean>;
49
50
  * @returns Decoded MeshData array
50
51
  */
51
52
  export declare function decodeOptimizedParquetGeometry(data: ArrayBuffer, vertexMultiplier?: number): Promise<MeshData[]>;
53
+ export {};
52
54
  //# sourceMappingURL=parquet-decoder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-decoder.d.ts","sourceRoot":"","sources":["../src/parquet-decoder.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAS3C;;;;;GAKG;AACH,wBAAsB,iBAAiB,yDA6EtC;AAkBD;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CA2ClF;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAS3D;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,WAAW,EACjB,gBAAgB,GAAE,MAAc,GAC/B,OAAO,CAAC,QAAQ,EAAE,CAAC,CAqErB"}
1
+ {"version":3,"file":"parquet-decoder.d.ts","sourceRoot":"","sources":["../src/parquet-decoder.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQ3C,KAAK,aAAa,GAAG,cAAc,cAAc,CAAC,CAAC;AAGnD;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,aAAa,CAAC,CAQhE;AAkDD;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CA2ClF;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAS3D;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,WAAW,EACjB,gBAAgB,GAAE,MAAc,GAC/B,OAAO,CAAC,QAAQ,EAAE,CAAC,CA4ErB"}
@@ -2,10 +2,7 @@
2
2
  // License, v. 2.0. If a copy of the MPL was not distributed with this
3
3
  // file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
4
  import { buildMeshesFromTables, buildMeshesFromOptimizedTables } from './parquet-tables.js';
5
- // Ambient types in vendor-types.d.ts cover parquet-wasm and apache-arrow APIs.
6
- // WASM initialization state
7
- let parquetInitialized = false;
8
- let parquetModule = null;
5
+ let parquetInit = null;
9
6
  /**
10
7
  * Ensure parquet-wasm WASM module is initialized.
11
8
  * This MUST be called before using any parquet functions.
@@ -13,73 +10,39 @@ let parquetModule = null;
13
10
  * @returns Initialized parquet-wasm module
14
11
  */
15
12
  export async function ensureParquetInit() {
16
- if (parquetInitialized && parquetModule) {
17
- return parquetModule;
18
- }
19
- console.log('[parquet-decoder] Starting WASM initialization...');
20
- let parquet;
21
- // Strategy 1: Try ESM build with explicit WASM URL (works with Vite)
22
- try {
23
- parquet = await import('parquet-wasm/esm/arrow2.js');
24
- console.log('[parquet-decoder] Imported ESM build');
25
- // ESM build requires calling init (default export) to load WASM
26
- if (typeof parquet.default === 'function') {
27
- console.log('[parquet-decoder] Calling ESM init to load WASM...');
28
- // Get the WASM file URL - Vite handles this with ?url suffix
29
- const wasmModule = await import('parquet-wasm/esm/arrow2_bg.wasm?url');
30
- const wasmUrl = wasmModule.default;
31
- console.log('[parquet-decoder] Loading WASM from:', wasmUrl);
32
- // Pass the URL to init so it can fetch the WASM correctly
33
- await parquet.default(wasmUrl);
34
- console.log('[parquet-decoder] ESM WASM initialized');
35
- }
36
- if (typeof parquet.readParquet === 'function') {
37
- parquetModule = parquet;
38
- parquetInitialized = true;
39
- console.log('[parquet-decoder] ESM build ready with readParquet');
40
- return parquet;
41
- }
42
- else {
43
- console.warn('[parquet-decoder] ESM build initialized but readParquet not found');
44
- }
45
- }
46
- catch (e) {
47
- console.warn('[parquet-decoder] ESM import failed:', e);
48
- }
49
- // Strategy 2: Try web build with fetch (alternative for browsers)
50
- try {
51
- parquet = await import('parquet-wasm/esm/arrow2.js');
52
- if (typeof parquet.default === 'function') {
53
- console.log('[parquet-decoder] Trying web init with node_modules path...');
54
- // Try common paths where WASM might be served
55
- const wasmPaths = [
56
- '/node_modules/parquet-wasm/esm/arrow2_bg.wasm',
57
- './node_modules/parquet-wasm/esm/arrow2_bg.wasm',
58
- ];
59
- for (const wasmPath of wasmPaths) {
60
- try {
61
- const response = await fetch(wasmPath);
62
- if (response.ok) {
63
- console.log('[parquet-decoder] Found WASM at:', wasmPath);
64
- await parquet.default(response);
65
- if (typeof parquet.readParquet === 'function') {
66
- parquetModule = parquet;
67
- parquetInitialized = true;
68
- console.log('[parquet-decoder] Web init successful');
69
- return parquet;
70
- }
71
- }
72
- }
73
- catch {
74
- // Try next path
75
- }
76
- }
77
- }
13
+ parquetInit ?? (parquetInit = loadParquet().catch((err) => {
14
+ // Do not cache a failed init: a later call (e.g. after the WASM asset
15
+ // becomes reachable) should be able to try again.
16
+ parquetInit = null;
17
+ throw err;
18
+ }));
19
+ return parquetInit;
20
+ }
21
+ async function loadParquet() {
22
+ // Import the package entry point and let its export map choose the build.
23
+ // Deep-importing a build (this module used `parquet-wasm/esm/arrow2.js`)
24
+ // breaks on parquet-wasm 0.6+, where that path no longer exists (#3845).
25
+ const parquet = await import('parquet-wasm');
26
+ // The browser/bundler ESM build does nothing until its default export is
27
+ // awaited; without it every call throws `Cannot read properties of
28
+ // undefined (reading '__wbindgen_malloc')`. The Node build initializes
29
+ // itself on import and exposes no default init, hence the guard rather
30
+ // than an unconditional call. Same shape as
31
+ // packages/export/src/columns-to-parquet.ts.
32
+ //
33
+ // The cast is the price of that guard: TypeScript resolves the export map
34
+ // under the `node` condition, so it only ever sees the Node build's types,
35
+ // where `default` is the CommonJS namespace object and not callable. Which
36
+ // build actually loads is a runtime question, so ask at runtime.
37
+ const init = parquet.default;
38
+ if (typeof init === 'function') {
39
+ await init();
78
40
  }
79
- catch (e2) {
80
- console.warn('[parquet-decoder] Web init failed:', e2);
41
+ if (typeof parquet.readParquet !== 'function') {
42
+ throw new Error('parquet-wasm: module loaded but readParquet is missing. ' +
43
+ 'Install a supported parquet-wasm version (see this package\'s peerDependencies).');
81
44
  }
82
- throw new Error('parquet-wasm: Could not load WASM module. Ensure parquet-wasm is installed and WASM files are accessible.');
45
+ return parquet;
83
46
  }
84
47
  /**
85
48
  * Decode a Parquet geometry response from the server.
@@ -177,9 +140,15 @@ export async function decodeOptimizedParquetGeometry(data, vertexMultiplier = 10
177
140
  // Read header
178
141
  const version = view.getUint8(offset);
179
142
  offset += 1;
180
- if (version !== 2) {
143
+ // v2: no rotation columns (pre-#3575), every instance decodes as identity.
144
+ // v3: instance table carries rot0..rot8 (#3575) — `readRotationColumns`
145
+ // (parquet-tables.ts) reads them when present; `buildMeshesFromOptimizedTables`
146
+ // rejects a v3 payload that omits/truncates them (malformed wire data),
147
+ // rather than silently falling back to identity as it would for v2.
148
+ if (version !== 2 && version !== 3) {
181
149
  throw new Error(`Unsupported optimized Parquet version: ${version}`);
182
150
  }
151
+ const wireVersion = version;
183
152
  const flags = view.getUint8(offset);
184
153
  offset += 1;
185
154
  const hasNormals = (flags & 1) !== 0;
@@ -225,6 +194,7 @@ export async function decodeOptimizedParquetGeometry(data, vertexMultiplier = 10
225
194
  indexArrow,
226
195
  hasNormals,
227
196
  vertexMultiplier,
197
+ wireVersion,
228
198
  });
229
199
  }
230
200
  //# sourceMappingURL=parquet-decoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-decoder.js","sourceRoot":"","sources":["../src/parquet-decoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parquet-decoder.js","sourceRoot":"","sources":["../src/parquet-decoder.ts"],"names":[],"mappings":"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"}