bruce-cesium 7.6.2 → 7.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/bruce-cesium.es5.js +531 -60
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +524 -57
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/bruce-cesium.js +2 -1
  6. package/dist/lib/bruce-cesium.js.map +1 -1
  7. package/dist/lib/rendering/menu-item-creator.js +44 -23
  8. package/dist/lib/rendering/menu-item-creator.js.map +1 -1
  9. package/dist/lib/rendering/menu-item-manager.js +116 -7
  10. package/dist/lib/rendering/menu-item-manager.js.map +1 -1
  11. package/dist/lib/rendering/menu-item-styles.js +151 -0
  12. package/dist/lib/rendering/menu-item-styles.js.map +1 -0
  13. package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js +10 -0
  14. package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js.map +1 -1
  15. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +10 -0
  16. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
  17. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +10 -0
  18. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +1 -1
  19. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +48 -0
  20. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
  21. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +10 -0
  22. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +1 -1
  23. package/dist/lib/rendering/render-managers/render-manager.js.map +1 -1
  24. package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js +17 -0
  25. package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js.map +1 -1
  26. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +15 -0
  27. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +1 -1
  28. package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js +15 -0
  29. package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js.map +1 -1
  30. package/dist/lib/viewer/viewer-utils.js +23 -15
  31. package/dist/lib/viewer/viewer-utils.js.map +1 -1
  32. package/dist/lib/widgets/tabs-left-panel/widget-left-panel-tab-menu-items.js +64 -12
  33. package/dist/lib/widgets/tabs-left-panel/widget-left-panel-tab-menu-items.js.map +1 -1
  34. package/dist/types/bruce-cesium.d.ts +2 -1
  35. package/dist/types/rendering/menu-item-manager.d.ts +25 -0
  36. package/dist/types/rendering/menu-item-styles.d.ts +30 -0
  37. package/dist/types/rendering/render-managers/entities/entities-datalab-render-manager.d.ts +5 -1
  38. package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +5 -1
  39. package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +5 -1
  40. package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +8 -1
  41. package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +5 -1
  42. package/dist/types/rendering/render-managers/render-manager.d.ts +10 -1
  43. package/dist/types/rendering/render-managers/tilesets/tileset-arb-render-manager.d.ts +5 -1
  44. package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +5 -1
  45. package/dist/types/rendering/render-managers/tilesets/tileset-entities-render-manager.d.ts +5 -1
  46. package/dist/types/widgets/tabs-left-panel/widget-left-panel-tab-menu-items.d.ts +1 -0
  47. package/package.json +4 -3
@@ -28,6 +28,7 @@ __exportStar(require("./rendering/texture-frame-series-animator"), exports);
28
28
  __exportStar(require("./rendering/texture-value-labels"), exports);
29
29
  __exportStar(require("./rendering/menu-item-creator"), exports);
30
30
  __exportStar(require("./rendering/menu-item-manager"), exports);
31
+ __exportStar(require("./rendering/menu-item-styles"), exports);
31
32
  __exportStar(require("./rendering/render-managers/common/cesium-parabola"), exports);
32
33
  __exportStar(require("./rendering/render-managers/common/entity-label"), exports);
33
34
  __exportStar(require("./rendering/render-managers/common/entity-label-group"), exports);
@@ -90,7 +91,7 @@ __exportStar(require("./widgets/widget-info-view"), exports);
90
91
  __exportStar(require("./widgets/widget-left-panel"), exports);
91
92
  __exportStar(require("./widgets/widget-nav-compass"), exports);
92
93
  __exportStar(require("./widgets/widget-view-bar"), exports);
