globe.gl 2.45.1 → 2.45.3

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/dist/globe.gl.js CHANGED
@@ -1,4 +1,4 @@
1
- // Version 2.45.1 globe.gl - https://github.com/vasturiano/globe.gl
1
+ // Version 2.45.3 globe.gl - https://github.com/vasturiano/globe.gl
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
4
4
  typeof define === 'function' && define.amd ? define(factory) :
@@ -38099,138 +38099,6 @@
38099
38099
 
38100
38100
  }
38101
38101
 
38102
- /**
38103
- * Class for keeping track of time.
38104
- *
38105
- * @deprecated since r183.
38106
- */
38107
- class Clock {
38108
-
38109
- /**
38110
- * Constructs a new clock.
38111
- *
38112
- * @deprecated since 183.
38113
- * @param {boolean} [autoStart=true] - Whether to automatically start the clock when
38114
- * `getDelta()` is called for the first time.
38115
- */
38116
- constructor( autoStart = true ) {
38117
-
38118
- /**
38119
- * If set to `true`, the clock starts automatically when `getDelta()` is called
38120
- * for the first time.
38121
- *
38122
- * @type {boolean}
38123
- * @default true
38124
- */
38125
- this.autoStart = autoStart;
38126
-
38127
- /**
38128
- * Holds the time at which the clock's `start()` method was last called.
38129
- *
38130
- * @type {number}
38131
- * @default 0
38132
- */
38133
- this.startTime = 0;
38134
-
38135
- /**
38136
- * Holds the time at which the clock's `start()`, `getElapsedTime()` or
38137
- * `getDelta()` methods were last called.
38138
- *
38139
- * @type {number}
38140
- * @default 0
38141
- */
38142
- this.oldTime = 0;
38143
-
38144
- /**
38145
- * Keeps track of the total time that the clock has been running.
38146
- *
38147
- * @type {number}
38148
- * @default 0
38149
- */
38150
- this.elapsedTime = 0;
38151
-
38152
- /**
38153
- * Whether the clock is running or not.
38154
- *
38155
- * @type {boolean}
38156
- * @default true
38157
- */
38158
- this.running = false;
38159
-
38160
- warn( 'THREE.Clock: This module has been deprecated. Please use THREE.Timer instead.' ); // @deprecated, r183
38161
-
38162
- }
38163
-
38164
- /**
38165
- * Starts the clock. When `autoStart` is set to `true`, the method is automatically
38166
- * called by the class.
38167
- */
38168
- start() {
38169
-
38170
- this.startTime = performance.now();
38171
-
38172
- this.oldTime = this.startTime;
38173
- this.elapsedTime = 0;
38174
- this.running = true;
38175
-
38176
- }
38177
-
38178
- /**
38179
- * Stops the clock.
38180
- */
38181
- stop() {
38182
-
38183
- this.getElapsedTime();
38184
- this.running = false;
38185
- this.autoStart = false;
38186
-
38187
- }
38188
-
38189
- /**
38190
- * Returns the elapsed time in seconds.
38191
- *
38192
- * @return {number} The elapsed time.
38193
- */
38194
- getElapsedTime() {
38195
-
38196
- this.getDelta();
38197
- return this.elapsedTime;
38198
-
38199
- }
38200
-
38201
- /**
38202
- * Returns the delta time in seconds.
38203
- *
38204
- * @return {number} The delta time.
38205
- */
38206
- getDelta() {
38207
-
38208
- let diff = 0;
38209
-
38210
- if ( this.autoStart && ! this.running ) {
38211
-
38212
- this.start();
38213
- return 0;
38214
-
38215
- }
38216
-
38217
- if ( this.running ) {
38218
-
38219
- const newTime = performance.now();
38220
-
38221
- diff = ( newTime - this.oldTime ) / 1000;
38222
- this.oldTime = newTime;
38223
-
38224
- this.elapsedTime += diff;
38225
-
38226
- }
38227
-
38228
- return diff;
38229
-
38230
- }
38231
-
38232
- }
38233
-
38234
38102
  /**
38235
38103
  * This class can be used to represent points in 3D space as
38236
38104
  * [Spherical coordinates](https://en.wikipedia.org/wiki/Spherical_coordinate_system).
@@ -65103,9 +64971,9 @@ void main() {
65103
64971
  }
65104
64972
  }
65105
64973
 
65106
- var _materialDispose$1 = function materialDispose(material) {
64974
+ var _materialDispose$2 = function materialDispose(material) {
65107
64975
  if (material instanceof Array) {
65108
- material.forEach(_materialDispose$1);
64976
+ material.forEach(_materialDispose$2);
65109
64977
  } else {
65110
64978
  if (material.map) {
65111
64979
  material.map.dispose();
@@ -65113,25 +64981,18 @@ void main() {
65113
64981
  material.dispose();
65114
64982
  }
65115
64983
  };
65116
- var _deallocate$1 = function deallocate(obj) {
64984
+ var _deallocate$2 = function deallocate(obj) {
65117
64985
  if (obj.geometry) {
65118
64986
  obj.geometry.dispose();
65119
64987
  }
65120
64988
  if (obj.material) {
65121
- _materialDispose$1(obj.material);
64989
+ _materialDispose$2(obj.material);
65122
64990
  }
65123
64991
  if (obj.texture) {
65124
64992
  obj.texture.dispose();
65125
64993
  }
65126
64994
  if (obj.children) {
65127
- obj.children.forEach(_deallocate$1);
65128
- }
65129
- };
65130
- var emptyObject$1 = function emptyObject(obj) {
65131
- if (obj && obj.children) while (obj.children.length) {
65132
- var childObj = obj.children[0];
65133
- obj.remove(childObj);
65134
- _deallocate$1(childObj);
64995
+ obj.children.forEach(_deallocate$2);
65135
64996
  }
65136
64997
  };
65137
64998
 
@@ -65284,7 +65145,7 @@ void main() {
65284
65145
  l.forEach(function (d) {
65285
65146
  if (d.obj) {
65286
65147
  _this.remove(d.obj);
65287
- emptyObject$1(d.obj);
65148
+ _deallocate$2(d.obj);
65288
65149
  delete d.obj;
65289
65150
  }
65290
65151
  });
@@ -65352,7 +65213,7 @@ void main() {
65352
65213
  _classPrivateFieldGet2$2(_tilesMeta, this)[l] && _classPrivateFieldGet2$2(_tilesMeta, this)[l].forEach(function (d) {
65353
65214
  if (d.obj) {
65354
65215
  _this2.remove(d.obj);
65355
- emptyObject$1(d.obj);
65216
+ _deallocate$2(d.obj);
65356
65217
  delete d.obj;
65357
65218
  }
65358
65219
  });
@@ -69448,7 +69309,7 @@ void main() {
69448
69309
  const splitter = 134217729;
69449
69310
  const resulterrbound = (3 + 8 * epsilon$1) * epsilon$1;
69450
69311
 
69451
- // fast_expansion_sum_zeroelim routine from oritinal code
69312
+ // fast_expansion_sum_zeroelim routine from original code
69452
69313
  function sum(elen, e, flen, f, h) {
69453
69314
  let Q, Qnew, hh, bvirt;
69454
69315
  let enow = e[0];
@@ -69713,8 +69574,19 @@ void main() {
69713
69574
  const EPSILON$1 = Math.pow(2, -52);
69714
69575
  const EDGE_STACK = new Uint32Array(512);
69715
69576
 
69577
+ /** @template {ArrayLike<number>} T */
69716
69578
  class Delaunator {
69717
69579
 
69580
+ /**
69581
+ * Constructs a delaunay triangulation object given an array of points (`[x, y]` by default).
69582
+ * `getX` and `getY` are optional functions of the form `(point) => value` for custom point formats.
69583
+ *
69584
+ * @template P
69585
+ * @param {P[]} points
69586
+ * @param {(p: P) => number} [getX]
69587
+ * @param {(p: P) => number} [getY]
69588
+ */
69589
+ // @ts-expect-error TS2322
69718
69590
  static from(points, getX = defaultGetX, getY = defaultGetY) {
69719
69591
  const n = points.length;
69720
69592
  const coords = new Float64Array(n * 2);
@@ -69728,6 +69600,12 @@ void main() {
69728
69600
  return new Delaunator(coords);
69729
69601
  }
69730
69602
 
69603
+ /**
69604
+ * Constructs a delaunay triangulation object given an array of point coordinates of the form:
69605
+ * `[x0, y0, x1, y1, ...]` (use a typed array for best performance). Duplicate points are skipped.
69606
+ *
69607
+ * @param {T} coords
69608
+ */
69731
69609
  constructor(coords) {
69732
69610
  const n = coords.length >> 1;
69733
69611
  if (n > 0 && typeof coords[0] !== 'number') throw new Error('Expected coords to contain numbers.');
@@ -69736,23 +69614,44 @@ void main() {
69736
69614
 
69737
69615
  // arrays that will store the triangulation graph
69738
69616
  const maxTriangles = Math.max(2 * n - 5, 0);
69739
- this._triangles = new Uint32Array(maxTriangles * 3);
69740
- this._halfedges = new Int32Array(maxTriangles * 3);
69617
+ /** @private */ this._triangles = new Uint32Array(maxTriangles * 3);
69618
+ /** @private */ this._halfedges = new Int32Array(maxTriangles * 3);
69741
69619
 
69742
69620
  // temporary arrays for tracking the edges of the advancing convex hull
69743
- this._hashSize = Math.ceil(Math.sqrt(n));
69744
- this._hullPrev = new Uint32Array(n); // edge to prev edge
69745
- this._hullNext = new Uint32Array(n); // edge to next edge
69746
- this._hullTri = new Uint32Array(n); // edge to adjacent triangle
69747
- this._hullHash = new Int32Array(this._hashSize); // angular edge hash
69621
+ /** @private */ this._hashSize = Math.ceil(Math.sqrt(n));
69622
+ /** @private */ this._hullPrev = new Uint32Array(n); // edge to prev edge
69623
+ /** @private */ this._hullNext = new Uint32Array(n); // edge to next edge
69624
+ /** @private */ this._hullTri = new Uint32Array(n); // edge to adjacent triangle
69625
+ /** @private */ this._hullHash = new Int32Array(this._hashSize); // angular edge hash
69748
69626
 
69749
69627
  // temporary arrays for sorting points
69750
- this._ids = new Uint32Array(n);
69751
- this._dists = new Float64Array(n);
69628
+ /** @private */ this._ids = new Uint32Array(n);
69629
+ /** @private */ this._dists = new Float64Array(n);
69630
+
69631
+ /** @private */ this.trianglesLen = 0;
69632
+ /** @private */ this._cx = 0;
69633
+ /** @private */ this._cy = 0;
69634
+ /** @private */ this._hullStart = 0;
69635
+
69636
+
69637
+ /** A `Uint32Array` array of indices that reference points on the convex hull of the input data, counter-clockwise. */
69638
+ this.hull = this._triangles;
69639
+ /** A `Uint32Array` array of triangle vertex indices (each group of three numbers forms a triangle). All triangles are directed counterclockwise. */
69640
+ this.triangles = this._triangles;
69641
+ /**
69642
+ * A `Int32Array` array of triangle half-edge indices that allows you to traverse the triangulation.
69643
+ * `i`-th half-edge in the array corresponds to vertex `triangles[i]` the half-edge is coming from.
69644
+ * `halfedges[i]` is the index of a twin half-edge in an adjacent triangle (or `-1` for outer half-edges on the convex hull).
69645
+ */
69646
+ this.halfedges = this._halfedges;
69752
69647
 
69753
69648
  this.update();
69754
69649
  }
69755
69650
 
69651
+ /**
69652
+ * Updates the triangulation if you modified `delaunay.coords` values in place, avoiding expensive memory allocations.
69653
+ * Useful for iterative relaxation algorithms such as Lloyd's.
69654
+ */
69756
69655
  update() {
69757
69656
  const {coords, _hullPrev: hullPrev, _hullNext: hullNext, _hullTri: hullTri, _hullHash: hullHash} = this;
69758
69657
  const n = coords.length >> 1;
@@ -69775,7 +69674,7 @@ void main() {
69775
69674
  const cx = (minX + maxX) / 2;
69776
69675
  const cy = (minY + maxY) / 2;
69777
69676
 
69778
- let i0, i1, i2;
69677
+ let i0 = 0, i1 = 0, i2 = 0;
69779
69678
 
69780
69679
  // pick a seed point close to the center
69781
69680
  for (let i = 0, minDist = Infinity; i < n; i++) {
@@ -69833,7 +69732,7 @@ void main() {
69833
69732
  }
69834
69733
  this.hull = hull.subarray(0, j);
69835
69734
  this.triangles = new Uint32Array(0);
69836
- this.halfedges = new Uint32Array(0);
69735
+ this.halfedges = new Int32Array(0);
69837
69736
  return;
69838
69737
  }
69839
69738
 
@@ -69881,7 +69780,7 @@ void main() {
69881
69780
  this.trianglesLen = 0;
69882
69781
  this._addTriangle(i0, i1, i2, -1, -1, -1);
69883
69782
 
69884
- for (let k = 0, xp, yp; k < this._ids.length; k++) {
69783
+ for (let k = 0, xp = 0, yp = 0; k < this._ids.length; k++) {
69885
69784
  const i = this._ids[k];
69886
69785
  const x = coords[2 * i];
69887
69786
  const y = coords[2 * i + 1];
@@ -69963,10 +69862,23 @@ void main() {
69963
69862
  this.halfedges = this._halfedges.subarray(0, this.trianglesLen);
69964
69863
  }
69965
69864
 
69865
+ /**
69866
+ * Calculate an angle-based key for the edge hash used for advancing convex hull.
69867
+ *
69868
+ * @param {number} x
69869
+ * @param {number} y
69870
+ * @private
69871
+ */
69966
69872
  _hashKey(x, y) {
69967
69873
  return Math.floor(pseudoAngle(x - this._cx, y - this._cy) * this._hashSize) % this._hashSize;
69968
69874
  }
69969
69875
 
69876
+ /**
69877
+ * Flip an edge in a pair of triangles if it doesn't satisfy the Delaunay condition.
69878
+ *
69879
+ * @param {number} a
69880
+ * @private
69881
+ */
69970
69882
  _legalize(a) {
69971
69883
  const {_triangles: triangles, _halfedges: halfedges, coords} = this;
69972
69884
 
@@ -70022,7 +69934,7 @@ void main() {
70022
69934
 
70023
69935
  const hbl = halfedges[bl];
70024
69936
 
70025
- // edge swapped on the other side of the hull (rare); fix the halfedge reference
69937
+ // edge swapped on the other side of the hull (rare); fix the half-edge reference
70026
69938
  if (hbl === -1) {
70027
69939
  let e = this._hullStart;
70028
69940
  do {
@@ -70052,12 +69964,28 @@ void main() {
70052
69964
  return ar;
70053
69965
  }
70054
69966
 
69967
+ /**
69968
+ * Link two half-edges to each other.
69969
+ * @param {number} a
69970
+ * @param {number} b
69971
+ * @private
69972
+ */
70055
69973
  _link(a, b) {
70056
69974
  this._halfedges[a] = b;
70057
69975
  if (b !== -1) this._halfedges[b] = a;
70058
69976
  }
70059
69977
 
70060
- // add a new triangle given vertex indices and adjacent half-edge ids
69978
+ /**
69979
+ * Add a new triangle given vertex indices and adjacent half-edge ids.
69980
+ *
69981
+ * @param {number} i0
69982
+ * @param {number} i1
69983
+ * @param {number} i2
69984
+ * @param {number} a
69985
+ * @param {number} b
69986
+ * @param {number} c
69987
+ * @private
69988
+ */
70061
69989
  _addTriangle(i0, i1, i2, a, b, c) {
70062
69990
  const t = this.trianglesLen;
70063
69991
 
@@ -70075,18 +70003,43 @@ void main() {
70075
70003
  }
70076
70004
  }
70077
70005
 
70078
- // monotonically increases with real angle, but doesn't need expensive trigonometry
70006
+ /**
70007
+ * Monotonically increases with real angle, but doesn't need expensive trigonometry.
70008
+ *
70009
+ * @param {number} dx
70010
+ * @param {number} dy
70011
+ */
70079
70012
  function pseudoAngle(dx, dy) {
70080
70013
  const p = dx / (Math.abs(dx) + Math.abs(dy));
70081
70014
  return (dy > 0 ? 3 - p : 1 + p) / 4; // [0..1]
70082
70015
  }
70083
70016
 
70017
+ /**
70018
+ * Squared distance between two points.
70019
+ *
70020
+ * @param {number} ax
70021
+ * @param {number} ay
70022
+ * @param {number} bx
70023
+ * @param {number} by
70024
+ */
70084
70025
  function dist(ax, ay, bx, by) {
70085
70026
  const dx = ax - bx;
70086
70027
  const dy = ay - by;
70087
70028
  return dx * dx + dy * dy;
70088
70029
  }
70089
70030
 
70031
+ /**
70032
+ * Check whether point P is inside a circle formed by points A, B, C.
70033
+ *
70034
+ * @param {number} ax
70035
+ * @param {number} ay
70036
+ * @param {number} bx
70037
+ * @param {number} by
70038
+ * @param {number} cx
70039
+ * @param {number} cy
70040
+ * @param {number} px
70041
+ * @param {number} py
70042
+ */
70090
70043
  function inCircle(ax, ay, bx, by, cx, cy, px, py) {
70091
70044
  const dx = ax - px;
70092
70045
  const dy = ay - py;
@@ -70104,6 +70057,16 @@ void main() {
70104
70057
  ap * (ex * fy - ey * fx) < 0;
70105
70058
  }
70106
70059
 
70060
+ /**
70061
+ * Squared radius of the circle formed by points A, B, C.
70062
+ *
70063
+ * @param {number} ax
70064
+ * @param {number} ay
70065
+ * @param {number} bx
70066
+ * @param {number} by
70067
+ * @param {number} cx
70068
+ * @param {number} cy
70069
+ */
70107
70070
  function circumradius(ax, ay, bx, by, cx, cy) {
70108
70071
  const dx = bx - ax;
70109
70072
  const dy = by - ay;
@@ -70120,6 +70083,16 @@ void main() {
70120
70083
  return x * x + y * y;
70121
70084
  }
70122
70085
 
70086
+ /**
70087
+ * Get coordinates of a circumcenter for points A, B, C.
70088
+ *
70089
+ * @param {number} ax
70090
+ * @param {number} ay
70091
+ * @param {number} bx
70092
+ * @param {number} by
70093
+ * @param {number} cx
70094
+ * @param {number} cy
70095
+ */
70123
70096
  function circumcenter(ax, ay, bx, by, cx, cy) {
70124
70097
  const dx = bx - ax;
70125
70098
  const dy = by - ay;
@@ -70136,6 +70109,14 @@ void main() {
70136
70109
  return {x, y};
70137
70110
  }
70138
70111
 
70112
+ /**
70113
+ * Sort points by distance via an array of point indices and an array of calculated distances.
70114
+ *
70115
+ * @param {Uint32Array} ids
70116
+ * @param {Float64Array} dists
70117
+ * @param {number} left
70118
+ * @param {number} right
70119
+ */
70139
70120
  function quicksort(ids, dists, left, right) {
70140
70121
  if (right - left <= 20) {
70141
70122
  for (let i = left + 1; i <= right; i++) {
@@ -70175,15 +70156,22 @@ void main() {
70175
70156
  }
70176
70157
  }
70177
70158
 
70159
+ /**
70160
+ * @param {Uint32Array} arr
70161
+ * @param {number} i
70162
+ * @param {number} j
70163
+ */
70178
70164
  function swap(arr, i, j) {
70179
70165
  const tmp = arr[i];
70180
70166
  arr[i] = arr[j];
70181
70167
  arr[j] = tmp;
70182
70168
  }
70183
70169
 
70170
+ /** @param {[number, number]} p */
70184
70171
  function defaultGetX(p) {
70185
70172
  return p[0];
70186
70173
  }
70174
+ /** @param {[number, number]} p */
70187
70175
  function defaultGetY(p) {
70188
70176
  return p[1];
70189
70177
  }
@@ -169429,9 +169417,9 @@ var<${access}> ${ name } : ${ structName };`;
169429
169417
  }
169430
169418
  }
169431
169419
 
169432
- var _materialDispose = function materialDispose(material) {
169420
+ var _materialDispose$1 = function materialDispose(material) {
169433
169421
  if (material instanceof Array) {
169434
- material.forEach(_materialDispose);
169422
+ material.forEach(_materialDispose$1);
169435
169423
  } else {
169436
169424
  if (material.map) {
169437
169425
  material.map.dispose();
@@ -169439,25 +169427,25 @@ var<${access}> ${ name } : ${ structName };`;
169439
169427
  material.dispose();
169440
169428
  }
169441
169429
  };
169442
- var _deallocate = function deallocate(obj) {
169430
+ var _deallocate$1 = function deallocate(obj) {
169443
169431
  if (obj.geometry) {
169444
169432
  obj.geometry.dispose();
169445
169433
  }
169446
169434
  if (obj.material) {
169447
- _materialDispose(obj.material);
169435
+ _materialDispose$1(obj.material);
169448
169436
  }
169449
169437
  if (obj.texture) {
169450
169438
  obj.texture.dispose();
169451
169439
  }
169452
169440
  if (obj.children) {
169453
- obj.children.forEach(_deallocate);
169441
+ obj.children.forEach(_deallocate$1);
169454
169442
  }
169455
169443
  };
169456
- var emptyObject = function emptyObject(obj) {
169444
+ var emptyObject$1 = function emptyObject(obj) {
169457
169445
  if (obj && obj.children) while (obj.children.length) {
169458
169446
  var childObj = obj.children[0];
169459
169447
  obj.remove(childObj);
169460
- _deallocate(childObj);
169448
+ _deallocate$1(childObj);
169461
169449
  }
169462
169450
  };
169463
169451
 
@@ -169685,9 +169673,9 @@ var<${access}> ${ name } : ${ structName };`;
169685
169673
  state.tileEngine.clearTiles();
169686
169674
  },
169687
169675
  _destructor: function _destructor(state) {
169688
- emptyObject(state.globeObj);
169689
- emptyObject(state.tileEngine);
169690
- emptyObject(state.graticulesObj);
169676
+ _deallocate$1(state.globeObj);
169677
+ _deallocate$1(state.tileEngine);
169678
+ _deallocate$1(state.graticulesObj);
169691
169679
  }
169692
169680
  },
169693
169681
  stateInit: function stateInit() {
@@ -169723,7 +169711,7 @@ var<${access}> ${ name } : ${ structName };`;
169723
169711
  },
169724
169712
  init: function init(threeObj, state) {
169725
169713
  // Clear the scene
169726
- emptyObject(threeObj);
169714
+ emptyObject$1(threeObj);
169727
169715
 
169728
169716
  // Main three object to manipulate
169729
169717
  state.scene = threeObj;
@@ -169750,7 +169738,9 @@ var<${access}> ${ name } : ${ structName };`;
169750
169738
  !globeMaterial.color && (globeMaterial.color = new THREE$h.Color(0x000000));
169751
169739
  } else {
169752
169740
  new THREE$h.TextureLoader().load(state.globeImageUrl, function (texture) {
169741
+ var _globeMaterial$map;
169753
169742
  texture.colorSpace = THREE$h.SRGBColorSpace;
169743
+ (_globeMaterial$map = globeMaterial.map) === null || _globeMaterial$map === void 0 || _globeMaterial$map.dispose(); // GC previous texture
169754
169744
  globeMaterial.map = texture;
169755
169745
  globeMaterial.color = null;
169756
169746
  globeMaterial.needsUpdate = true;
@@ -169766,6 +169756,8 @@ var<${access}> ${ name } : ${ structName };`;
169766
169756
  globeMaterial.needsUpdate = true;
169767
169757
  } else {
169768
169758
  state.bumpImageUrl && new THREE$h.TextureLoader().load(state.bumpImageUrl, function (texture) {
169759
+ var _globeMaterial$bumpMa;
169760
+ (_globeMaterial$bumpMa = globeMaterial.bumpMap) === null || _globeMaterial$bumpMa === void 0 || _globeMaterial$bumpMa.dispose(); // GC previous texture
169769
169761
  globeMaterial.bumpMap = texture;
169770
169762
  globeMaterial.needsUpdate = true;
169771
169763
  });
@@ -169775,7 +169767,7 @@ var<${access}> ${ name } : ${ structName };`;
169775
169767
  if (state.atmosphereObj) {
169776
169768
  // recycle previous atmosphere object
169777
169769
  state.scene.remove(state.atmosphereObj);
169778
- emptyObject(state.atmosphereObj);
169770
+ _deallocate$1(state.atmosphereObj);
169779
169771
  }
169780
169772
  if (state.atmosphereColor && state.atmosphereAltitude) {
169781
169773
  var obj = state.atmosphereObj = new GlowMesh(state.globeObj.geometry, {
@@ -169910,7 +169902,7 @@ var<${access}> ${ name } : ${ structName };`;
169910
169902
  fn(obj, dId);
169911
169903
  var removeFn = function removeFn() {
169912
169904
  _this3.scene.remove(obj);
169913
- emptyObject(obj);
169905
+ _deallocate$1(obj);
169914
169906
  delete d[_classPrivateFieldGet2(_objBindAttr, _this3)];
169915
169907
  };
169916
169908
  _classPrivateFieldGet2(_removeDelay, _this3) ? setTimeout(removeFn, _classPrivateFieldGet2(_removeDelay, _this3)) : removeFn();
@@ -169976,7 +169968,7 @@ var<${access}> ${ name } : ${ structName };`;
169976
169968
  init: function init(threeObj, state, _ref) {
169977
169969
  var tweenGroup = _ref.tweenGroup;
169978
169970
  // Clear the scene
169979
- emptyObject(threeObj);
169971
+ emptyObject$1(threeObj);
169980
169972
 
169981
169973
  // Main three object to manipulate
169982
169974
  state.scene = threeObj;
@@ -170001,7 +169993,7 @@ var<${access}> ${ name } : ${ structName };`;
170001
169993
  var pointMaterials = {}; // indexed by color
170002
169994
 
170003
169995
  if (!state.pointsMerge && changedProps.hasOwnProperty('pointsMerge')) {
170004
- emptyObject(state.scene); // Empty trailing merged objects
169996
+ emptyObject$1(state.scene); // Empty trailing merged objects
170005
169997
  }
170006
169998
  state.dataMapper.scene = state.pointsMerge ? new THREE$f.Object3D() : state.scene; // use fake scene if merging points
170007
169999
 
@@ -170030,7 +170022,7 @@ var<${access}> ${ name } : ${ structName };`;
170030
170022
  points.__data = state.pointsData; // Attach obj data
170031
170023
 
170032
170024
  state.dataMapper.clear(); // Unbind merged points
170033
- emptyObject(state.scene);
170025
+ emptyObject$1(state.scene);
170034
170026
  state.scene.add(points);
170035
170027
  }
170036
170028
 
@@ -170273,7 +170265,7 @@ var<${access}> ${ name } : ${ structName };`;
170273
170265
  },
170274
170266
  init: function init(threeObj, state) {
170275
170267
  // Clear the scene
170276
- emptyObject(threeObj);
170268
+ emptyObject$1(threeObj);
170277
170269
 
170278
170270
  // Main three object to manipulate
170279
170271
  state.scene = threeObj;
@@ -170323,7 +170315,7 @@ var<${access}> ${ name } : ${ structName };`;
170323
170315
  var useTube = stroke !== null && stroke !== undefined;
170324
170316
  if (!group.children.length || useTube !== (group.children[0].type === 'Mesh')) {
170325
170317
  // create or swap object types
170326
- emptyObject(group);
170318
+ emptyObject$1(group);
170327
170319
  var _obj = useTube ? new THREE$e.Mesh() : new THREE$e.Line(new THREE$e.BufferGeometry());
170328
170320
  _obj.material = state.sharedMaterial.clone(); // Separate material instance per object to have dedicated uniforms (but shared shaders)
170329
170321
 
@@ -170589,7 +170581,7 @@ var<${access}> ${ name } : ${ structName };`;
170589
170581
  init: function init(threeObj, state, _ref2) {
170590
170582
  var tweenGroup = _ref2.tweenGroup;
170591
170583
  // Clear the scene
170592
- emptyObject(threeObj);
170584
+ emptyObject$1(threeObj);
170593
170585
 
170594
170586
  // Main three object to manipulate
170595
170587
  state.scene = threeObj;
@@ -170627,7 +170619,7 @@ var<${access}> ${ name } : ${ structName };`;
170627
170619
  var hexMaterials = {}; // indexed by color
170628
170620
 
170629
170621
  if (!state.hexBinMerge && changedProps.hasOwnProperty('hexBinMerge')) {
170630
- emptyObject(state.scene); // Empty trailing merged objects
170622
+ emptyObject$1(state.scene); // Empty trailing merged objects
170631
170623
  }
170632
170624
  state.dataMapper.scene = state.hexBinMerge ? new THREE$d.Object3D() : state.scene; // use fake scene if merging hex points
170633
170625
 
@@ -170670,7 +170662,7 @@ var<${access}> ${ name } : ${ structName };`;
170670
170662
  hexPoints.__data = hexBins; // Attach obj data
170671
170663
 
170672
170664
  state.dataMapper.clear(); // Unbind merged points
170673
- emptyObject(state.scene);
170665
+ emptyObject$1(state.scene);
170674
170666
  state.scene.add(hexPoints);
170675
170667
  }
170676
170668
 
@@ -171050,7 +171042,7 @@ var<${access}> ${ name } : ${ structName };`;
171050
171042
  init: function init(threeObj, state, _ref) {
171051
171043
  var tweenGroup = _ref.tweenGroup;
171052
171044
  // Clear the scene
171053
- emptyObject(threeObj);
171045
+ emptyObject$1(threeObj);
171054
171046
 
171055
171047
  // Main three object to manipulate
171056
171048
  state.scene = threeObj;
@@ -171241,7 +171233,7 @@ var<${access}> ${ name } : ${ structName };`;
171241
171233
  init: function init(threeObj, state, _ref) {
171242
171234
  var tweenGroup = _ref.tweenGroup;
171243
171235
  // Clear the scene
171244
- emptyObject(threeObj);
171236
+ emptyObject$1(threeObj);
171245
171237
 
171246
171238
  // Main three object to manipulate
171247
171239
  state.scene = threeObj;
@@ -171483,7 +171475,7 @@ var<${access}> ${ name } : ${ structName };`;
171483
171475
  init: function init(threeObj, state, _ref) {
171484
171476
  var tweenGroup = _ref.tweenGroup;
171485
171477
  // Clear the scene
171486
- emptyObject(threeObj);
171478
+ emptyObject$1(threeObj);
171487
171479
 
171488
171480
  // Main three object to manipulate
171489
171481
  state.scene = threeObj;
@@ -171758,7 +171750,7 @@ var<${access}> ${ name } : ${ structName };`;
171758
171750
  },
171759
171751
  init: function init(threeObj, state) {
171760
171752
  // Clear the scene
171761
- emptyObject(threeObj);
171753
+ emptyObject$1(threeObj);
171762
171754
 
171763
171755
  // Main three object to manipulate
171764
171756
  state.scene = threeObj;
@@ -171812,7 +171804,7 @@ var<${access}> ${ name } : ${ structName };`;
171812
171804
  var useFatLine = stroke !== null && stroke !== undefined;
171813
171805
  if (!group.children.length || useFatLine === (group.children[0].type === 'Line')) {
171814
171806
  // create or swap object types
171815
- emptyObject(group);
171807
+ emptyObject$1(group);
171816
171808
  var _obj = useFatLine ? new Line2(new LineGeometry(), new LineMaterial()) : new THREE$8.Line(new THREE$8.BufferGeometry(), state.sharedMaterial.clone() // Separate material instance per object to have dedicated uniforms (but shared shaders)
171817
171809
  );
171818
171810
  group.add(_obj);
@@ -172113,7 +172105,7 @@ var<${access}> ${ name } : ${ structName };`;
172113
172105
  init: function init(threeObj, state, _ref) {
172114
172106
  var tweenGroup = _ref.tweenGroup;
172115
172107
  // Clear the scene
172116
- emptyObject(threeObj);
172108
+ emptyObject$1(threeObj);
172117
172109
 
172118
172110
  // Main three object to manipulate
172119
172111
  state.scene = threeObj;
@@ -172237,7 +172229,7 @@ var<${access}> ${ name } : ${ structName };`;
172237
172229
  },
172238
172230
  init: function init(threeObj, state) {
172239
172231
  // Clear the scene
172240
- emptyObject(threeObj);
172232
+ emptyObject$1(threeObj);
172241
172233
 
172242
172234
  // Main three object to manipulate
172243
172235
  state.scene = threeObj;
@@ -172394,7 +172386,7 @@ var<${access}> ${ name } : ${ structName };`;
172394
172386
  init: function init(threeObj, state, _ref) {
172395
172387
  var tweenGroup = _ref.tweenGroup;
172396
172388
  // Clear the scene
172397
- emptyObject(threeObj);
172389
+ emptyObject$1(threeObj);
172398
172390
 
172399
172391
  // Main three object to manipulate
172400
172392
  state.scene = threeObj;
@@ -172483,7 +172475,7 @@ var<${access}> ${ name } : ${ structName };`;
172483
172475
  }).onComplete(function () {
172484
172476
  state.tweenGroup.remove(this);
172485
172477
  obj.remove(circleObj);
172486
- _deallocate(circleObj);
172478
+ _deallocate$1(circleObj);
172487
172479
  }).start());
172488
172480
  }
172489
172481
  }
@@ -172590,7 +172582,7 @@ var<${access}> ${ name } : ${ structName };`;
172590
172582
  init: function init(threeObj, state, _ref) {
172591
172583
  var tweenGroup = _ref.tweenGroup;
172592
172584
  // Clear the scene
172593
- emptyObject(threeObj);
172585
+ emptyObject$1(threeObj);
172594
172586
 
172595
172587
  // Main three object to manipulate
172596
172588
  state.scene = threeObj;
@@ -172799,7 +172791,7 @@ var<${access}> ${ name } : ${ structName };`;
172799
172791
  init: function init(threeObj, state, _ref3) {
172800
172792
  var tweenGroup = _ref3.tweenGroup;
172801
172793
  // Clear the scene
172802
- emptyObject(threeObj);
172794
+ emptyObject$1(threeObj);
172803
172795
 
172804
172796
  // Main three object to manipulate
172805
172797
  state.scene = threeObj;
@@ -172891,7 +172883,7 @@ var<${access}> ${ name } : ${ structName };`;
172891
172883
  },
172892
172884
  init: function init(threeObj, state) {
172893
172885
  // Clear the scene
172894
- emptyObject(threeObj);
172886
+ emptyObject$1(threeObj);
172895
172887
 
172896
172888
  // Main three object to manipulate
172897
172889
  state.scene = threeObj;
@@ -172947,7 +172939,7 @@ var<${access}> ${ name } : ${ structName };`;
172947
172939
  },
172948
172940
  init: function init(threeObj, state) {
172949
172941
  // Clear the scene
172950
- emptyObject(threeObj);
172942
+ emptyObject$1(threeObj);
172951
172943
 
172952
172944
  // Main three object to manipulate
172953
172945
  state.scene = threeObj;
@@ -172967,7 +172959,7 @@ var<${access}> ${ name } : ${ structName };`;
172967
172959
  },
172968
172960
  update: function update(state, changedProps) {
172969
172961
  if (!state.customThreeObjectUpdate) {
172970
- emptyObject(state.scene);
172962
+ emptyObject$1(state.scene);
172971
172963
  } // Clear the existing objects to create all new, if there's no update method (brute-force)
172972
172964
 
172973
172965
  var customObjectUpdateAccessor = index$2(state.customThreeObjectUpdate);
@@ -173197,7 +173189,7 @@ var<${access}> ${ name } : ${ structName };`;
173197
173189
  _ref15$waitForGlobeRe = _ref15.waitForGlobeReady,
173198
173190
  waitForGlobeReady = _ref15$waitForGlobeRe === void 0 ? true : _ref15$waitForGlobeRe;
173199
173191
  // Clear the scene
173200
- emptyObject(threeObj);
173192
+ emptyObject$1(threeObj);
173201
173193
 
173202
173194
  // Main three object to manipulate
173203
173195
  state.scene = threeObj;
@@ -179944,7 +179936,7 @@ var<${access}> ${ name } : ${ structName };`;
179944
179936
  return [event.pageX, event.pageY];
179945
179937
  }
179946
179938
 
179947
- var n,l,u,t,i,r,o,e,f,c,s,a,p={},v=[],y=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,d=Array.isArray;function w(n,l){for(var u in l)n[u]=l[u];return n}function g(n){n&&n.parentNode&&n.parentNode.removeChild(n);}function _(l,u,t){var i,r,o,e={};for(o in u)"key"==o?i=u[o]:"ref"==o?r=u[o]:e[o]=u[o];if(arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),"function"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps) void 0===e[o]&&(e[o]=l.defaultProps[o]);return m(l,e,i,r,null)}function m(n,t,i,r,o){var e={type:n,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++u:o,__i:-1,__u:0};return null==o&&null!=l.vnode&&l.vnode(e),e}function k(n){return n.children}function x(n,l){this.props=n,this.context=l;}function S(n,l){if(null==l)return n.__?S(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return "function"==typeof n.type?S(n):null}function C(n){if(n.__P&&n.__d){var u=n.__v,t=u.__e,i=[],r=[],o=w({},u);o.__v=u.__v+1,l.vnode&&l.vnode(o),z(n.__P,o,u,n.__n,n.__P.namespaceURI,32&u.__u?[t]:null,i,null==t?S(u):t,!!(32&u.__u),r),o.__v=u.__v,o.__.__k[o.__i]=o,V(i,o,r),u.__e=u.__=null,o.__e!=t&&M(o);}}function M(n){if(null!=(n=n.__)&&null!=n.__c)return n.__e=n.__c.base=null,n.__k.some(function(l){if(null!=l&&null!=l.__e)return n.__e=n.__c.base=l.__e}),M(n)}function $(n){(!n.__d&&(n.__d=true)&&i.push(n)&&!I.__r++||r!=l.debounceRendering)&&((r=l.debounceRendering)||o)(I);}function I(){try{for(var n,l=1;i.length;)i.length>l&&i.sort(e),n=i.shift(),l=i.length,C(n);}finally{i.length=I.__r=0;}}function P(n,l,u,t,i,r,o,e,f,c,s){var a,h,y,d,w,g,_,m=t&&t.__k||v,b=l.length;for(f=A(u,l,m,f,b),a=0;a<b;a++)null!=(y=u.__k[a])&&(h=-1!=y.__i&&m[y.__i]||p,y.__i=a,g=z(n,y,h,i,r,o,e,f,c,s),d=y.__e,y.ref&&h.ref!=y.ref&&(h.ref&&D(h.ref,null,y),s.push(y.ref,y.__c||d,y)),null==w&&null!=d&&(w=d),(_=!!(4&y.__u))||h.__k===y.__k?f=H(y,f,n,_):"function"==typeof y.type&&void 0!==g?f=g:d&&(f=d.nextSibling),y.__u&=-7);return u.__e=w,f}function A(n,l,u,t,i){var r,o,e,f,c,s=u.length,a=s,h=0;for(n.__k=new Array(i),r=0;r<i;r++)null!=(o=l[r])&&"boolean"!=typeof o&&"function"!=typeof o?("string"==typeof o||"number"==typeof o||"bigint"==typeof o||o.constructor==String?o=n.__k[r]=m(null,o,null,null,null):d(o)?o=n.__k[r]=m(k,{children:o},null,null,null):void 0===o.constructor&&o.__b>0?o=n.__k[r]=m(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):n.__k[r]=o,f=r+h,o.__=n,o.__b=n.__b+1,e=null,-1!=(c=o.__i=T(o,u,f,a))&&(a--,(e=u[c])&&(e.__u|=2)),null==e||null==e.__v?(-1==c&&(i>s?h--:i<s&&h++),"function"!=typeof o.type&&(o.__u|=4)):c!=f&&(c==f-1?h--:c==f+1?h++:(c>f?h--:h++,o.__u|=4))):n.__k[r]=null;if(a)for(r=0;r<s;r++)null!=(e=u[r])&&0==(2&e.__u)&&(e.__e==t&&(t=S(e)),E(e,e));return t}function H(n,l,u,t){var i,r;if("function"==typeof n.type){for(i=n.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=n,l=H(i[r],l,u,t));return l}n.__e!=l&&(t&&(l&&n.type&&!l.parentNode&&(l=S(n)),u.insertBefore(n.__e,l||null)),l=n.__e);do{l=l&&l.nextSibling;}while(null!=l&&8==l.nodeType);return l}function T(n,l,u,t){var i,r,o,e=n.key,f=n.type,c=l[u],s=null!=c&&0==(2&c.__u);if(null===c&&null==e||s&&e==c.key&&f==c.type)return u;if(t>(s?1:0))for(i=u-1,r=u+1;i>=0||r<l.length;)if(null!=(c=l[o=i>=0?i--:r++])&&0==(2&c.__u)&&e==c.key&&f==c.type)return o;return -1}function j(n,l,u){"-"==l[0]?n.setProperty(l,null==u?"":u):n[l]=null==u?"":"number"!=typeof u||y.test(l)?u:u+"px";}function F(n,l,u,t,i){var r,o;n:if("style"==l)if("string"==typeof u)n.style.cssText=u;else {if("string"==typeof t&&(n.style.cssText=t=""),t)for(l in t)u&&l in u||j(n.style,l,"");if(u)for(l in u)t&&u[l]==t[l]||j(n.style,l,u[l]);}else if("o"==l[0]&&"n"==l[1])r=l!=(l=l.replace(f,"$1")),o=l.toLowerCase(),l=o in n||"onFocusOut"==l||"onFocusIn"==l?o.slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?t?u.u=t.u:(u.u=c,n.addEventListener(l,r?a:s,r)):n.removeEventListener(l,r?a:s,r);else {if("http://www.w3.org/2000/svg"==i)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=l&&"height"!=l&&"href"!=l&&"list"!=l&&"form"!=l&&"tabIndex"!=l&&"download"!=l&&"rowSpan"!=l&&"colSpan"!=l&&"role"!=l&&"popover"!=l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null==u||false===u&&"-"!=l[4]?n.removeAttribute(l):n.setAttribute(l,"popover"==l&&1==u?"":u));}}function O(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u.t)u.t=c++;else if(u.t<t.u)return;return t(l.event?l.event(u):u)}}}function z(n,u,t,i,r,o,e,f,c,s){var a,h,p,y,_,m,b,S,C,M,$,I,A,H,L,T=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),o=[f=u.__e=t.__e]),(a=l.__b)&&a(u);n:if("function"==typeof T)try{if(S=u.props,C=T.prototype&&T.prototype.render,M=(a=T.contextType)&&i[a.__c],$=a?M?M.props.value:a.__:i,t.__c?b=(h=u.__c=t.__c).__=h.__E:(C?u.__c=h=new T(S,$):(u.__c=h=new x(S,$),h.constructor=T,h.render=G),M&&M.sub(h),h.state||(h.state={}),h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),C&&null==h.__s&&(h.__s=h.state),C&&null!=T.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=w({},h.__s)),w(h.__s,T.getDerivedStateFromProps(S,h.__s))),y=h.props,_=h.state,h.__v=u,p)C&&null==T.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),C&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else {if(C&&null==T.getDerivedStateFromProps&&S!==y&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(S,$),u.__v==t.__v||!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(S,h.__s,$)){u.__v!=t.__v&&(h.props=S,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.some(function(n){n&&(n.__=u);}),v.push.apply(h.__h,h._sb),h._sb=[],h.__h.length&&e.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(S,h.__s,$),C&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(y,_,m);});}if(h.context=$,h.props=S,h.__P=n,h.__e=!1,I=l.__r,A=0,C)h.state=h.__s,h.__d=!1,I&&I(u),a=h.render(h.props,h.state,h.context),v.push.apply(h.__h,h._sb),h._sb=[];else do{h.__d=!1,I&&I(u),a=h.render(h.props,h.state,h.context),h.state=h.__s;}while(h.__d&&++A<25);h.state=h.__s,null!=h.getChildContext&&(i=w(w({},i),h.getChildContext())),C&&!p&&null!=h.getSnapshotBeforeUpdate&&(m=h.getSnapshotBeforeUpdate(y,_)),H=null!=a&&a.type===k&&null==a.key?q(a.props.children):a,f=P(n,d(H)?H:[H],u,t,i,r,o,e,f,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&e.push(h),b&&(h.__E=h.__=null);}catch(n){if(u.__v=null,c||null!=o)if(n.then){for(u.__u|=c?160:128;f&&8==f.nodeType&&f.nextSibling;)f=f.nextSibling;o[o.indexOf(f)]=null,u.__e=f;}else {for(L=o.length;L--;)g(o[L]);N(u);}else u.__e=t.__e,u.__k=t.__k,n.then||N(u);l.__e(n,u,t);}else null==o&&u.__v==t.__v?(u.__k=t.__k,u.__e=t.__e):f=u.__e=B(t.__e,u,t,i,r,o,e,c,s);return (a=l.diffed)&&a(u),128&u.__u?void 0:f}function N(n){n&&(n.__c&&(n.__c.__e=true),n.__k&&n.__k.some(N));}function V(n,u,t){for(var i=0;i<t.length;i++)D(t[i],t[++i],t[++i]);l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u);});}catch(n){l.__e(n,u.__v);}});}function q(n){return "object"!=typeof n||null==n||n.__b>0?n:d(n)?n.map(q):w({},n)}function B(u,t,i,r,o,e,f,c,s){var a,h,v,y,w,_,m,b=i.props||p,k=t.props,x=t.type;if("svg"==x?o="http://www.w3.org/2000/svg":"math"==x?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),null!=e)for(a=0;a<e.length;a++)if((w=e[a])&&"setAttribute"in w==!!x&&(x?w.localName==x:3==w.nodeType)){u=w,e[a]=null;break}if(null==u){if(null==x)return document.createTextNode(k);u=document.createElementNS(o,x,k.is&&k),c&&(l.__m&&l.__m(t,e),c=false),e=null;}if(null==x)b===k||c&&u.data==k||(u.data=k);else {if(e=e&&n.call(u.childNodes),!c&&null!=e)for(b={},a=0;a<u.attributes.length;a++)b[(w=u.attributes[a]).name]=w.value;for(a in b)w=b[a],"dangerouslySetInnerHTML"==a?v=w:"children"==a||a in k||"value"==a&&"defaultValue"in k||"checked"==a&&"defaultChecked"in k||F(u,a,null,w,o);for(a in k)w=k[a],"children"==a?y=w:"dangerouslySetInnerHTML"==a?h=w:"value"==a?_=w:"checked"==a?m=w:c&&"function"!=typeof w||b[a]===w||F(u,a,w,b[a],o);if(h)c||v&&(h.__html==v.__html||h.__html==u.innerHTML)||(u.innerHTML=h.__html),t.__k=[];else if(v&&(u.innerHTML=""),P("template"==t.type?u.content:u,d(y)?y:[y],t,i,r,"foreignObject"==x?"http://www.w3.org/1999/xhtml":o,e,f,e?e[0]:i.__k&&S(i,0),c,s),null!=e)for(a=e.length;a--;)g(e[a]);c||(a="value","progress"==x&&null==_?u.removeAttribute("value"):null!=_&&(_!==u[a]||"progress"==x&&!_||"option"==x&&_!=b[a])&&F(u,a,_,b[a],o),a="checked",null!=m&&m!=u[a]&&F(u,a,m,b[a],o));}return u}function D(n,u,t){try{if("function"==typeof n){var i="function"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u));}else n.current=u;}catch(n){l.__e(n,t);}}function E(n,u,t){var i,r;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!=n.__e||D(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount();}catch(n){l.__e(n,u);}i.base=i.__P=null;}if(i=n.__k)for(r=0;r<i.length;r++)i[r]&&E(i[r],u,t||"function"!=typeof n.type);t||g(n.__e),n.__c=n.__=n.__e=void 0;}function G(n,l,u){return this.constructor(n,u)}function J(u,t,i){var r,o,e,f;t==document&&(t=document.documentElement),l.__&&l.__(u,t),o=(r="function"=="undefined")?null:t.__k,e=[],f=[],z(t,u=(t).__k=_(k,null,[u]),o||p,p,t.namespaceURI,o?null:t.firstChild?n.call(t.childNodes):null,e,o?o.__e:t.firstChild,r,f),V(e,u,f);}function Q(l,u,t){var i,r,o,e,f=w({},l.props);for(o in l.type&&l.type.defaultProps&&(e=l.type.defaultProps),u)"key"==o?i=u[o]:"ref"==o?r=u[o]:f[o]=void 0===u[o]&&null!=e?e[o]:u[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),m(l.type,f,i||l.key,r||l.ref,null)}n=v.slice,l={__e:function(n,l,u,t){for(var i,r,o;l=l.__;)if((i=l.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(n)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),o=i.__d),o)return i.__E=i}catch(l){n=l;}throw n}},u=0,t=function(n){return null!=n&&void 0===n.constructor},x.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=w({},this.state),"function"==typeof n&&(n=n(w({},u),this.props)),n&&w(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),$(this));},x.prototype.forceUpdate=function(n){this.__v&&(this.__e=true,n&&this.__h.push(n),$(this));},x.prototype.render=k,i=[],o="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e=function(n,l){return n.__v.__b-l.__v.__b},I.__r=0,f=/(PointerCapture)$|Capture$/i,c=0,s=O(false),a=O(true);
179939
+ var n,l,u,t,i,r,o,e,f,c,s,a,h,p,v,d={},w=[],_=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,g=Array.isArray;function m(n,l){for(var u in l)n[u]=l[u];return n}function b(n){n&&n.parentNode&&n.parentNode.removeChild(n);}function k(l,u,t){var i,r,o,e={};for(o in u)"key"==o?i=u[o]:"ref"==o?r=u[o]:e[o]=u[o];if(arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),"function"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps) void 0===e[o]&&(e[o]=l.defaultProps[o]);return x(l,e,i,r,null)}function x(n,t,i,r,o){var e={type:n,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++u:o,__i:-1,__u:0};return null==o&&null!=l.vnode&&l.vnode(e),e}function S(n){return n.children}function C(n,l){this.props=n,this.context=l;}function $(n,l){if(null==l)return n.__?$(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return "function"==typeof n.type?$(n):null}function I(n){if(n.__P&&n.__d){var u=n.__v,t=u.__e,i=[],r=[],o=m({},u);o.__v=u.__v+1,l.vnode&&l.vnode(o),q(n.__P,o,u,n.__n,n.__P.namespaceURI,32&u.__u?[t]:null,i,null==t?$(u):t,!!(32&u.__u),r),o.__v=u.__v,o.__.__k[o.__i]=o,D(i,o,r),u.__e=u.__=null,o.__e!=t&&P(o);}}function P(n){if(null!=(n=n.__)&&null!=n.__c)return n.__e=n.__c.base=null,n.__k.some(function(l){if(null!=l&&null!=l.__e)return n.__e=n.__c.base=l.__e}),P(n)}function A(n){(!n.__d&&(n.__d=true)&&i.push(n)&&!H.__r++||r!=l.debounceRendering)&&((r=l.debounceRendering)||o)(H);}function H(){try{for(var n,l=1;i.length;)i.length>l&&i.sort(e),n=i.shift(),l=i.length,I(n);}finally{i.length=H.__r=0;}}function L(n,l,u,t,i,r,o,e,f,c,s){var a,h,p,v,y,_,g,m=t&&t.__k||w,b=l.length;for(f=T(u,l,m,f,b),a=0;a<b;a++)null!=(p=u.__k[a])&&(h=-1!=p.__i&&m[p.__i]||d,p.__i=a,_=q(n,p,h,i,r,o,e,f,c,s),v=p.__e,p.ref&&h.ref!=p.ref&&(h.ref&&J(h.ref,null,p),s.push(p.ref,p.__c||v,p)),null==y&&null!=v&&(y=v),(g=!!(4&p.__u))||h.__k===p.__k?(f=j(p,f,n,g),g&&h.__e&&(h.__e=null)):"function"==typeof p.type&&void 0!==_?f=_:v&&(f=v.nextSibling),p.__u&=-7);return u.__e=y,f}function T(n,l,u,t,i){var r,o,e,f,c,s=u.length,a=s,h=0;for(n.__k=new Array(i),r=0;r<i;r++)null!=(o=l[r])&&"boolean"!=typeof o&&"function"!=typeof o?("string"==typeof o||"number"==typeof o||"bigint"==typeof o||o.constructor==String?o=n.__k[r]=x(null,o,null,null,null):g(o)?o=n.__k[r]=x(S,{children:o},null,null,null):void 0===o.constructor&&o.__b>0?o=n.__k[r]=x(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):n.__k[r]=o,f=r+h,o.__=n,o.__b=n.__b+1,e=null,-1!=(c=o.__i=O(o,u,f,a))&&(a--,(e=u[c])&&(e.__u|=2)),null==e||null==e.__v?(-1==c&&(i>s?h--:i<s&&h++),"function"!=typeof o.type&&(o.__u|=4)):c!=f&&(c==f-1?h--:c==f+1?h++:(c>f?h--:h++,o.__u|=4))):n.__k[r]=null;if(a)for(r=0;r<s;r++)null!=(e=u[r])&&0==(2&e.__u)&&(e.__e==t&&(t=$(e)),K(e,e));return t}function j(n,l,u,t){var i,r;if("function"==typeof n.type){for(i=n.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=n,l=j(i[r],l,u,t));return l}n.__e!=l&&(t&&(l&&n.type&&!l.parentNode&&(l=$(n)),u.insertBefore(n.__e,l||null)),l=n.__e);do{l=l&&l.nextSibling;}while(null!=l&&8==l.nodeType);return l}function O(n,l,u,t){var i,r,o,e=n.key,f=n.type,c=l[u],s=null!=c&&0==(2&c.__u);if(null===c&&null==e||s&&e==c.key&&f==c.type)return u;if(t>(s?1:0))for(i=u-1,r=u+1;i>=0||r<l.length;)if(null!=(c=l[o=i>=0?i--:r++])&&0==(2&c.__u)&&e==c.key&&f==c.type)return o;return -1}function z(n,l,u){"-"==l[0]?n.setProperty(l,null==u?"":u):n[l]=null==u?"":"number"!=typeof u||_.test(l)?u:u+"px";}function N(n,l,u,t,i){var r,o;n:if("style"==l)if("string"==typeof u)n.style.cssText=u;else {if("string"==typeof t&&(n.style.cssText=t=""),t)for(l in t)u&&l in u||z(n.style,l,"");if(u)for(l in u)t&&u[l]==t[l]||z(n.style,l,u[l]);}else if("o"==l[0]&&"n"==l[1])r=l!=(l=l.replace(a,"$1")),o=l.toLowerCase(),l=o in n||"onFocusOut"==l||"onFocusIn"==l?o.slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?t?u[s]=t[s]:(u[s]=h,n.addEventListener(l,r?v:p,r)):n.removeEventListener(l,r?v:p,r);else {if("http://www.w3.org/2000/svg"==i)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=l&&"height"!=l&&"href"!=l&&"list"!=l&&"form"!=l&&"tabIndex"!=l&&"download"!=l&&"rowSpan"!=l&&"colSpan"!=l&&"role"!=l&&"popover"!=l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null==u||false===u&&"-"!=l[4]?n.removeAttribute(l):n.setAttribute(l,"popover"==l&&1==u?"":u));}}function V(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u[c])u[c]=h++;else if(u[c]<t[s])return;return t(l.event?l.event(u):u)}}}function q(n,u,t,i,r,o,e,f,c,s){var a,h,p,v,y,d,_,k,x,M,$,I,P,A,H,T=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),o=[f=u.__e=t.__e]),(a=l.__b)&&a(u);n:if("function"==typeof T)try{if(k=u.props,x=T.prototype&&T.prototype.render,M=(a=T.contextType)&&i[a.__c],$=a?M?M.props.value:a.__:i,t.__c?_=(h=u.__c=t.__c).__=h.__E:(x?u.__c=h=new T(k,$):(u.__c=h=new C(k,$),h.constructor=T,h.render=Q),M&&M.sub(h),h.state||(h.state={}),h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),x&&null==h.__s&&(h.__s=h.state),x&&null!=T.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=m({},h.__s)),m(h.__s,T.getDerivedStateFromProps(k,h.__s))),v=h.props,y=h.state,h.__v=u,p)x&&null==T.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),x&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else {if(x&&null==T.getDerivedStateFromProps&&k!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(k,$),u.__v==t.__v||!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(k,h.__s,$)){u.__v!=t.__v&&(h.props=k,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.some(function(n){n&&(n.__=u);}),w.push.apply(h.__h,h._sb),h._sb=[],h.__h.length&&e.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(k,h.__s,$),x&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,y,d);});}if(h.context=$,h.props=k,h.__P=n,h.__e=!1,I=l.__r,P=0,x)h.state=h.__s,h.__d=!1,I&&I(u),a=h.render(h.props,h.state,h.context),w.push.apply(h.__h,h._sb),h._sb=[];else do{h.__d=!1,I&&I(u),a=h.render(h.props,h.state,h.context),h.state=h.__s;}while(h.__d&&++P<25);h.state=h.__s,null!=h.getChildContext&&(i=m(m({},i),h.getChildContext())),x&&!p&&null!=h.getSnapshotBeforeUpdate&&(d=h.getSnapshotBeforeUpdate(v,y)),A=null!=a&&a.type===S&&null==a.key?E(a.props.children):a,f=L(n,g(A)?A:[A],u,t,i,r,o,e,f,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&e.push(h),_&&(h.__E=h.__=null);}catch(n){if(u.__v=null,c||null!=o)if(n.then){for(u.__u|=c?160:128;f&&8==f.nodeType&&f.nextSibling;)f=f.nextSibling;o[o.indexOf(f)]=null,u.__e=f;}else {for(H=o.length;H--;)b(o[H]);B(u);}else u.__e=t.__e,u.__k=t.__k,n.then||B(u);l.__e(n,u,t);}else null==o&&u.__v==t.__v?(u.__k=t.__k,u.__e=t.__e):f=u.__e=G(t.__e,u,t,i,r,o,e,c,s);return (a=l.diffed)&&a(u),128&u.__u?void 0:f}function B(n){n&&(n.__c&&(n.__c.__e=true),n.__k&&n.__k.some(B));}function D(n,u,t){for(var i=0;i<t.length;i++)J(t[i],t[++i],t[++i]);l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u);});}catch(n){l.__e(n,u.__v);}});}function E(n){return "object"!=typeof n||null==n||n.__b>0?n:g(n)?n.map(E):m({},n)}function G(u,t,i,r,o,e,f,c,s){var a,h,p,v,y,w,_,m=i.props||d,k=t.props,x=t.type;if("svg"==x?o="http://www.w3.org/2000/svg":"math"==x?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),null!=e)for(a=0;a<e.length;a++)if((y=e[a])&&"setAttribute"in y==!!x&&(x?y.localName==x:3==y.nodeType)){u=y,e[a]=null;break}if(null==u){if(null==x)return document.createTextNode(k);u=document.createElementNS(o,x,k.is&&k),c&&(l.__m&&l.__m(t,e),c=false),e=null;}if(null==x)m===k||c&&u.data==k||(u.data=k);else {if(e=e&&n.call(u.childNodes),!c&&null!=e)for(m={},a=0;a<u.attributes.length;a++)m[(y=u.attributes[a]).name]=y.value;for(a in m)y=m[a],"dangerouslySetInnerHTML"==a?p=y:"children"==a||a in k||"value"==a&&"defaultValue"in k||"checked"==a&&"defaultChecked"in k||N(u,a,null,y,o);for(a in k)y=k[a],"children"==a?v=y:"dangerouslySetInnerHTML"==a?h=y:"value"==a?w=y:"checked"==a?_=y:c&&"function"!=typeof y||m[a]===y||N(u,a,y,m[a],o);if(h)c||p&&(h.__html==p.__html||h.__html==u.innerHTML)||(u.innerHTML=h.__html),t.__k=[];else if(p&&(u.innerHTML=""),L("template"==t.type?u.content:u,g(v)?v:[v],t,i,r,"foreignObject"==x?"http://www.w3.org/1999/xhtml":o,e,f,e?e[0]:i.__k&&$(i,0),c,s),null!=e)for(a=e.length;a--;)b(e[a]);c||(a="value","progress"==x&&null==w?u.removeAttribute("value"):null!=w&&(w!==u[a]||"progress"==x&&!w||"option"==x&&w!=m[a])&&N(u,a,w,m[a],o),a="checked",null!=_&&_!=u[a]&&N(u,a,_,m[a],o));}return u}function J(n,u,t){try{if("function"==typeof n){var i="function"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u));}else n.current=u;}catch(n){l.__e(n,t);}}function K(n,u,t){var i,r;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!=n.__e||J(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount();}catch(n){l.__e(n,u);}i.base=i.__P=null;}if(i=n.__k)for(r=0;r<i.length;r++)i[r]&&K(i[r],u,t||"function"!=typeof n.type);t||b(n.__e),n.__c=n.__=n.__e=void 0;}function Q(n,l,u){return this.constructor(n,u)}function R(u,t,i){var r,o,e,f;t==document&&(t=document.documentElement),l.__&&l.__(u,t),o=(r="function"=="undefined")?null:t.__k,e=[],f=[],q(t,u=(t).__k=k(S,null,[u]),o||d,d,t.namespaceURI,o?null:t.firstChild?n.call(t.childNodes):null,e,o?o.__e:t.firstChild,r,f),D(e,u,f);}function W(l,u,t){var i,r,o,e,f=m({},l.props);for(o in l.type&&l.type.defaultProps&&(e=l.type.defaultProps),u)"key"==o?i=u[o]:"ref"==o?r=u[o]:f[o]=void 0===u[o]&&null!=e?e[o]:u[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),x(l.type,f,i||l.key,r||l.ref,null)}n=w.slice,l={__e:function(n,l,u,t){for(var i,r,o;l=l.__;)if((i=l.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(n)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),o=i.__d),o)return i.__E=i}catch(l){n=l;}throw n}},u=0,t=function(n){return null!=n&&void 0===n.constructor},C.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=m({},this.state),"function"==typeof n&&(n=n(m({},u),this.props)),n&&m(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),A(this));},C.prototype.forceUpdate=function(n){this.__v&&(this.__e=true,n&&this.__h.push(n),A(this));},C.prototype.render=S,i=[],o="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e=function(n,l){return n.__v.__b-l.__v.__b},H.__r=0,f=Math.random().toString(8),c="__d"+f,s="__a"+f,a=/(PointerCapture)$|Capture$/i,h=0,p=V(false),v=V(true);
179948
179940
 
