@loaders.gl/tiles 5.0.0-alpha.6 → 5.0.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -0
- package/dist/dist.dev.js +10015 -8172
- package/dist/dist.min.js +3 -4
- package/dist/index.cjs +1676 -477
- package/dist/index.cjs.map +3 -3
- package/dist/index.d.ts +10 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/spatial/format-spatial-reference.d.ts +1 -0
- package/dist/spatial/format-spatial-reference.d.ts.map +1 -1
- package/dist/spatial/format-spatial-reference.js +104 -46
- package/dist/spatial/format-spatial-reference.js.map +1 -1
- package/dist/spatial/get-spatial-coordinate-frame.d.ts +12 -1
- package/dist/spatial/get-spatial-coordinate-frame.d.ts.map +1 -1
- package/dist/spatial/get-spatial-coordinate-frame.js +105 -24
- package/dist/spatial/get-spatial-coordinate-frame.js.map +1 -1
- package/dist/spatial/normalize-crs-identifier.d.ts +15 -0
- package/dist/spatial/normalize-crs-identifier.d.ts.map +1 -0
- package/dist/spatial/normalize-crs-identifier.js +22 -0
- package/dist/spatial/normalize-crs-identifier.js.map +1 -0
- package/dist/spatial/spatial-coordinate-transformer.d.ts +4 -0
- package/dist/spatial/spatial-coordinate-transformer.d.ts.map +1 -1
- package/dist/spatial/spatial-coordinate-transformer.js +102 -18
- package/dist/spatial/spatial-coordinate-transformer.js.map +1 -1
- package/dist/spatial/spatial-resource-registry.js +3 -3
- package/dist/spatial/spatial-resource-registry.js.map +1 -1
- package/dist/spatial/tiles-3d-spatial-transformer.d.ts +32 -0
- package/dist/spatial/tiles-3d-spatial-transformer.d.ts.map +1 -0
- package/dist/spatial/tiles-3d-spatial-transformer.js +175 -0
- package/dist/spatial/tiles-3d-spatial-transformer.js.map +1 -0
- package/dist/tileset-3d/common/tile-3d-contracts.d.ts +63 -0
- package/dist/tileset-3d/common/tile-3d-contracts.d.ts.map +1 -0
- package/dist/tileset-3d/common/tile-3d-contracts.js +51 -0
- package/dist/tileset-3d/common/tile-3d-contracts.js.map +1 -0
- package/dist/tileset-3d/common/tile-3d.d.ts +33 -5
- package/dist/tileset-3d/common/tile-3d.d.ts.map +1 -1
- package/dist/tileset-3d/common/tile-3d.js +179 -29
- package/dist/tileset-3d/common/tile-3d.js.map +1 -1
- package/dist/tileset-3d/common/tileset-3d.d.ts +15 -25
- package/dist/tileset-3d/common/tileset-3d.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-3d.js +35 -42
- package/dist/tileset-3d/common/tileset-3d.js.map +1 -1
- package/dist/tileset-3d/common/tileset-content-traversal.d.ts +37 -0
- package/dist/tileset-3d/common/tileset-content-traversal.d.ts.map +1 -0
- package/dist/tileset-3d/common/tileset-content-traversal.js +80 -0
- package/dist/tileset-3d/common/tileset-content-traversal.js.map +1 -0
- package/dist/tileset-3d/common/tileset-observability.d.ts +60 -0
- package/dist/tileset-3d/common/tileset-observability.d.ts.map +1 -0
- package/dist/tileset-3d/common/tileset-observability.js +39 -0
- package/dist/tileset-3d/common/tileset-observability.js.map +1 -0
- package/dist/tileset-3d/common/tileset-source.d.ts +11 -1
- package/dist/tileset-3d/common/tileset-source.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-source.js.map +1 -1
- package/dist/tileset-3d/common/tileset-traverser.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-traverser.js +4 -3
- package/dist/tileset-3d/common/tileset-traverser.js.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts +47 -1
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js +327 -30
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts +34 -0
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js +278 -14
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts +5 -3
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js +7 -4
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts +4 -2
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-source.js +60 -9
- package/dist/tileset-3d/format-i3s/i3s-source.js.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js +1 -1
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js.map +1 -1
- package/dist/tileset-3d/helpers/bounding-volume.d.ts +7 -3
- package/dist/tileset-3d/helpers/bounding-volume.d.ts.map +1 -1
- package/dist/tileset-3d/helpers/bounding-volume.js +19 -61
- package/dist/tileset-3d/helpers/bounding-volume.js.map +1 -1
- package/dist/tileset-3d/helpers/frame-state.d.ts +5 -0
- package/dist/tileset-3d/helpers/frame-state.d.ts.map +1 -1
- package/dist/tileset-3d/helpers/frame-state.js +11 -5
- package/dist/tileset-3d/helpers/frame-state.js.map +1 -1
- package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts +17 -0
- package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/s2-bounding-volume.js +20 -0
- package/dist/tileset-3d/helpers/s2-bounding-volume.js.map +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +11 -12
- package/src/index.ts +18 -1
- package/src/spatial/format-spatial-reference.ts +127 -53
- package/src/spatial/get-spatial-coordinate-frame.ts +126 -31
- package/src/spatial/normalize-crs-identifier.ts +26 -0
- package/src/spatial/spatial-coordinate-transformer.ts +124 -24
- package/src/spatial/spatial-resource-registry.ts +3 -3
- package/src/spatial/tiles-3d-spatial-transformer.ts +206 -0
- package/src/tileset-3d/common/tile-3d-contracts.ts +115 -0
- package/src/tileset-3d/common/tile-3d.ts +208 -32
- package/src/tileset-3d/common/tileset-3d.ts +37 -61
- package/src/tileset-3d/common/tileset-content-traversal.ts +114 -0
- package/src/tileset-3d/common/tileset-observability.ts +100 -0
- package/src/tileset-3d/common/tileset-source.ts +19 -1
- package/src/tileset-3d/common/tileset-traverser.ts +4 -3
- package/src/tileset-3d/format-3d-tiles/implicit-tiling.ts +481 -34
- package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +405 -14
- package/src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts +7 -4
- package/src/tileset-3d/format-i3s/i3s-source.ts +84 -13
- package/src/tileset-3d/format-i3s/i3s-tileset-traverser.ts +2 -1
- package/src/tileset-3d/helpers/bounding-volume.ts +29 -62
- package/src/tileset-3d/helpers/frame-state.ts +15 -7
- package/src/tileset-3d/helpers/s2-bounding-volume.ts +35 -0
- package/src/types.ts +2 -0
|
@@ -53,6 +53,12 @@ export declare class Tiles3DSource implements Tileset3DSource {
|
|
|
53
53
|
private readonly queryParams;
|
|
54
54
|
/** Final request URLs cached by unmodified tile content URL. */
|
|
55
55
|
private readonly tileUrlCache;
|
|
56
|
+
/** Original content descriptors retained across {@link Tile3D.unloadContent} calls. */
|
|
57
|
+
private readonly tileContentHeaders;
|
|
58
|
+
/** Source-local namespaces assigned to distinct embedded glTF package file collections. */
|
|
59
|
+
private readonly packageNamespaces;
|
|
60
|
+
/** Next source-local package namespace. */
|
|
61
|
+
private nextPackageNamespace;
|
|
56
62
|
/** Parsed subtree requests keyed by final source URL for deduplication and LRU reuse. */
|
|
57
63
|
private readonly implicitSubtreeCache;
|
|
58
64
|
/** Mutable counters exposed as a defensive snapshot through {@link getImplicitTilingStats}. */
|
|
@@ -62,6 +68,10 @@ export declare class Tiles3DSource implements Tileset3DSource {
|
|
|
62
68
|
private readonly extensionsUsed;
|
|
63
69
|
private readonly resolver?;
|
|
64
70
|
private rootTileset;
|
|
71
|
+
/** CRS transformer shared by this source's headers and decoded glTF content. */
|
|
72
|
+
private spatialTransformer?;
|
|
73
|
+
/** Root header after composing source-frame transforms and rebuilding target bounds. */
|
|
74
|
+
private preparedRootHeader?;
|
|
65
75
|
/**
|
|
66
76
|
* Creates a 3D Tiles source.
|
|
67
77
|
* @param input Root metadata request, or preloaded root metadata for tests and internal callers.
|
|
@@ -87,6 +97,8 @@ export declare class Tiles3DSource implements Tileset3DSource {
|
|
|
87
97
|
* Returns the root 3D Tiles payload.
|
|
88
98
|
*/
|
|
89
99
|
getRootTileset(): Promise<TilesetJSON>;
|
|
100
|
+
/** Prepare nonlinear CRS state before runtime headers are materialized. */
|
|
101
|
+
prepareTileset(tileset: Tileset3D): Promise<void>;
|
|
90
102
|
/**
|
|
91
103
|
* Builds explicit runtime headers while leaving implicit subtree references lazy.
|
|
92
104
|
*/
|
|
@@ -99,6 +111,11 @@ export declare class Tiles3DSource implements Tileset3DSource {
|
|
|
99
111
|
* Loads binary content or nested tileset JSON for a runtime tile.
|
|
100
112
|
*/
|
|
101
113
|
loadTileContent(tile: Tile3D): Promise<TileContentLoadResult>;
|
|
114
|
+
/** Transform a tile header and its eagerly declared descendants. */
|
|
115
|
+
private transformTileHeader;
|
|
116
|
+
/** Rebuilds one header subtree using an explicitly selected CRS transformer. */
|
|
117
|
+
private transformTileHeaderWithTransformer;
|
|
118
|
+
private transformContentHeader;
|
|
102
119
|
/**
|
|
103
120
|
* Loads, materializes, and installs exactly one implicit subtree.
|
|
104
121
|
*
|
|
@@ -111,6 +128,8 @@ export declare class Tiles3DSource implements Tileset3DSource {
|
|
|
111
128
|
* @returns Counts describing the installed subtree.
|
|
112
129
|
*/
|
|
113
130
|
loadTileChildren(tile: Tile3D, frameState: FrameState): Promise<TileChildrenLoadResult>;
|
|
131
|
+
/** Loads an implicit subtree for dataset traversal without camera state. */
|
|
132
|
+
loadTileChildrenForTraversal(tile: Tile3D, signal?: AbortSignal): Promise<TileChildrenLoadResult>;
|
|
114
133
|
/**
|
|
115
134
|
* Returns a snapshot of implicit-subtree request, cache, and materialization counters.
|
|
116
135
|
*
|
|
@@ -151,6 +170,14 @@ export declare class Tiles3DSource implements Tileset3DSource {
|
|
|
151
170
|
* Updates content-format flags and installs nested tileset subtrees.
|
|
152
171
|
*/
|
|
153
172
|
onTileLoaded(tileset: Tileset3D, tile: Tile3D, loadResult: TileContentLoadResult): void;
|
|
173
|
+
/**
|
|
174
|
+
* Resolves a nested tileset's CRS independently and adapts it to the owning tileset output frame.
|
|
175
|
+
*
|
|
176
|
+
* Nested resources may use a different source CRS from their parent. Their headers and glTF
|
|
177
|
+
* payloads must therefore use a transformer built from the nested descriptor, while the parent
|
|
178
|
+
* runtime continues to expose one requested output frame to traversal and rendering.
|
|
179
|
+
*/
|
|
180
|
+
private prepareNestedTileset;
|
|
154
181
|
/**
|
|
155
182
|
* Loads data through injected core APIs so this module stays independent from `@loaders.gl/core`.
|
|
156
183
|
*/
|
|
@@ -163,10 +190,17 @@ export declare class Tiles3DSource implements Tileset3DSource {
|
|
|
163
190
|
* Loads an arbitrary source resource through an injected resolver or core API.
|
|
164
191
|
*/
|
|
165
192
|
private loadResourceData;
|
|
193
|
+
/** Loads a URL content reference or parses a buffer-view file retained from a glTF package. */
|
|
194
|
+
private loadContentResource;
|
|
195
|
+
/** Returns a stable source-local namespace for one embedded glTF package file collection. */
|
|
196
|
+
private getPackageNamespace;
|
|
197
|
+
/** Resolves a retained package-file byte range without eagerly copying other package files. */
|
|
198
|
+
private getPackageFileData;
|
|
166
199
|
/**
|
|
167
200
|
* Returns a parsed subtree from the LRU cache or starts one source-managed request.
|
|
168
201
|
*
|
|
169
202
|
* @param subtreeUrl - Final subtree URL after query inheritance.
|
|
203
|
+
* @param packageResource - Optional glTF package file satisfying the subtree reference.
|
|
170
204
|
* @returns Parsed subtree availability data.
|
|
171
205
|
*/
|
|
172
206
|
private loadImplicitSubtreeResource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiles-3d-source.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tiles-3d-source.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tiles-3d-source.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tiles-3d-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import { path, RequestCache } from '@loaders.gl/loader-utils';
|
|
4
|
+
import { path, RequestCache, sliceArrayBuffer } from '@loaders.gl/loader-utils';
|
|
5
5
|
import { Ellipsoid } from '@math.gl/geospatial';
|
|
6
|
-
import { Vector3 } from '@math.gl/core';
|
|
6
|
+
import { Matrix4, Vector3 } from '@math.gl/core';
|
|
7
7
|
import { Tileset3DTraverser } from "./tileset-3d-traverser.js";
|
|
8
8
|
import { Tile3D as Tile3DNode } from "../common/tile-3d.js";
|
|
9
9
|
import { getZoomFromBoundingVolume } from "../helpers/zoom.js";
|
|
10
10
|
import { TILESET_TYPE } from "../../constants.js";
|
|
11
11
|
import { get3DTilesSpatialReference } from "../../spatial/format-spatial-reference.js";
|
|
12
|
+
import { Tiles3DSpatialTransformer } from "../../spatial/tiles-3d-spatial-transformer.js";
|
|
13
|
+
import { applyTilesetSpatialOptions, markTilesetSpatialReferenceTransformed } from "../../spatial/spatial-types.js";
|
|
12
14
|
import { materializeImplicitSubtree } from "./implicit-tiling.js";
|
|
13
15
|
const EMPTY_CONTENT_FORMATS = {
|
|
14
16
|
draco: false,
|
|
@@ -50,6 +52,12 @@ export class Tiles3DSource {
|
|
|
50
52
|
queryParams = {};
|
|
51
53
|
/** Final request URLs cached by unmodified tile content URL. */
|
|
52
54
|
tileUrlCache = new Map();
|
|
55
|
+
/** Original content descriptors retained across {@link Tile3D.unloadContent} calls. */
|
|
56
|
+
tileContentHeaders = new WeakMap();
|
|
57
|
+
/** Source-local namespaces assigned to distinct embedded glTF package file collections. */
|
|
58
|
+
packageNamespaces = new WeakMap();
|
|
59
|
+
/** Next source-local package namespace. */
|
|
60
|
+
nextPackageNamespace = 0;
|
|
53
61
|
/** Parsed subtree requests keyed by final source URL for deduplication and LRU reuse. */
|
|
54
62
|
implicitSubtreeCache;
|
|
55
63
|
/** Mutable counters exposed as a defensive snapshot through {@link getImplicitTilingStats}. */
|
|
@@ -64,6 +72,10 @@ export class Tiles3DSource {
|
|
|
64
72
|
extensionsUsed = [];
|
|
65
73
|
resolver;
|
|
66
74
|
rootTileset;
|
|
75
|
+
/** CRS transformer shared by this source's headers and decoded glTF content. */
|
|
76
|
+
spatialTransformer;
|
|
77
|
+
/** Root header after composing source-frame transforms and rebuilding target bounds. */
|
|
78
|
+
preparedRootHeader;
|
|
67
79
|
/**
|
|
68
80
|
* Creates a 3D Tiles source.
|
|
69
81
|
* @param input Root metadata request, or preloaded root metadata for tests and internal callers.
|
|
@@ -121,10 +133,11 @@ export class Tiles3DSource {
|
|
|
121
133
|
if (!this.asset) {
|
|
122
134
|
throw new Error('Tileset must have an asset property.');
|
|
123
135
|
}
|
|
124
|
-
if (this.
|
|
136
|
+
if (this.rootTileset.formatVersion !== '2.0-draft' &&
|
|
137
|
+
this.asset.version !== '0.0' &&
|
|
125
138
|
this.asset.version !== '1.0' &&
|
|
126
139
|
this.asset.version !== '1.1') {
|
|
127
|
-
throw new Error('The tileset must be 3D Tiles version
|
|
140
|
+
throw new Error('The tileset must be 3D Tiles version 0.0, 1.0, 1.1, or 2.0-draft.');
|
|
128
141
|
}
|
|
129
142
|
if ('tilesetVersion' in this.asset) {
|
|
130
143
|
this.setQueryParameter('v', this.asset.tilesetVersion);
|
|
@@ -160,11 +173,26 @@ export class Tiles3DSource {
|
|
|
160
173
|
async getRootTileset() {
|
|
161
174
|
return this.getMetadata().tileset;
|
|
162
175
|
}
|
|
176
|
+
/** Prepare nonlinear CRS state before runtime headers are materialized. */
|
|
177
|
+
async prepareTileset(tileset) {
|
|
178
|
+
const spatialReference = tileset.spatialReference;
|
|
179
|
+
if (spatialReference.status === 'unresolved') {
|
|
180
|
+
throw new Error(spatialReference.warnings[0] ||
|
|
181
|
+
'3D Tiles spatial operations cannot be resolved from the supplied metadata and options');
|
|
182
|
+
}
|
|
183
|
+
if (spatialReference.status !== 'transformable' && spatialReference.status !== 'transformed') {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
this.spatialTransformer ||= new Tiles3DSpatialTransformer(spatialReference, tileset.options.spatial);
|
|
187
|
+
tileset.spatialReference = markTilesetSpatialReferenceTransformed(spatialReference);
|
|
188
|
+
this.preparedRootHeader = this.transformTileHeader(this.getMetadata().tileset.root, new Matrix4());
|
|
189
|
+
}
|
|
163
190
|
/**
|
|
164
191
|
* Builds explicit runtime headers while leaving implicit subtree references lazy.
|
|
165
192
|
*/
|
|
166
193
|
initializeTileHeaders(tileset, tilesetJson, parentTile) {
|
|
167
|
-
const
|
|
194
|
+
const rootHeader = parentTile ? tilesetJson.root : this.preparedRootHeader || tilesetJson.root;
|
|
195
|
+
const rootTile = new Tile3DNode(tileset, rootHeader, parentTile || undefined);
|
|
168
196
|
if (parentTile) {
|
|
169
197
|
parentTile.children.push(rootTile);
|
|
170
198
|
rootTile.depth = parentTile.depth + 1;
|
|
@@ -201,6 +229,16 @@ export class Tiles3DSource {
|
|
|
201
229
|
*/
|
|
202
230
|
async loadTileContent(tile) {
|
|
203
231
|
const contentUrls = (tile.contentUrls || [tile.contentUrl]).filter(Boolean);
|
|
232
|
+
const cachedContentHeaders = this.tileContentHeaders.get(tile);
|
|
233
|
+
const contentHeaders = cachedContentHeaders ||
|
|
234
|
+
(Array.isArray(tile.header?.content)
|
|
235
|
+
? tile.header.content
|
|
236
|
+
: tile.header?.content
|
|
237
|
+
? [tile.header.content]
|
|
238
|
+
: []);
|
|
239
|
+
if (!cachedContentHeaders) {
|
|
240
|
+
this.tileContentHeaders.set(tile, contentHeaders);
|
|
241
|
+
}
|
|
204
242
|
const tilesetLoaderOptions = this.loadOptions[this.loader.id] || {};
|
|
205
243
|
const options = {
|
|
206
244
|
...this.loadOptions,
|
|
@@ -209,10 +247,30 @@ export class Tiles3DSource {
|
|
|
209
247
|
// Content bytes, rather than URL suffixes, distinguish external tilesets from renderable
|
|
210
248
|
// payloads. This is required for signed and extensionless resources.
|
|
211
249
|
isTileset: 'auto',
|
|
212
|
-
assetGltfUpAxis: (this.asset && this.asset.gltfUpAxis) || 'Y'
|
|
250
|
+
assetGltfUpAxis: (this.asset && this.asset.gltfUpAxis) || 'Y',
|
|
251
|
+
_tilesetOptions: {
|
|
252
|
+
spatialReference: tile.header?._spatialReference || tile.tileset?.spatialReference,
|
|
253
|
+
spatialOptions: tile.tileset?.options.spatial,
|
|
254
|
+
spatialTransform: tile.header?._spatialTransform
|
|
255
|
+
}
|
|
213
256
|
}
|
|
214
257
|
};
|
|
215
|
-
const contents = await Promise.all(contentUrls.map(
|
|
258
|
+
const contents = await Promise.all(contentUrls.map((contentUrl, contentIndex) => {
|
|
259
|
+
const contentHeader = contentHeaders[contentIndex] || {};
|
|
260
|
+
const vectorExtension = contentHeader.extensions?.['3DTILES_content_gltf_vector'];
|
|
261
|
+
const vectorContent = contentHeader._vectorContent ||
|
|
262
|
+
(vectorExtension?.vector === true ? { clip: vectorExtension.clip === true } : undefined);
|
|
263
|
+
const contentOptions = vectorContent
|
|
264
|
+
? {
|
|
265
|
+
...options,
|
|
266
|
+
[this.loader.id]: {
|
|
267
|
+
...options[this.loader.id],
|
|
268
|
+
vectorContent
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
: options;
|
|
272
|
+
return this.loadContentResource(this.getTileUrl(contentUrl), contentHeader._resource, contentOptions);
|
|
273
|
+
}));
|
|
216
274
|
tile.contents = contents;
|
|
217
275
|
tile.content = contents[0] || null;
|
|
218
276
|
const nestedTilesets = contents.filter(content => content?.shape === 'tileset3d');
|
|
@@ -223,6 +281,44 @@ export class Tiles3DSource {
|
|
|
223
281
|
nestedTilesets
|
|
224
282
|
};
|
|
225
283
|
}
|
|
284
|
+
/** Transform a tile header and its eagerly declared descendants. */
|
|
285
|
+
transformTileHeader(header, parentTransform = new Matrix4()) {
|
|
286
|
+
if (!this.spatialTransformer) {
|
|
287
|
+
return header;
|
|
288
|
+
}
|
|
289
|
+
return this.transformTileHeaderWithTransformer(header, this.spatialTransformer, parentTransform);
|
|
290
|
+
}
|
|
291
|
+
/** Rebuilds one header subtree using an explicitly selected CRS transformer. */
|
|
292
|
+
transformTileHeaderWithTransformer(header, transformer, parentTransform, spatialReference) {
|
|
293
|
+
const localTransform = header.transform ? new Matrix4(header.transform) : new Matrix4();
|
|
294
|
+
const composedTransform = new Matrix4(parentTransform).multiplyRight(localTransform);
|
|
295
|
+
const content = Array.isArray(header.content)
|
|
296
|
+
? header.content.map((entry) => this.transformContentHeader(entry, composedTransform, transformer))
|
|
297
|
+
: header.content
|
|
298
|
+
? this.transformContentHeader(header.content, composedTransform, transformer)
|
|
299
|
+
: header.content;
|
|
300
|
+
return {
|
|
301
|
+
...header,
|
|
302
|
+
transform: undefined,
|
|
303
|
+
boundingVolume: header.boundingVolume
|
|
304
|
+
? transformer.transformBoundingVolume(header.boundingVolume, composedTransform)
|
|
305
|
+
: header.boundingVolume,
|
|
306
|
+
_spatialReference: spatialReference,
|
|
307
|
+
_spatialTransform: composedTransform.toArray(),
|
|
308
|
+
content,
|
|
309
|
+
children: Array.isArray(header.children)
|
|
310
|
+
? header.children.map((child) => this.transformTileHeaderWithTransformer(child, transformer, composedTransform, spatialReference))
|
|
311
|
+
: header.children
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
transformContentHeader(content, composedTransform, transformer) {
|
|
315
|
+
return {
|
|
316
|
+
...content,
|
|
317
|
+
boundingVolume: content.boundingVolume
|
|
318
|
+
? transformer.transformBoundingVolume(content.boundingVolume, composedTransform)
|
|
319
|
+
: content.boundingVolume
|
|
320
|
+
};
|
|
321
|
+
}
|
|
226
322
|
/**
|
|
227
323
|
* Loads, materializes, and installs exactly one implicit subtree.
|
|
228
324
|
*
|
|
@@ -241,7 +337,7 @@ export class Tiles3DSource {
|
|
|
241
337
|
return { loaded: false, tileCount: 0, childSubtreeCount: 0 };
|
|
242
338
|
}
|
|
243
339
|
const subtreeUrl = this.getTileUrl(reference.subtreeUrl);
|
|
244
|
-
const subtree = await this.loadImplicitSubtreeResource(subtreeUrl);
|
|
340
|
+
const subtree = await this.loadImplicitSubtreeResource(subtreeUrl, reference.resource);
|
|
245
341
|
if (this.destroyed || tile.isDestroyed()) {
|
|
246
342
|
return { loaded: false, tileCount: 0, childSubtreeCount: 0 };
|
|
247
343
|
}
|
|
@@ -249,8 +345,15 @@ export class Tiles3DSource {
|
|
|
249
345
|
...reference,
|
|
250
346
|
subtreeUrl
|
|
251
347
|
});
|
|
252
|
-
tile.
|
|
253
|
-
const
|
|
348
|
+
const nestedSpatialReference = tile.header._spatialReference;
|
|
349
|
+
const subtreeTransformer = nestedSpatialReference
|
|
350
|
+
? new Tiles3DSpatialTransformer(nestedSpatialReference, tile.tileset.options.spatial)
|
|
351
|
+
: this.spatialTransformer;
|
|
352
|
+
const materializedRoot = subtreeTransformer
|
|
353
|
+
? this.transformTileHeaderWithTransformer(materializedSubtree.root, subtreeTransformer, new Matrix4(), nestedSpatialReference)
|
|
354
|
+
: materializedSubtree.root;
|
|
355
|
+
tile.applyImplicitSubtreeHeader(materializedRoot);
|
|
356
|
+
const materializedTileCount = this.initializeMaterializedChildren(tile.tileset, tile, materializedRoot.children);
|
|
254
357
|
this.implicitTilingStats.loadedSubtrees++;
|
|
255
358
|
this.implicitTilingStats.materializedTiles += materializedTileCount;
|
|
256
359
|
return {
|
|
@@ -259,6 +362,13 @@ export class Tiles3DSource {
|
|
|
259
362
|
childSubtreeCount: materializedSubtree.childSubtreeCount
|
|
260
363
|
};
|
|
261
364
|
}
|
|
365
|
+
/** Loads an implicit subtree for dataset traversal without camera state. */
|
|
366
|
+
async loadTileChildrenForTraversal(tile, signal) {
|
|
367
|
+
throwIfTraversalAborted(signal);
|
|
368
|
+
const result = await this.loadTileChildren(tile, {});
|
|
369
|
+
throwIfTraversalAborted(signal);
|
|
370
|
+
return result;
|
|
371
|
+
}
|
|
262
372
|
/**
|
|
263
373
|
* Returns a snapshot of implicit-subtree request, cache, and materialization counters.
|
|
264
374
|
*
|
|
@@ -377,9 +487,66 @@ export class Tiles3DSource {
|
|
|
377
487
|
}
|
|
378
488
|
const nestedTilesets = loadResult.nestedTilesets || (loadResult.nestedTileset ? [loadResult.nestedTileset] : []);
|
|
379
489
|
for (const nestedTileset of nestedTilesets) {
|
|
380
|
-
tileset._initializeTileHeaders(nestedTileset, tile);
|
|
490
|
+
tileset._initializeTileHeaders(this.prepareNestedTileset(tileset, nestedTileset), tile);
|
|
381
491
|
}
|
|
382
492
|
}
|
|
493
|
+
/**
|
|
494
|
+
* Resolves a nested tileset's CRS independently and adapts it to the owning tileset output frame.
|
|
495
|
+
*
|
|
496
|
+
* Nested resources may use a different source CRS from their parent. Their headers and glTF
|
|
497
|
+
* payloads must therefore use a transformer built from the nested descriptor, while the parent
|
|
498
|
+
* runtime continues to expose one requested output frame to traversal and rendering.
|
|
499
|
+
*/
|
|
500
|
+
prepareNestedTileset(tileset, nestedTileset) {
|
|
501
|
+
const nestedSpatialReference = nestedTileset.spatialMetadata;
|
|
502
|
+
const parentSpatialReference = tileset.spatialReference;
|
|
503
|
+
if (nestedSpatialReference?.status === 'unresolved' ||
|
|
504
|
+
nestedSpatialReference?.crs.state === 'unknown') {
|
|
505
|
+
throw new Error(nestedSpatialReference.warnings[0] ||
|
|
506
|
+
'Nested 3D Tiles CRS is explicitly unresolved and cannot be placed in the parent frame');
|
|
507
|
+
}
|
|
508
|
+
if (!nestedSpatialReference || !nestedSpatialReference.sourceCrs) {
|
|
509
|
+
if (this.spatialTransformer &&
|
|
510
|
+
(parentSpatialReference.status === 'transformable' ||
|
|
511
|
+
parentSpatialReference.status === 'transformed')) {
|
|
512
|
+
return {
|
|
513
|
+
...nestedTileset,
|
|
514
|
+
spatialMetadata: parentSpatialReference,
|
|
515
|
+
root: this.transformTileHeaderWithTransformer(nestedTileset.root, this.spatialTransformer, new Matrix4(), parentSpatialReference)
|
|
516
|
+
};
|
|
517
|
+
}
|
|
518
|
+
return addNestedSpatialReference(nestedTileset, parentSpatialReference);
|
|
519
|
+
}
|
|
520
|
+
const parentCoordinateEpoch = parentSpatialReference.coordinateEpoch;
|
|
521
|
+
const nestedCoordinateEpoch = nestedSpatialReference.coordinateEpoch;
|
|
522
|
+
if (parentCoordinateEpoch !== undefined &&
|
|
523
|
+
nestedCoordinateEpoch !== undefined &&
|
|
524
|
+
parentCoordinateEpoch !== nestedCoordinateEpoch) {
|
|
525
|
+
throw new Error(`Nested 3D Tiles coordinate epoch ${nestedCoordinateEpoch} differs from parent epoch ${parentCoordinateEpoch}; epoch-aware transformation is unavailable`);
|
|
526
|
+
}
|
|
527
|
+
const outputCrs = parentSpatialReference.targetCrs || parentSpatialReference.sourceCrs;
|
|
528
|
+
if (!outputCrs) {
|
|
529
|
+
return addNestedSpatialReference(nestedTileset, nestedSpatialReference);
|
|
530
|
+
}
|
|
531
|
+
const nestedOutputReference = applyTilesetSpatialOptions(nestedSpatialReference, {
|
|
532
|
+
...tileset.options.spatial,
|
|
533
|
+
outputCoordinates: 'target-crs',
|
|
534
|
+
targetCrs: outputCrs
|
|
535
|
+
});
|
|
536
|
+
if (nestedOutputReference.status === 'unresolved') {
|
|
537
|
+
throw new Error(nestedOutputReference.warnings[0] ||
|
|
538
|
+
'Nested 3D Tiles CRS cannot be resolved in the parent output frame');
|
|
539
|
+
}
|
|
540
|
+
if (nestedOutputReference.status === 'native') {
|
|
541
|
+
return addNestedSpatialReference(nestedTileset, nestedOutputReference);
|
|
542
|
+
}
|
|
543
|
+
const nestedTransformer = new Tiles3DSpatialTransformer(nestedOutputReference, tileset.options.spatial);
|
|
544
|
+
return {
|
|
545
|
+
...nestedTileset,
|
|
546
|
+
spatialMetadata: nestedOutputReference,
|
|
547
|
+
root: this.transformTileHeaderWithTransformer(nestedTileset.root, nestedTransformer, new Matrix4(), nestedOutputReference)
|
|
548
|
+
};
|
|
549
|
+
}
|
|
383
550
|
/**
|
|
384
551
|
* Loads data through injected core APIs so this module stays independent from `@loaders.gl/core`.
|
|
385
552
|
*/
|
|
@@ -407,13 +574,88 @@ export class Tiles3DSource {
|
|
|
407
574
|
}
|
|
408
575
|
return await this.loadWithCoreApi(url, options, loader);
|
|
409
576
|
}
|
|
577
|
+
/** Loads a URL content reference or parses a buffer-view file retained from a glTF package. */
|
|
578
|
+
async loadContentResource(url, packageResource, options) {
|
|
579
|
+
if (!packageResource) {
|
|
580
|
+
return await this.loadResourceData(url, options);
|
|
581
|
+
}
|
|
582
|
+
const file = packageResource.files[packageResource.fileIndex];
|
|
583
|
+
if (!file) {
|
|
584
|
+
throw new Error(`3D Tiles package references missing file ${packageResource.fileIndex}`);
|
|
585
|
+
}
|
|
586
|
+
if (file.uri) {
|
|
587
|
+
return await this.loadResourceData(this.getTileUrl(file.uri), options);
|
|
588
|
+
}
|
|
589
|
+
if (!this.coreApi) {
|
|
590
|
+
throw new Error('Tiles3DSource requires an injected coreApi to parse embedded package data');
|
|
591
|
+
}
|
|
592
|
+
const data = await this.getPackageFileData(file);
|
|
593
|
+
const packageNamespace = this.getPackageNamespace(packageResource.files);
|
|
594
|
+
const packageRootUrl = `gltf-package://${packageNamespace}/${packageResource.fileIndex}`;
|
|
595
|
+
const fileName = file.name || 'content';
|
|
596
|
+
const directorySeparatorIndex = fileName.lastIndexOf('/');
|
|
597
|
+
const packageBaseUrl = directorySeparatorIndex >= 0
|
|
598
|
+
? `${packageRootUrl}/${fileName.slice(0, directorySeparatorIndex)}`
|
|
599
|
+
: packageRootUrl;
|
|
600
|
+
return await this.coreApi.parse(data, this.loader, options, {
|
|
601
|
+
url: `${packageRootUrl}/${fileName}`,
|
|
602
|
+
filename: fileName,
|
|
603
|
+
baseUrl: packageBaseUrl,
|
|
604
|
+
loaders: [this.loader],
|
|
605
|
+
coreApi: this.coreApi,
|
|
606
|
+
_parse: this.coreApi.parse,
|
|
607
|
+
_tiles3dPackageFiles: packageResource.files,
|
|
608
|
+
fetch: async (resource, init) => {
|
|
609
|
+
const reference = resource.startsWith(`${packageRootUrl}/`)
|
|
610
|
+
? resource.slice(packageRootUrl.length + 1)
|
|
611
|
+
: resource;
|
|
612
|
+
const referencedFile = packageResource.files.find(packageFile => packageFile.name === reference || packageFile.originalUri === reference);
|
|
613
|
+
if (!referencedFile) {
|
|
614
|
+
throw new Error(`3D Tiles glTF package does not contain file ${reference}`);
|
|
615
|
+
}
|
|
616
|
+
if (referencedFile.uri) {
|
|
617
|
+
return await this.coreApi.fetchFile(this.getTileUrl(referencedFile.uri), init);
|
|
618
|
+
}
|
|
619
|
+
const referencedData = await this.getPackageFileData(referencedFile);
|
|
620
|
+
return new Response(referencedData, {
|
|
621
|
+
headers: { 'content-type': referencedFile.mimeType }
|
|
622
|
+
});
|
|
623
|
+
}
|
|
624
|
+
});
|
|
625
|
+
}
|
|
626
|
+
/** Returns a stable source-local namespace for one embedded glTF package file collection. */
|
|
627
|
+
getPackageNamespace(files) {
|
|
628
|
+
const existingNamespace = this.packageNamespaces.get(files);
|
|
629
|
+
if (existingNamespace !== undefined) {
|
|
630
|
+
return existingNamespace;
|
|
631
|
+
}
|
|
632
|
+
const packageNamespace = this.nextPackageNamespace++;
|
|
633
|
+
this.packageNamespaces.set(files, packageNamespace);
|
|
634
|
+
return packageNamespace;
|
|
635
|
+
}
|
|
636
|
+
/** Resolves a retained package-file byte range without eagerly copying other package files. */
|
|
637
|
+
async getPackageFileData(file) {
|
|
638
|
+
if (file.data) {
|
|
639
|
+
return sliceArrayBuffer(file.data, file.byteOffset, file.byteLength);
|
|
640
|
+
}
|
|
641
|
+
if (file.bufferUri && this.coreApi) {
|
|
642
|
+
const response = await this.coreApi.fetchFile(this.getTileUrl(file.bufferUri));
|
|
643
|
+
if (!response.ok) {
|
|
644
|
+
throw new Error(`Failed to fetch 3D Tiles package buffer: HTTP ${response.status}`);
|
|
645
|
+
}
|
|
646
|
+
const buffer = await response.arrayBuffer();
|
|
647
|
+
return sliceArrayBuffer(buffer, file.byteOffset, file.byteLength);
|
|
648
|
+
}
|
|
649
|
+
throw new Error('3D Tiles package file has no available byte source');
|
|
650
|
+
}
|
|
410
651
|
/**
|
|
411
652
|
* Returns a parsed subtree from the LRU cache or starts one source-managed request.
|
|
412
653
|
*
|
|
413
654
|
* @param subtreeUrl - Final subtree URL after query inheritance.
|
|
655
|
+
* @param packageResource - Optional glTF package file satisfying the subtree reference.
|
|
414
656
|
* @returns Parsed subtree availability data.
|
|
415
657
|
*/
|
|
416
|
-
async loadImplicitSubtreeResource(subtreeUrl) {
|
|
658
|
+
async loadImplicitSubtreeResource(subtreeUrl, packageResource) {
|
|
417
659
|
const cachedSubtree = this.implicitSubtreeCache.get(subtreeUrl);
|
|
418
660
|
if (cachedSubtree) {
|
|
419
661
|
this.implicitTilingStats.cacheHits++;
|
|
@@ -422,14 +664,17 @@ export class Tiles3DSource {
|
|
|
422
664
|
this.implicitTilingStats.requestedSubtrees++;
|
|
423
665
|
const loaderOptions = this.loadOptions[this.loader.id] || {};
|
|
424
666
|
return await this.implicitSubtreeCache.getOrLoad(subtreeUrl, async () => {
|
|
425
|
-
|
|
667
|
+
const options = {
|
|
426
668
|
...this.loadOptions,
|
|
427
669
|
[this.loader.id]: {
|
|
428
670
|
...loaderOptions,
|
|
429
671
|
isTileset: false,
|
|
430
672
|
isSubtree: true
|
|
431
673
|
}
|
|
432
|
-
}
|
|
674
|
+
};
|
|
675
|
+
return (await (packageResource
|
|
676
|
+
? this.loadContentResource(subtreeUrl, packageResource, options)
|
|
677
|
+
: this.loadResourceData(subtreeUrl, options)));
|
|
433
678
|
});
|
|
434
679
|
}
|
|
435
680
|
/**
|
|
@@ -461,6 +706,12 @@ export class Tiles3DSource {
|
|
|
461
706
|
return materializedTileCount;
|
|
462
707
|
}
|
|
463
708
|
}
|
|
709
|
+
/** Throws a cancellation reason before or after source-managed traversal work. */
|
|
710
|
+
function throwIfTraversalAborted(signal) {
|
|
711
|
+
if (signal?.aborted) {
|
|
712
|
+
throw signal.reason ?? new DOMException('The operation was aborted', 'AbortError');
|
|
713
|
+
}
|
|
714
|
+
}
|
|
464
715
|
function isTilesetRequest(input) {
|
|
465
716
|
return Boolean(input && typeof input === 'object' && 'url' in input && 'loader' in input && !('type' in input));
|
|
466
717
|
}
|
|
@@ -484,4 +735,17 @@ function normalizeTiles3DRequest(input) {
|
|
|
484
735
|
coreApi: input.coreApi
|
|
485
736
|
};
|
|
486
737
|
}
|
|
738
|
+
/** Adds a nested CRS descriptor to each header without changing its native placement. */
|
|
739
|
+
function addNestedSpatialReference(nestedTileset, spatialReference) {
|
|
740
|
+
const addToHeader = (header) => ({
|
|
741
|
+
...header,
|
|
742
|
+
_spatialReference: spatialReference,
|
|
743
|
+
children: Array.isArray(header.children) ? header.children.map(addToHeader) : header.children
|
|
744
|
+
});
|
|
745
|
+
return {
|
|
746
|
+
...nestedTileset,
|
|
747
|
+
spatialMetadata: spatialReference,
|
|
748
|
+
root: addToHeader(nestedTileset.root)
|
|
749
|
+
};
|
|
750
|
+
}
|
|
487
751
|
//# sourceMappingURL=tiles-3d-source.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiles-3d-source.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tiles-3d-source.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tiles-3d-source.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tiles-3d-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,10 +78,12 @@ export declare class Tileset3DTraverser extends TilesetTraverser {
|
|
|
78
78
|
private selectLoadedDescendants;
|
|
79
79
|
compareDistanceToCamera(a: any, b: any): number;
|
|
80
80
|
/**
|
|
81
|
-
* Starts an implicit subtree request
|
|
81
|
+
* Starts an implicit subtree request after culling and request-volume eligibility.
|
|
82
82
|
*
|
|
83
|
-
* The
|
|
84
|
-
*
|
|
83
|
+
* The first subtree of an implicit hierarchy materializes independently of SSE because its
|
|
84
|
+
* placeholder has no render content. Deeper subtree boundaries remain SSE-gated. The current
|
|
85
|
+
* parent remains the traversal boundary while metadata is loading, which preserves REPLACE
|
|
86
|
+
* coverage and ADD accumulation. Request scheduling reads the tile's existing
|
|
85
87
|
* progressive-resolution and foveated metrics, so subtree metadata follows the same priority
|
|
86
88
|
* policy as render content. A completion notification lets the owning tileset publish the newly
|
|
87
89
|
* materialized traversal result on the next update.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileset-3d-traverser.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,gBAAgB,EAAC,uCAAoC;AAC7D,OAAO,KAAK,EAAC,MAAM,EAAC,6BAA0B;AAC9C,OAAO,KAAK,EAAC,UAAU,EAAC,kCAA+B;AAEvD,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAkC;IAE1E;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAU5D;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAQ5D;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IA2C5B;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IAwBjC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IAkCnC;;;;;;OAMG;IACH,OAAO,CAAC,oCAAoC;IAkB5C;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAmB/B,uBAAuB,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IAO5B
|
|
1
|
+
{"version":3,"file":"tileset-3d-traverser.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,gBAAgB,EAAC,uCAAoC;AAC7D,OAAO,KAAK,EAAC,MAAM,EAAC,6BAA0B;AAC9C,OAAO,KAAK,EAAC,UAAU,EAAC,kCAA+B;AAEvD,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAkC;IAE1E;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAU5D;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAQ5D;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IA2C5B;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IAwBjC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IAkCnC;;;;;;OAMG;IACH,OAAO,CAAC,oCAAoC;IAkB5C;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAmB/B,uBAAuB,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IAO5B;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAkB5D;;;;;;;;;;OAUG;IACH,OAAO,CAAC,yBAAyB;IAgBjC,oBAAoB,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;IAmCrC,0BAA0B,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;CAS5C"}
|