93
- exports.VERSION = "7.6.2";
94
+ exports.VERSION = "7.6.4";
94
95
  /**
95
96
  * Updates the environment instance used by bruce-cesium to one specified.
96
97
  * This can be used to ensure that the instance a parent is referencing is shared between bruce-cesium, bruce-models, and the parent app.
@@ -1 +1 @@
1
- {"version":3,"file":"bruce-cesium.js","sourceRoot":"","sources":["../../src/bruce-cesium.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA2C;AAE3C,qEAAmD;AACnD,0EAAwD;AACxD,uEAAqD;AACrD,mEAAiD;AACjD,2EAAyD;AACzD,yEAAuD;AACvD,2EAAyD;AACzD,4EAA0D;AAC1D,4EAA0D;AAC1D,mEAAiD;AACjD,gEAA8C;AAC9C,gEAA8C;AAC9C,qFAAmE;AACnE,kFAAgE;AAChE,wFAAsE;AACtE,kGAAwF;AAA/E,qHAAA,YAAY,OAAA;AACrB,wFAAyK;AAAhK,mHAAA,eAAe,OAAA;AAAE,oHAAA,gBAAgB,OAAA;AAC1C,iFAA+D;AAC/D,oFAAkE;AAClE,uFAAqE;AACrE,yGAAuF;AACvF,uGAAqF;AACrF,mGAAiF;AACjF,sGAAoF;AACpF,+FAA6E;AAC7E,6FAA2E;AAC3E,4FAA0E;AAC1E,iGAA+E;AAC/E,6FAA2E;AAC3E,6EAA2D;AAC3D,kGAAgF;AAChF,kGAAgF;AAChF,uGAAqF;AACrF,4GAA0F;AAC1F,kGAAgF;AAChF,yGAAuF;AACvF,iEAA+C;AAC/C,oEAAkD;AAClD,iEAA+C;AAC/C,qEAAmD;AACnD,+DAA6C;AAC7C,mEAAiD;AACjD,+DAA6C;AAC7C,wDAAsC;AACtC,uDAAqC;AACrC,wDAAsC;AACtC,sDAAoC;AACpC,qDAAmC;AACnC,+DAA6C;AAC7C,4DAA0C;AAC1C,gEAA8C;AAC9C,wDAAsC;AACtC,mEAAiD;AACjD,oEAAkD;AAClD,mEAAiD;AACjD,+DAA6C;AAC7C,sFAAoE;AACpE,6FAA2E;AAC3E,kFAAgE;AAChE,4FAA0E;AAC1E,4FAA0E;AAC1E,6FAA2E;AAC3E,mDAAiC;AACjC,6DAA2C;AAC3C,4DAA0C;AAC1C,6DAA2C;AAC3C,sEAAoD;AACpD,6DAA2C;AAC3C,8DAA4C;AAC5C,+DAA6C;AAC7C,4DAA0C;AAE7B,QAAA,OAAO,GAAG,OAAO,CAAC;AAE/B;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAAC,MAAW,EAAE,EAAE;IAC1C,0BAAW,CAAC,MAAM,GAAG,MAAM,CAAC;AAChC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEF;;;GAGG;AACI,MAAM,cAAc,GAAG,GAAG,EAAE;IAC/B,OAAO,0BAAW,CAAC;AACvB,CAAC,CAAA;AAFY,QAAA,cAAc,kBAE1B"}
1
+ {"version":3,"file":"bruce-cesium.js","sourceRoot":"","sources":["../../src/bruce-cesium.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA2C;AAE3C,qEAAmD;AACnD,0EAAwD;AACxD,uEAAqD;AACrD,mEAAiD;AACjD,2EAAyD;AACzD,yEAAuD;AACvD,2EAAyD;AACzD,4EAA0D;AAC1D,4EAA0D;AAC1D,mEAAiD;AACjD,gEAA8C;AAC9C,gEAA8C;AAC9C,+DAA6C;AAC7C,qFAAmE;AACnE,kFAAgE;AAChE,wFAAsE;AACtE,kGAAwF;AAA/E,qHAAA,YAAY,OAAA;AACrB,wFAAyK;AAAhK,mHAAA,eAAe,OAAA;AAAE,oHAAA,gBAAgB,OAAA;AAC1C,iFAA+D;AAC/D,oFAAkE;AAClE,uFAAqE;AACrE,yGAAuF;AACvF,uGAAqF;AACrF,mGAAiF;AACjF,sGAAoF;AACpF,+FAA6E;AAC7E,6FAA2E;AAC3E,4FAA0E;AAC1E,iGAA+E;AAC/E,6FAA2E;AAC3E,6EAA2D;AAC3D,kGAAgF;AAChF,kGAAgF;AAChF,uGAAqF;AACrF,4GAA0F;AAC1F,kGAAgF;AAChF,yGAAuF;AACvF,iEAA+C;AAC/C,oEAAkD;AAClD,iEAA+C;AAC/C,qEAAmD;AACnD,+DAA6C;AAC7C,mEAAiD;AACjD,+DAA6C;AAC7C,wDAAsC;AACtC,uDAAqC;AACrC,wDAAsC;AACtC,sDAAoC;AACpC,qDAAmC;AACnC,+DAA6C;AAC7C,4DAA0C;AAC1C,gEAA8C;AAC9C,wDAAsC;AACtC,mEAAiD;AACjD,oEAAkD;AAClD,mEAAiD;AACjD,+DAA6C;AAC7C,sFAAoE;AACpE,6FAA2E;AAC3E,kFAAgE;AAChE,4FAA0E;AAC1E,4FAA0E;AAC1E,6FAA2E;AAC3E,mDAAiC;AACjC,6DAA2C;AAC3C,4DAA0C;AAC1C,6DAA2C;AAC3C,sEAAoD;AACpD,6DAA2C;AAC3C,8DAA4C;AAC5C,+DAA6C;AAC7C,4DAA0C;AAE7B,QAAA,OAAO,GAAG,OAAO,CAAC;AAE/B;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAAC,MAAW,EAAE,EAAE;IAC1C,0BAAW,CAAC,MAAM,GAAG,MAAM,CAAC;AAChC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEF;;;GAGG;AACI,MAAM,cAAc,GAAG,GAAG,EAAE;IAC/B,OAAO,0BAAW,CAAC;AACvB,CAAC,CAAA;AAFY,QAAA,cAAc,kBAE1B"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MenuItemCreator = void 0;
4
4
  const bruce_models_1 = require("bruce-models");
5
5
  const viewer_utils_1 = require("../viewer/viewer-utils");
6
+ const menu_item_styles_1 = require("./menu-item-styles");
6
7
  /**
7
8
  * Utility to help generate menu items for rendering various data.
8
9
  */
