@loaders.gl/tiles 3.1.0-alpha.2 → 3.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +8134 -5
  4. package/dist/constants.d.ts +32 -0
  5. package/dist/constants.d.ts.map +1 -0
  6. package/dist/constants.js +29 -26
  7. package/dist/es5/bundle.js +7 -0
  8. package/dist/es5/bundle.js.map +1 -0
  9. package/dist/es5/constants.js +44 -0
  10. package/dist/es5/constants.js.map +1 -0
  11. package/dist/es5/index.js +104 -0
  12. package/dist/es5/index.js.map +1 -0
  13. package/dist/es5/tileset/helpers/3d-tiles-options.js +13 -0
  14. package/dist/es5/tileset/helpers/3d-tiles-options.js.map +1 -0
  15. package/dist/es5/tileset/helpers/bounding-volume.js +102 -0
  16. package/dist/es5/tileset/helpers/bounding-volume.js.map +1 -0
  17. package/dist/es5/tileset/helpers/frame-state.js +69 -0
  18. package/dist/es5/tileset/helpers/frame-state.js.map +1 -0
  19. package/dist/es5/tileset/helpers/i3s-lod.js +84 -0
  20. package/dist/es5/tileset/helpers/i3s-lod.js.map +1 -0
  21. package/dist/es5/tileset/helpers/tiles-3d-lod.js +123 -0
  22. package/dist/es5/tileset/helpers/tiles-3d-lod.js.map +1 -0
  23. package/dist/es5/tileset/helpers/transform-utils.js +71 -0
  24. package/dist/es5/tileset/helpers/transform-utils.js.map +1 -0
  25. package/dist/es5/tileset/helpers/zoom.js +45 -0
  26. package/dist/es5/tileset/helpers/zoom.js.map +1 -0
  27. package/dist/es5/tileset/tile-3d.js +510 -0
  28. package/dist/es5/tileset/tile-3d.js.map +1 -0
  29. package/dist/es5/tileset/tileset-3d.js +656 -0
  30. package/dist/es5/tileset/tileset-3d.js.map +1 -0
  31. package/dist/es5/tileset/tileset-cache.js +88 -0
  32. package/dist/es5/tileset/tileset-cache.js.map +1 -0
  33. package/dist/es5/tileset/traversers/i3s-tile-manager.js +57 -0
  34. package/dist/es5/tileset/traversers/i3s-tile-manager.js.map +1 -0
  35. package/dist/es5/tileset/traversers/i3s-tileset-traverser.js +95 -0
  36. package/dist/es5/tileset/traversers/i3s-tileset-traverser.js.map +1 -0
  37. package/dist/es5/tileset/traversers/tileset-3d-traverser.js +66 -0
  38. package/dist/es5/tileset/traversers/tileset-3d-traverser.js.map +1 -0
  39. package/dist/es5/tileset/traversers/tileset-traverser.js +304 -0
  40. package/dist/es5/tileset/traversers/tileset-traverser.js.map +1 -0
  41. package/dist/es5/utils/doubly-linked-list-node.js +25 -0
  42. package/dist/es5/utils/doubly-linked-list-node.js.map +1 -0
  43. package/dist/es5/utils/doubly-linked-list.js +92 -0
  44. package/dist/es5/utils/doubly-linked-list.js.map +1 -0
  45. package/dist/es5/utils/managed-array.js +127 -0
  46. package/dist/es5/utils/managed-array.js.map +1 -0
  47. package/dist/esm/bundle.js +5 -0
  48. package/dist/esm/bundle.js.map +1 -0
  49. package/dist/esm/constants.js +32 -0
  50. package/dist/esm/constants.js.map +1 -0
  51. package/dist/esm/index.js +10 -0
  52. package/dist/esm/index.js.map +1 -0
  53. package/dist/esm/tileset/helpers/3d-tiles-options.js +6 -0
  54. package/dist/esm/tileset/helpers/3d-tiles-options.js.map +1 -0
  55. package/dist/esm/tileset/helpers/bounding-volume.js +88 -0
  56. package/dist/esm/tileset/helpers/bounding-volume.js.map +1 -0
  57. package/dist/esm/tileset/helpers/frame-state.js +51 -0
  58. package/dist/esm/tileset/helpers/frame-state.js.map +1 -0
  59. package/dist/esm/tileset/helpers/i3s-lod.js +67 -0
  60. package/dist/esm/tileset/helpers/i3s-lod.js.map +1 -0
  61. package/dist/esm/tileset/helpers/tiles-3d-lod.js +105 -0
  62. package/dist/esm/tileset/helpers/tiles-3d-lod.js.map +1 -0
  63. package/dist/esm/tileset/helpers/transform-utils.js +58 -0
  64. package/dist/esm/tileset/helpers/transform-utils.js.map +1 -0
  65. package/dist/esm/tileset/helpers/zoom.js +36 -0
  66. package/dist/esm/tileset/helpers/zoom.js.map +1 -0
  67. package/dist/esm/tileset/tile-3d.js +534 -0
  68. package/dist/esm/tileset/tile-3d.js.map +1 -0
  69. package/dist/esm/tileset/tileset-3d.js +674 -0
  70. package/dist/esm/tileset/tileset-3d.js.map +1 -0
  71. package/dist/esm/tileset/tileset-cache.js +79 -0
  72. package/dist/esm/tileset/tileset-cache.js.map +1 -0
  73. package/dist/esm/tileset/traversers/i3s-tile-manager.js +45 -0
  74. package/dist/esm/tileset/traversers/i3s-tile-manager.js.map +1 -0
  75. package/dist/esm/tileset/traversers/i3s-tileset-traverser.js +80 -0
  76. package/dist/esm/tileset/traversers/i3s-tileset-traverser.js.map +1 -0
  77. package/dist/esm/tileset/traversers/tileset-3d-traverser.js +53 -0
  78. package/dist/esm/tileset/traversers/tileset-3d-traverser.js.map +1 -0
  79. package/dist/esm/tileset/traversers/tileset-traverser.js +296 -0
  80. package/dist/esm/tileset/traversers/tileset-traverser.js.map +1 -0
  81. package/dist/esm/utils/doubly-linked-list-node.js +16 -0
  82. package/dist/esm/utils/doubly-linked-list-node.js.map +1 -0
  83. package/dist/esm/utils/doubly-linked-list.js +81 -0
  84. package/dist/esm/utils/doubly-linked-list.js.map +1 -0
  85. package/dist/esm/utils/managed-array.js +117 -0
  86. package/dist/esm/utils/managed-array.js.map +1 -0
  87. package/dist/index.d.ts +11 -0
  88. package/dist/index.d.ts.map +1 -0
  89. package/dist/index.js +28 -9
  90. package/dist/tileset/helpers/3d-tiles-options.d.ts +4 -0
  91. package/dist/tileset/helpers/3d-tiles-options.d.ts.map +1 -0
  92. package/dist/tileset/helpers/3d-tiles-options.js +8 -5
  93. package/dist/tileset/helpers/bounding-volume.d.ts +9 -0
  94. package/dist/tileset/helpers/bounding-volume.d.ts.map +1 -0
  95. package/dist/tileset/helpers/bounding-volume.js +159 -70
  96. package/dist/tileset/helpers/frame-state.d.ts +17 -0
  97. package/dist/tileset/helpers/frame-state.d.ts.map +1 -0
  98. package/dist/tileset/helpers/frame-state.js +67 -48
  99. package/dist/tileset/helpers/i3s-lod.d.ts +20 -0
  100. package/dist/tileset/helpers/i3s-lod.d.ts.map +1 -0
  101. package/dist/tileset/helpers/i3s-lod.js +80 -105
  102. package/dist/tileset/helpers/tiles-3d-lod.d.ts +8 -0
  103. package/dist/tileset/helpers/tiles-3d-lod.d.ts.map +1 -0
  104. package/dist/tileset/helpers/tiles-3d-lod.js +111 -100
  105. package/dist/tileset/helpers/transform-utils.d.ts +2 -0
  106. package/dist/tileset/helpers/transform-utils.d.ts.map +1 -0
  107. package/dist/tileset/helpers/transform-utils.js +50 -53
  108. package/dist/tileset/helpers/zoom.d.ts +7 -0
  109. package/dist/tileset/helpers/zoom.d.ts.map +1 -0
  110. package/dist/tileset/helpers/zoom.js +36 -30
  111. package/dist/tileset/tile-3d.d.ts +174 -0
  112. package/dist/tileset/tile-3d.d.ts.map +1 -0
  113. package/dist/tileset/tile-3d.js +550 -530
  114. package/dist/tileset/tileset-3d.d.ts +172 -0
  115. package/dist/tileset/tileset-3d.d.ts.map +1 -0
  116. package/dist/tileset/tileset-3d.js +576 -649
  117. package/dist/tileset/tileset-cache.d.ts +18 -0
  118. package/dist/tileset/tileset-cache.d.ts.map +1 -0
  119. package/dist/tileset/tileset-cache.js +71 -71
  120. package/dist/tileset/traversers/i3s-tile-manager.d.ts +8 -0
  121. package/dist/tileset/traversers/i3s-tile-manager.d.ts.map +1 -0
  122. package/dist/tileset/traversers/i3s-tile-manager.js +31 -40
  123. package/dist/tileset/traversers/i3s-tileset-traverser.d.ts +18 -0
  124. package/dist/tileset/traversers/i3s-tileset-traverser.d.ts.map +1 -0
  125. package/dist/tileset/traversers/i3s-tileset-traverser.js +81 -76
  126. package/dist/tileset/traversers/tileset-3d-traverser.d.ts +7 -0
  127. package/dist/tileset/traversers/tileset-3d-traverser.d.ts.map +1 -0
  128. package/dist/tileset/traversers/tileset-3d-traverser.js +51 -49
  129. package/dist/tileset/traversers/tileset-traverser.d.ts +52 -0
  130. package/dist/tileset/traversers/tileset-traverser.d.ts.map +1 -0
  131. package/dist/tileset/traversers/tileset-traverser.js +274 -276
  132. package/dist/utils/doubly-linked-list-node.d.ts +12 -0
  133. package/dist/utils/doubly-linked-list-node.d.ts.map +1 -0
  134. package/dist/utils/doubly-linked-list-node.js +16 -8
  135. package/dist/utils/doubly-linked-list.d.ts +31 -0
  136. package/dist/utils/doubly-linked-list.d.ts.map +1 -0
  137. package/dist/utils/doubly-linked-list.js +94 -72
  138. package/dist/utils/managed-array.d.ts +85 -0
  139. package/dist/utils/managed-array.d.ts.map +1 -0
  140. package/dist/utils/managed-array.js +143 -103
  141. package/package.json +11 -9
  142. package/src/bundle.ts +2 -3
  143. package/src/index.ts +1 -0
  144. package/src/tileset/helpers/i3s-lod.ts +72 -96
  145. package/src/tileset/helpers/transform-utils.ts +3 -1
  146. package/src/tileset/tile-3d.ts +2 -2
  147. package/src/tileset/tileset-cache.ts +2 -0
  148. package/src/tileset/traversers/i3s-tileset-traverser.ts +2 -3
  149. package/src/utils/{doubly-linked-list-node.js → doubly-linked-list-node.ts} +4 -0
  150. package/src/utils/{doubly-linked-list.js → doubly-linked-list.ts} +3 -5
  151. package/src/utils/{managed-array.js → managed-array.ts} +4 -1
  152. package/dist/bundle.js.map +0 -1
  153. package/dist/constants.js.map +0 -1
  154. package/dist/dist.min.js +0 -2
  155. package/dist/dist.min.js.map +0 -1
  156. package/dist/index.js.map +0 -1
  157. package/dist/tileset/helpers/3d-tiles-options.js.map +0 -1
  158. package/dist/tileset/helpers/bounding-volume.js.map +0 -1
  159. package/dist/tileset/helpers/frame-state.js.map +0 -1
  160. package/dist/tileset/helpers/i3s-lod.js.map +0 -1
  161. package/dist/tileset/helpers/tiles-3d-lod.js.map +0 -1
  162. package/dist/tileset/helpers/transform-utils.js.map +0 -1
  163. package/dist/tileset/helpers/zoom.js.map +0 -1
  164. package/dist/tileset/tile-3d.js.map +0 -1
  165. package/dist/tileset/tileset-3d.js.map +0 -1
  166. package/dist/tileset/tileset-cache.js.map +0 -1
  167. package/dist/tileset/traversers/i3s-tile-manager.js.map +0 -1
  168. package/dist/tileset/traversers/i3s-tileset-traverser.js.map +0 -1
  169. package/dist/tileset/traversers/tileset-3d-traverser.js.map +0 -1
  170. package/dist/tileset/traversers/tileset-traverser.js.map +0 -1
  171. package/dist/utils/doubly-linked-list-node.js.map +0 -1
  172. package/dist/utils/doubly-linked-list.js.map +0 -1
  173. package/dist/utils/managed-array.js.map +0 -1
