@loaders.gl/tiles 5.0.0-alpha.5 → 5.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.dev.js +228 -11
- package/dist/dist.min.js +2 -2
- package/dist/index.cjs +223 -11
- package/dist/index.cjs.map +1 -1
- package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts +3 -3
- package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts.map +1 -1
- package/dist/tileset-3d/common/indexed-archive-tileset-source.js.map +1 -1
- package/dist/tileset-3d/common/tile-3d.d.ts.map +1 -1
- package/dist/tileset-3d/common/tile-3d.js +4 -2
- package/dist/tileset-3d/common/tile-3d.js.map +1 -1
- package/dist/tileset-3d/common/tileset-3d.d.ts +30 -2
- package/dist/tileset-3d/common/tileset-3d.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-3d.js +4 -0
- package/dist/tileset-3d/common/tileset-3d.js.map +1 -1
- package/dist/tileset-3d/common/tileset-source.d.ts +8 -8
- 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 +14 -0
- package/dist/tileset-3d/common/tileset-traverser.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-traverser.js +17 -2
- package/dist/tileset-3d/common/tileset-traverser.js.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts +2 -2
- 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.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts +65 -0
- 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 +209 -0
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts +5 -3
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-source.js +14 -7
- package/dist/tileset-3d/format-i3s/i3s-source.js.map +1 -1
- package/package.json +13 -13
- package/src/tileset-3d/common/indexed-archive-tileset-source.ts +4 -9
- package/src/tileset-3d/common/tile-3d.ts +6 -2
- package/src/tileset-3d/common/tileset-3d.ts +34 -2
- package/src/tileset-3d/common/tileset-source.ts +8 -12
- package/src/tileset-3d/common/tileset-traverser.ts +28 -2
- package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +4 -4
- package/src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts +236 -0
- package/src/tileset-3d/format-i3s/i3s-source.ts +25 -9
|
@@ -22,8 +22,10 @@ const EMPTY_CONTENT_FORMATS = {
|
|
|
22
22
|
export class I3SSource {
|
|
23
23
|
/** I3S format discriminator. */
|
|
24
24
|
type = TILESET_TYPE.I3S;
|
|
25
|
-
/**
|
|
25
|
+
/** Primary I3S loader used for root and child metadata requests. */
|
|
26
26
|
loader;
|
|
27
|
+
/** Worker-capable loader used for binary tile content when supplied by the format loader. */
|
|
28
|
+
contentLoader;
|
|
27
29
|
/** Root I3S layer URL. */
|
|
28
30
|
url;
|
|
29
31
|
/** Base path used for relative tile resource resolution. */
|
|
@@ -58,6 +60,7 @@ export class I3SSource {
|
|
|
58
60
|
this.rootTileset = isTilesetRequest(input) ? null : input;
|
|
59
61
|
this.tileset = this.rootTileset;
|
|
60
62
|
this.loader = request.loader;
|
|
63
|
+
this.contentLoader = getI3SContentLoader(request.loader);
|
|
61
64
|
this.url = request.url;
|
|
62
65
|
this.basePath = request.basePath || path.dirname(request.url);
|
|
63
66
|
this.resolver = request.resolver;
|
|
@@ -174,7 +177,7 @@ export class I3SSource {
|
|
|
174
177
|
isTileHeader: false
|
|
175
178
|
}
|
|
176
179
|
};
|
|
177
|
-
tile.content = await this.loadResourceData(contentUrl, options);
|
|
180
|
+
tile.content = await this.loadResourceData(contentUrl, options, this.contentLoader);
|
|
178
181
|
return { loaded: true };
|
|
179
182
|
}
|
|
180
183
|
/**
|
|
@@ -305,11 +308,11 @@ export class I3SSource {
|
|
|
305
308
|
/**
|
|
306
309
|
* Loads data through injected core APIs so this module stays independent from `@loaders.gl/core`.
|
|
307
310
|
*/
|
|
308
|
-
async loadWithCoreApi(url, options) {
|
|
311
|
+
async loadWithCoreApi(url, options, loader = this.loader) {
|
|
309
312
|
if (!this.coreApi) {
|
|
310
313
|
throw new Error('I3SSource requires an injected coreApi to load tileset data');
|
|
311
314
|
}
|
|
312
|
-
return await this.coreApi.load(url,
|
|
315
|
+
return await this.coreApi.load(url, loader, options);
|
|
313
316
|
}
|
|
314
317
|
/**
|
|
315
318
|
* Loads data through an injected resolver when present, otherwise through the injected core API.
|
|
@@ -336,11 +339,11 @@ export class I3SSource {
|
|
|
336
339
|
/**
|
|
337
340
|
* Loads tile metadata or content through an injected resolver when present, otherwise through the injected core API.
|
|
338
341
|
*/
|
|
339
|
-
async loadResourceData(url, options) {
|
|
342
|
+
async loadResourceData(url, options, loader = this.loader) {
|
|
340
343
|
if (this.resolver) {
|
|
341
|
-
return await this.resolver.loadResource(url,
|
|
344
|
+
return await this.resolver.loadResource(url, loader, options);
|
|
342
345
|
}
|
|
343
|
-
return await this.loadWithCoreApi(url, options);
|
|
346
|
+
return await this.loadWithCoreApi(url, options, loader);
|
|
344
347
|
}
|
|
345
348
|
/** Transform one I3S header bound after target options and elevation providers are available. */
|
|
346
349
|
async transformTileHeader(header) {
|
|
@@ -363,6 +366,10 @@ export class I3SSource {
|
|
|
363
366
|
};
|
|
364
367
|
}
|
|
365
368
|
}
|
|
369
|
+
/** Returns the format-provided binary content loader, falling back for custom legacy loaders. */
|
|
370
|
+
function getI3SContentLoader(loader) {
|
|
371
|
+
return loader.contentLoader || loader;
|
|
372
|
+
}
|
|
366
373
|
function isTilesetRequest(input) {
|
|
367
374
|
return Boolean(input && typeof input === 'object' && 'url' in input && 'loader' in input && !('type' in input));
|
|
368
375
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i3s-source.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-i3s/i3s-source.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAGtC,OAAO,EAAC,MAAM,IAAI,UAAU,EAAC,6BAA0B;AACvD,OAAO,EAAC,mBAAmB,EAAC,mCAAgC;AAc5D,OAAO,EAAC,iBAAiB,EAAE,qBAAqB,EAAC,2BAAwB;AACzE,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAE7C,OAAO,EAAC,sBAAsB,EAAC,kDAA+C;AAC9E,OAAO,EAAC,qBAAqB,EAAC,iDAA8C;AAE5E,MAAM,qBAAqB,GAA0B;IACnD,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK;IACd,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,KAAK;CACZ,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,SAAS;IACpB,gCAAgC;IACvB,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC;IACjC,0DAA0D;IACjD,MAAM,CAAmB;IAClC,0BAA0B;IACjB,GAAG,CAAS;IACrB,4DAA4D;IACnD,QAAQ,CAAS;IAC1B,iCAAiC;IACjC,OAAO,GAAuB,IAAI,CAAC;IACnC,iDAAiD;IACxC,WAAW,CAAgB;IACpC,qFAAqF;IACrF,OAAO,CAAW;IAClB,kEAAkE;IACzD,cAAc,GAA0B,EAAC,GAAG,qBAAqB,EAAC,CAAC;IAE5E,KAAK,CAAuB;IAC5B,UAAU,CAAO;IACjB,MAAM,CAAO;IACb,OAAO,CAAO;IACd,QAAQ,CAAyB;IAEhB,WAAW,GAA2B,EAAE,CAAC;IACzC,QAAQ,CAAyB;IAC1C,WAAW,CAAc;IACjC,6EAA6E;IACrE,kBAAkB,CAAyB;IACnD,kEAAkE;IAC1D,kBAAkB,CAAO;IAEjC;;;;OAIG;IACH,YAAY,KAAyB,EAAE,cAA6B,EAAE;QACpE,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QAEhC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa;YAC7C,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc;YAC/C,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM;YACrC,gBAAgB,EAAE,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;IACpC,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,cAAc,CAAC,OAAkB;QACrC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAClD,IAAI,gBAAgB,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1B,kFAAkF,CACrF,CAAC;QACJ,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,KAAK,eAAe,IAAI,gBAAgB,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YAC7F,OAAO;QACT,CAAC;QACD,IAAI,CAAC,kBAAkB,KAAK,IAAI,qBAAqB,CACnD,gBAAgB,EAChB,OAAO,CAAC,OAAO,CAAC,OAAO,CACxB,CAAC;QACF,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACpE,IAAI,CAAC,kBAAkB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5F,CAAC;IAED;;OAEG;IACH,qBAAqB,CACnB,OAAkB,EAClB,WAAwB,EACxB,UAA0B;QAE1B,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,WAAW,CAAC,IAAI,CAAC;QAC/F,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,CAAC,CAAC;QAC9E,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAA8B;QAC5C,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,GAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAA6B,IAAI,EAAE,CAAC;QACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG;YACd,GAAG,IAAI,CAAC,WAAW;YACnB,CAAC,QAAQ,CAAC,EAAE;gBACV,GAAG,aAAa;gBAChB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;gBAC3B,YAAY,EAAE;oBACZ,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;oBACxC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;oBAClC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;oBACpC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;oBACxC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;oBACtD,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;oBAClD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;oBAChC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;oBACxC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;oBACpC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;oBAC5C,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;iBACrB;gBACD,eAAe,EAAE;oBACf,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK;oBAC7B,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,oBAAoB;oBAC3D,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;oBAC/B,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;oBAC/C,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO;iBAC7C;gBACD,YAAY,EAAE,KAAK;aACpB;SACF,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAChE,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,WAAmB,EACnB,OAAe,EACf,WAAuB;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAClE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACnF,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,UAAU,OAAO,EAAE,CAAC,CAAC;QAChE,MAAM,gBAAgB,GACpB,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,KAAK,QAAQ;YAC9D,CAAC,CAAE,IAAI,CAAC,WAAW,CAAC,GAA+B;YACnD,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,OAAO,GAAG;YACd,GAAG,IAAI,CAAC,WAAW;YACnB,GAAG,EAAE;gBACH,GAAG,gBAAgB;gBACnB,YAAY,EAAE,IAAI;aACnB;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7D,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,QAAgB;QACzB,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,mBAAmB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,mBAAmB,KAAK,CAAC,CAAC,EAAE,CAAC;YAC/B,OAAO,GAAG,QAAQ,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC3E,CAAC;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;QAC9D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACtE,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzF,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,QAAuB;QAClC,IAAI,IAAI,CAAC,kBAAkB,IAAI,QAAQ,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,kBAAkB,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9E,IAAI,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,KAAK,YAAY,EAAE,CAAC;gBACnE,OAAO;oBACL,cAAc,EAAE,QAAQ,CAAC,cAAc;oBACvC,kBAAkB;oBAClB,eAAe,EAAE,MAAM;oBACvB,IAAI,EAAE,CAAC;iBACR,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,kBAAkB;gBAClB,eAAe,EAAE,MAAM;gBACvB,IAAI,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;QAC/C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,GAAG,UAAU,CAAC;YACxD,MAAM,kBAAkB,GAAG,IAAI,OAAO,CACpC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EACxB,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EACxB,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CACzB,CAAC;YACF,MAAM,eAAe,GAAG,IAAI,OAAO,EAAE,CAAC;YACtC,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;YAC7E,OAAO;gBACL,kBAAkB;gBAClB,eAAe;gBACf,IAAI,EAAE,qBAAqB,CAAC,UAAU,EAAE,kBAAkB,EAAE,eAAe,CAAC;aAC7E,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC;YACxC,MAAM,kBAAkB,GAAG,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9F,MAAM,eAAe,GAAG,IAAI,OAAO,EAAE,CAAC;YACtC,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;YAC7E,OAAO;gBACL,kBAAkB;gBAClB,eAAe;gBACf,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,eAAe,CAAC;aACrE,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC5D,OAAO;YACL,kBAAkB,EAAE,IAAI,OAAO,EAAE;YACjC,IAAI,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,QAAmB,EAAE,IAAY;QAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAChC,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC;QACnC,CAAC;QAED,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAClC,KAAK,KAAK;gBACR,IAAI,CAAC,cAAc,CAAC,GAAG,GAAG,IAAI,CAAC;gBAC/B,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC;gBAChC,MAAM;YACR,QAAQ;QACV,CAAC;IACH,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,gBAAgB,IAAI,IAAI,CAAC;IACnE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,GAAW,EAAE,OAAsB;QAC/D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,OAAsB;QAC5D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,WAA0B;QACtD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC;QACnC,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YAC1E,MAAM,KAAK,GAAI,UAAsC,CAAC,KAAK,CAAC;YAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,GAAW,EAAE,OAAsB;QAChE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,iGAAiG;IACzF,KAAK,CAAC,mBAAmB,CAAC,MAAW;QAC3C,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,YAAY,GAAG;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,oBAAoB,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB;SAC7E,CAAC;QACF,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAC3F,OAAO;YACL,GAAG,MAAM;YACT,yFAAyF;YACzF,cAAc,EAAE,iBAAiB,CAAC,cAAc;YAChD,sFAAsF;YACtF,qBAAqB,EAAE,iBAAiB,CAAC,qBAAqB;YAC9D,SAAS,EAAE,iBAAiB,CAAC,SAAS;SACvC,CAAC;IACJ,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,KAAyB;IACjD,OAAO,OAAO,CACZ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAChG,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,KAAyB;IACpD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,GAAG,KAAK;YACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;SACpD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;QACnD,QAAQ,EAAG,KAA8B,CAAC,QAAQ;QAClD,OAAO,EAAG,KAA8B,CAAC,OAAO;KACjD,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"i3s-source.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-i3s/i3s-source.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAGtC,OAAO,EAAC,MAAM,IAAI,UAAU,EAAC,6BAA0B;AACvD,OAAO,EAAC,mBAAmB,EAAC,mCAAgC;AAc5D,OAAO,EAAC,iBAAiB,EAAE,qBAAqB,EAAC,2BAAwB;AACzE,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAE7C,OAAO,EAAC,sBAAsB,EAAC,kDAA+C;AAC9E,OAAO,EAAC,qBAAqB,EAAC,iDAA8C;AAE5E,MAAM,qBAAqB,GAA0B;IACnD,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK;IACd,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,KAAK;CACZ,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,SAAS;IACpB,gCAAgC;IACvB,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC;IACjC,oEAAoE;IAC3D,MAAM,CAAS;IACxB,6FAA6F;IACpF,aAAa,CAAS;IAC/B,0BAA0B;IACjB,GAAG,CAAS;IACrB,4DAA4D;IACnD,QAAQ,CAAS;IAC1B,iCAAiC;IACjC,OAAO,GAAuB,IAAI,CAAC;IACnC,iDAAiD;IACxC,WAAW,CAAgB;IACpC,qFAAqF;IACrF,OAAO,CAAW;IAClB,kEAAkE;IACzD,cAAc,GAA0B,EAAC,GAAG,qBAAqB,EAAC,CAAC;IAE5E,KAAK,CAAuB;IAC5B,UAAU,CAAO;IACjB,MAAM,CAAO;IACb,OAAO,CAAO;IACd,QAAQ,CAAyB;IAEhB,WAAW,GAA2B,EAAE,CAAC;IACzC,QAAQ,CAAyB;IAC1C,WAAW,CAAc;IACjC,6EAA6E;IACrE,kBAAkB,CAAyB;IACnD,kEAAkE;IAC1D,kBAAkB,CAAO;IAEjC;;;;OAIG;IACH,YAAY,KAAyB,EAAE,cAA6B,EAAE;QACpE,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QAEhC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9E,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa;YAC7C,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc;YAC/C,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM;YACrC,gBAAgB,EAAE,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;IACpC,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,cAAc,CAAC,OAAkB;QACrC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAClD,IAAI,gBAAgB,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1B,kFAAkF,CACrF,CAAC;QACJ,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,KAAK,eAAe,IAAI,gBAAgB,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YAC7F,OAAO;QACT,CAAC;QACD,IAAI,CAAC,kBAAkB,KAAK,IAAI,qBAAqB,CACnD,gBAAgB,EAChB,OAAO,CAAC,OAAO,CAAC,OAAO,CACxB,CAAC;QACF,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QACpE,IAAI,CAAC,kBAAkB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5F,CAAC;IAED;;OAEG;IACH,qBAAqB,CACnB,OAAkB,EAClB,WAAwB,EACxB,UAA0B;QAE1B,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,WAAW,CAAC,IAAI,CAAC;QAC/F,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,CAAC,CAAC;QAC9E,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAA8B;QAC5C,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,GAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAA6B,IAAI,EAAE,CAAC;QACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG;YACd,GAAG,IAAI,CAAC,WAAW;YACnB,CAAC,QAAQ,CAAC,EAAE;gBACV,GAAG,aAAa;gBAChB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;gBAC3B,YAAY,EAAE;oBACZ,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;oBACxC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;oBAClC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;oBACpC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;oBACxC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;oBACtD,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;oBAClD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;oBAChC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;oBACxC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;oBACpC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;oBAC5C,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;iBACrB;gBACD,eAAe,EAAE;oBACf,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK;oBAC7B,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,oBAAoB;oBAC3D,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;oBAC/B,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;oBAC/C,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO;iBAC7C;gBACD,YAAY,EAAE,KAAK;aACpB;SACF,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACpF,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,WAAmB,EACnB,OAAe,EACf,WAAuB;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAClE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACnF,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,UAAU,OAAO,EAAE,CAAC,CAAC;QAChE,MAAM,gBAAgB,GACpB,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,KAAK,QAAQ;YAC9D,CAAC,CAAE,IAAI,CAAC,WAAW,CAAC,GAA+B;YACnD,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,OAAO,GAAG;YACd,GAAG,IAAI,CAAC,WAAW;YACnB,GAAG,EAAE;gBACH,GAAG,gBAAgB;gBACnB,YAAY,EAAE,IAAI;aACnB;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7D,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,QAAgB;QACzB,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,mBAAmB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,mBAAmB,KAAK,CAAC,CAAC,EAAE,CAAC;YAC/B,OAAO,GAAG,QAAQ,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC3E,CAAC;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;QAC9D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACtE,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzF,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,QAAuB;QAClC,IAAI,IAAI,CAAC,kBAAkB,IAAI,QAAQ,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,kBAAkB,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9E,IAAI,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,KAAK,YAAY,EAAE,CAAC;gBACnE,OAAO;oBACL,cAAc,EAAE,QAAQ,CAAC,cAAc;oBACvC,kBAAkB;oBAClB,eAAe,EAAE,MAAM;oBACvB,IAAI,EAAE,CAAC;iBACR,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,kBAAkB;gBAClB,eAAe,EAAE,MAAM;gBACvB,IAAI,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;QAC/C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,GAAG,UAAU,CAAC;YACxD,MAAM,kBAAkB,GAAG,IAAI,OAAO,CACpC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EACxB,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EACxB,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CACzB,CAAC;YACF,MAAM,eAAe,GAAG,IAAI,OAAO,EAAE,CAAC;YACtC,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;YAC7E,OAAO;gBACL,kBAAkB;gBAClB,eAAe;gBACf,IAAI,EAAE,qBAAqB,CAAC,UAAU,EAAE,kBAAkB,EAAE,eAAe,CAAC;aAC7E,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC;YACxC,MAAM,kBAAkB,GAAG,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9F,MAAM,eAAe,GAAG,IAAI,OAAO,EAAE,CAAC;YACtC,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;YAC7E,OAAO;gBACL,kBAAkB;gBAClB,eAAe;gBACf,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,eAAe,CAAC;aACrE,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC5D,OAAO;YACL,kBAAkB,EAAE,IAAI,OAAO,EAAE;YACjC,IAAI,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,QAAmB,EAAE,IAAY;QAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAChC,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC;QACnC,CAAC;QAED,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAClC,KAAK,KAAK;gBACR,IAAI,CAAC,cAAc,CAAC,GAAG,GAAG,IAAI,CAAC;gBAC/B,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC;gBAChC,MAAM;YACR,QAAQ;QACV,CAAC;IACH,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,gBAAgB,IAAI,IAAI,CAAC;IACnE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAC3B,GAAW,EACX,OAAsB,EACtB,SAAiB,IAAI,CAAC,MAAM;QAE5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,OAAsB;QAC5D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,WAA0B;QACtD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC;QACnC,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YAC1E,MAAM,KAAK,GAAI,UAAsC,CAAC,KAAK,CAAC;YAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAC5B,GAAW,EACX,OAAsB,EACtB,SAAiB,IAAI,CAAC,MAAM;QAE5B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,iGAAiG;IACzF,KAAK,CAAC,mBAAmB,CAAC,MAAW;QAC3C,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,YAAY,GAAG;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,oBAAoB,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB;SAC7E,CAAC;QACF,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAC3F,OAAO;YACL,GAAG,MAAM;YACT,yFAAyF;YACzF,cAAc,EAAE,iBAAiB,CAAC,cAAc;YAChD,sFAAsF;YACtF,qBAAqB,EAAE,iBAAiB,CAAC,qBAAqB;YAC9D,SAAS,EAAE,iBAAiB,CAAC,SAAS;SACvC,CAAC;IACJ,CAAC;CACF;AAED,iGAAiG;AACjG,SAAS,mBAAmB,CAAC,MAAc;IACzC,OAAQ,MAA4C,CAAC,aAAa,IAAI,MAAM,CAAC;AAC/E,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAyB;IACjD,OAAO,OAAO,CACZ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAChG,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,KAAyB;IACpD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,GAAG,KAAK;YACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;SACpD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;QACnD,QAAQ,EAAG,KAA8B,CAAC,QAAQ;QAClD,OAAO,EAAG,KAA8B,CAAC,OAAO;KACjD,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/tiles",
|
|
3
|
-
"version": "5.0.0-alpha.
|
|
3
|
+
"version": "5.0.0-alpha.6",
|
|
4
4
|
"description": "Common components for different tiles loaders.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -42,23 +42,23 @@
|
|
|
42
42
|
"build-bundle-dev": "ocular-bundle ./bundle.ts --env=dev --output=dist/dist.dev.js"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@loaders.gl/loader-utils": "5.0.0-alpha.
|
|
46
|
-
"@loaders.gl/schema": "5.0.0-alpha.
|
|
47
|
-
"@math.gl/core": "5.0.0-alpha.
|
|
48
|
-
"@math.gl/crs": "5.0.0-alpha.
|
|
49
|
-
"@math.gl/culling": "5.0.0-alpha.
|
|
50
|
-
"@math.gl/geoid": "5.0.0-alpha.
|
|
51
|
-
"@math.gl/geometry-utils": "5.0.0-alpha.
|
|
52
|
-
"@math.gl/geospatial": "5.0.0-alpha.
|
|
53
|
-
"@math.gl/proj4": "5.0.0-alpha.
|
|
54
|
-
"@math.gl/web-mercator": "5.0.0-alpha.
|
|
45
|
+
"@loaders.gl/loader-utils": "5.0.0-alpha.6",
|
|
46
|
+
"@loaders.gl/schema": "5.0.0-alpha.6",
|
|
47
|
+
"@math.gl/core": "5.0.0-alpha.5",
|
|
48
|
+
"@math.gl/crs": "5.0.0-alpha.5",
|
|
49
|
+
"@math.gl/culling": "5.0.0-alpha.5",
|
|
50
|
+
"@math.gl/geoid": "5.0.0-alpha.5",
|
|
51
|
+
"@math.gl/geometry-utils": "5.0.0-alpha.5",
|
|
52
|
+
"@math.gl/geospatial": "5.0.0-alpha.5",
|
|
53
|
+
"@math.gl/proj4": "5.0.0-alpha.5",
|
|
54
|
+
"@math.gl/web-mercator": "5.0.0-alpha.5",
|
|
55
55
|
"@probe.gl/stats": "^4.1.1"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@deck.gl/core": "^9.
|
|
58
|
+
"@deck.gl/core": "^9.4.0"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"@loaders.gl/core": "~5.0.0-alpha.0"
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "9b9ea7738e0fe63e55c19c136283705f99e0b9bf"
|
|
64
64
|
}
|
|
@@ -3,12 +3,7 @@
|
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
|
|
5
5
|
import {BlobFile, HttpFile, path} from '@loaders.gl/loader-utils';
|
|
6
|
-
import type {
|
|
7
|
-
CoreAPI,
|
|
8
|
-
LoaderOptions,
|
|
9
|
-
LoaderWithParser,
|
|
10
|
-
ReadableFile
|
|
11
|
-
} from '@loaders.gl/loader-utils';
|
|
6
|
+
import type {CoreAPI, Loader, LoaderOptions, ReadableFile} from '@loaders.gl/loader-utils';
|
|
12
7
|
import type {TilesetSourceResolver} from './tileset-source';
|
|
13
8
|
|
|
14
9
|
/** Options for {@link IndexedArchiveTilesetSource}. */
|
|
@@ -63,7 +58,7 @@ export class IndexedArchiveTilesetSource<ArchiveT> implements TilesetSourceResol
|
|
|
63
58
|
*/
|
|
64
59
|
async loadRoot<DataT>(
|
|
65
60
|
url: string,
|
|
66
|
-
loader:
|
|
61
|
+
loader: Loader<DataT>,
|
|
67
62
|
loadOptions: LoaderOptions
|
|
68
63
|
): Promise<DataT> {
|
|
69
64
|
return await this.parseArchiveResource(
|
|
@@ -83,7 +78,7 @@ export class IndexedArchiveTilesetSource<ArchiveT> implements TilesetSourceResol
|
|
|
83
78
|
*/
|
|
84
79
|
async loadResource<DataT>(
|
|
85
80
|
url: string,
|
|
86
|
-
loader:
|
|
81
|
+
loader: Loader<DataT>,
|
|
87
82
|
loadOptions: LoaderOptions
|
|
88
83
|
): Promise<DataT> {
|
|
89
84
|
const pathInArchive = this.resolveArchivePath(url, url);
|
|
@@ -93,7 +88,7 @@ export class IndexedArchiveTilesetSource<ArchiveT> implements TilesetSourceResol
|
|
|
93
88
|
private async parseArchiveResource<DataT>(
|
|
94
89
|
resourceUrl: string,
|
|
95
90
|
pathInArchive: string,
|
|
96
|
-
loader:
|
|
91
|
+
loader: Loader<DataT>,
|
|
97
92
|
loadOptions: LoaderOptions,
|
|
98
93
|
mode?: string
|
|
99
94
|
): Promise<DataT> {
|
|
@@ -495,7 +495,8 @@ export class Tile3D {
|
|
|
495
495
|
// eslint-disable-next-line complexity
|
|
496
496
|
private _calculateRequestPriority(allowUnloadedContent: boolean): number {
|
|
497
497
|
const traverser = this.tileset._traverser;
|
|
498
|
-
const
|
|
498
|
+
const skipLevelOfDetail =
|
|
499
|
+
traverser.options.skipLevelOfDetail && !traverser.disableSkipLevelOfDetail;
|
|
499
500
|
|
|
500
501
|
/*
|
|
501
502
|
* Tiles that are outside of the camera's frustum could be skipped if we are in 'ADD' mode
|
|
@@ -790,9 +791,12 @@ export class Tile3D {
|
|
|
790
791
|
}
|
|
791
792
|
|
|
792
793
|
this._foveatedFactor = calculateFoveatedFactor(this.boundingVolume, frameState.camera);
|
|
794
|
+
const traverser = this.tileset._traverser;
|
|
795
|
+
const skipLevelOfDetail =
|
|
796
|
+
traverser.options.skipLevelOfDetail && !traverser.disableSkipLevelOfDetail;
|
|
793
797
|
const deferralEligible = isFoveatedRequestDeferred({
|
|
794
798
|
refinement: this.refine,
|
|
795
|
-
skipLevelOfDetail
|
|
799
|
+
skipLevelOfDetail,
|
|
796
800
|
foveatedScreenSpaceError: options.foveatedScreenSpaceError,
|
|
797
801
|
foveatedConeSize: options.foveatedConeSize,
|
|
798
802
|
minimumScreenSpaceErrorRelaxation: options.foveatedMinimumScreenSpaceErrorRelaxation,
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import {Matrix4, Vector3} from '@math.gl/core';
|
|
8
8
|
import {Ellipsoid} from '@math.gl/geospatial';
|
|
9
9
|
import {Stats} from '@probe.gl/stats';
|
|
10
|
-
import {RequestScheduler,
|
|
10
|
+
import {RequestScheduler, Loader, LoaderOptions} from '@loaders.gl/loader-utils';
|
|
11
11
|
import {TilesetCache} from './tileset-cache';
|
|
12
12
|
import {calculateTransformProps} from '../helpers/transform-utils';
|
|
13
13
|
import {getFrameState, limitSelectedTiles, updateCameraMotionState} from '../helpers/frame-state';
|
|
@@ -87,6 +87,26 @@ export type Tileset3DProps = {
|
|
|
87
87
|
* @default false
|
|
88
88
|
*/
|
|
89
89
|
skipLevelOfDetail?: boolean;
|
|
90
|
+
/**
|
|
91
|
+
* SSE above which tiles remain part of the non-skipping base traversal.
|
|
92
|
+
* @default 1024
|
|
93
|
+
*/
|
|
94
|
+
baseScreenSpaceError?: number;
|
|
95
|
+
/**
|
|
96
|
+
* Required SSE reduction from the nearest requested or loaded ancestor before loading a tile.
|
|
97
|
+
* @default 16
|
|
98
|
+
*/
|
|
99
|
+
skipScreenSpaceErrorFactor?: number;
|
|
100
|
+
/**
|
|
101
|
+
* Minimum hierarchy levels between requested tiles during skip-LOD traversal.
|
|
102
|
+
* @default 1
|
|
103
|
+
*/
|
|
104
|
+
skipLevels?: number;
|
|
105
|
+
/**
|
|
106
|
+
* Requests only final tiles that meet the active SSE target when skip-LOD is enabled.
|
|
107
|
+
* @default false
|
|
108
|
+
*/
|
|
109
|
+
immediatelyLoadDesiredLevelOfDetail?: boolean;
|
|
90
110
|
/** Enables perspective dynamic SSE to reduce distant, horizon-facing refinement. */
|
|
91
111
|
dynamicScreenSpaceError?: boolean;
|
|
92
112
|
/** Base dynamic SSE fog density in inverse meters. */
|
|
@@ -154,6 +174,14 @@ type Props = {
|
|
|
154
174
|
maximumScreenSpaceError: number;
|
|
155
175
|
/** Whether replacement traversal may skip levels while retaining ancestor coverage. */
|
|
156
176
|
skipLevelOfDetail: boolean;
|
|
177
|
+
/** SSE above which tiles remain part of the non-skipping base traversal. */
|
|
178
|
+
baseScreenSpaceError: number;
|
|
179
|
+
/** Required SSE reduction between requested skip-LOD tiles. */
|
|
180
|
+
skipScreenSpaceErrorFactor: number;
|
|
181
|
+
/** Minimum hierarchy levels between requested skip-LOD tiles. */
|
|
182
|
+
skipLevels: number;
|
|
183
|
+
/** Whether skip-LOD requests only the final desired tiles. */
|
|
184
|
+
immediatelyLoadDesiredLevelOfDetail: boolean;
|
|
157
185
|
/** Whether perspective dynamic SSE is enabled. */
|
|
158
186
|
dynamicScreenSpaceError: boolean;
|
|
159
187
|
/** Base dynamic SSE fog density in inverse meters. */
|
|
@@ -282,6 +310,10 @@ const DEFAULT_PROPS: Props = {
|
|
|
282
310
|
foveatedTimeDelay: 0.2,
|
|
283
311
|
maximumScreenSpaceError: 8,
|
|
284
312
|
skipLevelOfDetail: false,
|
|
313
|
+
baseScreenSpaceError: 1024,
|
|
314
|
+
skipScreenSpaceErrorFactor: 16,
|
|
315
|
+
skipLevels: 1,
|
|
316
|
+
immediatelyLoadDesiredLevelOfDetail: false,
|
|
285
317
|
dynamicScreenSpaceError: true,
|
|
286
318
|
dynamicScreenSpaceErrorDensity: 2.0e-4,
|
|
287
319
|
dynamicScreenSpaceErrorFactor: 24,
|
|
@@ -322,7 +354,7 @@ export class Tileset3D {
|
|
|
322
354
|
|
|
323
355
|
type: TILESET_TYPE;
|
|
324
356
|
tileset: TilesetJSON | null;
|
|
325
|
-
loader:
|
|
357
|
+
loader: Loader;
|
|
326
358
|
url: string;
|
|
327
359
|
basePath: string;
|
|
328
360
|
modelMatrix: Matrix4;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
|
|
5
|
-
import type {CoreAPI,
|
|
5
|
+
import type {CoreAPI, Loader, LoaderOptions} from '@loaders.gl/loader-utils';
|
|
6
6
|
import type {Vector3} from '@math.gl/core';
|
|
7
7
|
import type {TilesetTraverser, TilesetTraverserProps} from './tileset-traverser';
|
|
8
8
|
import type {Tile3D} from './tile-3d';
|
|
@@ -24,18 +24,14 @@ export type TilesetSourceResolver = {
|
|
|
24
24
|
/**
|
|
25
25
|
* Loads and parses the root metadata resource for a source.
|
|
26
26
|
*/
|
|
27
|
-
loadRoot<DataT>(
|
|
28
|
-
url: string,
|
|
29
|
-
loader: LoaderWithParser<DataT>,
|
|
30
|
-
loadOptions: LoaderOptions
|
|
31
|
-
): Promise<DataT>;
|
|
27
|
+
loadRoot<DataT>(url: string, loader: Loader<DataT>, loadOptions: LoaderOptions): Promise<DataT>;
|
|
32
28
|
|
|
33
29
|
/**
|
|
34
30
|
* Loads and parses an arbitrary source-relative resource.
|
|
35
31
|
*/
|
|
36
32
|
loadResource<DataT>(
|
|
37
33
|
url: string,
|
|
38
|
-
loader:
|
|
34
|
+
loader: Loader<DataT>,
|
|
39
35
|
loadOptions: LoaderOptions
|
|
40
36
|
): Promise<DataT>;
|
|
41
37
|
};
|
|
@@ -47,7 +43,7 @@ export type TilesetSourceRequest = {
|
|
|
47
43
|
/** Absolute root metadata URL. */
|
|
48
44
|
url: string;
|
|
49
45
|
/** Loader used to fetch and parse the root metadata. */
|
|
50
|
-
loader:
|
|
46
|
+
loader: Loader;
|
|
51
47
|
/** Optional base path override for relative resources. */
|
|
52
48
|
basePath?: string;
|
|
53
49
|
/** Optional resource-loading strategy used for archive-backed datasets. */
|
|
@@ -119,8 +115,8 @@ export type TilesetSourceViewState = {
|
|
|
119
115
|
export type TilesetSourceMetadata = {
|
|
120
116
|
/** Format discriminator. */
|
|
121
117
|
type: TILESET_TYPE;
|
|
122
|
-
/**
|
|
123
|
-
loader:
|
|
118
|
+
/** Primary format loader used for metadata and default content requests. */
|
|
119
|
+
loader: Loader;
|
|
124
120
|
/** Absolute root metadata URL. */
|
|
125
121
|
url: string;
|
|
126
122
|
/** Base path used for relative resource resolution. */
|
|
@@ -143,8 +139,8 @@ export type TilesetSourceMetadata = {
|
|
|
143
139
|
export interface Tileset3DSource {
|
|
144
140
|
/** Tileset format discriminator. */
|
|
145
141
|
readonly type: TILESET_TYPE;
|
|
146
|
-
/**
|
|
147
|
-
readonly loader:
|
|
142
|
+
/** Primary format loader used for metadata and default content requests. */
|
|
143
|
+
readonly loader: Loader;
|
|
148
144
|
/** Absolute URL of the root tileset resource. */
|
|
149
145
|
readonly url: string;
|
|
150
146
|
/** Base directory used for relative resource resolution. */
|
|
@@ -10,6 +10,14 @@ import {FrameState} from '../helpers/frame-state';
|
|
|
10
10
|
export type TilesetTraverserProps = {
|
|
11
11
|
loadSiblings?: boolean;
|
|
12
12
|
skipLevelOfDetail?: boolean;
|
|
13
|
+
/** SSE above which tiles remain part of the non-skipping base traversal. */
|
|
14
|
+
baseScreenSpaceError?: number;
|
|
15
|
+
/** Required SSE reduction from the nearest requested or loaded ancestor before loading a tile. */
|
|
16
|
+
skipScreenSpaceErrorFactor?: number;
|
|
17
|
+
/** Minimum hierarchy levels between requested tiles during skip-LOD traversal. */
|
|
18
|
+
skipLevels?: number;
|
|
19
|
+
/** Requests only final tiles that meet the active SSE target when skip-LOD is enabled. */
|
|
20
|
+
immediatelyLoadDesiredLevelOfDetail?: boolean;
|
|
13
21
|
updateTransforms?: boolean;
|
|
14
22
|
onTraversalEnd?: (frameState) => any;
|
|
15
23
|
viewportTraversersMap?: Record<string, any>;
|
|
@@ -19,6 +27,10 @@ export type TilesetTraverserProps = {
|
|
|
19
27
|
export const DEFAULT_PROPS: Required<TilesetTraverserProps> = {
|
|
20
28
|
loadSiblings: false,
|
|
21
29
|
skipLevelOfDetail: false,
|
|
30
|
+
baseScreenSpaceError: 1024,
|
|
31
|
+
skipScreenSpaceErrorFactor: 16,
|
|
32
|
+
skipLevels: 1,
|
|
33
|
+
immediatelyLoadDesiredLevelOfDetail: false,
|
|
22
34
|
updateTransforms: true,
|
|
23
35
|
onTraversalEnd: () => {},
|
|
24
36
|
viewportTraversersMap: {},
|
|
@@ -28,6 +40,9 @@ export const DEFAULT_PROPS: Required<TilesetTraverserProps> = {
|
|
|
28
40
|
export class TilesetTraverser {
|
|
29
41
|
options: Required<TilesetTraverserProps>;
|
|
30
42
|
|
|
43
|
+
/** Whether loaded content has disabled skip-LOD traversal for this tileset. */
|
|
44
|
+
disableSkipLevelOfDetail: boolean = false;
|
|
45
|
+
|
|
31
46
|
// fulfill in traverse call
|
|
32
47
|
root: any = null;
|
|
33
48
|
|
|
@@ -58,6 +73,11 @@ export class TilesetTraverser {
|
|
|
58
73
|
this.options = {...DEFAULT_PROPS, ...options};
|
|
59
74
|
}
|
|
60
75
|
|
|
76
|
+
/** Returns whether skip-LOD traversal is enabled and supported by the loaded content. */
|
|
77
|
+
isSkipLevelOfDetailEnabled(): boolean {
|
|
78
|
+
return this.options.skipLevelOfDetail && !this.disableSkipLevelOfDetail;
|
|
79
|
+
}
|
|
80
|
+
|
|
61
81
|
// tiles should be visible
|
|
62
82
|
traverse(root, frameState, options) {
|
|
63
83
|
this.root = root; // for root screen space error
|
|
@@ -142,7 +162,7 @@ export class TilesetTraverser {
|
|
|
142
162
|
this.loadTile(tile, frameState);
|
|
143
163
|
// Skip-LOD keeps a ready ancestor selected while descendants stream in. This prevents
|
|
144
164
|
// replacement holes when traversal jumps over one or more hierarchy levels.
|
|
145
|
-
if (stoppedRefining || this.
|
|
165
|
+
if (stoppedRefining || this.isSkipLevelOfDetailEnabled()) {
|
|
146
166
|
this.selectTile(tile, frameState);
|
|
147
167
|
}
|
|
148
168
|
}
|
|
@@ -154,6 +174,11 @@ export class TilesetTraverser {
|
|
|
154
174
|
tile._shouldRefine = shouldRefine && parentRefines;
|
|
155
175
|
}
|
|
156
176
|
|
|
177
|
+
this.completeTraversal(frameState);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/** Notifies the owning tileset when traversal is complete or its debounce interval expires. */
|
|
181
|
+
protected completeTraversal(frameState: FrameState): void {
|
|
157
182
|
const newTime = new Date().getTime();
|
|
158
183
|
if (this.traversalFinished(frameState) || newTime - this.lastUpdate > this.updateDebounceTime) {
|
|
159
184
|
this.lastUpdate = newTime;
|
|
@@ -170,7 +195,8 @@ export class TilesetTraverser {
|
|
|
170
195
|
|
|
171
196
|
/* eslint-disable complexity, max-statements */
|
|
172
197
|
updateAndPushChildren(tile: Tile3D, frameState: FrameState, stack, depth): boolean {
|
|
173
|
-
const {loadSiblings
|
|
198
|
+
const {loadSiblings} = this.options;
|
|
199
|
+
const skipLevelOfDetail = this.isSkipLevelOfDetailEnabled();
|
|
174
200
|
|
|
175
201
|
const children = tile.children;
|
|
176
202
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import {path, RequestCache} from '@loaders.gl/loader-utils';
|
|
6
6
|
import {Ellipsoid} from '@math.gl/geospatial';
|
|
7
7
|
import {Vector3} from '@math.gl/core';
|
|
8
|
-
import type {CoreAPI,
|
|
8
|
+
import type {CoreAPI, Loader, LoaderOptions} from '@loaders.gl/loader-utils';
|
|
9
9
|
import type {Tile3D} from '../common/tile-3d';
|
|
10
10
|
import {Tileset3DTraverser} from './tileset-3d-traverser';
|
|
11
11
|
import type {Tileset3D} from '../common/tileset-3d';
|
|
@@ -65,7 +65,7 @@ export class Tiles3DSource implements Tileset3DSource {
|
|
|
65
65
|
/** 3D Tiles format discriminator. */
|
|
66
66
|
readonly type = TILESET_TYPE.TILES3D;
|
|
67
67
|
/** Loader used for tile content requests. */
|
|
68
|
-
readonly loader:
|
|
68
|
+
readonly loader: Loader;
|
|
69
69
|
/** Root tileset URL. */
|
|
70
70
|
readonly url: string;
|
|
71
71
|
/** Base path used for relative tile resource resolution. */
|
|
@@ -487,7 +487,7 @@ export class Tiles3DSource implements Tileset3DSource {
|
|
|
487
487
|
private async loadWithCoreApi(
|
|
488
488
|
url: string,
|
|
489
489
|
options: LoaderOptions,
|
|
490
|
-
loader:
|
|
490
|
+
loader: Loader = this.loader
|
|
491
491
|
): Promise<any> {
|
|
492
492
|
if (!this.coreApi) {
|
|
493
493
|
throw new Error('Tiles3DSource requires an injected coreApi to load tileset data');
|
|
@@ -513,7 +513,7 @@ export class Tiles3DSource implements Tileset3DSource {
|
|
|
513
513
|
private async loadResourceData(
|
|
514
514
|
url: string,
|
|
515
515
|
options: LoaderOptions,
|
|
516
|
-
loader:
|
|
516
|
+
loader: Loader = this.loader
|
|
517
517
|
): Promise<any> {
|
|
518
518
|
if (this.resolver) {
|
|
519
519
|
return await this.resolver.loadResource(url, loader, options);
|