179949
179941
  function _arrayLikeToArray$1(r, a) {
179950
179942
  (null == a || a > r.length) && (a = r.length);
@@ -180047,7 +180039,7 @@ var<${access}> ${ name } : ${ structName };`;
180047
180039
  var _reactElement2VNode = function reactElement2VNode(el) {
180048
180040
  // Among other things, react VNodes (and all its children) need to have constructor: undefined attributes in order to be recognised, cloneElement (applied recursively) does the necessary conversion
180049
180041
  if (!(_typeof(el) === 'object')) return el;
180050
- var res = Q(el);
180042
+ var res = W(el);
180051
180043
  if (res.props) {
180052
180044
  var _res$props;
180053
180045
  res.props = _objectSpread2({}, res.props);
@@ -180058,11 +180050,11 @@ var<${access}> ${ name } : ${ structName };`;
180058
180050
  return res;
180059
180051
  };
180060
180052
  var isReactRenderable = function isReactRenderable(o) {
180061
- return t(Q(o));
180053
+ return t(W(o));
180062
180054
  };
180063
180055
  var render = function render(jsx, domEl) {
180064
180056
  delete domEl.__k; // Wipe traces of previous preact renders
180065
- J(_reactElement2VNode(jsx), domEl);
180057
+ R(_reactElement2VNode(jsx), domEl);
180066
180058
  };
