@loaders.gl/tiles 4.4.2 → 5.0.0-alpha.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.
- package/README.md +110 -1
- package/dist/dist.dev.js +4359 -1950
- package/dist/dist.min.js +1 -1
- package/dist/image-set.d.ts +94 -0
- package/dist/image-set.d.ts.map +1 -0
- package/dist/image-set.js +243 -0
- package/dist/image-set.js.map +1 -0
- package/dist/index.cjs +4178 -1892
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +27 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -8
- package/dist/index.js.map +1 -1
- package/dist/point-cloud/point-cloud-tile.d.ts +47 -0
- package/dist/point-cloud/point-cloud-tile.d.ts.map +1 -0
- package/dist/point-cloud/point-cloud-tile.js +67 -0
- package/dist/point-cloud/point-cloud-tile.js.map +1 -0
- package/dist/point-cloud/point-cloud-tileset.d.ts +131 -0
- package/dist/point-cloud/point-cloud-tileset.d.ts.map +1 -0
- package/dist/point-cloud/point-cloud-tileset.js +507 -0
- package/dist/point-cloud/point-cloud-tileset.js.map +1 -0
- package/dist/point-cloud/types.d.ts +64 -0
- package/dist/point-cloud/types.d.ts.map +1 -0
- package/dist/point-cloud/types.js +2 -0
- package/dist/point-cloud/types.js.map +1 -0
- package/dist/raster-set.d.ts +107 -0
- package/dist/raster-set.d.ts.map +1 -0
- package/dist/raster-set.js +268 -0
- package/dist/raster-set.js.map +1 -0
- package/dist/tileset-2d/adapter.d.ts +38 -0
- package/dist/tileset-2d/adapter.d.ts.map +1 -0
- package/dist/tileset-2d/adapter.js +5 -0
- package/dist/tileset-2d/adapter.js.map +1 -0
- package/dist/tileset-2d/index.d.ts +7 -0
- package/dist/tileset-2d/index.d.ts.map +1 -0
- package/dist/tileset-2d/index.js +6 -0
- package/dist/tileset-2d/index.js.map +1 -0
- package/dist/tileset-2d/tile-2d-header.d.ts +68 -0
- package/dist/tileset-2d/tile-2d-header.d.ts.map +1 -0
- package/dist/tileset-2d/tile-2d-header.js +181 -0
- package/dist/tileset-2d/tile-2d-header.js.map +1 -0
- package/dist/tileset-2d/tileset-2d.d.ts +201 -0
- package/dist/tileset-2d/tileset-2d.d.ts.map +1 -0
- package/dist/tileset-2d/tileset-2d.js +532 -0
- package/dist/tileset-2d/tileset-2d.js.map +1 -0
- package/dist/tileset-2d/types.d.ts +44 -0
- package/dist/tileset-2d/types.d.ts.map +1 -0
- package/dist/tileset-2d/types.js +5 -0
- package/dist/tileset-2d/types.js.map +1 -0
- package/dist/tileset-2d.d.ts +2 -0
- package/dist/tileset-2d.d.ts.map +1 -0
- package/dist/tileset-2d.js +5 -0
- package/dist/tileset-2d.js.map +1 -0
- package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts +60 -0
- package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts.map +1 -0
- package/dist/tileset-3d/common/indexed-archive-tileset-source.js +125 -0
- package/dist/tileset-3d/common/indexed-archive-tileset-source.js.map +1 -0
- package/dist/{tileset → tileset-3d/common}/tile-3d.d.ts +36 -27
- package/dist/tileset-3d/common/tile-3d.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d/common}/tile-3d.js +53 -62
- package/dist/tileset-3d/common/tile-3d.js.map +1 -0
- package/dist/tileset-3d/common/tileset-3d.d.ts +177 -0
- package/dist/tileset-3d/common/tileset-3d.d.ts.map +1 -0
- package/dist/tileset-3d/common/tileset-3d.js +566 -0
- package/dist/tileset-3d/common/tileset-3d.js.map +1 -0
- package/dist/tileset-3d/common/tileset-cache.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d/common}/tileset-cache.js +1 -1
- package/dist/tileset-3d/common/tileset-cache.js.map +1 -0
- package/dist/tileset-3d/common/tileset-source.d.ts +186 -0
- package/dist/tileset-3d/common/tileset-source.d.ts.map +1 -0
- package/dist/tileset-3d/common/tileset-source.js +17 -0
- package/dist/tileset-3d/common/tileset-source.js.map +1 -0
- package/dist/{tileset → tileset-3d/common}/tileset-traverser.d.ts +2 -2
- package/dist/tileset-3d/common/tileset-traverser.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d/common}/tileset-traverser.js +2 -2
- package/dist/tileset-3d/common/tileset-traverser.js.map +1 -0
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts +100 -0
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts.map +1 -0
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js +312 -0
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js.map +1 -0
- package/dist/{tileset → tileset-3d}/format-3d-tiles/tileset-3d-traverser.d.ts +1 -1
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/format-3d-tiles/tileset-3d-traverser.js +1 -1
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +1 -0
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.d.ts.map +1 -0
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js.map +1 -0
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts +99 -0
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts.map +1 -0
- package/dist/tileset-3d/format-i3s/i3s-source.js +299 -0
- package/dist/tileset-3d/format-i3s/i3s-source.js.map +1 -0
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/format-i3s/i3s-tile-manager.js +2 -2
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.js.map +1 -0
- package/dist/{tileset → tileset-3d}/format-i3s/i3s-tileset-traverser.d.ts +2 -2
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/format-i3s/i3s-tileset-traverser.js +14 -23
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/3d-tiles-options.d.ts +1 -1
- package/dist/tileset-3d/helpers/3d-tiles-options.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/3d-tiles-options.js.map +1 -0
- package/dist/tileset-3d/helpers/bounding-volume.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/bounding-volume.js.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/frame-state.d.ts +1 -1
- package/dist/tileset-3d/helpers/frame-state.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/frame-state.js.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/i3s-lod.d.ts +1 -1
- package/dist/tileset-3d/helpers/i3s-lod.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/i3s-lod.js +1 -1
- package/dist/tileset-3d/helpers/i3s-lod.js.map +1 -0
- package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts +20 -0
- package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/tiles-3d-lod.js +43 -4
- package/dist/tileset-3d/helpers/tiles-3d-lod.js.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/transform-utils.d.ts +1 -1
- package/dist/tileset-3d/helpers/transform-utils.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/transform-utils.js.map +1 -0
- package/dist/tileset-3d/helpers/zoom.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/zoom.js.map +1 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -6
- package/src/image-set.ts +328 -0
- package/src/index.ts +80 -9
- package/src/point-cloud/point-cloud-tile.ts +76 -0
- package/src/point-cloud/point-cloud-tileset.ts +709 -0
- package/src/point-cloud/types.ts +78 -0
- package/src/raster-set.ts +374 -0
- package/src/tileset-2d/adapter.ts +47 -0
- package/src/tileset-2d/index.ts +33 -0
- package/src/tileset-2d/tile-2d-header.ts +224 -0
- package/src/tileset-2d/tileset-2d.ts +716 -0
- package/src/tileset-2d/types.ts +39 -0
- package/src/tileset-2d.ts +5 -0
- package/src/tileset-3d/common/indexed-archive-tileset-source.ts +205 -0
- package/src/{tileset → tileset-3d/common}/tile-3d.ts +64 -73
- package/src/tileset-3d/common/tileset-3d.ts +736 -0
- package/src/{tileset → tileset-3d/common}/tileset-cache.ts +1 -1
- package/src/tileset-3d/common/tileset-source.ts +234 -0
- package/src/{tileset → tileset-3d/common}/tileset-traverser.ts +3 -3
- package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +379 -0
- package/src/{tileset → tileset-3d}/format-3d-tiles/tileset-3d-traverser.ts +1 -1
- package/src/tileset-3d/format-i3s/i3s-source.ts +366 -0
- package/src/{tileset → tileset-3d}/format-i3s/i3s-tile-manager.ts +2 -2
- package/src/{tileset → tileset-3d}/format-i3s/i3s-tileset-traverser.ts +15 -24
- package/src/{tileset → tileset-3d}/helpers/3d-tiles-options.ts +1 -1
- package/src/{tileset → tileset-3d}/helpers/frame-state.ts +1 -1
- package/src/{tileset → tileset-3d}/helpers/i3s-lod.ts +2 -2
- package/src/{tileset → tileset-3d}/helpers/tiles-3d-lod.ts +46 -4
- package/src/{tileset → tileset-3d}/helpers/transform-utils.ts +1 -1
- package/src/types.ts +7 -0
- package/dist/tileset/format-3d-tiles/tileset-3d-traverser.d.ts.map +0 -1
- package/dist/tileset/format-3d-tiles/tileset-3d-traverser.js.map +0 -1
- package/dist/tileset/format-i3s/i3s-pending-tiles-register.d.ts.map +0 -1
- package/dist/tileset/format-i3s/i3s-pending-tiles-register.js.map +0 -1
- package/dist/tileset/format-i3s/i3s-tile-manager.d.ts.map +0 -1
- package/dist/tileset/format-i3s/i3s-tile-manager.js.map +0 -1
- package/dist/tileset/format-i3s/i3s-tileset-traverser.d.ts.map +0 -1
- package/dist/tileset/format-i3s/i3s-tileset-traverser.js.map +0 -1
- package/dist/tileset/helpers/3d-tiles-options.d.ts.map +0 -1
- package/dist/tileset/helpers/3d-tiles-options.js.map +0 -1
- package/dist/tileset/helpers/bounding-volume.d.ts.map +0 -1
- package/dist/tileset/helpers/bounding-volume.js.map +0 -1
- package/dist/tileset/helpers/frame-state.d.ts.map +0 -1
- package/dist/tileset/helpers/frame-state.js.map +0 -1
- package/dist/tileset/helpers/i3s-lod.d.ts.map +0 -1
- package/dist/tileset/helpers/i3s-lod.js.map +0 -1
- package/dist/tileset/helpers/tiles-3d-lod.d.ts +0 -8
- package/dist/tileset/helpers/tiles-3d-lod.d.ts.map +0 -1
- package/dist/tileset/helpers/tiles-3d-lod.js.map +0 -1
- package/dist/tileset/helpers/transform-utils.d.ts.map +0 -1
- package/dist/tileset/helpers/transform-utils.js.map +0 -1
- package/dist/tileset/helpers/zoom.d.ts.map +0 -1
- package/dist/tileset/helpers/zoom.js.map +0 -1
- package/dist/tileset/tile-3d.d.ts.map +0 -1
- package/dist/tileset/tile-3d.js.map +0 -1
- package/dist/tileset/tileset-3d.d.ts +0 -284
- package/dist/tileset/tileset-3d.d.ts.map +0 -1
- package/dist/tileset/tileset-3d.js +0 -814
- package/dist/tileset/tileset-3d.js.map +0 -1
- package/dist/tileset/tileset-cache.d.ts.map +0 -1
- package/dist/tileset/tileset-cache.js.map +0 -1
- package/dist/tileset/tileset-traverser.d.ts.map +0 -1
- package/dist/tileset/tileset-traverser.js.map +0 -1
- package/src/tileset/tileset-3d.ts +0 -1037
- /package/dist/{tileset → tileset-3d/common}/tileset-cache.d.ts +0 -0
- /package/dist/{tileset → tileset-3d}/format-i3s/i3s-pending-tiles-register.d.ts +0 -0
- /package/dist/{tileset → tileset-3d}/format-i3s/i3s-pending-tiles-register.js +0 -0
- /package/dist/{tileset → tileset-3d}/format-i3s/i3s-tile-manager.d.ts +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/3d-tiles-options.js +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/bounding-volume.d.ts +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/bounding-volume.js +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/frame-state.js +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/transform-utils.js +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/zoom.d.ts +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/zoom.js +0 -0
- /package/src/{tileset → tileset-3d}/format-i3s/i3s-pending-tiles-register.ts +0 -0
- /package/src/{tileset → tileset-3d}/helpers/bounding-volume.ts +0 -0
- /package/src/{tileset → tileset-3d}/helpers/zoom.ts +0 -0
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { path } from '@loaders.gl/loader-utils';
|
|
5
|
+
import { Ellipsoid } from '@math.gl/geospatial';
|
|
6
|
+
import { Vector3 } from '@math.gl/core';
|
|
7
|
+
import { Tileset3DTraverser } from "./tileset-3d-traverser.js";
|
|
8
|
+
import { Tile3D as Tile3DNode } from "../common/tile-3d.js";
|
|
9
|
+
import { getZoomFromBoundingVolume } from "../helpers/zoom.js";
|
|
10
|
+
import { TILESET_TYPE } from "../../constants.js";
|
|
11
|
+
const EMPTY_CONTENT_FORMATS = {
|
|
12
|
+
draco: false,
|
|
13
|
+
meshopt: false,
|
|
14
|
+
dds: false,
|
|
15
|
+
ktx2: false
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* {@link Tileset3DSource} implementation for 3D Tiles datasets.
|
|
19
|
+
*/
|
|
20
|
+
export class Tiles3DSource {
|
|
21
|
+
/** 3D Tiles format discriminator. */
|
|
22
|
+
type = TILESET_TYPE.TILES3D;
|
|
23
|
+
/** Loader used for tile content requests. */
|
|
24
|
+
loader;
|
|
25
|
+
/** Root tileset URL. */
|
|
26
|
+
url;
|
|
27
|
+
/** Base path used for relative tile resource resolution. */
|
|
28
|
+
basePath;
|
|
29
|
+
/** Parsed root tileset payload. */
|
|
30
|
+
tileset = null;
|
|
31
|
+
/** Loader options forwarded to content requests. */
|
|
32
|
+
loadOptions;
|
|
33
|
+
/** Core API used for root and tile-content loads when injected by the caller. */
|
|
34
|
+
coreApi;
|
|
35
|
+
/** Aggregate content-format flags discovered during streaming. */
|
|
36
|
+
contentFormats = { ...EMPTY_CONTENT_FORMATS };
|
|
37
|
+
/** Top-level 3D Tiles asset metadata. */
|
|
38
|
+
asset;
|
|
39
|
+
/** Top-level per-feature properties metadata. */
|
|
40
|
+
properties;
|
|
41
|
+
/** Top-level application-specific metadata. */
|
|
42
|
+
extras;
|
|
43
|
+
/** Source-provided attribution metadata. */
|
|
44
|
+
credits;
|
|
45
|
+
/** Normalized source metadata after initialization. */
|
|
46
|
+
metadata;
|
|
47
|
+
queryParams = {};
|
|
48
|
+
extensionsUsed = [];
|
|
49
|
+
resolver;
|
|
50
|
+
rootTileset;
|
|
51
|
+
/**
|
|
52
|
+
* Creates a 3D Tiles source.
|
|
53
|
+
* @param input Root metadata request, or preloaded root metadata for tests and internal callers.
|
|
54
|
+
* @param loadOptions Loader options forwarded to tile requests.
|
|
55
|
+
*/
|
|
56
|
+
constructor(input, loadOptions = {}) {
|
|
57
|
+
const request = normalizeTiles3DRequest(input);
|
|
58
|
+
this.rootTileset = isTilesetRequest(input) ? null : input;
|
|
59
|
+
this.tileset = this.rootTileset;
|
|
60
|
+
this.loader = request.loader;
|
|
61
|
+
this.url = request.url;
|
|
62
|
+
this.basePath = request.basePath || path.dirname(request.url);
|
|
63
|
+
this.resolver = request.resolver;
|
|
64
|
+
this.coreApi = request.coreApi;
|
|
65
|
+
this.loadOptions = loadOptions;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Fetches and validates top-level metadata, then normalizes common fields used by {@link Tileset3D}.
|
|
69
|
+
*/
|
|
70
|
+
async initialize() {
|
|
71
|
+
if (!this.rootTileset) {
|
|
72
|
+
const loaderOptions = this.loadOptions[this.loader.id] || {};
|
|
73
|
+
this.rootTileset = await this.loadRootData(this.url, {
|
|
74
|
+
...this.loadOptions,
|
|
75
|
+
[this.loader.id]: {
|
|
76
|
+
...loaderOptions,
|
|
77
|
+
isTileset: true
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
this.tileset = this.rootTileset;
|
|
82
|
+
if (this.rootTileset.queryString) {
|
|
83
|
+
const searchParams = new URLSearchParams(this.rootTileset.queryString);
|
|
84
|
+
Object.assign(this.queryParams, Object.fromEntries(searchParams.entries()));
|
|
85
|
+
}
|
|
86
|
+
this.asset = this.rootTileset.asset;
|
|
87
|
+
if (!this.asset) {
|
|
88
|
+
throw new Error('Tileset must have an asset property.');
|
|
89
|
+
}
|
|
90
|
+
if (this.asset.version !== '0.0' &&
|
|
91
|
+
this.asset.version !== '1.0' &&
|
|
92
|
+
this.asset.version !== '1.1') {
|
|
93
|
+
throw new Error('The tileset must be 3D Tiles version either 0.0 or 1.0 or 1.1.');
|
|
94
|
+
}
|
|
95
|
+
if ('tilesetVersion' in this.asset) {
|
|
96
|
+
this.queryParams.v = this.asset.tilesetVersion;
|
|
97
|
+
}
|
|
98
|
+
this.properties = this.rootTileset.properties;
|
|
99
|
+
this.extras = this.rootTileset.extras;
|
|
100
|
+
this.credits = { attributions: [] };
|
|
101
|
+
this.extensionsUsed.splice(0, this.extensionsUsed.length, ...(this.rootTileset.extensionsUsed || []));
|
|
102
|
+
this.metadata = {
|
|
103
|
+
type: this.type,
|
|
104
|
+
loader: this.loader,
|
|
105
|
+
url: this.url,
|
|
106
|
+
basePath: this.basePath,
|
|
107
|
+
tileset: this.rootTileset,
|
|
108
|
+
lodMetricType: this.rootTileset.lodMetricType,
|
|
109
|
+
lodMetricValue: this.rootTileset.lodMetricValue,
|
|
110
|
+
refine: this.rootTileset.root?.refine
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Returns normalized source metadata after initialization.
|
|
115
|
+
*/
|
|
116
|
+
getMetadata() {
|
|
117
|
+
if (!this.metadata) {
|
|
118
|
+
throw new Error('Tiles3DSource has not been initialized');
|
|
119
|
+
}
|
|
120
|
+
return this.metadata;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Returns the root 3D Tiles payload.
|
|
124
|
+
*/
|
|
125
|
+
async getRootTileset() {
|
|
126
|
+
return this.getMetadata().tileset;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Builds the eager runtime tile tree for a 3D Tiles subtree.
|
|
130
|
+
*/
|
|
131
|
+
initializeTileHeaders(tileset, tilesetJson, parentTile) {
|
|
132
|
+
const rootTile = new Tile3DNode(tileset, tilesetJson.root, parentTile || undefined);
|
|
133
|
+
if (parentTile) {
|
|
134
|
+
parentTile.children.push(rootTile);
|
|
135
|
+
rootTile.depth = parentTile.depth + 1;
|
|
136
|
+
}
|
|
137
|
+
const stack = [rootTile];
|
|
138
|
+
while (stack.length > 0) {
|
|
139
|
+
const tile = stack.pop();
|
|
140
|
+
tileset.stats.get('Tiles In Tileset(s)').incrementCount();
|
|
141
|
+
const children = tile.header.children || [];
|
|
142
|
+
for (const childHeader of children) {
|
|
143
|
+
const childTile = new Tile3DNode(tileset, childHeader, tile);
|
|
144
|
+
if (childTile.contentUrl?.includes('?session=')) {
|
|
145
|
+
const url = new URL(childTile.contentUrl);
|
|
146
|
+
const session = url.searchParams.get('session');
|
|
147
|
+
if (session) {
|
|
148
|
+
this.queryParams.session = session;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
tile.children.push(childTile);
|
|
152
|
+
childTile.depth = tile.depth + 1;
|
|
153
|
+
stack.push(childTile);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return rootTile;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Creates the standard 3D Tiles traverser.
|
|
160
|
+
*/
|
|
161
|
+
createTraverser(options) {
|
|
162
|
+
return new Tileset3DTraverser(options);
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Loads binary content or nested tileset JSON for a runtime tile.
|
|
166
|
+
*/
|
|
167
|
+
async loadTileContent(tile) {
|
|
168
|
+
const contentUrl = this.getTileUrl(tile.contentUrl);
|
|
169
|
+
const tilesetLoaderOptions = this.loadOptions[this.loader.id] || {};
|
|
170
|
+
const options = {
|
|
171
|
+
...this.loadOptions,
|
|
172
|
+
[this.loader.id]: {
|
|
173
|
+
...tilesetLoaderOptions,
|
|
174
|
+
isTileset: tile.type === 'json',
|
|
175
|
+
assetGltfUpAxis: (this.asset && this.asset.gltfUpAxis) || 'Y'
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
const content = await this.loadResourceData(contentUrl, options);
|
|
179
|
+
tile.content = content;
|
|
180
|
+
return {
|
|
181
|
+
loaded: true,
|
|
182
|
+
nestedTileset: tile.contentUrl.includes('.json') ? content : undefined
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Resolves a tile content URL with source-managed query parameters.
|
|
187
|
+
*/
|
|
188
|
+
getTileUrl(tilePath) {
|
|
189
|
+
if (tilePath.startsWith('data:')) {
|
|
190
|
+
return tilePath;
|
|
191
|
+
}
|
|
192
|
+
if (!Object.keys(this.queryParams).length) {
|
|
193
|
+
return tilePath;
|
|
194
|
+
}
|
|
195
|
+
const [pathWithoutQuery, existingQuery = ''] = tilePath.split('?');
|
|
196
|
+
const mergedQueryParams = new URLSearchParams(existingQuery);
|
|
197
|
+
for (const [key, value] of Object.entries(this.queryParams)) {
|
|
198
|
+
if (!mergedQueryParams.has(key)) {
|
|
199
|
+
mergedQueryParams.set(key, value);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
const queryParams = mergedQueryParams.toString();
|
|
203
|
+
return queryParams ? `${pathWithoutQuery}?${queryParams}` : pathWithoutQuery;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Derives the default view state from the root bounding volume.
|
|
207
|
+
*/
|
|
208
|
+
getViewState(rootTile) {
|
|
209
|
+
if (!rootTile) {
|
|
210
|
+
return {
|
|
211
|
+
asset: this.asset,
|
|
212
|
+
properties: this.properties,
|
|
213
|
+
extras: this.extras,
|
|
214
|
+
credits: this.credits
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
const { center } = rootTile.boundingVolume;
|
|
218
|
+
let cartographicCenter;
|
|
219
|
+
if (center && (center[0] !== 0 || center[1] !== 0 || center[2] !== 0)) {
|
|
220
|
+
cartographicCenter = new Vector3();
|
|
221
|
+
Ellipsoid.WGS84.cartesianToCartographic(center, cartographicCenter);
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
cartographicCenter = new Vector3(0, 0, -Ellipsoid.WGS84.radii[0]);
|
|
225
|
+
}
|
|
226
|
+
return {
|
|
227
|
+
asset: this.asset,
|
|
228
|
+
properties: this.properties,
|
|
229
|
+
extras: this.extras,
|
|
230
|
+
credits: this.credits,
|
|
231
|
+
boundingVolume: rootTile.boundingVolume,
|
|
232
|
+
cartographicCenter,
|
|
233
|
+
cartesianCenter: center,
|
|
234
|
+
zoom: getZoomFromBoundingVolume(rootTile.boundingVolume, cartographicCenter)
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Checks whether the root tileset declares the given extension.
|
|
239
|
+
*/
|
|
240
|
+
hasExtension(extensionName) {
|
|
241
|
+
return this.extensionsUsed.includes(extensionName);
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Updates content-format flags and installs nested tileset subtrees.
|
|
245
|
+
*/
|
|
246
|
+
onTileLoaded(tileset, tile, loadResult) {
|
|
247
|
+
const { extensionsRemoved = [] } = tile.content?.gltf || {};
|
|
248
|
+
if (extensionsRemoved.includes('KHR_draco_mesh_compression')) {
|
|
249
|
+
this.contentFormats.draco = true;
|
|
250
|
+
}
|
|
251
|
+
if (extensionsRemoved.includes('EXT_meshopt_compression')) {
|
|
252
|
+
this.contentFormats.meshopt = true;
|
|
253
|
+
}
|
|
254
|
+
if (extensionsRemoved.includes('KHR_texture_basisu')) {
|
|
255
|
+
this.contentFormats.ktx2 = true;
|
|
256
|
+
}
|
|
257
|
+
if (loadResult.nestedTileset) {
|
|
258
|
+
tileset._initializeTileHeaders(loadResult.nestedTileset, tile);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Loads data through injected core APIs so this module stays independent from `@loaders.gl/core`.
|
|
263
|
+
*/
|
|
264
|
+
async loadWithCoreApi(url, options) {
|
|
265
|
+
if (!this.coreApi) {
|
|
266
|
+
throw new Error('Tiles3DSource requires an injected coreApi to load tileset data');
|
|
267
|
+
}
|
|
268
|
+
return await this.coreApi.load(url, this.loader, options);
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Loads data through an injected resolver when present, otherwise through the injected core API.
|
|
272
|
+
*/
|
|
273
|
+
async loadRootData(url, options) {
|
|
274
|
+
if (this.resolver) {
|
|
275
|
+
return await this.resolver.loadRoot(url, this.loader, options);
|
|
276
|
+
}
|
|
277
|
+
return await this.loadWithCoreApi(url, options);
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Loads tile content through an injected resolver when present, otherwise through the injected core API.
|
|
281
|
+
*/
|
|
282
|
+
async loadResourceData(url, options) {
|
|
283
|
+
if (this.resolver) {
|
|
284
|
+
return await this.resolver.loadResource(url, this.loader, options);
|
|
285
|
+
}
|
|
286
|
+
return await this.loadWithCoreApi(url, options);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
function isTilesetRequest(input) {
|
|
290
|
+
return Boolean(input && typeof input === 'object' && 'url' in input && 'loader' in input && !('type' in input));
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Normalizes constructor input into a URL request descriptor.
|
|
294
|
+
* @param input Constructor input for {@link Tiles3DSource}.
|
|
295
|
+
* @returns A normalized request with a resolved base path.
|
|
296
|
+
*/
|
|
297
|
+
function normalizeTiles3DRequest(input) {
|
|
298
|
+
if (isTilesetRequest(input)) {
|
|
299
|
+
return {
|
|
300
|
+
...input,
|
|
301
|
+
basePath: input.basePath || path.dirname(input.url)
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
return {
|
|
305
|
+
url: input.url,
|
|
306
|
+
loader: input.loader,
|
|
307
|
+
basePath: input.basePath || path.dirname(input.url),
|
|
308
|
+
resolver: input.resolver,
|
|
309
|
+
coreApi: input.coreApi
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
//# sourceMappingURL=tiles-3d-source.js.map
|
|
@@ -0,0 +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,4 +1,4 @@
|
|
|
1
|
-
import { TilesetTraverser } from "../tileset-traverser.js";
|
|
1
|
+
import { TilesetTraverser } from "../common/tileset-traverser.js";
|
|
2
2
|
export declare class Tileset3DTraverser extends TilesetTraverser {
|
|
3
3
|
compareDistanceToCamera(a: any, b: any): number;
|
|
4
4
|
updateTileVisibility(tile: any, frameState: any): void;
|
|
@@ -0,0 +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;AAE7D,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,uBAAuB,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IAO5B,oBAAoB,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;IAmCrC,0BAA0B,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;CAS5C"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// This file is derived from the Cesium code base under Apache 2 license
|
|
5
5
|
// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md
|
|
6
6
|
import { TILE3D_OPTIMIZATION_HINT, TILE_REFINEMENT } from "../../constants.js";
|
|
7
|
-
import { TilesetTraverser } from "../tileset-traverser.js";
|
|
7
|
+
import { TilesetTraverser } from "../common/tileset-traverser.js";
|
|
8
8
|
export class Tileset3DTraverser extends TilesetTraverser {
|
|
9
9
|
compareDistanceToCamera(a, b) {
|
|
10
10
|
// Sort by farthest child first since this is going on a stack
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tileset-3d-traverser.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,wEAAwE;AACxE,4FAA4F;AAE5F,OAAO,EAAC,wBAAwB,EAAE,eAAe,EAAC,2BAAwB;AAC1E,OAAO,EAAC,gBAAgB,EAAC,uCAAoC;AAE7D,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IACtD,uBAAuB,CAAC,CAAC,EAAE,CAAC;QAC1B,8DAA8D;QAC9D,OAAO,CAAC,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,CAAC,iBAAiB,KAAK,CAAC;YAC3D,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa;YACnC,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;IAChD,CAAC;IAED,oBAAoB,CAAC,IAAI,EAAE,UAAU;QACnC,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAE7C,0FAA0F;QAC1F,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,iBAAiB,IAAI,WAAW,EAAE,CAAC;YAC1C,oEAAoE;YACpE,2EAA2E;YAC3E,wCAAwC;YACxC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,eAAe,CAAC,OAAO,CAAC;QACxD,MAAM,eAAe,GACnB,IAAI,CAAC,0BAA0B,KAAK,wBAAwB,CAAC,gBAAgB,CAAC;QAChF,IAAI,OAAO,IAAI,eAAe,IAAI,WAAW,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,0BAA0B,CAAC,IAAI,EAAE,UAAU;QACzC,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,MAAM,KAAK,eAAe,CAAC,GAAG,EAAE,CAAC;YACjF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,wFAAwF;QACxF,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i3s-pending-tiles-register.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/format-i3s/i3s-pending-tiles-register.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,cAAc,CAA+C;IAErE;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAOhD;;;;OAIG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IASlD;;;;;OAKG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAI/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i3s-pending-tiles-register.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-i3s/i3s-pending-tiles-register.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,uBAAuB;IAC1B,cAAc,GAAqC,IAAI,GAAG,EAAE,CAAC;IAErE;;;;OAIG;IACH,QAAQ,CAAC,UAAkB,EAAE,WAAmB;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnD,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,UAAkB,EAAE,WAAmB;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnD,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,UAAkB,EAAE,WAAmB;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzE,OAAO,KAAK,KAAK,CAAC,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { CoreAPI, LoaderOptions, LoaderWithParser } from '@loaders.gl/loader-utils';
|
|
2
|
+
import type { Tile3D } from "../common/tile-3d.js";
|
|
3
|
+
import type { Tileset3D } from "../common/tileset-3d.js";
|
|
4
|
+
import type { FrameState } from "../helpers/frame-state.js";
|
|
5
|
+
import type { TileContentLoadResult, TilesetContentFormats, TilesetJSON, Tileset3DSource, TilesetSourceInput, TilesetSourceMetadata, TilesetSourceViewState } from "../common/tileset-source.js";
|
|
6
|
+
import { TILESET_TYPE } from "../../constants.js";
|
|
7
|
+
import type { TilesetTraverser, TilesetTraverserProps } from "../common/tileset-traverser.js";
|
|
8
|
+
/**
|
|
9
|
+
* {@link Tileset3DSource} implementation for I3S datasets.
|
|
10
|
+
*/
|
|
11
|
+
export declare class I3SSource implements Tileset3DSource {
|
|
12
|
+
/** I3S format discriminator. */
|
|
13
|
+
readonly type = TILESET_TYPE.I3S;
|
|
14
|
+
/** Loader used for tile metadata and content requests. */
|
|
15
|
+
readonly loader: LoaderWithParser;
|
|
16
|
+
/** Root I3S layer URL. */
|
|
17
|
+
readonly url: string;
|
|
18
|
+
/** Base path used for relative tile resource resolution. */
|
|
19
|
+
readonly basePath: string;
|
|
20
|
+
/** Parsed I3S layer metadata. */
|
|
21
|
+
tileset: TilesetJSON | null;
|
|
22
|
+
/** Loader options forwarded to tile requests. */
|
|
23
|
+
readonly loadOptions: LoaderOptions;
|
|
24
|
+
/** Core API used for metadata and tile-content loads when injected by the caller. */
|
|
25
|
+
coreApi?: CoreAPI;
|
|
26
|
+
/** Aggregate content-format flags discovered during streaming. */
|
|
27
|
+
readonly contentFormats: TilesetContentFormats;
|
|
28
|
+
asset?: Record<string, any>;
|
|
29
|
+
properties?: any;
|
|
30
|
+
extras?: any;
|
|
31
|
+
credits?: any;
|
|
32
|
+
metadata?: TilesetSourceMetadata;
|
|
33
|
+
private readonly queryParams;
|
|
34
|
+
private readonly resolver?;
|
|
35
|
+
private rootTileset;
|
|
36
|
+
/**
|
|
37
|
+
* Creates an I3S source.
|
|
38
|
+
* @param input Root metadata request, or preloaded root metadata for tests and internal callers.
|
|
39
|
+
* @param loadOptions Loader options forwarded to tile requests.
|
|
40
|
+
*/
|
|
41
|
+
constructor(input: TilesetSourceInput, loadOptions?: LoaderOptions);
|
|
42
|
+
/**
|
|
43
|
+
* Fetches and normalizes root I3S metadata for runtime consumption.
|
|
44
|
+
*/
|
|
45
|
+
initialize(): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Returns normalized source metadata after initialization.
|
|
48
|
+
*/
|
|
49
|
+
getMetadata(): TilesetSourceMetadata;
|
|
50
|
+
/**
|
|
51
|
+
* Returns the initialized I3S root metadata.
|
|
52
|
+
*/
|
|
53
|
+
getRootTileset(): Promise<TilesetJSON>;
|
|
54
|
+
/**
|
|
55
|
+
* Creates the runtime root tile for an I3S subtree.
|
|
56
|
+
*/
|
|
57
|
+
initializeTileHeaders(tileset: Tileset3D, tilesetJson: TilesetJSON, parentTile?: Tile3D | null): Tile3D;
|
|
58
|
+
/**
|
|
59
|
+
* Creates the standard I3S traverser.
|
|
60
|
+
*/
|
|
61
|
+
createTraverser(options: TilesetTraverserProps): TilesetTraverser;
|
|
62
|
+
/**
|
|
63
|
+
* Loads renderable content for an I3S tile.
|
|
64
|
+
*/
|
|
65
|
+
loadTileContent(tile: Tile3D): Promise<TileContentLoadResult>;
|
|
66
|
+
/**
|
|
67
|
+
* Loads child tile metadata on demand from node pages or `/nodes/{id}` resources.
|
|
68
|
+
*/
|
|
69
|
+
loadChildTileHeader(_parentTile: Tile3D, childId: string, _frameState: FrameState): Promise<any>;
|
|
70
|
+
/**
|
|
71
|
+
* Resolves an I3S request URL with source-managed query parameters.
|
|
72
|
+
*/
|
|
73
|
+
getTileUrl(tilePath: string): string;
|
|
74
|
+
/**
|
|
75
|
+
* Derives the default view state from full extent or store extent metadata.
|
|
76
|
+
*/
|
|
77
|
+
getViewState(_rootTile: Tile3D | null): TilesetSourceViewState;
|
|
78
|
+
/**
|
|
79
|
+
* Updates content-format flags after tile content loads.
|
|
80
|
+
*/
|
|
81
|
+
onTileLoaded(_tileset: Tileset3D, tile: Tile3D): void;
|
|
82
|
+
/**
|
|
83
|
+
* Returns the total number of known tiles when node pages metadata is available.
|
|
84
|
+
*/
|
|
85
|
+
getTilesTotalCount(): number | null;
|
|
86
|
+
/**
|
|
87
|
+
* Loads data through injected core APIs so this module stays independent from `@loaders.gl/core`.
|
|
88
|
+
*/
|
|
89
|
+
private loadWithCoreApi;
|
|
90
|
+
/**
|
|
91
|
+
* Loads data through an injected resolver when present, otherwise through the injected core API.
|
|
92
|
+
*/
|
|
93
|
+
private loadRootData;
|
|
94
|
+
/**
|
|
95
|
+
* Loads tile metadata or content through an injected resolver when present, otherwise through the injected core API.
|
|
96
|
+
*/
|
|
97
|
+
private loadResourceData;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=i3s-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i3s-source.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/format-i3s/i3s-source.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AACvF,OAAO,KAAK,EAAC,MAAM,EAAC,6BAA0B;AAG9C,OAAO,KAAK,EAAC,SAAS,EAAC,gCAA6B;AACpD,OAAO,KAAK,EAAC,UAAU,EAAC,kCAA+B;AACvD,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EAGrB,sBAAsB,EACvB,oCAAiC;AAElC,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAC7C,OAAO,KAAK,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,uCAAoC;AASzF;;GAEG;AACH,qBAAa,SAAU,YAAW,eAAe;IAC/C,gCAAgC;IAChC,QAAQ,CAAC,IAAI,oBAAoB;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,0BAA0B;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iCAAiC;IACjC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IACnC,iDAAiD;IACjD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAA8B;IAE5E,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAC1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAwB;IAClD,OAAO,CAAC,WAAW,CAAc;IAEjC;;;;OAIG;gBACS,KAAK,EAAE,kBAAkB,EAAE,WAAW,GAAE,aAAkB;IAYtE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BjC;;OAEG;IACH,WAAW,IAAI,qBAAqB;IAOpC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAI5C;;OAEG;IACH,qBAAqB,CACnB,OAAO,EAAE,SAAS,EAClB,WAAW,EAAE,WAAW,EACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,MAAM;IAST;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,qBAAqB,GAAG,gBAAgB;IAIjE;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAgCnE;;OAEG;IACG,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,GAAG,CAAC;IAsBf;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAapC;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,sBAAsB;IAuC9D;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBrD;;OAEG;IACH,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAKnC;;OAEG;YACW,eAAe;IAQ7B;;OAEG;YACW,YAAY;IAQ1B;;OAEG;YACW,gBAAgB;CAO/B"}
|