@ifc-lite/server-client 2.2.0 → 3.0.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.
package/README.md CHANGED
@@ -91,6 +91,57 @@ import { decodeParquetGeometry } from '@ifc-lite/server-client';
91
91
  const meshes = await decodeParquetGeometry(arrayBuffer);
92
92
  ```
93
93
 
94
+ ## Which frame the meshes are in
95
+
96
+ The one-shot parse responses and the Parquet metadata headers carry
97
+ `mesh_coordinate_space`, the frame the server baked the vertices into
98
+ (`parseParquetStream`'s events do not carry it):
99
+
100
+ | Value | What was subtracted |
101
+ |---|---|
102
+ | `site_local` | the `IfcSite` placement's translation, and its rotation removed |
103
+ | `model_rtc` | a detected model-level anchor; no rotation removed |
104
+ | `raw_ifc` | nothing; vertices are in raw IFC world space |
105
+
106
+ It is typed `MeshCoordinateSpace | undefined`, so a `switch` over the three is
107
+ exhaustive. **Absent means the server did not say** - either it predates the
108
+ tag, or it sent a value outside the three, which this client drops (with a
109
+ console warning) rather than passing off as a tier. Handle absence; do not
110
+ treat it as `raw_ifc`.
111
+
112
+ ```typescript
113
+ import {
114
+ asMeshCoordinateSpace,
115
+ IfcServerClient,
116
+ MESH_COORDINATE_SPACES,
117
+ withNarrowedCoordinateSpace,
118
+ type MeshCoordinateSpace,
119
+ } from '@ifc-lite/server-client';
120
+
121
+ const client = new IfcServerClient({ baseUrl: 'https://your-server.com' });
122
+ const result = await client.parseParquet(file);
123
+
124
+ switch (result.mesh_coordinate_space) {
125
+ case 'site_local': /* result.site_transform puts it back in world space */ break;
126
+ case 'model_rtc': /* metadata.coordinate_info.origin_shift is the anchor */ break;
127
+ case 'raw_ifc': /* already world space */ break;
128
+ case undefined: /* the server did not declare one */ break;
129
+ }
130
+
131
+ // Going the other way, from a string you got from somewhere else:
132
+ const fromElsewhere: unknown = 'site_local';
133
+ const space: MeshCoordinateSpace | undefined = asMeshCoordinateSpace(fromElsewhere);
134
+
135
+ // And for a wire object you parsed yourself, e.g. a cached JSON response.
136
+ // It MUTATES the object and hands it back with the tag retyped:
137
+ const checked = withNarrowedCoordinateSpace<{ mesh_coordinate_space?: unknown }>(
138
+ JSON.parse('{"mesh_coordinate_space":"raw_ifc"}')
139
+ );
140
+
141
+ // readonly ['site_local', 'model_rtc', 'raw_ifc']
142
+ console.log(space, checked.mesh_coordinate_space, MESH_COORDINATE_SPACES);
143
+ ```
144
+
94
145
  ## API
95
146
 
96
147
  See the [Server Guide](https://ifclite.dev/docs/guide/server/) and [API Reference](https://ifclite.dev/docs/api/typescript/#ifc-liteserver-client).
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { HealthResponse, MetadataResponse, OptimizedParquetParseResponse, ParquetBatch, ParquetParseResponse, ParquetStreamResult, ParseResponse, ServerConfig, StreamEvent, SymbolicData } from './types.js';
1
+ import { type HealthResponse, type MetadataResponse, type OptimizedParquetParseResponse, type ParquetBatch, type ParquetParseResponse, type ParquetStreamResult, type ParseResponse, type ServerConfig, type StreamEvent, type SymbolicData } from './types.js';
2
2
  /**
3
3
  * Client for the IFC-Lite Server API.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,cAAc,EACd,gBAAgB,EAEhB,6BAA6B,EAC7B,YAAY,EAEZ,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AAiEpB;;;;;;;;;;;;;;;;;GAiBG;AACH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;CACxE;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,4DAA4D;AAC5D,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAChC,OAAO,CAAC,OAAO,CAAS;IAExB;;;;OAIG;gBACS,MAAM,EAAE,YAAY;IAMhC;;;OAGG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAYvC;;;;;;;;;;;;;;;;OAgBG;IACG,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAsB5F;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAoC1G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACG,kBAAkB,CACtB,IAAI,EAAE,IAAI,GAAG,WAAW,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,EACtC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,mBAAmB,CAAC;IAuF/B;;;OAGG;YACW,mBAAmB;IAkCjC;;;OAGG;YACW,uBAAuB;IA2DrC;;;OAGG;YACW,oBAAoB;IAoElC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IA2CpF;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IA4CpF;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IA6D5H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACI,WAAW,CAChB,IAAI,EAAE,IAAI,GAAG,WAAW,EACxB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,cAAc,CAAC,WAAW,CAAC;IAiF9B;;;;;;;;;;;;;;;OAeG;IACG,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsBtE;;;;;;;;;;;;;;;;;;OAkBG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAiB3D;;OAEG;YACW,WAAW;CAQ1B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EAErB,KAAK,6BAA6B,EAClC,KAAK,YAAY,EAEjB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAiEpB;;;;;;;;;;;;;;;;;GAiBG;AACH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;CACxE;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,4DAA4D;AAC5D,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAChC,OAAO,CAAC,OAAO,CAAS;IAExB;;;;OAIG;gBACS,MAAM,EAAE,YAAY;IAMhC;;;OAGG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAYvC;;;;;;;;;;;;;;;;OAgBG;IACG,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAsB5F;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAoC1G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACG,kBAAkB,CACtB,IAAI,EAAE,IAAI,GAAG,WAAW,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,EACtC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,mBAAmB,CAAC;IAuF/B;;;OAGG;YACW,mBAAmB;IAkCjC;;;OAGG;YACW,uBAAuB;IA2DrC;;;OAGG;YACW,oBAAoB;IAoElC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IA2CpF;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IA4CpF;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IA6D5H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACI,WAAW,CAChB,IAAI,EAAE,IAAI,GAAG,WAAW,EACxB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,cAAc,CAAC,WAAW,CAAC;IAiF9B;;;;;;;;;;;;;;;OAeG;IACG,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsBtE;;;;;;;;;;;;;;;;;;OAkBG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAiB3D;;OAEG;YACW,WAAW;CAQ1B"}
package/dist/client.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // This Source Code Form is subject to the terms of the Mozilla Public
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
+ import { withNarrowedCoordinateSpace, } from './types.js';
4
5
  import { decodeParquetGeometry, decodeOptimizedParquetGeometry, isParquetAvailable } from './parquet-decoder.js';
5
6
  import { parseQuery } from './parse-query.js';
6
7
  import { consumeParquetStream, STREAM_ENDED_WITHOUT_TERMINAL_EVENT, } from './parquet-stream-events.js';
@@ -125,7 +126,7 @@ export class IfcServerClient {
125
126
  if (!response.ok) {
126
127
  throw await this.handleError(response);
127
128
  }
128
- return response.json();
129
+ return withNarrowedCoordinateSpace(await response.json());
129
130
  }
130
131
  /**
131
132
  * Parse IFC file and return geometry in Parquet format.
@@ -311,7 +312,7 @@ export class IfcServerClient {
311
312
  if (!metadataHeader) {
312
313
  throw new Error('Missing X-IFC-Metadata header in cached geometry response');
313
314
  }
314
- const metadata = JSON.parse(metadataHeader);
315
+ const metadata = withNarrowedCoordinateSpace(JSON.parse(metadataHeader));
315
316
  // Get binary payload
316
317
  const payloadBuffer = await response.arrayBuffer();
317
318
  const payloadSize = payloadBuffer.byteLength;
@@ -358,7 +359,7 @@ export class IfcServerClient {
358
359
  if (!metadataHeader) {
359
360
  throw new Error('Missing X-IFC-Metadata header in Parquet response');
360
361
  }
361
- const metadata = JSON.parse(metadataHeader);
362
+ const metadata = withNarrowedCoordinateSpace(JSON.parse(metadataHeader));
362
363
  // Sanity check: the server cache key is the file hash plus request
363
364
  // suffixes (`{hash}-{opening_filter}[-q{level}]`), so verify derivation,
364
365
  // not equality — the old equality check warned on every fresh upload.
@@ -625,7 +626,7 @@ export class IfcServerClient {
625
626
  if (!metadataHeader) {
626
627
  throw new Error('Missing X-IFC-Metadata header in optimized Parquet response');
627
628
  }
628
- const metadata = JSON.parse(metadataHeader);
629
+ const metadata = withNarrowedCoordinateSpace(JSON.parse(metadataHeader));
629
630
  // Get binary payload
630
631
  const payloadBuffer = await response.arrayBuffer();
631
632
  const payloadSize = payloadBuffer.byteLength;
@@ -817,7 +818,7 @@ export class IfcServerClient {
817
818
  if (!response.ok) {
818
819
  throw await this.handleError(response);
819
820
  }
820
- return response.json();
821
+ return withNarrowedCoordinateSpace(await response.json());
821
822
  }
822
823
  /**
823
824
  * Handle error responses from the server.
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * The coordinate-space tag, on the TypeScript side of the wire (#4611).
3
+ *
4
+ * The server's `MeshCoordinateSpace` (`rust/processing/src/mesh_frame.rs`) is a
5
+ * three-variant enum whose `serde` attribute spells the wire form, and the ffi,
6
+ * export and Python consumers all read it as that enum. Every TypeScript field
7
+ * that carried it was typed `string`, so the three tiers lived in a doc comment
8
+ * and nothing — not the compiler, not a runtime check — kept a fourth value out.
9
+ * A consumer writing `if (space === 'site_local')` got no help from the type,
10
+ * and a server sending the Rust variant name (`SiteLocal`, which the Rust
11
+ * deserializer itself rejects: see `mesh_frame.rs`'s `from_str` test) reached
12
+ * that consumer looking exactly like a tag it should honour.
13
+ */
14
+ /** The three tiers, in the order `MeshCoordinateSpace` declares them. */
15
+ export declare const MESH_COORDINATE_SPACES: readonly ["site_local", "model_rtc", "raw_ifc"];
16
+ /**
17
+ * Which frame serialized mesh vertices are expressed in.
18
+ *
19
+ * - `site_local`: the `IfcSite` placement's translation was subtracted and its
20
+ * rotation removed.
21
+ * - `model_rtc`: a detected model-level anchor was subtracted; no rotation.
22
+ * - `raw_ifc`: nothing was subtracted.
23
+ *
24
+ * A response field of this type is optional, and absent means "this server did
25
+ * not say" — either it predates the tag, or it sent something outside the three
26
+ * (see {@link asMeshCoordinateSpace}). Absence is the case every consumer has
27
+ * had to handle since the field was introduced, which is why an unrecognised
28
+ * value resolves to it rather than to a guess.
29
+ */
30
+ export type MeshCoordinateSpace = (typeof MESH_COORDINATE_SPACES)[number];
31
+ /** The tag when `value` is one of the three tiers, `undefined` otherwise. */
32
+ export declare function asMeshCoordinateSpace(value: unknown): MeshCoordinateSpace | undefined;
33
+ /**
34
+ * Earn the narrowed type on a freshly parsed wire object: drop a
35
+ * `mesh_coordinate_space` that is not one of the three tiers, say so, and hand
36
+ * the object back with the field RETYPED, so a caller can wrap its
37
+ * `JSON.parse` in place and get a value the compiler agrees about.
38
+ *
39
+ * The return type is the point, not decoration. `JSON.parse` hands back `any`
40
+ * and a hand-written wire interface can carry the field as `string`; returning
41
+ * the argument's own `T` would hand that straight back and the caller would
42
+ * still be holding a `string` the type system believes.
43
+ *
44
+ * Intersection rather than `Omit`, and that is not a style choice: `Omit` is
45
+ * NOT distributive, so applied to a union it collapses to the shared keys and
46
+ * a caller holding `ParquetParseResponse | OptimizedParquetParseResponse`
47
+ * would lose every property the two do not share. An intersection distributes
48
+ * (`(A | B) & X` is `(A & X) | (B & X)`), and `string & MeshCoordinateSpace`
49
+ * reduces to the union, so the field comes out narrowed and the rest of the
50
+ * shape comes out untouched.
51
+ *
52
+ * MUTATES `wire` and returns that same object: it is called on what this
53
+ * client just built from `JSON.parse`, so mutating in place is cheaper than
54
+ * copying a response that carries every mesh, and the object is not shared
55
+ * with anyone yet. A caller passing an object it keeps a second reference to
56
+ * sees the field disappear from both, and a frozen object throws. Deleting rather than assigning
57
+ * `undefined` keeps "the server sent nothing" and "the server sent something
58
+ * unusable" indistinguishable to a consumer, which is what the type says.
59
+ */
60
+ export declare function withNarrowedCoordinateSpace<T extends {
61
+ mesh_coordinate_space?: unknown;
62
+ }>(wire: T): T & {
63
+ mesh_coordinate_space?: MeshCoordinateSpace;
64
+ };
65
+ //# sourceMappingURL=mesh-coordinate-space.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mesh-coordinate-space.d.ts","sourceRoot":"","sources":["../src/mesh-coordinate-space.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,yEAAyE;AACzE,eAAO,MAAM,sBAAsB,iDAAkD,CAAC;AAEtF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CAErF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,SAAS;IAAE,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAE,EACvF,IAAI,EAAE,CAAC,GACN,CAAC,GAAG;IAAE,qBAAqB,CAAC,EAAE,mBAAmB,CAAA;CAAE,CAYrD"}
@@ -0,0 +1,61 @@
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
+ * The coordinate-space tag, on the TypeScript side of the wire (#4611).
6
+ *
7
+ * The server's `MeshCoordinateSpace` (`rust/processing/src/mesh_frame.rs`) is a
8
+ * three-variant enum whose `serde` attribute spells the wire form, and the ffi,
9
+ * export and Python consumers all read it as that enum. Every TypeScript field
10
+ * that carried it was typed `string`, so the three tiers lived in a doc comment
11
+ * and nothing — not the compiler, not a runtime check — kept a fourth value out.
12
+ * A consumer writing `if (space === 'site_local')` got no help from the type,
13
+ * and a server sending the Rust variant name (`SiteLocal`, which the Rust
14
+ * deserializer itself rejects: see `mesh_frame.rs`'s `from_str` test) reached
15
+ * that consumer looking exactly like a tag it should honour.
16
+ */
17
+ /** The three tiers, in the order `MeshCoordinateSpace` declares them. */
18
+ export const MESH_COORDINATE_SPACES = ['site_local', 'model_rtc', 'raw_ifc'];
19
+ /** The tag when `value` is one of the three tiers, `undefined` otherwise. */
20
+ export function asMeshCoordinateSpace(value) {
21
+ return MESH_COORDINATE_SPACES.find((space) => space === value);
22
+ }
23
+ /**
24
+ * Earn the narrowed type on a freshly parsed wire object: drop a
25
+ * `mesh_coordinate_space` that is not one of the three tiers, say so, and hand
26
+ * the object back with the field RETYPED, so a caller can wrap its
27
+ * `JSON.parse` in place and get a value the compiler agrees about.
28
+ *
29
+ * The return type is the point, not decoration. `JSON.parse` hands back `any`
30
+ * and a hand-written wire interface can carry the field as `string`; returning
31
+ * the argument's own `T` would hand that straight back and the caller would
32
+ * still be holding a `string` the type system believes.
33
+ *
34
+ * Intersection rather than `Omit`, and that is not a style choice: `Omit` is
35
+ * NOT distributive, so applied to a union it collapses to the shared keys and
36
+ * a caller holding `ParquetParseResponse | OptimizedParquetParseResponse`
37
+ * would lose every property the two do not share. An intersection distributes
38
+ * (`(A | B) & X` is `(A & X) | (B & X)`), and `string & MeshCoordinateSpace`
39
+ * reduces to the union, so the field comes out narrowed and the rest of the
40
+ * shape comes out untouched.
41
+ *
42
+ * MUTATES `wire` and returns that same object: it is called on what this
43
+ * client just built from `JSON.parse`, so mutating in place is cheaper than
44
+ * copying a response that carries every mesh, and the object is not shared
45
+ * with anyone yet. A caller passing an object it keeps a second reference to
46
+ * sees the field disappear from both, and a frozen object throws. Deleting rather than assigning
47
+ * `undefined` keeps "the server sent nothing" and "the server sent something
48
+ * unusable" indistinguishable to a consumer, which is what the type says.
49
+ */
50
+ export function withNarrowedCoordinateSpace(wire) {
51
+ const raw = wire.mesh_coordinate_space;
52
+ if (raw !== undefined && asMeshCoordinateSpace(raw) === undefined) {
53
+ console.warn(`[client] Ignoring unrecognised mesh_coordinate_space ${JSON.stringify(raw)}; expected one of ${MESH_COORDINATE_SPACES.join(', ')}`);
54
+ delete wire.mesh_coordinate_space;
55
+ }
56
+ // The one cast a runtime guard exists to license: by here the field is
57
+ // absent or one of the three tiers. Scoped to this property rather than an
58
+ // `as unknown as`, so the rest of the shape is still checked.
59
+ return wire;
60
+ }
61
+ //# sourceMappingURL=mesh-coordinate-space.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mesh-coordinate-space.js","sourceRoot":"","sources":["../src/mesh-coordinate-space.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,sEAAsE;AACtE,4DAA4D;AAE5D;;;;;;;;;;;;GAYG;AAEH,yEAAyE;AACzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,CAAU,CAAC;AAkBtF,6EAA6E;AAC7E,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAAO;IAEP,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC;IACvC,IAAI,GAAG,KAAK,SAAS,IAAI,qBAAqB,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QAClE,OAAO,CAAC,IAAI,CACV,wDAAwD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpI,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IACD,uEAAuE;IACvE,2EAA2E;IAC3E,8DAA8D;IAC9D,OAAO,IAA2D,CAAC;AACrE,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import type { Georeferencing } from './georeferencing.js';
2
2
  export type { Georeferencing } from './georeferencing.js';
3
+ import type { MeshCoordinateSpace } from './mesh-coordinate-space.js';
4
+ export { MESH_COORDINATE_SPACES, asMeshCoordinateSpace, withNarrowedCoordinateSpace, type MeshCoordinateSpace } from './mesh-coordinate-space.js';
3
5
  /**
4
6
  * Configuration options for the IFC server client.
5
7
  */
@@ -169,10 +171,12 @@ export interface ParseResponse {
169
171
  /** All meshes extracted from the IFC file */
170
172
  meshes: MeshData[];
171
173
  /**
172
- * Coordinate space of serialized mesh vertices: `site_local`,
173
- * `model_rtc`, or `raw_ifc`. Absent on older servers.
174
+ * Coordinate space of serialized mesh vertices. Absent on older servers,
175
+ * and on a server that sent a value outside the three tiers (see
176
+ * [`MeshCoordinateSpace`]): the client refuses to pass an unrecognised tag
177
+ * off as one of them.
174
178
  */
175
- mesh_coordinate_space?: string;
179
+ mesh_coordinate_space?: MeshCoordinateSpace;
176
180
  /** IfcSite ObjectPlacement as a column-major 4×4 matrix (metres). */
177
181
  site_transform?: number[];
178
182
  /** IfcBuilding ObjectPlacement as a column-major 4×4 matrix (metres). */
@@ -289,8 +293,9 @@ export interface ParquetMetadataHeader {
289
293
  metadata: ModelMetadata;
290
294
  /** Processing statistics */
291
295
  stats: ProcessingStats;
292
- /** Declares the coordinate space used by serialized mesh vertices. */
293
- mesh_coordinate_space?: string;
296
+ /** Declares the coordinate space used by serialized mesh vertices; absent
297
+ * when the server did not say, or said something outside the three tiers. */
298
+ mesh_coordinate_space?: MeshCoordinateSpace;
294
299
  /** IfcSite ObjectPlacement as a column-major 4x4 matrix (in meters). */
295
300
  site_transform?: number[];
296
301
  /** IfcBuilding ObjectPlacement as a column-major 4x4 matrix (in meters). */
@@ -311,8 +316,9 @@ export interface ParquetParseResponse {
311
316
  cache_key: string;
312
317
  /** All meshes extracted from the IFC file */
313
318
  meshes: MeshData[];
314
- /** Declares the coordinate space used by serialized mesh vertices. */
315
- mesh_coordinate_space?: string;
319
+ /** Declares the coordinate space used by serialized mesh vertices; absent
320
+ * when the server did not say, or said something outside the three tiers. */
321
+ mesh_coordinate_space?: MeshCoordinateSpace;
316
322
  /** IfcSite ObjectPlacement as a column-major 4x4 matrix (in meters). */
317
323
  site_transform?: number[];
318
324
  /** IfcBuilding ObjectPlacement as a column-major 4x4 matrix (in meters). */
@@ -356,8 +362,9 @@ export interface OptimizedParquetMetadataHeader {
356
362
  metadata: ModelMetadata;
357
363
  /** Processing statistics */
358
364
  stats: ProcessingStats;
359
- /** Declares the coordinate space used by serialized mesh vertices. */
360
- mesh_coordinate_space?: string;
365
+ /** Declares the coordinate space used by serialized mesh vertices; absent
366
+ * when the server did not say, or said something outside the three tiers. */
367
+ mesh_coordinate_space?: MeshCoordinateSpace;
361
368
  /** IfcSite ObjectPlacement as a column-major 4x4 matrix (in meters). */
362
369
  site_transform?: number[];
363
370
  /** IfcBuilding ObjectPlacement as a column-major 4x4 matrix (in meters). */
@@ -375,8 +382,9 @@ export interface OptimizedParquetParseResponse {
375
382
  cache_key: string;
376
383
  /** All meshes extracted from the IFC file */
377
384
  meshes: MeshData[];
378
- /** Declares the coordinate space used by serialized mesh vertices. */
379
- mesh_coordinate_space?: string;
385
+ /** Declares the coordinate space used by serialized mesh vertices; absent
386
+ * when the server did not say, or said something outside the three tiers. */
387
+ mesh_coordinate_space?: MeshCoordinateSpace;
380
388
  /** IfcSite ObjectPlacement as a column-major 4x4 matrix (in meters). */
381
389
  site_transform?: number[];
382
390
  /** IfcBuilding ObjectPlacement as a column-major 4x4 matrix (in meters). */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,SAAS,EAAE,YAAY,CAAC;IACxB,sDAAsD;IACtD,OAAO,EAAE,YAAY,CAAC;IACtB,uBAAuB;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,2CAA2C;IAC3C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,cAAc,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oCAAoC;IACpC,eAAe,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8DAA8D;IAC9D,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,0CAA0C;IAC1C,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,0CAA0C;IAC1C,gBAAgB,EAAE,MAAM,CAAC;IACzB,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iEAAiE;IACjE,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;CAC5C;AAMD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,cAAc,iCAAiC,CAAC;AAoBhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,cAAc,qBAAqB,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,qBAAqB;IACrB,QAAQ,EAAE,aAAa,CAAC;IACxB,4BAA4B;IAC5B,KAAK,EAAE,eAAe,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B;AAED,4CAA4C;AAC5C,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,uHAAuH;IACvH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yHAAyH;IACzH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,6BAA6B;AAC7B,MAAM,WAAW,cAAc;IAC7B,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,gBAAgB,GAChB,mBAAmB,GACnB,gBAAgB,GAChB,mBAAmB,GACnB,gBAAgB,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,2BAA2B;IAC3B,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,kCAAkC;IAClC,KAAK,EAAE,eAAe,CAAC;IACvB,qBAAqB;IACrB,QAAQ,EAAE,aAAa,CAAC;IACxB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,QAAQ,EAAE,aAAa,CAAC;IACxB,4BAA4B;IAC5B,KAAK,EAAE,eAAe,CAAC;IACvB,sEAAsE;IACtE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,sEAAsE;IACtE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,qBAAqB;IACrB,QAAQ,EAAE,aAAa,CAAC;IACxB,4BAA4B;IAC5B,KAAK,EAAE,eAAe,CAAC;IACvB,4CAA4C;IAC5C,aAAa,EAAE;QACb,uCAAuC;QACvC,YAAY,EAAE,MAAM,CAAC;QACrB,uCAAuC;QACvC,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,oDAAoD;IACpD,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,gBAAgB,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,QAAQ,EAAE,aAAa,CAAC;IACxB,4BAA4B;IAC5B,KAAK,EAAE,eAAe,CAAC;IACvB,sEAAsE;IACtE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,8BAA8B;IAC9B,kBAAkB,EAAE,iBAAiB,CAAC;IACtC,8EAA8E;IAC9E,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,sEAAsE;IACtE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,qBAAqB;IACrB,QAAQ,EAAE,aAAa,CAAC;IACxB,4BAA4B;IAC5B,KAAK,EAAE,eAAe,CAAC;IACvB,8BAA8B;IAC9B,kBAAkB,EAAE,iBAAiB,CAAC;IACtC,4BAA4B;IAC5B,aAAa,EAAE;QACb,uCAAuC;QACvC,YAAY,EAAE,MAAM,CAAC;QACrB,uCAAuC;QACvC,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAMD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,uBAAuB,GACvB,0BAA0B,GAC1B,uBAAuB,GACvB,0BAA0B,GAC1B,uBAAuB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,UAAU,CAAC;IACjB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,UAAU,CAAC;IACjB,kCAAkC;IAClC,KAAK,EAAE,eAAe,CAAC;IACvB,qBAAqB;IACrB,QAAQ,EAAE,aAAa,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,KAAK,EAAE,eAAe,CAAC;IACvB,qBAAqB;IACrB,QAAQ,EAAE,aAAa,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // This Source Code Form is subject to the terms of the Mozilla Public
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
+ export { MESH_COORDINATE_SPACES, asMeshCoordinateSpace, withNarrowedCoordinateSpace } from './mesh-coordinate-space.js';
4
5
  export * from './geometry-diagnostics-types.js';
5
6
  export * from './symbolic-types.js';
6
7
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,sEAAsE;AACtE,4DAA4D;AA2K5D,cAAc,iCAAiC,CAAC;AAqBhD,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,sEAAsE;AACtE,4DAA4D;AAK5D,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,2BAA2B,EAA4B,MAAM,4BAA4B,CAAC;AAwKlJ,cAAc,iCAAiC,CAAC;AAqBhD,cAAc,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/server-client",
3
- "version": "2.2.0",
3
+ "version": "3.0.0",
4
4
  "description": "TypeScript client SDK for IFC-Lite Server",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",