@@ -304,33 +305,50 @@ var MenuItemCreator;
304
305
  }
305
306
  const renderedItemIds = [];
306
307
  if ((menuItems === null || menuItems === void 0 ? void 0 : menuItems.length) && (enabledIds === null || enabledIds === void 0 ? void 0 : enabledIds.length)) {
307
- const traverseItems = async (item) => {
308
+ const alternateItems = (item) => {
309
+ var _a, _b, _c, _d;
310
+ // The project view menu item contains the instruction to enable tags, the bookmark specifies which ones.
311
+ if (item.Type == bruce_models_1.MenuItem.EType.Entities && ((_a = item.BruceEntity) === null || _a === void 0 ? void 0 : _a.ExpandLayers)) {
312
+ const eItem = item;
313
+ // A setting the bookmark leaves out gets the view's own value back, not the last bookmark's.
314
+ const authored = manager.GetAuthoredAlternation(item);
315
+ const eItemAlt = alternations[item.id];
316
+ const tags = (_b = eItemAlt === null || eItemAlt === void 0 ? void 0 : eItemAlt.BruceEntity) === null || _b === void 0 ? void 0 : _b.SelectedExpandLayers;
317
+ eItem.BruceEntity = {
318
+ ...eItem.BruceEntity,
319
+ SelectedExpandLayers: tags !== undefined ? tags : (_c = authored.BruceEntity) === null || _c === void 0 ? void 0 : _c.SelectedExpandLayers,
320
+ };
321
+ }
322
+ else if (item.Type == bruce_models_1.MenuItem.EType.EntityTileset) {
323
+ const tItem = item;
324
+ const authored = manager.GetAuthoredAlternation(item);
325
+ const tItemAlt = alternations[item.id];
326
+ const hasAttenuation = (tItemAlt === null || tItemAlt === void 0 ? void 0 : tItemAlt.attenuation) !== undefined || (tItemAlt === null || tItemAlt === void 0 ? void 0 : tItemAlt.attenuationMax) !== undefined;
327
+ const source = hasAttenuation ? tItemAlt : authored;
328
+ tItem.attenuation = source.attenuation;
329
+ tItem.attenuationMax = source.attenuationMax;
330
+ }
331
+ (_d = item.Children) === null || _d === void 0 ? void 0 : _d.forEach(alternateItems);
332
+ };
333
+ /*
334
+ * Lays each picked style over a copy, so it never stays on the view's item for a later bookmark.
335
+ */
336
+ const styleItems = (item) => {
308
337
  var _a;
309
- if (alternations[item.id]) {
310
- // The only alternation we support right now is tag menu item ones.
311
- // The project view menu item contains the instruction to enable tags, the bookmark specifies which ones.
312
- if (item.Type == bruce_models_1.MenuItem.EType.Entities) {
313
- const eItem = item;
314
- if (eItem.BruceEntity.ExpandLayers) {
315
- const eItemAlt = alternations[item.id];
316
- eItem.BruceEntity = {
317
- ...eItem.BruceEntity,
318
- SelectedExpandLayers: (_a = eItemAlt.BruceEntity) === null || _a === void 0 ? void 0 : _a.SelectedExpandLayers,
319
- };
320
- }
321
- }
322
- else if (item.Type == bruce_models_1.MenuItem.EType.EntityTileset) {
323
- const tItem = item;
324
- const tItemAlt = alternations[item.id];
325
- tItem.attenuation = tItemAlt.attenuation;
326
- tItem.attenuationMax = tItemAlt.attenuationMax;
327
- }
338
+ let next = alternations[item.id] ? menu_item_styles_1.MenuItemStyles.ApplyAlternation(item, alternations[item.id]) : item;
339
+ const children = (_a = item.Children) === null || _a === void 0 ? void 0 : _a.map(styleItems);
340
+ if (children === null || children === void 0 ? void 0 : children.some((child, i) => child !== item.Children[i])) {
341
+ next = { ...next, Children: children };
328
342
  }
343
+ return next;
344
+ };
345
+ const traverseItems = async (item) => {
329
346
  if (enabledIds.includes(item.id)) {
330
347
  const itemId = await manager.RenderItem({
331
348
  item: item,
332
349
  getters: getters,
333
- modelSpace: contentType === bruce_models_1.ProjectViewBookmark.EContentType.WEB_3D_MODEL_SPACE
350
+ modelSpace: contentType === bruce_models_1.ProjectViewBookmark.EContentType.WEB_3D_MODEL_SPACE,
351
+ preferredIds: enabledIds
334
352
  });
335
353
  renderedItemIds.push(itemId);
336
354
  }
@@ -340,8 +358,11 @@ var MenuItemCreator;
340
358
  }
341
359
  }
342
360
  };
343
- for (let i = 0; i < menuItems.length; i++) {
344
- await traverseItems(menuItems[i]);
361
+ // Tag and attenuation alternations write into the view's items, since Navigator's tag tree reads them back.
362
+ menuItems.forEach(alternateItems);
363
+ const styled = menuItems.map(styleItems);
364
+ for (let i = 0; i < styled.length; i++) {
365
+ await traverseItems(styled[i]);
345
366
  }
346
367
  }
347
368
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item-creator.js","sourceRoot":"","sources":["../../../src/rendering/menu-item-creator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"menu-item-creator.js","sourceRoot":"","sources":["../../../src/rendering/menu-item-creator.ts"],"names":[],"mappings":";;;AAAA,+CAAmN;AAGnN,yDAAqD;AACrD,yDAAoD;AAEpD;;GAEG;AACH,IAAiB,eAAe,CAia/B;AAjaD,WAAiB,eAAe;IAWrB,KAAK,UAAU,cAAc,CAAC,MAE1B;QAIP,IAAI,EAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;QAC9D,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE;YACpB,OAAO,GAAG,0BAAW,CAAC,UAAU,CAAC;gBAC7B,MAAM;gBACN,eAAe,EAAE,IAAI;aACxB,CAAC,CAAC;SACN;aACI,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE;YACzB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;SAC3B;QAED,MAAM,IAAI,GAA6B;YACnC,OAAO,EAAE,2BAA2B;YACpC,IAAI,EAAE,uBAAQ,CAAC,KAAK,CAAC,WAAW;YAChC,EAAE,EAAE,0BAAW,CAAC,GAAG,EAAE;YACrB,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE;gBACT,SAAS,EAAE,SAAS;aACvB;YACD,kBAAkB,EAAE;gBAChB;oBACI,WAAW,EAAE,0BAAW,CAAC,YAAY,CAAC,OAAO;oBAC7C,aAAa,EAAE,KAAK;oBACpB,QAAQ,EAAE,CAAC;oBACX,OAAO,EAAE,MAAM;oBACf,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC,CAAC,4CAA4C;iBAC1D;aACJ;SACJ,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YACxC,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,OAAO;YACH,WAAW,EAAE,CAAC,UAAU,CAAC;YACzB,SAAS,EAAE,CAAC,IAAI,CAAC;SACpB,CAAA;IACL,CAAC;IA7CqB,8BAAc,iBA6CnC,CAAA;IAEM,KAAK,UAAU,iBAAiB,CAAC,MAE7B;QAIP,IAAI,EAAC,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;QAC3E,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE;YACpB,OAAO,GAAG,0BAAW,CAAC,UAAU,CAAC;gBAC7B,MAAM;gBACN,eAAe,EAAE,IAAI;aACxB,CAAC,CAAC;SACN;aACI,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE;YACzB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;SAC3B;QAED,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,QAAQ,GAAG,uBAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACtD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;gBACpC,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,QAAQ;aACjB,CAAC,CAAC;YACH,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAChC;QACD,OAAO;YACH,WAAW,EAAE,eAAe;YAC5B,SAAS,EAAE,SAAS;SACvB,CAAC;IACN,CAAC;IAlCqB,iCAAiB,oBAkCtC,CAAA;IAEM,KAAK,UAAU,kBAAkB,CAAC,MAE9B;QAIP,IAAI,EAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;QACvE,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE;YACpB,OAAO,GAAG,0BAAW,CAAC,UAAU,CAAC;gBAC7B,MAAM;gBACN,eAAe,EAAE,IAAI;aACxB,CAAC,CAAC;SACN;aACI,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE;YACzB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;SAC3B;QAED,MAAM,IAAI,GAA4B;YAClC,WAAW,EAAE;gBACT,eAAe,EAAU,MAAM,CAAC,YAAY;gBAC5C,MAAM,EAAE,MAAM;aACjB;YACD,IAAI,EAAE,uBAAQ,CAAC,KAAK,CAAC,QAAQ;YAC7B,OAAO,EAAE,6BAA6B;YACtC,kBAAkB,EAAE;gBAChB;oBACI,WAAW,EAAE,0BAAW,CAAC,YAAY,CAAC,OAAO;oBAC7C,aAAa,EAAE,KAAK;oBACpB,QAAQ,EAAE,CAAC;oBACX,OAAO,EAAE,MAAM;oBACf,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC,CAAC,4CAA4C;iBAC1D;aACJ;YACD,EAAE,EAAE,0BAAW,CAAC,GAAG,EAAE;YACrB,QAAQ,EAAE,EAAE;SACf,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YACzC,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,OAAO;YACH,WAAW,EAAE,CAAC,WAAW,CAAC;YAC1B,SAAS,EAAE,CAAC,IAAI,CAAC;SACpB,CAAC;IACN,CAAC;IA9CqB,kCAAkB,qBA8CvC,CAAA;IAEM,KAAK,UAAU,eAAe,CAAC,MAE3B;QAGP,IAAI,EAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;QAC9D,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE;YACpB,OAAO,GAAG,0BAAW,CAAC,UAAU,CAAC;gBAC7B,MAAM;gBACN,eAAe,EAAE,IAAI;aACxB,CAAC,CAAC;SACN;aACI,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE;YACzB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;SAC3B;QAED,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;gBACpC,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,QAAQ;aACjB,CAAC,CAAC;YACH,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAChC;QACD,OAAO;YACH,WAAW,EAAE,eAAe;SAC/B,CAAC;IACN,CAAC;IA7BqB,+BAAe,kBA6BpC,CAAA;IAEM,KAAK,UAAU,aAAa,CAAC,MAGzB;QAIP,IAAI,EAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC,GAAG,MAAM,CAAC;QAC9D,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,GAAG,0BAAW,CAAC,GAAG,EAAE,CAAC;SAC/B;QACD,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE;YACvB,OAAO,CAAC,IAAI,CAAC,iIAAiI,CAAC,CAAC;SACnJ;aACI,IAAI,CAAC,SAAS,EAAE;YACjB,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;SACxC;QACD,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE;YACpB,OAAO,GAAG,0BAAW,CAAC,UAAU,CAAC;gBAC7B,MAAM;gBACN,eAAe,EAAE,IAAI;aACxB,CAAC,CAAC;SACN;aACI,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE;YACzB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;SAC3B;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,sBAAO,CAAC,GAAG,CAAC;YAC/D,GAAG;YACH,SAAS;SACZ,CAAC,CAAC,CAAC,OAAO,CAAC;QAEZ,IAAI,QAAQ,GAAmB,IAAI,CAAC;QACpC,IAAI,OAAO,CAAC,IAAI,IAAI,sBAAO,CAAC,KAAK,CAAC,GAAG,EAAE;YACnC,QAAQ,GAAG;gBACP,OAAO,EAAE,mBAAmB;gBAC5B,KAAK,EAAE,KAAK;gBACZ,EAAE,EAAE,0BAAW,CAAC,GAAG,EAAE;gBACrB,OAAO,EAAE;oBACL,SAAS,EAAE,SAAS;iBACvB;gBACD,IAAI,EAAE,uBAAQ,CAAC,KAAK,CAAC,UAAU;gBAC/B,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,EAAE;aACc,CAAC;SAClC;aACI,IAAI,OAAO,CAAC,IAAI,IAAI,sBAAO,CAAC,KAAK,CAAC,UAAU,EAAE;YAC/C,QAAQ,GAAG;gBACP,OAAO,EAAE,mBAAmB;gBAC5B,KAAK,EAAE,KAAK;gBACZ,EAAE,EAAE,0BAAW,CAAC,GAAG,EAAE;gBACrB,OAAO,EAAE;oBACL,SAAS,EAAE,SAAS;iBACvB;gBACD,IAAI,EAAE,uBAAQ,CAAC,KAAK,CAAC,UAAU;gBAC/B,QAAQ,EAAE,EAAE;aACc,CAAC;SAClC;aACI,IAAI,OAAO,CAAC,IAAI,IAAI,sBAAO,CAAC,KAAK,CAAC,WAAW,EAAE;YAChD,QAAQ,GAAG;gBACP,OAAO,EAAE,mBAAmB;gBAC5B,KAAK,EAAE,KAAK;gBACZ,EAAE,EAAE,0BAAW,CAAC,GAAG,EAAE;gBACrB,OAAO,EAAE;oBACL,SAAS,EAAE,SAAS;iBACvB;gBACD,IAAI,EAAE,uBAAQ,CAAC,KAAK,CAAC,aAAa;gBAClC,QAAQ,EAAE,EAAE;aACmB,CAAC;SACvC;aACI,IACD,OAAO,CAAC,IAAI,IAAI,sBAAO,CAAC,KAAK,CAAC,YAAY;YAC1C,OAAO,CAAC,IAAI,IAAI,sBAAO,CAAC,KAAK,CAAC,cAAc;YAC5C,OAAO,CAAC,IAAI,IAAI,sBAAO,CAAC,KAAK,CAAC,iBAAiB,EACjD;YACE,QAAQ,GAAG;gBACP,OAAO,EAAE,mBAAmB;gBAC5B,KAAK,EAAE,KAAK;gBACZ,EAAE,EAAE,0BAAW,CAAC,GAAG,EAAE;gBACrB,OAAO,EAAE;oBACL,SAAS,EAAE,SAAS;iBACvB;gBACD,IAAI,EAAE,uBAAQ,CAAC,KAAK,CAAC,UAAU;gBAC/B,QAAQ,EAAE,EAAE;aACc,CAAC;SAClC;QACD,IAAI,QAAQ,EAAE;YACV,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;gBACzC,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,OAAO;aACnB,CAAC,CAAC;YACH,OAAO;gBACH,SAAS,EAAE,CAAC,QAAQ,CAAC;gBACrB,WAAW,EAAE,CAAC,WAAW,CAAC;aAC7B,CAAA;SACJ;QACD,OAAO;YACH,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,EAAE;SAChB,CAAA;IACL,CAAC;IAtGqB,6BAAa,gBAsGlC,CAAA;IAEM,KAAK,UAAU,mBAAmB,CAAC,MAK/B;;QAIP,IAAI,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;QACvE,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,GAAG,0BAAW,CAAC,GAAG,EAAE,CAAC;SAC/B;QACD,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE;YACvB,OAAO,CAAC,IAAI,CAAC,uIAAuI,CAAC,CAAC;SACzJ;aACI,IAAI,CAAC,SAAS,EAAE;YACjB,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;SACxC;QACD,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE;YACpB,OAAO,GAAG,0BAAW,CAAC,UAAU,CAAC;gBAC7B,MAAM;gBACN,eAAe,EAAE,IAAI;aACxB,CAAC,CAAC;SACN;aACI,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE;YACzB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;SAC3B;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,0BAAW,CAAC,GAAG,CAAC;YAC5D,GAAG;YACH,MAAM;SACT,CAAC,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,kCAAmB,CAAC,GAAG,CAAC;YAChF,GAAG;YACH,MAAM;YACN,UAAU;SACb,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEb,IAAI,UAAU,GAAa,EAAE,CAAC;QAC9B,IAAI,SAAS,GAAqB,EAAE,CAAC;QAErC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QACjC,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACpC,IAAI,OAAO,IAAI,CAAC,EAAE;gBACd,MAAM,SAAS,GAAG,IAAI,CAAC,QAAsC,CAAC;gBAC9D,MAAM,SAAS,GAAG,QAAQ,CAAC,QAA8C,CAAC;gBAC1E,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;gBAChC,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC;aACtC;iBACI;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,QAA8C,CAAC;gBACtE,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAsD,CAAC;gBAClF,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC;gBACjC,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC;aAC1C;SACJ;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,QAA8C,CAAC;QAC1E,MAAM,QAAQ,GAAG,MAAC,IAAI,CAAC,QAAuC,0CAAE,QAAQ,CAAC;QAEzE,IAAI,YAAY,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,oBAAoB,CAAC;QACnD,IAAI,CAAC,YAAY,EAAE;YACf,YAAY,GAAG,EAAE,CAAC;SACrB;QAED,IAAI,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,WAAW,KAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAE,WAAW,CAAA,EAAE;YACjD,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;SAC/C;QACD,IAAI,WAAW,IAAI,IAAI,EAAE;YACrB,WAAW,GAAG,kCAAmB,CAAC,YAAY,CAAC,MAAM,CAAC;SACzD;QAED,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,MAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,EAAE;YACzC,MAAM,cAAc,GAAG,CAAC,IAAoB,EAAE,EAAE;;gBAC5C,yGAAyG;gBACzG,IAAI,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,QAAQ,KAAI,MAAC,IAAgC,CAAC,WAAW,0CAAE,YAAY,CAAA,EAAE;oBACrG,MAAM,KAAK,GAAG,IAA+B,CAAC;oBAC9C,6FAA6F;oBAC7F,MAAM,QAAQ,GAAG,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAA4B,CAAC;oBACjF,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAA4B,CAAC;oBAClE,MAAM,IAAI,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,0CAAE,oBAAoB,CAAC;oBACzD,KAAK,CAAC,WAAW,GAAG;wBAChB,GAAG,KAAK,CAAC,WAAW;wBACpB,oBAAoB,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAA,QAAQ,CAAC,WAAW,0CAAE,oBAAoB;qBAC/F,CAAA;iBACJ;qBACI,IAAI,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,aAAa,EAAE;oBAChD,MAAM,KAAK,GAAG,IAAsC,CAAC;oBACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAmC,CAAC;oBACxF,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAmC,CAAC;oBACzE,MAAM,cAAc,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,MAAK,SAAS,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,MAAK,SAAS,CAAC;oBACrG,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACpD,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;oBACvC,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;iBAChD;gBACD,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAC3C,CAAC,CAAA;YACD;;eAEG;YACH,MAAM,UAAU,GAAG,CAAC,IAAoB,EAAkB,EAAE;;gBACxD,IAAI,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iCAAc,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvG,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChD,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC1D,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;iBAC1C;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC,CAAA;YACD,MAAM,aAAa,GAAG,KAAK,EAAE,IAAoB,EAAE,EAAE;gBACjD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;oBAC9B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;wBACpC,IAAI,EAAE,IAAI;wBACV,OAAO,EAAE,OAAO;wBAChB,UAAU,EAAE,WAAW,KAAK,kCAAmB,CAAC,YAAY,CAAC,kBAAkB;wBAC/E,YAAY,EAAE,UAAU;qBAC3B,CAAC,CAAC;oBACH,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBAChC;gBACD,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC3C,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;qBACzC;iBACJ;YACL,CAAC,CAAA;YACD,4GAA4G;YAC5G,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aAClC;SACJ;QACD,OAAO;YACH,WAAW,EAAE,eAAe;YAC5B,SAAS,EAAE,SAAS;SACvB,CAAC;IACN,CAAC;IA3IqB,mCAAmB,sBA2IxC,CAAA;AACL,CAAC,EAjagB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAia/B"}
@@ -25,6 +25,7 @@ const data_source_static_csv_manager_1 = require("./render-managers/data-source/
25
25
  const tileset_i3s_render_manager_1 = require("./render-managers/tilesets/tileset-i3s-render-manager");
26
26
  const google_search_render_manager_1 = require("./render-managers/other/google-search-render-manager");
27
27
  const assembly_render_manager_1 = require("./render-managers/other/assembly-render-manager");
28
+ const menu_item_styles_1 = require("./menu-item-styles");
28
29
  /**
29
30
  * Util to batch Tileset and Root Entity coord requests between Menu Items.
30
31
  * This avoids per-menu-item requests and allows for them to request together if enabled within N ms of each other.
@@ -269,6 +270,8 @@ var MenuItemManager;
269
270
  constructor(params) {
270
271
  this.items = [];
271
272
  this.pendingHandoffPool = [];
273
+ // The settings bookmark alternations overwrite on a view's items, as that view authored them.
274
+ this.authoredAlternations = new WeakMap();
272
275
  this.onUpdate = null;
273
276
  // Segments discovered so far per menu item ID.
274
277
  this.seriesSegments = new Map();
@@ -324,7 +327,7 @@ var MenuItemManager;
324
327
  * @returns
325
328
  */
326
329
  RenderItem(params) {
327
- var _a, _b, _c, _d, _e, _f, _g;
330
+ var _a, _b, _c, _d, _e, _f, _g, _h;
328
331
  if (this.viewer.isDestroyed()) {
329
332
  return null;
330
333
  }
@@ -348,13 +351,21 @@ var MenuItemManager;
348
351
  if (params.modelSpace == null) {
349
352
  params.modelSpace = false;
350
353
  }
354
+ // An item with a style set renders its first style unless the caller already picked one of them.
355
+ params = { ...params, item: menu_item_styles_1.MenuItemStyles.Resolve(params.item) };
351
356
  let rItem = this.items.find(x => x.id == params.item.id);
352
357
  let create = true;
353
358
  // Item already exists so we'll check if we should re-create it.
354
359
  if (rItem) {
360
+ // Only the picked style changed, so what is drawn gets restyled rather than rebuilt.
361
+ if (menu_item_styles_1.MenuItemStyles.IsStyleChangeOnly(rItem.item, params.item) && this.isStyleSwapCapable(rItem.renderManager)) {
362
+ rItem.renderManager.SwapStyle(params.item);
363
+ rItem.item = params.item;
364
+ create = false;
365
+ }
355
366
  // This means we're updating an entities menu item re-using the same id.
356
367
  // Eg: a bookmark swap that keeps the same item but changes tags, style, or zoom settings.
357
- if (rItem.type == bruce_models_1.MenuItem.EType.Entities && params.item.Type == bruce_models_1.MenuItem.EType.Entities) {
368
+ else if (rItem.type == bruce_models_1.MenuItem.EType.Entities && params.item.Type == bruce_models_1.MenuItem.EType.Entities) {
358
369
  rItem.renderManager.Init({
359
370
  item: params.item,
360
371
  });
@@ -689,7 +700,17 @@ var MenuItemManager;
689
700
  // We no longer support folder items being both a folder and an action.
690
701
  // Now an item must have no action to be a folder.
691
702
  const isFolder = !params.item.Type || params.item.Type == bruce_models_1.MenuItem.EType.None;
692
- if (params.item.Children && params.recursive != false && isFolder) {
703
+ const isRadioFolder = isFolder && Boolean(params.item.childrenAsRadios);
704
+ if (((_f = params.item.Children) === null || _f === void 0 ? void 0 : _f.length) && params.recursive != false && isRadioFolder) {
705
+ const picked = this.pickRadioChild(params.item.Children, params.preferredIds);
706
+ const others = params.item.Children.filter(x => x !== picked && this.items.some(y => y.id === x.id));
707
+ const childId = this.renderInPlaceOf(others.map(x => x.id), () => this.RenderItem({
708
+ ...params,
709
+ item: picked
710
+ }));
711
+ rItem.childIds = childId ? [childId] : [];
712
+ }
713
+ else if (params.item.Children && params.recursive != false && isFolder) {
693
714
  for (let i = 0; i < params.item.Children.length; i++) {
694
715
  const childId = this.RenderItem({
695
716
  ...params,
@@ -698,8 +719,8 @@ var MenuItemManager;
698
719
  rItem.childIds.push(childId);
699
720
  }
700
721
  }
701
- if (rItem.renderManager && !((_f = rItem.renderManager) === null || _f === void 0 ? void 0 : _f.Disposed)) {
702
- (_g = this.onUpdate) === null || _g === void 0 ? void 0 : _g.Trigger({ isEnabling: true, itemId: rItem.id });
722
+ if (rItem.renderManager && !((_g = rItem.renderManager) === null || _g === void 0 ? void 0 : _g.Disposed)) {
723
+ (_h = this.onUpdate) === null || _h === void 0 ? void 0 : _h.Trigger({ isEnabling: true, itemId: rItem.id });
703
724
  }
704
725
  return rItem.id;
705
726
  }
@@ -748,9 +769,74 @@ var MenuItemManager;
748
769
  (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: false, itemId: item.id });
749
770
  }
750
771
  }
772
+ /**
773
+ * Replaces enabled menu items with another, which reuses their graphics where both draw the same data.
774
+ */
775
+ SwapItem(params) {
776
+ const { fromIds, item, modelSpace } = params;
777
+ const parents = this.items.filter(x => x.childIds.some(id => fromIds.includes(id)));
778
+ const id = this.renderInPlaceOf(fromIds, () => this.RenderItem({
779
+ item,
780
+ modelSpace
781
+ }));
782
+ // Keeps a radio folder's removal reaching the child that replaced its old one.
783
+ for (const parent of parents) {
784
+ const kept = parent.childIds.filter(x => !fromIds.includes(x));
785
+ parent.childIds = id && !kept.includes(id) ? kept.concat(id) : kept;
786
+ }
787
+ return id;
788
+ }
789
+ /**
790
+ * Restyles an enabled menu item in place with another of its own styles, returning false when it cannot.
791
+ */
792
+ SetItemStyle(params) {
793
+ var _a;
794
+ const { menuItemId, styleId } = params;
795
+ const rItem = this.items.find(x => x.id === menuItemId);
796
+ if (!rItem || !this.isStyleSwapCapable(rItem.renderManager) || rItem.renderManager.Disposed) {
797
+ return false;
798
+ }
799
+ const next = menu_item_styles_1.MenuItemStyles.WithStyleId(rItem.item, styleId);
800
+ if (!next) {
801
+ return false;
802
+ }
803
+ rItem.renderManager.SwapStyle(next);
804
+ rItem.item = next;
805
+ (_a = this.onUpdate) === null || _a === void 0 ? void 0 : _a.Trigger({ isEnabling: true, itemId: rItem.id });
806
+ return true;
807
+ }
808
+ /*
809
+ * Picks the child the caller asked for, else the one already enabled, else the first.
810
+ */
811
+ pickRadioChild(children, preferredIds) {
812
+ var _a, _b;
813
+ return ((_b = (_a = children.find(x => preferredIds === null || preferredIds === void 0 ? void 0 : preferredIds.includes(x.id))) !== null && _a !== void 0 ? _a : children.find(x => this.items.some(y => y.id === x.id))) !== null && _b !== void 0 ? _b : children[0]);
814
+ }
815
+ /*
816
+ * Removes the items so the render can claim their graphics, then disposes whatever it left unclaimed.
817
+ */
818
+ renderInPlaceOf(removeIds, render) {
819
+ const pooledBefore = new Set(this.pendingHandoffPool);
820
+ for (const id of removeIds) {
821
+ this.RemoveItemById({
822
+ menuItemId: id,
823
+ allowHandoff: true
824
+ });
825
+ }
826
+ const pooled = this.pendingHandoffPool.filter(x => !pooledBefore.has(x));
827
+ try {
828
+ return render();
829
+ }
830
+ finally {
831
+ this.disposePooled(x => pooled.includes(x));
832
+ }
833
+ }
751
834
  isHandoffCapable(renderManager) {
752
835
  return Boolean(renderManager) && typeof renderManager.PrepareHandoff === "function";
753
836
  }
837
+ isStyleSwapCapable(renderManager) {
838
+ return Boolean(renderManager) && typeof renderManager.SwapStyle === "function";
839
+ }
754
840
  // Resolves the hand-off key a menu item's data would have.
755
841
  computeHandoffKey(item, modelSpace) {
756
842
  if (item.Type === bruce_models_1.MenuItem.EType.CadTileset) {
@@ -826,12 +912,15 @@ var MenuItemManager;
826
912
  }
827
913
  // Disposes everything left unclaimed in the pending-hand-off pool.
828
914
  FlushPendingHandoffs() {
915
+ this.disposePooled(() => true);
916
+ }
917
+ disposePooled(match) {
829
918
  var _a;
830
919
  if (!this.pendingHandoffPool.length) {
831
920
  return;
832
921
  }
833
- const pool = this.pendingHandoffPool;
834
- this.pendingHandoffPool = [];
922
+ const pool = this.pendingHandoffPool.filter(match);
923
+ this.pendingHandoffPool = this.pendingHandoffPool.filter(x => !match(x));
835
924
  for (const item of pool) {
836
925
  try {
837
926
  (_a = item.renderManager) === null || _a === void 0 ? void 0 : _a.Dispose();
@@ -842,6 +931,26 @@ var MenuItemManager;
842
931
  this.ClearSeriesSegments(item.id);
843
932
  }
844
933
  }
934
+ /**
935
+ * Returns the tags and attenuation the item's view authored, before any bookmark wrote over them.
936
+ */
937
+ GetAuthoredAlternation(item) {
938
+ var _a;
939
+ let authored = this.authoredAlternations.get(item);
940
+ if (!authored) {
941
+ const eItem = item;
942
+ const tItem = item;
943
+ authored = JSON.parse(JSON.stringify({
944
+ id: item.id,
945
+ Type: item.Type,
946
+ BruceEntity: { SelectedExpandLayers: (_a = eItem.BruceEntity) === null || _a === void 0 ? void 0 : _a.SelectedExpandLayers },
947
+ attenuation: tItem.attenuation,
948
+ attenuationMax: tItem.attenuationMax
949
+ }));
950
+ this.authoredAlternations.set(item, authored);
951
+ }
952
+ return authored;
953
+ }
845
954
  GetEnabledItemIds() {
846
955
  return this.items.map(x => x.id);
847
956
  }
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item-manager.js","sourceRoot":"","sources":["../../../src/rendering/menu-item-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"menu-item-manager.js","sourceRoot":"","sources":["../../../src/rendering/menu-item-manager.ts"],"names":[],"mappings":"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"}