@@ -1,78 +1,100 @@
1
- import DoublyLinkedListNode from '../utils/doubly-linked-list-node';
2
- export default class DoublyLinkedList {
3
- constructor() {
4
- this.head = null;
5
- this.tail = null;
6
- this._length = 0;
7
- }
8
-
9
- get length() {
10
- return this._length;
11
- }
12
-
13
- add(item) {
14
- const node = new DoublyLinkedListNode(item, this.tail, null);
15
-
16
- if (this.tail) {
17
- this.tail.next = node;
18
- this.tail = node;
19
- } else {
20
- this.head = node;
21
- this.tail = node;
1
+ "use strict";
2
+ // This file is derived from the Cesium code base under Apache 2 license
3
+ // See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md
4
+ var __importDefault = (this && this.__importDefault) || function (mod) {
5
+ return (mod && mod.__esModule) ? mod : { "default": mod };
6
+ };
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ const doubly_linked_list_node_1 = __importDefault(require("../utils/doubly-linked-list-node"));
9
+ /**
10
+ * Doubly linked list
11
+ *
12
+ * @private
13
+ */
14
+ class DoublyLinkedList {
15
+ constructor() {
16
+ this.head = null;
17
+ this.tail = null;
18
+ this._length = 0;
22
19
  }
23
-
24
- ++this._length;
25
- return node;
26
- }
27
-
28
- remove(node) {
29
- if (!node) {
30
- return;
20
+ get length() {
21
+ return this._length;
31
22
  }
32
-
33
- if (node.previous && node.next) {
34
- node.previous.next = node.next;
35
- node.next.previous = node.previous;
36
- } else if (node.previous) {
37
- node.previous.next = null;
38
- this.tail = node.previous;
39
- } else if (node.next) {
40
- node.next.previous = null;
41
- this.head = node.next;
42
- } else {
43
- this.head = null;
44
- this.tail = null;
23
+ /**
24
+ * Adds the item to the end of the list
25
+ * @param {*} [item]
26
+ * @return {DoublyLinkedListNode}
27
+ */
28
+ add(item) {
29
+ const node = new doubly_linked_list_node_1.default(item, this.tail, null);
30
+ if (this.tail) {
31
+ this.tail.next = node;
32
+ this.tail = node;
33
+ }
34
+ else {
35
+ this.head = node;
36
+ this.tail = node;
37
+ }
38
+ ++this._length;
39
+ return node;
45
40
  }
46
-
47
- node.next = null;
48
- node.previous = null;
49
- --this._length;
50
- }
51
-
52
- splice(node, nextNode) {
53
- if (node === nextNode) {
54
- return;
41
+ /**
42
+ * Removes the given node from the list
43
+ * @param {DoublyLinkedListNode} node
44
+ */
45
+ remove(node) {
46
+ if (!node) {
47
+ return;
48
+ }
49
+ if (node.previous && node.next) {
50
+ node.previous.next = node.next;
51
+ node.next.previous = node.previous;
52
+ }
53
+ else if (node.previous) {
54
+ // Remove last node
55
+ node.previous.next = null;
56
+ this.tail = node.previous;
57
+ }
58
+ else if (node.next) {
59
+ // Remove first node
60
+ node.next.previous = null;
61
+ this.head = node.next;
62
+ }
63
+ else {
64
+ // Remove last node in the linked list
65
+ this.head = null;
66
+ this.tail = null;
67
+ }
68
+ node.next = null;
69
+ node.previous = null;
70
+ --this._length;
55
71
  }
56
-
57
- this.remove(nextNode);
58
-
59
- this._insert(node, nextNode);
60
- }
61
-
62
- _insert(node, nextNode) {
63
- const oldNodeNext = node.next;
64
- node.next = nextNode;
65
-
66
- if (this.tail === node) {
67
- this.tail = nextNode;
68
- } else {
69
- oldNodeNext.previous = nextNode;
72
+ /**
73
+ * Moves nextNode after node
74
+ * @param {DoublyLinkedListNode} node
75
+ * @param {DoublyLinkedListNode} nextNode
76
+ */
77
+ splice(node, nextNode) {
78
+ if (node === nextNode) {
79
+ return;
80
+ }
81
+ // Remove nextNode, then insert after node
82
+ this.remove(nextNode);
83
+ this._insert(node, nextNode);
84
+ }
85
+ _insert(node, nextNode) {
86
+ const oldNodeNext = node.next;
87
+ node.next = nextNode;
88
+ // nextNode is the new tail
89
+ if (this.tail === node) {
90
+ this.tail = nextNode;
91
+ }
92
+ else {
93
+ oldNodeNext.previous = nextNode;
94
+ }
95
+ nextNode.next = oldNodeNext;
96
+ nextNode.previous = node;
97
+ ++this._length;
70
98
  }
71
-
72
- nextNode.next = oldNodeNext;
73
- nextNode.previous = node;
74
- ++this._length;
75
- }
76
-
77
99
  }
78
- //# sourceMappingURL=doubly-linked-list.js.map
100
+ exports.default = DoublyLinkedList;
@@ -0,0 +1,85 @@
1
+ /**
2
+ * A wrapper around arrays so that the internal length of the array can be manually managed.
3
+ *
4
+ * @alias ManagedArray
5
+ * @constructor
6
+ * @private
7
+ *
8
+ * @param {Number} [length=0] The initial length of the array.
9
+ */
10
+ export default class ManagedArray {
11
+ _map: Map<any, any>;
12
+ _array: any[];
13
+ _length: number;
14
+ constructor(length?: number);
15
+ /**
16
+ * Gets or sets the length of the array.
17
+ * If the set length is greater than the length of the internal array, the internal array is resized.
18
+ *
19
+ * @memberof ManagedArray.prototype
20
+ * @type Number
21
+ */
22
+ get length(): number;
23
+ set length(length: number);
24
+ /**
25
+ * Gets the internal array.
26
+ *
27
+ * @memberof ManagedArray.prototype
28
+ * @type Array
29
+ * @readonly
30
+ */
31
+ get values(): any[];
32
+ /**
33
+ * Gets the element at an index.
34
+ *
35
+ * @param {Number} index The index to get.
36
+ */
37
+ get(index: any): any;
38
+ /**
39
+ * Sets the element at an index. Resizes the array if index is greater than the length of the array.
40
+ *
41
+ * @param {Number} index The index to set.
42
+ * @param {*} element The element to set at index.
43
+ */
44
+ set(index: any, element: any): void;
45
+ delete(element: any): void;
46
+ /**
47
+ * Returns the last element in the array without modifying the array.
48
+ *
49
+ * @returns {*} The last element in the array.
50
+ */
51
+ peek(): any;
52
+ /**
53
+ * Push an element into the array.
54
+ *
55
+ * @param {*} element The element to push.
56
+ */
57
+ push(element: any): void;
58
+ /**
59
+ * Pop an element from the array.
60
+ *
61
+ * @returns {*} The last element in the array.
62
+ */
63
+ pop(): any;
64
+ /**
65
+ * Resize the internal array if length > _array.length.
66
+ *
67
+ * @param {Number} length The length.
68
+ */
69
+ reserve(length: any): void;
70
+ /**
71
+ * Resize the array.
72
+ *
73
+ * @param {Number} length The length.
74
+ */
75
+ resize(length: any): void;
76
+ /**
77
+ * Trim the internal array to the specified length. Defaults to the current length.
78
+ *
79
+ * @param {Number} [length] The length.
80
+ */
81
+ trim(length: any): void;
82
+ reset(): void;
83
+ find(target: any): boolean;
84
+ }
85
+ //# sourceMappingURL=managed-array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-array.d.ts","sourceRoot":"","sources":["../../src/utils/managed-array.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,IAAI,gBAAa;IACjB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;gBAEJ,MAAM,SAAI;IAKtB;;;;;;OAMG;IACH,IAAI,MAAM,WAET;IAED,IAAI,MAAM,CAAC,MAAM,QAAA,EAKhB;IAED;;;;;;OAMG;IACH,IAAI,MAAM,UAET;IAED;;;;OAIG;IACH,GAAG,CAAC,KAAK,KAAA;IAKT;;;;;OAKG;IACH,GAAG,CAAC,KAAK,KAAA,EAAE,OAAO,KAAA;IAelB,MAAM,CAAC,OAAO,KAAA;IASd;;;;OAIG;IACH,IAAI;IAIJ;;;;OAIG;IACH,IAAI,CAAC,OAAO,KAAA;IAQZ;;;;OAIG;IACH,GAAG;IAMH;;;;OAIG;IACH,OAAO,CAAC,MAAM,KAAA;IAQd;;;;OAIG;IACH,MAAM,CAAC,MAAM,KAAA;IAMb;;;;OAIG;IACH,IAAI,CAAC,MAAM,KAAA;IAOX,KAAK;IAML,IAAI,CAAC,MAAM,KAAA;CAGZ"}
@@ -1,111 +1,151 @@
1
- import { assert } from '@loaders.gl/loader-utils';
2
- export default class ManagedArray {
3
- constructor(length = 0) {
4
- this._array = new Array(length);
5
- this._map = new Map();
6
- this._length = length;
7
- }
8
-
9
- get length() {
10
- return this._length;
11
- }
12
-
13
- set length(length) {
14
- this._length = length;
15
-
16
- if (length > this._array.length) {
17
- this._array.length = length;
1
+ "use strict";
2
+ // This file is derived from the Cesium code base under Apache 2 license
3
+ // See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ const loader_utils_1 = require("@loaders.gl/loader-utils");
6
+ /**
7
+ * A wrapper around arrays so that the internal length of the array can be manually managed.
8
+ *
9
+ * @alias ManagedArray
10
+ * @constructor
11
+ * @private
12
+ *
13
+ * @param {Number} [length=0] The initial length of the array.
14
+ */
15
+ class ManagedArray {
16
+ constructor(length = 0) {
17
+ this._map = new Map();
18
+ this._array = new Array(length);
19
+ this._length = length;
18
20
  }
19
- }
20
-
21
- get values() {
22
- return this._array;
23
- }
24
-
25
- get(index) {
26
- assert(index < this._array.length);
27
- return this._array[index];
28
- }
29
-
30
- set(index, element) {
31
- assert(index >= 0);
32
-
33
- if (index >= this.length) {
34
- this.length = index + 1;
21
+ /**
22
+ * Gets or sets the length of the array.
23
+ * If the set length is greater than the length of the internal array, the internal array is resized.
24
+ *
25
+ * @memberof ManagedArray.prototype
26
+ * @type Number
27
+ */
28
+ get length() {
29
+ return this._length;
35
30
  }
36
-
37
- if (this._map.has(this._array[index])) {
38
- this._map.delete(this._array[index]);
31
+ set length(length) {
32
+ this._length = length;
33
+ if (length > this._array.length) {
34
+ this._array.length = length;
35
+ }
39
36
  }
40
-
41
- this._array[index] = element;
42
-
43
- this._map.set(element, index);
44
- }
45
-
46
- delete(element) {
47
- const index = this._map.get(element);
48
-
49
- if (index >= 0) {
50
- this._array.splice(index, 1);
51
-
52
- this._map.delete(element);
53
-
54
- this.length--;
37
+ /**
38
+ * Gets the internal array.
39
+ *
40
+ * @memberof ManagedArray.prototype
41
+ * @type Array
42
+ * @readonly
43
+ */
44
+ get values() {
45
+ return this._array;
55
46
  }
56
- }
57
-
58
- peek() {
59
- return this._array[this._length - 1];
60
- }
61
-
62
- push(element) {
63
- if (!this._map.has(element)) {
64
- const index = this.length++;
65
- this._array[index] = element;
66
-
67
- this._map.set(element, index);
47
+ /**
48
+ * Gets the element at an index.
49
+ *
50
+ * @param {Number} index The index to get.
51
+ */
52
+ get(index) {
53
+ (0, loader_utils_1.assert)(index < this._array.length);
54
+ return this._array[index];
68
55
  }
69
- }
70
-
71
- pop() {
72
- const element = this._array[--this.length];
73
-
74
- this._map.delete(element);
75
-
76
- return element;
77
- }
78
-
79
- reserve(length) {
80
- assert(length >= 0);
81
-
82
- if (length > this._array.length) {
83
- this._array.length = length;
56
+ /**
57
+ * Sets the element at an index. Resizes the array if index is greater than the length of the array.
58
+ *
59
+ * @param {Number} index The index to set.
60
+ * @param {*} element The element to set at index.
61
+ */
62
+ set(index, element) {
63
+ (0, loader_utils_1.assert)(index >= 0);
64
+ if (index >= this.length) {
65
+ this.length = index + 1;
66
+ }
67
+ if (this._map.has(this._array[index])) {
68
+ this._map.delete(this._array[index]);
69
+ }
70
+ this._array[index] = element;
71
+ this._map.set(element, index);
84
72
  }
85
- }
86
-
87
- resize(length) {
88
- assert(length >= 0);
89
- this.length = length;
90
- }
91
-
92
- trim(length) {
93
- if (length === null || length === undefined) {
94
- length = this.length;
73
+ delete(element) {
74
+ const index = this._map.get(element);
75
+ if (index >= 0) {
76
+ this._array.splice(index, 1);
77
+ this._map.delete(element);
78
+ this.length--;
79
+ }
80
+ }
81
+ /**
82
+ * Returns the last element in the array without modifying the array.
83
+ *
84
+ * @returns {*} The last element in the array.
85
+ */
86
+ peek() {
87
+ return this._array[this._length - 1];
88
+ }
89
+ /**
90
+ * Push an element into the array.
91
+ *
92
+ * @param {*} element The element to push.
93
+ */
94
+ push(element) {
95
+ if (!this._map.has(element)) {
96
+ const index = this.length++;
97
+ this._array[index] = element;
98
+ this._map.set(element, index);
99
+ }
100
+ }
101
+ /**
102
+ * Pop an element from the array.
103
+ *
104
+ * @returns {*} The last element in the array.
105
+ */
106
+ pop() {
107
+ const element = this._array[--this.length];
108
+ this._map.delete(element);
109
+ return element;
110
+ }
111
+ /**
112
+ * Resize the internal array if length > _array.length.
113
+ *
114
+ * @param {Number} length The length.
115
+ */
116
+ reserve(length) {
117
+ (0, loader_utils_1.assert)(length >= 0);
118
+ if (length > this._array.length) {
119
+ this._array.length = length;
120
+ }
121
+ }
122
+ /**
123
+ * Resize the array.
124
+ *
125
+ * @param {Number} length The length.
126
+ */
127
+ resize(length) {
128
+ (0, loader_utils_1.assert)(length >= 0);
129
+ this.length = length;
130
+ }
131
+ /**
132
+ * Trim the internal array to the specified length. Defaults to the current length.
133
+ *
134
+ * @param {Number} [length] The length.
135
+ */
136
+ trim(length) {
137
+ if (length === null || length === undefined) {
138
+ length = this.length;
139
+ }
140
+ this._array.length = length;
141
+ }
142
+ reset() {
143
+ this._array = [];
144
+ this._map = new Map();
145
+ this._length = 0;
146
+ }
147
+ find(target) {
148
+ return this._map.has(target);
95
149
  }
96
-
97
- this._array.length = length;
98
- }
99
-
100
- reset() {
101
- this._array = [];
102
- this._map = new Map();
103
- this._length = 0;
104
- }
105
-
106
- find(target) {
107
- return this._map.has(target);
108
- }
109
-
110
150
  }
111
- //# sourceMappingURL=managed-array.js.map
151
+ exports.default = ManagedArray;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/tiles",
3
- "version": "3.1.0-alpha.2",
3
+ "version": "3.1.0-beta.1",
4
4
  "description": "Common components for different tiles loaders.",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -19,9 +19,9 @@
19
19
  "point cloud",
20
20
  "pointcloud"
21
21
  ],
22
- "types": "src/index.ts",
23
- "main": "dist/index.js",
24
- "module": "dist/index.js",
22
+ "types": "dist/index.d.ts",
23
+ "main": "dist/es5/index.js",
24
+ "module": "dist/esm/index.js",
25
25
  "sideEffects": false,
26
26
  "files": [
27
27
  "src",
@@ -30,17 +30,19 @@
30
30
  ],
31
31
  "scripts": {
32
32
  "pre-build": "npm run build-bundle",
33
- "build-bundle": "webpack --display=minimal --config ../../scripts/webpack/bundle.js"
33
+ "build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/bundle.js"
34
34
  },
35
35
  "dependencies": {
36
- "@loaders.gl/core": "3.1.0-alpha.2",
37
- "@loaders.gl/loader-utils": "3.1.0-alpha.2",
38
- "@loaders.gl/math": "3.1.0-alpha.2",
36
+ "@loaders.gl/loader-utils": "3.1.0-beta.1",
37
+ "@loaders.gl/math": "3.1.0-beta.1",
39
38
  "@math.gl/core": "^3.5.1",
40
39
  "@math.gl/culling": "^3.5.1",
41
40
  "@math.gl/geospatial": "^3.5.1",
42
41
  "@math.gl/web-mercator": "^3.5.1",
43
42
  "@probe.gl/stats": "^3.4.0"
44
43
  },
45
- "gitHead": "ca83b8f05a6874db93051d446266d9ea360affb2"
44
+ "peerDependencies": {
45
+ "@loaders.gl/core": "4.0.0-alpha.4"
46
+ },
47
+ "gitHead": "980cdefb4e8ec9ef9c951d20c78cf77777707f49"
46
48
  }
package/src/bundle.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  // @ts-nocheck
2
2
  const moduleExports = require('./index');
3
- const _global = typeof window === 'undefined' ? global : window;
4
- _global.loaders = _global.loaders || {};
5
- module.exports = Object.assign(_global.loaders, moduleExports);
3
+ globalThis.loaders = globalThis.loaders || {};
4
+ module.exports = Object.assign(globalThis.loaders, moduleExports);
package/src/index.ts CHANGED
@@ -9,6 +9,7 @@ export {createBoundingVolume} from './tileset/helpers/bounding-volume';
9
9
  export {calculateTransformProps} from './tileset/helpers/transform-utils';
10
10
 
11
11
  export {getFrameState} from './tileset/helpers/frame-state';
12
+ export {getLodStatus} from './tileset/helpers/i3s-lod';
12
13
 
13
14
  export {
14
15
  TILE_CONTENT_STATE,