180067
180059
 
180068
180060
  function styleInject$1(css, ref) {
@@ -180278,6 +180270,38 @@ var<${access}> ${ name } : ${ structName };`;
180278
180270
  }
180279
180271
  }
180280
180272
 
180273
+ var _materialDispose = function materialDispose(material) {
180274
+ if (material instanceof Array) {
180275
+ material.forEach(_materialDispose);
180276
+ } else {
180277
+ if (material.map) {
180278
+ material.map.dispose();
180279
+ }
180280
+ material.dispose();
180281
+ }
180282
+ };
180283
+ var _deallocate = function deallocate(obj) {
180284
+ if (obj.geometry) {
180285
+ obj.geometry.dispose();
180286
+ }
180287
+ if (obj.material) {
180288
+ _materialDispose(obj.material);
180289
+ }
180290
+ if (obj.texture) {
180291
+ obj.texture.dispose();
180292
+ }
180293
+ if (obj.children) {
180294
+ obj.children.forEach(_deallocate);
180295
+ }
180296
+ };
180297
+ var emptyObject = function emptyObject(obj) {
180298
+ while (obj.children.length) {
180299
+ var childObj = obj.children[0];
180300
+ obj.remove(childObj);
180301
+ _deallocate(childObj);
180302
+ }
180303
+ };
180304
+
180281
180305
  var three = window.THREE ? window.THREE // Prefer consumption from global THREE, if exists
180282
180306
  : {
180283
180307
  WebGLRenderer: WebGLRenderer,
@@ -180294,7 +180318,7 @@ var<${access}> ${ name } : ${ structName };`;
180294
180318
  SphereGeometry: SphereGeometry,
180295
180319
  MeshBasicMaterial: MeshBasicMaterial,
180296
180320
  BackSide: BackSide,
180297
- Clock: Clock
180321
+ Timer: Timer
180298
180322
  };
