@ifc-lite/geometry 1.2.1 → 1.5.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.
@@ -1,6 +1,12 @@
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
+ /**
5
+ * IFC-Lite Mesh Collector - extracts triangle data from IFC-Lite WASM
6
+ * Replaces mesh-collector.ts - uses native Rust geometry processing (1.9x faster)
7
+ */
8
+ import { createLogger } from '@ifc-lite/data';
9
+ const log = createLogger('MeshCollector');
4
10
  export class IfcLiteMeshCollector {
5
11
  ifcApi;
6
12
  content;
@@ -22,56 +28,113 @@ export class IfcLiteMeshCollector {
22
28
  coords[i + 2] = -y; // New Z = -old Y (depth, negated for right-hand rule)
23
29
  }
24
30
  }
31
+ /**
32
+ * Reverse triangle winding order to correct for handedness flip.
33
+ * The Z-up to Y-up conversion includes a reflection (Z negation),
34
+ * which flips the handedness. This reverses winding to compensate,
35
+ * ensuring triangles face the correct direction after transformation.
36
+ */
37
+ reverseWindingOrder(indices) {
38
+ // Calculate last valid triangle index to avoid out-of-bounds access
39
+ const remainder = indices.length % 3;
40
+ const end = indices.length - remainder;
41
+ // Warn if indices array has trailing non-triangle entries
42
+ if (remainder !== 0) {
43
+ console.warn(`[reverseWindingOrder] Index buffer has ${remainder} trailing entries (not divisible by 3)`);
44
+ }
45
+ for (let i = 0; i < end; i += 3) {
46
+ // Swap second and third vertex of each triangle
47
+ const temp = indices[i + 1];
48
+ indices[i + 1] = indices[i + 2];
49
+ indices[i + 2] = temp;
50
+ }
51
+ }
25
52
  /**
26
53
  * Collect all meshes from IFC-Lite
27
54
  * Much faster than web-ifc (~1.9x speedup)
28
55
  */
29
56
  collectMeshes() {
30
- // const totalStart = performance.now();
31
- // const parseStart = performance.now();
32
- const collection = this.ifcApi.parseMeshes(this.content);
33
- // const parseTime = performance.now() - parseStart;
57
+ let collection;
58
+ try {
59
+ collection = this.ifcApi.parseMeshes(this.content);
60
+ }
61
+ catch (error) {
62
+ log.error('WASM mesh parsing failed', error, { operation: 'collectMeshes' });
63
+ throw error;
64
+ }
34
65
  const meshes = [];
35
- // const conversionStart = performance.now();
66
+ let failedMeshes = 0;
36
67
  // Convert MeshCollection to MeshData[]
37
68
  for (let i = 0; i < collection.length; i++) {
38
- const mesh = collection.get(i);
39
- if (!mesh)
40
- continue;
41
- // Get color array [r, g, b, a]
42
- const colorArray = mesh.color;
43
- const color = [
44
- colorArray[0],
45
- colorArray[1],
46
- colorArray[2],
47
- colorArray[3],
48
- ];
49
- // Capture arrays once (WASM creates new copies on each access)
50
- const positions = mesh.positions;
51
- const normals = mesh.normals;
52
- const indices = mesh.indices;
53
- // Convert IFC Z-up to WebGL Y-up (modify captured arrays)
54
- this.convertZUpToYUp(positions);
55
- this.convertZUpToYUp(normals);
56
- meshes.push({
57
- expressId: mesh.expressId,
58
- ifcType: mesh.ifcType,
59
- positions,
60
- normals,
61
- indices,
62
- color,
63
- });
64
- // Free the individual mesh to avoid memory leaks
65
- mesh.free();
69
+ let mesh = null;
70
+ try {
71
+ mesh = collection.get(i);
72
+ if (!mesh) {
73
+ failedMeshes++;
74
+ continue;
75
+ }
76
+ // Get color array [r, g, b, a]
77
+ const colorArray = mesh.color;
78
+ const color = [
79
+ colorArray[0],
80
+ colorArray[1],
81
+ colorArray[2],
82
+ colorArray[3],
83
+ ];
84
+ // Capture arrays once (WASM creates new copies on each access)
85
+ const positions = mesh.positions;
86
+ const normals = mesh.normals;
87
+ const indices = mesh.indices;
88
+ // Convert IFC Z-up to WebGL Y-up (modify captured arrays)
89
+ this.convertZUpToYUp(positions);
90
+ this.convertZUpToYUp(normals);
91
+ // Reverse winding order to compensate for handedness flip from Y negation
92
+ // Without this, triangles face the wrong way and get backface-culled
93
+ this.reverseWindingOrder(indices);
94
+ meshes.push({
95
+ expressId: mesh.expressId,
96
+ ifcType: mesh.ifcType,
97
+ positions,
98
+ normals,
99
+ indices,
100
+ color,
101
+ });
102
+ // Free the individual mesh to avoid memory leaks
103
+ mesh.free();
104
+ mesh = null; // Mark as freed
105
+ }
106
+ catch (error) {
107
+ failedMeshes++;
108
+ log.caught(`Failed to process mesh ${i}`, error, { operation: 'collectMeshes' });
109
+ // Ensure mesh is freed even on error
110
+ if (mesh) {
111
+ try {
112
+ mesh.free();
113
+ }
114
+ catch {
115
+ // Ignore errors during cleanup
116
+ }
117
+ }
118
+ }
66
119
  }
67
- // Store stats before freeing
68
- // const totalVertices = collection.totalVertices;
69
- // const totalTriangles = collection.totalTriangles;
120
+ // Extract building rotation before freeing collection
121
+ const buildingRotation = collection.buildingRotation ?? undefined;
70
122
  // Free the collection
71
123
  collection.free();
72
- // const conversionTime = performance.now() - conversionStart;
124
+ if (failedMeshes > 0) {
125
+ log.warn(`Skipped ${failedMeshes} meshes due to errors`, { operation: 'collectMeshes' });
126
+ }
127
+ log.debug(`Collected ${meshes.length} meshes`, { operation: 'collectMeshes' });
128
+ // Store building rotation for later use (will be added to CoordinateInfo)
129
+ this._buildingRotation = buildingRotation;
73
130
  return meshes;
74
131
  }
