bruce-cesium 6.6.8 → 6.7.0
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/bruce-cesium.es5.js +56 -53
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +54 -51
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +1 -1
- package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js +14 -2
- package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js.map +1 -1
- package/dist/lib/rendering/tile-render-engine.js +24 -12
- package/dist/lib/rendering/tile-render-engine.js.map +1 -1
- package/dist/lib/rendering/view-render-engine.js +14 -31
- package/dist/lib/rendering/view-render-engine.js.map +1 -1
- package/dist/lib/viewer/viewer-utils.js +2 -6
- package/dist/lib/viewer/viewer-utils.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +1 -1
- package/dist/types/rendering/render-managers/tilesets/tileset-osm-render-manager.d.ts +2 -2
- package/dist/types/viewer/viewer-utils.d.ts +2 -1
- package/package.json +2 -2
package/dist/bruce-cesium.umd.js
CHANGED
|
@@ -16067,7 +16067,19 @@
|
|
|
16067
16067
|
// Already exists, no need to re-initialize.
|
|
16068
16068
|
return;
|
|
16069
16069
|
}
|
|
16070
|
-
const
|
|
16070
|
+
const ionCheckApi = this.getters.GetBruceApi({});
|
|
16071
|
+
await ionCheckApi.Loading;
|
|
16072
|
+
const { programKeys: ionCheckKeys } = await BModels.ProgramKey.GetList({ api: ionCheckApi });
|
|
16073
|
+
const ionKey = ionCheckKeys.find(k => k.ProgramId === BModels.ProgramKey.EProgramId.CesiumIon);
|
|
16074
|
+
// Use if marked as available.
|
|
16075
|
+
let validToken;
|
|
16076
|
+
if (ionCheckApi.IsVersionAtLeast(BModels.BruceApi.VERSION_WITH_PROXIES)) {
|
|
16077
|
+
validToken = (ionKey === null || ionKey === void 0 ? void 0 : ionKey.Available) === true;
|
|
16078
|
+
}
|
|
16079
|
+
// Legacy route, to be killed off.
|
|
16080
|
+
else {
|
|
16081
|
+
validToken = (ionKey === null || ionKey === void 0 ? void 0 : ionKey.Key) ? await exports.ViewerUtils.AssertIonToken(ionKey.Key) : false;
|
|
16082
|
+
}
|
|
16071
16083
|
if (!validToken) {
|
|
16072
16084
|
console.warn("'tileset-osm-render-manager.ts' could not locate a valid Cesium Ion token.");
|
|
16073
16085
|
return;
|
|
@@ -22266,8 +22278,6 @@
|
|
|
22266
22278
|
const suffix = iteration.includes("imagery") ? "imagery" : "terrain";
|
|
22267
22279
|
return viewer[ITERATION_KEY + suffix] === iteration;
|
|
22268
22280
|
}
|
|
22269
|
-
const DEFAULT_STAMEN_KEY = "a652e5f2-8d9e-4706-a9d9-d5daa7d4c89e";
|
|
22270
|
-
const DEFAULT_THUNDERFOREST_KEY = "c3c1b64fbb5240be8e0d284a01e33107";
|
|
22271
22281
|
const re = /[\0-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g;
|
|
22272
22282
|
/**
|
|
22273
22283
|
* Prepares a legacy imagery name for comparison.
|
|
@@ -22436,14 +22446,6 @@
|
|
|
22436
22446
|
else if (BModels.Api.TEMPLATE_ACCOUNT_ID != accountId) {
|
|
22437
22447
|
return findKey(apiGetter, BModels.Api.TEMPLATE_ACCOUNT_ID, keyId);
|
|
22438
22448
|
}
|
|
22439
|
-
// No nice UI yet for setting it so we'll have a hard-coded one for the time being.
|
|
22440
|
-
else if (keyId == BModels.ProgramKey.EProgramId.Thunderforest) {
|
|
22441
|
-
return DEFAULT_THUNDERFOREST_KEY;
|
|
22442
|
-
}
|
|
22443
|
-
// Same story for stamen.
|
|
22444
|
-
else if (keyId == BModels.ProgramKey.EProgramId.StadiaMaps) {
|
|
22445
|
-
return DEFAULT_STAMEN_KEY;
|
|
22446
|
-
}
|
|
22447
22449
|
return null;
|
|
22448
22450
|
}
|
|
22449
22451
|
// Constants for the ion assets.
|
|
@@ -23007,7 +23009,18 @@
|
|
|
23007
23009
|
// If we need a cesium token, and we don't have one, then we can't render this.
|
|
23008
23010
|
let shouldCreate = true;
|
|
23009
23011
|
if (NEEDS_CESIUM_TOKEN.includes(defaultImg.id)) {
|
|
23010
|
-
|
|
23012
|
+
const ionCheckApi = apiGetter.getApi(apiGetter.accountId);
|
|
23013
|
+
await ionCheckApi.Loading;
|
|
23014
|
+
const { programKeys: ionCheckKeys } = await BModels.ProgramKey.GetList({ api: ionCheckApi });
|
|
23015
|
+
const ionKey = ionCheckKeys.find(k => k.ProgramId === BModels.ProgramKey.EProgramId.CesiumIon);
|
|
23016
|
+
// Use if marked as available.
|
|
23017
|
+
if (ionCheckApi.IsVersionAtLeast(BModels.BruceApi.VERSION_WITH_PROXIES)) {
|
|
23018
|
+
shouldCreate = (ionKey === null || ionKey === void 0 ? void 0 : ionKey.Available) === true;
|
|
23019
|
+
}
|
|
23020
|
+
// Legacy route, to be killed off.
|
|
23021
|
+
else {
|
|
23022
|
+
shouldCreate = (ionKey === null || ionKey === void 0 ? void 0 : ionKey.Key) ? await exports.ViewerUtils.AssertIonToken(ionKey.Key) : false;
|
|
23023
|
+
}
|
|
23011
23024
|
}
|
|
23012
23025
|
if (shouldCreate) {
|
|
23013
23026
|
try {
|
|
@@ -23450,7 +23463,18 @@
|
|
|
23450
23463
|
// Cesium token is required for Cesium World Terrain.
|
|
23451
23464
|
let shouldCreate = true;
|
|
23452
23465
|
if (defaultTerr.id == BModels.ProjectViewTile.EDefaultTerrain.CesiumWorldTerrain) {
|
|
23453
|
-
|
|
23466
|
+
const ionCheckApi = params.apiGetter.getApi(params.apiGetter.accountId);
|
|
23467
|
+
await ionCheckApi.Loading;
|
|
23468
|
+
const { programKeys: ionCheckKeys } = await BModels.ProgramKey.GetList({ api: ionCheckApi });
|
|
23469
|
+
const ionKey = ionCheckKeys.find(k => k.ProgramId === BModels.ProgramKey.EProgramId.CesiumIon);
|
|
23470
|
+
// Use if marked as available.
|
|
23471
|
+
if (ionCheckApi.IsVersionAtLeast(BModels.BruceApi.VERSION_WITH_PROXIES)) {
|
|
23472
|
+
shouldCreate = (ionKey === null || ionKey === void 0 ? void 0 : ionKey.Available) === true;
|
|
23473
|
+
}
|
|
23474
|
+
// Legacy route, to be killed off.
|
|
23475
|
+
else {
|
|
23476
|
+
shouldCreate = (ionKey === null || ionKey === void 0 ? void 0 : ionKey.Key) ? await exports.ViewerUtils.AssertIonToken(ionKey.Key) : false;
|
|
23477
|
+
}
|
|
23454
23478
|
}
|
|
23455
23479
|
if (shouldCreate) {
|
|
23456
23480
|
provider = await renderDefaultTerrTile(defaultTerr.id);
|
|
@@ -23565,12 +23589,6 @@
|
|
|
23565
23589
|
// Used to track if a current in-progress render is the latest.
|
|
23566
23590
|
// If we're midway through an async function that is rendering a bookmark and this changes, then we stop the function.
|
|
23567
23591
|
const ITERATION_KEY$1 = "nextspace-view-render-engine-iteration";
|
|
23568
|
-
// Will be set when the account doesn't have its own key.
|
|
23569
|
-
// This can be safely nulled as the code will avoid using things it cannot do without it.
|
|
23570
|
-
// We should do either:
|
|
23571
|
-
// 1- new accounts get our token set.
|
|
23572
|
-
// 2- we reference to the template account's token.
|
|
23573
|
-
const CESIUM_DEFAULT_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJiODI1OWQyZC0wYzdlLTRlOTctODFlOC1kYjIwOGYzOWE0NGIiLCJpZCI6MTE3NDg0LCJpYXQiOjE2NzAzODczOTR9.sx0EZdD-Y33FQ7gB_R3CkTsk3KhNpODoQGrnpvSH4UQ";
|
|
23574
23592
|
/**
|
|
23575
23593
|
* Creates a new iteration state.
|
|
23576
23594
|
* This will stop any existing renders from processing to their end.
|
|
@@ -23788,35 +23806,24 @@
|
|
|
23788
23806
|
try {
|
|
23789
23807
|
const bruceApi = getters.GetBruceApi();
|
|
23790
23808
|
await bruceApi.Loading;
|
|
23791
|
-
//
|
|
23809
|
+
// Get token record to check availability.
|
|
23810
|
+
const { programKeys } = await BModels.ProgramKey.GetList({ api: bruceApi });
|
|
23811
|
+
const ionKey = programKeys.find(k => k.ProgramId === BModels.ProgramKey.EProgramId.CesiumIon);
|
|
23792
23812
|
if (bruceApi.IsVersionAtLeast(BModels.BruceApi.VERSION_WITH_PROXIES)) {
|
|
23793
|
-
|
|
23794
|
-
|
|
23795
|
-
|
|
23813
|
+
// Marked as available.
|
|
23814
|
+
if (ionKey === null || ionKey === void 0 ? void 0 : ionKey.Available) {
|
|
23815
|
+
Cesium.Ion.defaultServer = bruceApi.GetBaseUrl() + "proxy/cesium-ion/";
|
|
23816
|
+
Cesium.Ion.defaultAccessToken = "proxy";
|
|
23817
|
+
cTokenSet = true;
|
|
23818
|
+
}
|
|
23796
23819
|
}
|
|
23797
|
-
// Legacy path: fetch real Ion token from DB.
|
|
23798
|
-
// Kill off once API instances are migrated.
|
|
23799
23820
|
else {
|
|
23800
|
-
|
|
23801
|
-
|
|
23802
|
-
|
|
23803
|
-
|
|
23804
|
-
});
|
|
23805
|
-
if (programKey === null || programKey === void 0 ? void 0 : programKey.Key) {
|
|
23806
|
-
const valid = await exports.ViewerUtils.AssertIonToken(programKey.Key);
|
|
23807
|
-
if (valid) {
|
|
23808
|
-
Cesium.Ion.defaultAccessToken = programKey.Key;
|
|
23809
|
-
cTokenSet = true;
|
|
23810
|
-
}
|
|
23811
|
-
}
|
|
23812
|
-
}
|
|
23813
|
-
catch (e) {
|
|
23814
|
-
console.error(e);
|
|
23815
|
-
}
|
|
23816
|
-
if (!cTokenSet) {
|
|
23817
|
-
const valid = await exports.ViewerUtils.AssertIonToken(CESIUM_DEFAULT_TOKEN);
|
|
23821
|
+
// Legacy path: fetch real Ion token from DB.
|
|
23822
|
+
// Kill off once API instances are migrated.
|
|
23823
|
+
if (ionKey === null || ionKey === void 0 ? void 0 : ionKey.Key) {
|
|
23824
|
+
const valid = await exports.ViewerUtils.AssertIonToken(ionKey.Key);
|
|
23818
23825
|
if (valid) {
|
|
23819
|
-
Cesium.Ion.defaultAccessToken =
|
|
23826
|
+
Cesium.Ion.defaultAccessToken = ionKey.Key;
|
|
23820
23827
|
cTokenSet = true;
|
|
23821
23828
|
}
|
|
23822
23829
|
}
|
|
@@ -29632,16 +29639,12 @@
|
|
|
29632
29639
|
ViewerUtils.CreateWidgets = CreateWidgets;
|
|
29633
29640
|
/**
|
|
29634
29641
|
* Returns if the given token is valid or not.
|
|
29635
|
-
*
|
|
29642
|
+
* Returns true if the supplied Cesium Ion access token is valid by probing the Ion endpoint.
|
|
29643
|
+
* @warning don't use when going through the proxy API route.
|
|
29636
29644
|
* @param token
|
|
29637
29645
|
* @returns
|
|
29638
29646
|
*/
|
|
29639
29647
|
async function AssertIonToken(token) {
|
|
29640
|
-
// If routed through a proxy then we don't need auth on client side for it.
|
|
29641
|
-
const defaultServer = Cesium.Ion.defaultServer;
|
|
29642
|
-
if (defaultServer && typeof defaultServer === "string" && !defaultServer.includes("cesium.com")) {
|
|
29643
|
-
return true;
|
|
29644
|
-
}
|
|
29645
29648
|
if (!token) {
|
|
29646
29649
|
return false;
|
|
29647
29650
|
}
|
|
@@ -36226,7 +36229,7 @@
|
|
|
36226
36229
|
}
|
|
36227
36230
|
}
|
|
36228
36231
|
|
|
36229
|
-
const VERSION = "6.
|
|
36232
|
+
const VERSION = "6.7.0";
|
|
36230
36233
|
/**
|
|
36231
36234
|
* Updates the environment instance used by bruce-cesium to one specified.
|
|
36232
36235
|
* This can be used to ensure that the instance a parent is referencing is shared between bruce-cesium, bruce-models, and the parent app.
|