180299
180323
  var threeRenderObjects = index$3({
180300
180324
  props: {
@@ -180388,7 +180412,7 @@ var<${access}> ${ name } : ${ structName };`;
180388
180412
  methods: {
180389
180413
  tick: function tick(state) {
180390
180414
  if (state.initialised) {
180391
- state.controls.enabled && state.controls.update && state.controls.update(Math.min(1, state.clock.getDelta())); // timedelta is required for fly controls
180415
+ state.controls.enabled && state.controls.update && state.controls.update(Math.min(1, state.timer.update().getDelta())); // timedelta is required for fly controls
180392
180416
 
180393
180417
  state.postProcessingComposer ? state.postProcessingComposer.render() // if using postprocessing, switch the output to it
180394
180418
  : state.renderer.render(state.scene, state.camera);
@@ -180448,10 +180472,14 @@ var<${access}> ${ name } : ${ structName };`;
180448
180472
  } else {
180449
180473
  var camPos = Object.assign({}, camera.position);
180450
180474
  var camLookAt = getLookAt();
180451
- state.tweenGroup.add(new Tween(camPos).to(finalPos, transitionDuration).easing(Easing.Quadratic.Out).onUpdate(setCameraPos).start());
180475
+ state.tweenGroup.add(new Tween(camPos).to(finalPos, transitionDuration).easing(Easing.Quadratic.Out).onUpdate(setCameraPos).onComplete(function () {
180476
+ state.tweenGroup.remove(this);
180477
+ }).start());
180452
180478
 
180453
180479
  // Face direction in 1/3rd of time
180454
- state.tweenGroup.add(new Tween(camLookAt).to(finalLookAt, transitionDuration / 3).easing(Easing.Quadratic.Out).onUpdate(setLookAt).start());
180480
+ state.tweenGroup.add(new Tween(camLookAt).to(finalLookAt, transitionDuration / 3).easing(Easing.Quadratic.Out).onUpdate(setLookAt).onComplete(function () {
180481
+ state.tweenGroup.remove(this);
180482
+ }).start());
180455
180483
  }
180456
180484
  return this;
180457
180485
  }
@@ -180577,13 +180605,21 @@ var<${access}> ${ name } : ${ structName };`;
180577
180605
  },
180578
180606
  tbControls: function tbControls(state) {
180579
180607
  return state.controls;
180580
- } // to be deprecated
180608
+ },
180609
+ // to be deprecated
180610
+ _destructor: function _destructor(state) {
180611
+ var _state$controls, _state$renderer, _state$postProcessing;
180612
+ emptyObject(state.scene);
180613
+ (_state$controls = state.controls) === null || _state$controls === void 0 || _state$controls.dispose();
180614
+ (_state$renderer = state.renderer) === null || _state$renderer === void 0 || _state$renderer.dispose();
180615
+ (_state$postProcessing = state.postProcessingComposer) === null || _state$postProcessing === void 0 || _state$postProcessing.dispose();
180616
+ }
180581
180617
  },
180582
180618
  stateInit: function stateInit() {
180583
180619
  return {
180584
180620
  scene: new three.Scene(),
180585
180621
  camera: new three.PerspectiveCamera(),
180586
- clock: new three.Clock(),
180622
+ timer: new three.Timer(),
180587
180623
  tweenGroup: new Group(),
180588
180624
  lastRaycasterCheck: 0
180589
180625
  };
@@ -181186,7 +181222,6 @@ var<${access}> ${ name } : ${ structName };`;
181186
181222
  },
181187
181223
  // Expose controls
181188
181224
  _destructor: function _destructor(state) {
181189
- state.globe._destructor();
181190
181225
  this.pauseAnimation();
181191
181226
  this.pointsData([]);
181192
181227
  this.arcsData([]);
@@ -181201,6 +181236,8 @@ var<${access}> ${ name } : ${ structName };`;
181201
181236
  this.htmlElementsData([]);
181202
181237
  this.objectsData([]);
181203
181238
  this.customLayerData([]);
181239
+ state.globe._destructor();
181240
+ state.renderObjs._destructor();
181204
181241
  }
181205
181242
  }, linkedGlobeMethods), linkedRenderObjsMethods),
181206
181243
  stateInit: function stateInit(_ref6) {