132
+ /**
133
+ * Get building rotation extracted from IfcSite placement
134
+ */
135
+ getBuildingRotation() {
136
+ return this._buildingRotation;
137
+ }
75
138
  /**
76
139
  * Collect meshes incrementally, yielding batches for progressive rendering
77
140
  * Uses fast-first-frame streaming: simple geometry (walls, slabs) first
@@ -82,12 +145,28 @@ export class IfcLiteMeshCollector {
82
145
  const batchQueue = [];
83
146
  let resolveWaiting = null;
84
147
  let isComplete = false;
148
+ let processingError = null;
85
149
  // Map to store color updates for pending batches
86
150
  const colorUpdates = new Map();
151
+ let totalMeshesProcessed = 0;
152
+ let failedMeshCount = 0;
87
153
  // Start async processing
88
154
  // NOTE: WASM now automatically defers style building for faster first frame
89
155
  const processingPromise = this.ifcApi.parseMeshesAsync(this.content, {
90
156
  batchSize,
157
+ onRtcOffset: (rtc) => {
158
+ // Emit RTC offset event so consumer can capture it
159
+ batchQueue.push({
160
+ type: 'rtcOffset',
161
+ rtcOffset: { x: rtc.x, y: rtc.y, z: rtc.z },
162
+ hasRtc: rtc.hasRtc,
163
+ });
164
+ // Wake up the generator if it's waiting
165
+ if (resolveWaiting) {
166
+ resolveWaiting();
167
+ resolveWaiting = null;
168
+ }
169
+ },
91
170
  onColorUpdate: (updates) => {
92
171
  // Store color updates
93
172
  for (const [expressId, color] of updates) {
@@ -108,48 +187,86 @@ export class IfcLiteMeshCollector {
108
187
  // Convert WASM meshes to MeshData[]
109
188
  const convertedBatch = [];
110
189
  for (const mesh of meshes) {
111
- // Use updated color if available, otherwise use mesh color
112
- const expressId = mesh.expressId;
113
- const color = colorUpdates.get(expressId) ?? [
114
- mesh.color[0],
115
- mesh.color[1],
116
- mesh.color[2],
117
- mesh.color[3],
118
- ];
119
- // Capture arrays once
120
- const positions = mesh.positions;
121
- const normals = mesh.normals;
122
- const indices = mesh.indices;
123
- // Convert IFC Z-up to WebGL Y-up
124
- this.convertZUpToYUp(positions);
125
- this.convertZUpToYUp(normals);
126
- convertedBatch.push({
127
- expressId,
128
- ifcType: mesh.ifcType,
129
- positions,
130
- normals,
131
- indices,
132
- color,
133
- });
134
- // Free the mesh to avoid memory leaks
135
- mesh.free();
190
+ try {
191
+ // Use updated color if available, otherwise use mesh color
192
+ const expressId = mesh.expressId;
193
+ const color = colorUpdates.get(expressId) ?? [
194
+ mesh.color[0],
195
+ mesh.color[1],
196
+ mesh.color[2],
197
+ mesh.color[3],
198
+ ];
199
+ // Capture arrays once
200
+ const positions = mesh.positions;
201
+ const normals = mesh.normals;
202
+ const indices = mesh.indices;
203
+ // Convert IFC Z-up to WebGL Y-up
204
+ this.convertZUpToYUp(positions);
205
+ this.convertZUpToYUp(normals);
206
+ // Reverse winding order to compensate for handedness flip from Y negation
207
+ this.reverseWindingOrder(indices);
208
+ convertedBatch.push({
209
+ expressId,
210
+ ifcType: mesh.ifcType,
211
+ positions,
212
+ normals,
213
+ indices,
214
+ color,
215
+ });
216
+ // Free the mesh to avoid memory leaks
217
+ mesh.free();
218
+ totalMeshesProcessed++;
219
+ }
220
+ catch (error) {
221
+ failedMeshCount++;
222
+ log.caught(`Failed to process mesh #${mesh.expressId}`, error, {
223
+ operation: 'collectMeshesStreaming',
224
+ entityId: mesh.expressId,
225
+ });
226
+ try {
227
+ mesh.free();
228
+ }
229
+ catch {
230
+ // Ignore free errors
231
+ }
232
+ }
136
233
  }
137
234
  // Add batch to queue
138
- batchQueue.push(convertedBatch);
235
+ if (convertedBatch.length > 0) {
236
+ batchQueue.push(convertedBatch);
237
+ }
139
238
  // Wake up the generator if it's waiting
140
239
  if (resolveWaiting) {
141
240
  resolveWaiting();
142
241
  resolveWaiting = null;
143
242
  }
144
243
  },
145
- onComplete: (_stats) => {
244
+ onComplete: (stats) => {
146
245
  isComplete = true;
246
+ // Store building rotation if present
247
+ if (stats.buildingRotation !== undefined) {
248
+ this._buildingRotation = stats.buildingRotation;
249
+ }
250
+ log.debug(`Streaming complete: ${stats.totalMeshes} meshes, ${stats.totalVertices} vertices, ${stats.totalTriangles} triangles`, {
251
+ operation: 'collectMeshesStreaming',
252
+ });
253
+ if (failedMeshCount > 0) {
254
+ log.warn(`Skipped ${failedMeshCount} meshes due to errors`, { operation: 'collectMeshesStreaming' });
255
+ }
147
256
  // Wake up the generator if it's waiting
148
257
  if (resolveWaiting) {
149
258
  resolveWaiting();
150
259
  resolveWaiting = null;
151
260
  }
152
261
  },
262
+ }).catch((error) => {
263
+ processingError = error instanceof Error ? error : new Error(String(error));
264
+ log.error('WASM streaming parsing failed', processingError, { operation: 'collectMeshesStreaming' });
265
+ isComplete = true;
266
+ if (resolveWaiting) {
267
+ resolveWaiting();
268
+ resolveWaiting = null;
269
+ }
153
270
  });
154
271
  // Yield batches as they become available
155
272
  while (true) {
@@ -157,6 +274,10 @@ export class IfcLiteMeshCollector {
157
274
  while (batchQueue.length > 0) {
158
275
  yield batchQueue.shift();
159
276
  }
277
+ // Check for errors
278
+ if (processingError) {
279
+ throw processingError;
280
+ }
160
281
  // Check if we're done
161
282
  if (isComplete && batchQueue.length === 0) {
162
283
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"ifc-lite-mesh-collector.js","sourceRoot":"","sources":["../src/ifc-lite-mesh-collector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ifc-lite-mesh-collector.js","sourceRoot":"","sources":["../src/ifc-lite-mesh-collector.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9C,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAsC1C,MAAM,OAAO,oBAAoB;IACvB,MAAM,CAAS;IACf,OAAO,CAAS;IAExB,YAAY,MAAc,EAAE,OAAe;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACK,eAAe,CAAC,MAAoB;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,4BAA4B;YAC5B,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,2BAA2B;YACnD,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAK,sDAAsD;QAChF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,mBAAmB,CAAC,OAAoB;QAC9C,oEAAoE;QACpE,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;QAEvC,0DAA0D;QAC1D,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,0CAA0C,SAAS,wCAAwC,CAAC,CAAC;QAC5G,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,gDAAgD;YAChD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAChC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,IAAI,UAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;YAC7E,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,uCAAuC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,IAAI,GAA6C,IAAI,CAAC;YAC1D,IAAI,CAAC;gBACH,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,YAAY,EAAE,CAAC;oBACf,SAAS;gBACX,CAAC;gBAED,+BAA+B;gBAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC9B,MAAM,KAAK,GAAqC;oBAC9C,UAAU,CAAC,CAAC,CAAC;oBACb,UAAU,CAAC,CAAC,CAAC;oBACb,UAAU,CAAC,CAAC,CAAC;oBACb,UAAU,CAAC,CAAC,CAAC;iBACd,CAAC;gBAEF,+DAA+D;gBAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAE7B,0DAA0D;gBAC1D,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAChC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAE9B,0EAA0E;gBAC1E,qEAAqE;gBACrE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAElC,MAAM,CAAC,IAAI,CAAC;oBACV,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,SAAS;oBACT,OAAO;oBACP,OAAO;oBACP,KAAK;iBACN,CAAC,CAAC;gBAEH,iDAAiD;gBACjD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,IAAI,GAAG,IAAI,CAAC,CAAC,gBAAgB;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,YAAY,EAAE,CAAC;gBACf,GAAG,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;gBACjF,qCAAqC;gBACrC,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC;wBACH,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,CAAC;oBAAC,MAAM,CAAC;wBACP,+BAA+B;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,IAAI,SAAS,CAAC;QAElE,sBAAsB;QACtB,UAAU,CAAC,IAAI,EAAE,CAAC;QAElB,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,IAAI,CAAC,WAAW,YAAY,uBAAuB,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;QAC3F,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,MAAM,SAAS,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;QAE/E,0EAA0E;QACzE,IAAY,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAEnD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAQ,IAAY,CAAC,iBAAiB,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,CAAC,sBAAsB,CAAC,YAAoB,EAAE;QAClD,mDAAmD;QACnD,MAAM,UAAU,GAAyE,EAAE,CAAC;QAC5F,IAAI,cAAc,GAAwB,IAAI,CAAC;QAC/C,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,eAAe,GAAiB,IAAI,CAAC;QACzC,iDAAiD;QACjD,MAAM,YAAY,GAAG,IAAI,GAAG,EAA4C,CAAC;QACzE,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,yBAAyB;QACzB,4EAA4E;QAC5E,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE;YACnE,SAAS;YACT,WAAW,EAAE,CAAC,GAAyD,EAAE,EAAE;gBACzE,mDAAmD;gBACnD,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;oBAC3C,MAAM,EAAE,GAAG,CAAC,MAAM;iBACnB,CAAC,CAAC;gBACH,wCAAwC;gBACxC,IAAI,cAAc,EAAE,CAAC;oBACnB,cAAc,EAAE,CAAC;oBACjB,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC;YACH,CAAC;YACD,aAAa,EAAE,CAAC,OAAsD,EAAE,EAAE;gBACxE,sBAAsB;gBACtB,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;oBACzC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBACrC,CAAC;gBACD,0BAA0B;gBAC1B,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC;iBAC1B,CAAC,CAAC;gBACH,wCAAwC;gBACxC,IAAI,cAAc,EAAE,CAAC;oBACnB,cAAc,EAAE,CAAC;oBACjB,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC;YACH,CAAC;YACD,OAAO,EAAE,CAAC,MAAoB,EAAE,SAA4B,EAAE,EAAE;gBAC9D,oCAAoC;gBACpC,MAAM,cAAc,GAAe,EAAE,CAAC;gBAEtC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;oBAC1B,IAAI,CAAC;wBACH,2DAA2D;wBAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBACjC,MAAM,KAAK,GAAqC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI;4BAC7E,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;4BACb,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;4BACb,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;4BACb,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;yBACd,CAAC;wBAEF,sBAAsB;wBACtB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;wBAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;wBAE7B,iCAAiC;wBACjC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;wBAChC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;wBAE9B,0EAA0E;wBAC1E,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;wBAElC,cAAc,CAAC,IAAI,CAAC;4BAClB,SAAS;4BACT,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,SAAS;4BACT,OAAO;4BACP,OAAO;4BACP,KAAK;yBACN,CAAC,CAAC;wBAEH,sCAAsC;wBACtC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACZ,oBAAoB,EAAE,CAAC;oBACzB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,eAAe,EAAE,CAAC;wBAClB,GAAG,CAAC,MAAM,CAAC,2BAA2B,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE;4BAC7D,SAAS,EAAE,wBAAwB;4BACnC,QAAQ,EAAE,IAAI,CAAC,SAAS;yBACzB,CAAC,CAAC;wBACH,IAAI,CAAC;4BACH,IAAI,CAAC,IAAI,EAAE,CAAC;wBACd,CAAC;wBAAC,MAAM,CAAC;4BACP,qBAAqB;wBACvB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,qBAAqB;gBACrB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAClC,CAAC;gBAED,wCAAwC;gBACxC,IAAI,cAAc,EAAE,CAAC;oBACnB,cAAc,EAAE,CAAC;oBACjB,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC;YACH,CAAC;YACD,UAAU,EAAE,CAAC,KAA0K,EAAE,EAAE;gBACzL,UAAU,GAAG,IAAI,CAAC;gBAElB,qCAAqC;gBACrC,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;oBACxC,IAAY,CAAC,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC;gBAC3D,CAAC;gBAED,GAAG,CAAC,KAAK,CAAC,uBAAuB,KAAK,CAAC,WAAW,YAAY,KAAK,CAAC,aAAa,cAAc,KAAK,CAAC,cAAc,YAAY,EAAE;oBAC/H,SAAS,EAAE,wBAAwB;iBACpC,CAAC,CAAC;gBACH,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;oBACxB,GAAG,CAAC,IAAI,CAAC,WAAW,eAAe,uBAAuB,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC,CAAC;gBACvG,CAAC;gBACD,wCAAwC;gBACxC,IAAI,cAAc,EAAE,CAAC;oBACnB,cAAc,EAAE,CAAC;oBACjB,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC;YACH,CAAC;SACF,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,eAAe,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5E,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC,CAAC;YACrG,UAAU,GAAG,IAAI,CAAC;YAClB,IAAI,cAAc,EAAE,CAAC;gBACnB,cAAc,EAAE,CAAC;gBACjB,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,yCAAyC;QACzC,OAAO,IAAI,EAAE,CAAC;YACZ,2BAA2B;YAC3B,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,UAAU,CAAC,KAAK,EAAG,CAAC;YAC5B,CAAC;YAED,mBAAmB;YACnB,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,eAAe,CAAC;YACxB,CAAC;YAED,sBAAsB;YACtB,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1C,MAAM;YACR,CAAC;YAED,wBAAwB;YACxB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,cAAc,GAAG,OAAO,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,gCAAgC;QAChC,MAAM,iBAAiB,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,CAAC,6BAA6B,CAClC,YAA0B;QAE1B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,iBAAiB,GAAe,EAAE,CAAC;QACvC,IAAI,gBAAgB,GAAG,YAAY,EAAE,CAAC;QAEtC,sDAAsD;QACtD,gFAAgF;QAChF,6EAA6E;QAC7E,MAAM,aAAa,GAAG,GAAG,CAAC,CAAC,4CAA4C;QAEvE,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE,CAAC;YACpE,+CAA+C;YAC/C,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,IAAK,IAAkC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACrH,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAAG,IAAkB,CAAC;YACrC,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;YAErC,qEAAqE;YACrE,OAAO,iBAAiB,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;gBACpD,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;gBACnE,MAAM,YAAY,CAAC;gBAEnB,mCAAmC;gBACnC,WAAW,EAAE,CAAC;gBACd,gBAAgB,GAAG,YAAY,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,iBAAiB,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,CAAC,iCAAiC,CAAC,YAAoB,EAAE;QAC7D,mDAAmD;QACnD,MAAM,UAAU,GAA0B,EAAE,CAAC;QAC7C,IAAI,cAAc,GAAwB,IAAI,CAAC;QAC/C,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,yBAAyB;QACzB,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,EAAE;YAC5E,SAAS;YACT,OAAO,EAAE,CAAC,UAA+B,EAAE,SAA4B,EAAE,EAAE;gBACzE,iEAAiE;gBACjE,wDAAwD;gBACxD,qEAAqE;gBACrE,6DAA6D;gBAC7D,mDAAmD;gBACnD,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAE5B,wCAAwC;gBACxC,IAAI,cAAc,EAAE,CAAC;oBACnB,cAAc,EAAE,CAAC;oBACjB,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC;YACH,CAAC;YACD,UAAU,EAAE,CAAC,MAA2D,EAAE,EAAE;gBAC1E,UAAU,GAAG,IAAI,CAAC;gBAClB,wCAAwC;gBACxC,IAAI,cAAc,EAAE,CAAC;oBACnB,cAAc,EAAE,CAAC;oBACjB,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,yCAAyC;QACzC,OAAO,IAAI,EAAE,CAAC;YACZ,2BAA2B;YAC3B,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,UAAU,CAAC,KAAK,EAAG,CAAC;YAC5B,CAAC;YAED,sBAAsB;YACtB,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1C,MAAM;YACR,CAAC;YAED,wBAAwB;YACxB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,cAAc,GAAG,OAAO,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,gCAAgC;QAChC,MAAM,iBAAiB,CAAC;IAC1B,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -2,8 +2,8 @@
2
2
  * @ifc-lite/geometry - Geometry processing bridge
3
3
  * Now powered by IFC-Lite native Rust WASM (1.9x faster than web-ifc)
4
4
  */
5
- export { IfcLiteBridge } from './ifc-lite-bridge.js';
6
- export { IfcLiteMeshCollector, type StreamingColorUpdateEvent } from './ifc-lite-mesh-collector.js';
5
+ export { IfcLiteBridge, type SymbolicRepresentationCollection, type SymbolicPolyline, type SymbolicCircle } from './ifc-lite-bridge.js';
6
+ export { IfcLiteMeshCollector, type StreamingColorUpdateEvent, type StreamingRtcOffsetEvent } from './ifc-lite-mesh-collector.js';
7
7
  export { createPlatformBridge, isTauri, type IPlatformBridge, type GeometryProcessingResult, type GeometryStats as PlatformGeometryStats, type StreamingOptions, type StreamingProgress, type GeometryBatch, } from './platform-bridge.js';
8
8
  export { WasmBridge } from './wasm-bridge.js';
9
9
  export { NativeBridge } from './native-bridge.js';
@@ -52,6 +52,14 @@ export type StreamingGeometryEvent = {
52
52
  } | {
53
53
  type: 'colorUpdate';
54
54
  updates: Map<number, [number, number, number, number]>;
55
+ } | {
56
+ type: 'rtcOffset';
57
+ rtcOffset: {
58
+ x: number;
59
+ y: number;
60
+ z: number;
61
+ };
62
+ hasRtc: boolean;
55
63
  } | {
56
64
  type: 'complete';
57
65
  totalMeshes: number;
@@ -86,7 +94,7 @@ export declare class GeometryProcessor {
86
94
  * In Tauri: Creates platform bridge for native Rust processing
87
95
  * In browser: Loads WASM
88
96
  */
89
- init(_wasmPath?: string): Promise<void>;
97
+ init(): Promise<void>;
90
98
  /**
91
99
  * Process IFC file and extract geometry (synchronous, use processStreaming for large files)
92
100
  * @param buffer IFC file buffer
@@ -131,6 +139,13 @@ export declare class GeometryProcessor {
131
139
  * Get the WASM API instance for advanced operations (e.g., entity scanning)
132
140
  */
133
141
  getApi(): import("@ifc-lite/wasm").IfcAPI | null;
142
+ /**
143
+ * Parse symbolic representations (Plan, Annotation, FootPrint) from IFC content
144
+ * These are pre-authored 2D curves for architectural drawings (door swings, window cuts, etc.)
145
+ * @param buffer IFC file buffer
146
+ * @returns Collection of symbolic polylines and circles
147
+ */
148
+ parseSymbolicRepresentations(buffer: Uint8Array): import('@ifc-lite/wasm').SymbolicRepresentationCollection | null;
134
149
  /**
135
150
  * Cleanup resources
136
151
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -56,11 +56,7 @@ export class GeometryProcessor {
56
56
  this.isNative = isTauri();
57
57
  // Note: options accepted for API compatibility
58
58
  void options.quality;
59
- if (this.isNative) {
60
- console.log('[GeometryProcessor] Running in Tauri - using NATIVE Rust processing');
61
- }
62
- else {
63
- console.log('[GeometryProcessor] Running in browser - using WASM processing');
59
+ if (!this.isNative) {
64
60
  this.bridge = new IfcLiteBridge();
65
61
  }
66
62
  }
@@ -69,7 +65,7 @@ export class GeometryProcessor {
69
65
  * In Tauri: Creates platform bridge for native Rust processing
70
66
  * In browser: Loads WASM
71
67
  */
72
- async init(_wasmPath) {
68
+ async init() {
73
69
  if (this.isNative) {
74
70
  // Create platform bridge for native processing
75
71
  this.platformBridge = await createPlatformBridge();
@@ -106,7 +102,24 @@ export class GeometryProcessor {
106
102
  if (!this.bridge?.isInitialized()) {
107
103
  await this.init();
108
104
  }
109
- meshes = await this.collectMeshesMainThread(buffer);
105
+ const mainThreadResult = await this.collectMeshesMainThread(buffer);
106
+ meshes = mainThreadResult.meshes;
107
+ // Merge building rotation from WASM into coordinate info
108
+ const coordinateInfoFromHandler = this.coordinateHandler.processMeshes(meshes);
109
+ const buildingRotation = mainThreadResult.buildingRotation;
110
+ const coordinateInfo = {
111
+ ...coordinateInfoFromHandler,
112
+ buildingRotation,
113
+ };
114
+ // Build GPU-ready buffers
115
+ const bufferResult = this.bufferBuilder.processMeshes(meshes);
116
+ // Combine results
117
+ return {
118
+ meshes: bufferResult.meshes,
119
+ totalTriangles: bufferResult.totalTriangles,
120
+ totalVertices: bufferResult.totalVertices,
121
+ coordinateInfo,
122
+ };
110
123
  }
111
124
  // Handle large coordinates by shifting to origin
112
125
  const coordinateInfo = this.coordinateHandler.processMeshes(meshes);
@@ -133,7 +146,8 @@ export class GeometryProcessor {
133
146
  const content = decoder.decode(buffer);
134
147
  const collector = new IfcLiteMeshCollector(this.bridge.getApi(), content);
135
148
  const meshes = collector.collectMeshes();
136
- return meshes;
149
+ const buildingRotation = collector.getBuildingRotation();
150
+ return { meshes, buildingRotation };
137
151
  }
138
152
  /**
139
153
  * Process IFC file with streaming output for progressive rendering
@@ -182,6 +196,7 @@ export class GeometryProcessor {
182
196
  }
183
197
  const collector = new IfcLiteMeshCollector(this.bridge.getApi(), content);
184
198
  let totalMeshes = 0;
199
+ let extractedBuildingRotation = undefined;
185
200
  // Determine optimal WASM batch size based on file size
186
201
  // Larger batches = fewer callbacks = faster processing
187
202
  const fileSizeMB = typeof batchConfig !== 'number' && batchConfig.fileSizeMB
@@ -197,16 +212,31 @@ export class GeometryProcessor {
197
212
  yield { type: 'colorUpdate', updates: item.updates };
198
213
  continue;
199
214
  }
215
+ // Handle RTC offset events
216
+ if (item && typeof item === 'object' && 'type' in item && item.type === 'rtcOffset') {
217
+ const rtcEvent = item;
218
+ yield { type: 'rtcOffset', rtcOffset: rtcEvent.rtcOffset, hasRtc: rtcEvent.hasRtc };
219
+ continue;
220
+ }
200
221
  // Handle mesh batches
201
222
  const batch = item;
202
223
  // Process coordinate shifts incrementally (will accumulate bounds)
203
224
  this.coordinateHandler.processMeshesIncremental(batch);
204
225
  totalMeshes += batch.length;
205
226
  const coordinateInfo = this.coordinateHandler.getCurrentCoordinateInfo();
206
- yield { type: 'batch', meshes: batch, totalSoFar: totalMeshes, coordinateInfo: coordinateInfo || undefined };
227
+ // Merge buildingRotation if we have it
228
+ const coordinateInfoWithRotation = coordinateInfo && extractedBuildingRotation !== undefined
229
+ ? { ...coordinateInfo, buildingRotation: extractedBuildingRotation }
230
+ : coordinateInfo;
231
+ yield { type: 'batch', meshes: batch, totalSoFar: totalMeshes, coordinateInfo: coordinateInfoWithRotation || undefined };
207
232
  }
233
+ // Get building rotation after streaming completes
234
+ extractedBuildingRotation = collector.getBuildingRotation();
208
235
  const coordinateInfo = this.coordinateHandler.getFinalCoordinateInfo();
209
- yield { type: 'complete', totalMeshes, coordinateInfo };
236
+ const finalCoordinateInfo = extractedBuildingRotation !== undefined
237
+ ? { ...coordinateInfo, buildingRotation: extractedBuildingRotation }
238
+ : coordinateInfo;
239
+ yield { type: 'complete', totalMeshes, coordinateInfo: finalCoordinateInfo };
210
240
  }
211
241
  }
212
242
  /**
@@ -352,6 +382,20 @@ export class GeometryProcessor {
352
382
  }
353
383
  return this.bridge.getApi();
354
384
  }
385
+ /**
386
+ * Parse symbolic representations (Plan, Annotation, FootPrint) from IFC content
387
+ * These are pre-authored 2D curves for architectural drawings (door swings, window cuts, etc.)
388
+ * @param buffer IFC file buffer
389
+ * @returns Collection of symbolic polylines and circles
390
+ */
391
+ parseSymbolicRepresentations(buffer) {
392
+ if (!this.bridge || !this.bridge.isInitialized()) {
393
+ return null;
394
+ }
395
+ const decoder = new TextDecoder();
396
+ const content = decoder.decode(buffer);
397
+ return this.bridge.parseSymbolicRepresentations(content);
398
+ }
355
399
  /**
356
400
  * Cleanup resources
357
401
  */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;GAGG;AAEH,6CAA6C;AAC7C,OAAO,EAAE,aAAa,EAAqF,MAAM,sBAAsB,CAAC;AACxI,OAAO,EAAE,oBAAoB,EAAgE,MAAM,8BAA8B,CAAC;AAGlI,iFAAiF;AACjF,OAAO,EACL,oBAAoB,EACpB,OAAO,GAOR,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAgC,MAAM,UAAU,CAAC;AACtE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EAGtB,MAAM,4BAA4B,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AAEvC,mDAAmD;AACnD,OAAO,EAAE,iBAAiB,EAAsK,MAAM,0BAA0B,CAAC;AACjO,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAO3B,MAAM,0BAA0B,CAAC;AAElC,gDAAgD;AAChD,OAAO,EAAE,aAAa,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAwB,MAAM,sBAAsB,CAAC;AAoB3F;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,WAAmB,EACnB,mBAA2B,EAAE,EAC7B,eAAuB,GAAG;IAE1B,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC,CAAC,mBAAmB;IAC9C,CAAC;SAAM,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa;IACzE,CAAC;SAAM,CAAC;QACN,OAAO,YAAY,CAAC,CAAC,0BAA0B;IACjD,CAAC;AACH,CAAC;AAgBD,MAAM,OAAO,iBAAiB;IACpB,MAAM,GAAyB,IAAI,CAAC;IACpC,cAAc,GAA2B,IAAI,CAAC;IAC9C,aAAa,CAAgB;IAC7B,iBAAiB,CAAoB;IACrC,QAAQ,GAAY,KAAK,CAAC;IAElC,YAAY,UAAoC,EAAE;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,CAAC;QAC1B,+CAA+C;QAC/C,KAAK,OAAO,CAAC,OAAO,CAAC;QAErB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,+CAA+C;YAC/C,IAAI,CAAC,cAAc,GAAG,MAAM,oBAAoB,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,YAAY;YACZ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,MAAkB,EAAE,WAA8B;QAC9D,KAAK,WAAW,CAAC;QAEjB,IAAI,MAAkB,CAAC;QAEvB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,mCAAmC;YACnC,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAClE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACvB,OAAO,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,oDAAoD;YACpD,kDAAkD;YAClD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;YACD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACpE,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;YACjC,yDAAyD;YACzD,MAAM,yBAAyB,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/E,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;YAC3D,MAAM,cAAc,GAAmB;gBACrC,GAAG,yBAAyB;gBAC5B,gBAAgB;aACjB,CAAC;YACF,0BAA0B;YAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAE9D,kBAAkB;YAClB,OAAO;gBACL,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,cAAc,EAAE,YAAY,CAAC,cAAc;gBAC3C,aAAa,EAAE,YAAY,CAAC,aAAa;gBACzC,cAAc;aACf,CAAC;QACJ,CAAC;QAED,iDAAiD;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEpE,0BAA0B;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE9D,kBAAkB;QAClB,MAAM,MAAM,GAAmB;YAC7B,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,aAAa,EAAE,YAAY,CAAC,aAAa;YACzC,cAAc;SACf,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,MAAkB,EAAE,YAA+B;QACvF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,gDAAgD;QAChD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEvC,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;QACzC,MAAM,gBAAgB,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAEzD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,CAAC,gBAAgB,CACrB,MAAkB,EAClB,YAA+B,EAC/B,cAA2C,EAAE;QAE7C,uBAAuB;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE/B,mEAAmE;QACnE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QAE7D,qDAAqD;QACrD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAErD,gDAAgD;QAChD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEvC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAEzC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,oCAAoC;YACpC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAErD,6EAA6E;YAC7E,qDAAqD;YACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YAEzC,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;YAEvE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,IAAI,SAAS,EAAE,CAAC;YACrH,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;YAExD,OAAO,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,YAAY;YACZ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;YAC1E,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,yBAAyB,GAAuB,SAAS,CAAC;YAE9D,uDAAuD;YACvD,uDAAuD;YACvD,MAAM,UAAU,GAAG,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,UAAU;gBAC1E,CAAC,CAAC,WAAW,CAAC,UAAU;gBACxB,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YAElC,uDAAuD;YACvD,+EAA+E;YAC/E,MAAM,aAAa,GAAG,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAEnG,mDAAmD;YACnD,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzE,6BAA6B;gBAC7B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,IAAK,IAAkC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACrH,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAG,IAAkC,CAAC,OAAO,EAAE,CAAC;oBACpF,SAAS;gBACX,CAAC;gBAED,2BAA2B;gBAC3B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,IAAK,IAAgC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACjH,MAAM,QAAQ,GAAG,IAA+B,CAAC;oBACjD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpF,SAAS;gBACX,CAAC;gBAED,sBAAsB;gBACtB,MAAM,KAAK,GAAG,IAAkB,CAAC;gBACjC,mEAAmE;gBACnE,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBACvD,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;gBAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,CAAC;gBAEzE,uCAAuC;gBACvC,MAAM,0BAA0B,GAAG,cAAc,IAAI,yBAAyB,KAAK,SAAS;oBAC1F,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,gBAAgB,EAAE,yBAAyB,EAAE;oBACpE,CAAC,CAAC,cAAc,CAAC;gBAEnB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,0BAA0B,IAAI,SAAS,EAAE,CAAC;YAC3H,CAAC;YAED,kDAAkD;YAClD,yBAAyB,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC;YAE5D,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;YACvE,MAAM,mBAAmB,GAAG,yBAAyB,KAAK,SAAS;gBACjE,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,gBAAgB,EAAE,yBAAyB,EAAE;gBACpE,CAAC,CAAC,cAAc,CAAC;YACnB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC;QAC/E,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,CAAC,yBAAyB,CAC9B,MAAkB,EAClB,YAAoB,EAAE;QAEtB,uBAAuB;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;YACD,8EAA8E;YAC9E,2CAA2C;YAC3C,OAAO,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;QACjG,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE/B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QAE7D,gDAAgD;QAChD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEvC,8DAA8D;QAC9D,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAEzC,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3E,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,CAAC,iCAAiC,CAAC,SAAS,CAAC,EAAE,CAAC;YACjF,8FAA8F;YAC9F,iEAAiE;YACjE,MAAM,aAAa,GAAe,EAAE,CAAC;YACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAE7B,iFAAiF;gBACjF,yDAAyD;gBACzD,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBAC3C,IAAI,aAAa,EAAE,CAAC;wBAClB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;wBAClC,aAAa,CAAC,IAAI,CAAC;4BACjB,SAAS,EAAE,aAAa,CAAC,SAAS;4BAClC,SAAS;4BACT,OAAO;4BACP,OAAO;4BACP,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;yBAChD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,0CAA0C;YAC1C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;YACjE,CAAC;YAED,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC;YAChC,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAEtE,6CAA6C;YAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,CAAC;YAEzE,MAAM;gBACJ,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,eAAe;gBAC3B,cAAc,EAAE,cAAc,IAAI,SAAS;aAC5C,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;QAEvE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;IAC9E,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,CAAC,eAAe,CACpB,MAAkB,EAClB,UAII,EAAE;QAEN,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,cAAc;QAC9E,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QAE5C,uBAAuB;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE/B,uCAAuC;QACvC,IAAI,MAAM,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;YAClC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YAE7D,gDAAgD;YAChD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAEzC,IAAI,SAAqB,CAAC;YAE1B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzC,wCAAwC;gBACxC,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAClE,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC1B,OAAO,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,YAAY;gBACZ,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC3E,SAAS,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;YACxC,CAAC;YAED,4BAA4B;YAC5B,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;YAEvE,+CAA+C;YAC/C,MAAM;gBACJ,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,SAAS,CAAC,MAAM;gBAC5B,cAAc,EAAE,cAAc,IAAI,SAAS;aAC5C,CAAC;YAEF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,2CAA2C;YAC3C,iEAAiE;YACjE,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,4BAA4B,CAAC,MAAkB;QAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,OAAO;QACL,oBAAoB;IACtB,CAAC;CACF"}
@@ -135,7 +135,7 @@ function convertNativeCoordinateInfo(native) {
135
135
  originShift: native.originShift,
136
136
  originalBounds: native.originalBounds,
137
137
  shiftedBounds: native.shiftedBounds,
138
- isGeoReferenced: native.isGeoReferenced,
138
+ hasLargeCoordinates: native.hasLargeCoordinates,
139
139
  };
140
140
  }
141
141
  //# sourceMappingURL=native-bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"native-bridge.js","sourceRoot":"","sources":["../src/native-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-bridge.js","sourceRoot":"","sources":["../src/native-bridge.ts"],"names":[],"mappings":"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"}