bruce-cesium 7.6.0 → 7.6.2

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 (87) hide show
  1. package/dist/bruce-cesium.es5.js +2057 -348
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +2050 -345
  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/cesium-animated-property.js +63 -107
  8. package/dist/lib/rendering/cesium-animated-property.js.map +1 -1
  9. package/dist/lib/rendering/entity-gatherer.js +11 -3
  10. package/dist/lib/rendering/entity-gatherer.js.map +1 -1
  11. package/dist/lib/rendering/menu-item-manager.js +83 -10
  12. package/dist/lib/rendering/menu-item-manager.js.map +1 -1
  13. package/dist/lib/rendering/relation-render-engine.js +24 -5
  14. package/dist/lib/rendering/relation-render-engine.js.map +1 -1
  15. package/dist/lib/rendering/render-managers/common/entity-label-group.js +13 -9
  16. package/dist/lib/rendering/render-managers/common/entity-label-group.js.map +1 -1
  17. package/dist/lib/rendering/render-managers/common/entity-label.js +94 -12
  18. package/dist/lib/rendering/render-managers/common/entity-label.js.map +1 -1
  19. package/dist/lib/rendering/render-managers/common/entity-rerender-maintain-state.js +44 -5
  20. package/dist/lib/rendering/render-managers/common/entity-rerender-maintain-state.js.map +1 -1
  21. package/dist/lib/rendering/render-managers/common/entity-simulation.js +483 -0
  22. package/dist/lib/rendering/render-managers/common/entity-simulation.js.map +1 -0
  23. package/dist/lib/rendering/render-managers/common/historic-trail.js +123 -0
  24. package/dist/lib/rendering/render-managers/common/historic-trail.js.map +1 -0
  25. package/dist/lib/rendering/render-managers/common/historic-utils.js +17 -6
  26. package/dist/lib/rendering/render-managers/common/historic-utils.js.map +1 -1
  27. package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js +3 -2
  28. package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js.map +1 -1
  29. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +10 -2
  30. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
  31. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +3 -2
  32. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +1 -1
  33. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +18 -5
  34. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
  35. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +1 -1
  36. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +1 -1
  37. package/dist/lib/rendering/render-managers/other/assembly-render-manager.js +745 -106
  38. package/dist/lib/rendering/render-managers/other/assembly-render-manager.js.map +1 -1
  39. package/dist/lib/rendering/render-managers/other/legacy-relations-render-manager.js +23 -1
  40. package/dist/lib/rendering/render-managers/other/legacy-relations-render-manager.js.map +1 -1
  41. package/dist/lib/rendering/render-managers/other/relations-render-manager.js +23 -1
  42. package/dist/lib/rendering/render-managers/other/relations-render-manager.js.map +1 -1
  43. package/dist/lib/rendering/render-managers/render-manager.js.map +1 -1
  44. package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js +2 -0
  45. package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js.map +1 -1
  46. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +130 -40
  47. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +1 -1
  48. package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js +3 -0
  49. package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js.map +1 -1
  50. package/dist/lib/rendering/tileset-styler.js +1 -1
  51. package/dist/lib/rendering/tileset-styler.js.map +1 -1
  52. package/dist/lib/rendering/visual-register-culler.js +2 -0
  53. package/dist/lib/rendering/visual-register-culler.js.map +1 -1
  54. package/dist/lib/rendering/visuals-register.js +89 -20
  55. package/dist/lib/rendering/visuals-register.js.map +1 -1
  56. package/dist/lib/utils/entity-utils.js +43 -2
  57. package/dist/lib/utils/entity-utils.js.map +1 -1
  58. package/dist/lib/widgets/widget-info-view.js +20 -7
  59. package/dist/lib/widgets/widget-info-view.js.map +1 -1
  60. package/dist/types/bruce-cesium.d.ts +2 -1
  61. package/dist/types/rendering/cesium-animated-property.d.ts +8 -6
  62. package/dist/types/rendering/entity-gatherer.d.ts +6 -1
  63. package/dist/types/rendering/menu-item-manager.d.ts +33 -1
  64. package/dist/types/rendering/relation-render-engine.d.ts +10 -0
  65. package/dist/types/rendering/render-managers/common/entity-label-group.d.ts +3 -2
  66. package/dist/types/rendering/render-managers/common/entity-label.d.ts +5 -0
  67. package/dist/types/rendering/render-managers/common/entity-rerender-maintain-state.d.ts +20 -0
  68. package/dist/types/rendering/render-managers/common/entity-simulation.d.ts +126 -0
  69. package/dist/types/rendering/render-managers/common/historic-trail.d.ts +30 -0
  70. package/dist/types/rendering/render-managers/common/historic-utils.d.ts +4 -0
  71. package/dist/types/rendering/render-managers/entities/entities-datalab-render-manager.d.ts +2 -0
  72. package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +2 -0
  73. package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +2 -0
  74. package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +2 -0
  75. package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +2 -0
  76. package/dist/types/rendering/render-managers/other/assembly-render-manager.d.ts +79 -2
  77. package/dist/types/rendering/render-managers/other/legacy-relations-render-manager.d.ts +5 -0
  78. package/dist/types/rendering/render-managers/other/relations-render-manager.d.ts +5 -0
  79. package/dist/types/rendering/render-managers/render-manager.d.ts +4 -0
  80. package/dist/types/rendering/render-managers/tilesets/tileset-arb-render-manager.d.ts +3 -0
  81. package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +11 -1
  82. package/dist/types/rendering/render-managers/tilesets/tileset-entities-render-manager.d.ts +3 -0
  83. package/dist/types/rendering/tileset-styler.d.ts +2 -0
  84. package/dist/types/rendering/visuals-register.d.ts +13 -0
  85. package/dist/types/utils/entity-utils.d.ts +6 -0
  86. package/dist/types/widgets/widget-info-view.d.ts +1 -0
  87. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"entity-label-group.js","sourceRoot":"","sources":["../../../../../src/rendering/render-managers/common/entity-label-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-label-group.js","sourceRoot":"","sources":["../../../../../src/rendering/render-managers/common/entity-label-group.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ const drawing_utils_1 = require("../../../utils/drawing-utils");
9
9
  const measure_utils_1 = require("../../../utils/measure-utils");
10
10
  const bruce_models_1 = require("bruce-models");
11
11
  const point_clustering_core_1 = require("./point-clustering-core");
12
+ const entity_simulation_1 = require("./entity-simulation");
12
13
  /**
13
14
  * Returns cesium property's value.
14
15
  * This will check if it's one that changes over time, or just a fixed value.
@@ -64,6 +65,8 @@ var EntityLabel;
64
65
  const PHOTO_CACHE_KEY = "_nextspaceLabelPhotos";
65
66
  // Clearance around a model's box, as a share of its half-extent on each axis.
66
67
  const MODEL_BOX_PADDING = 0.02;
68
+ // How far a moving model's box may drift before it is moved, in metres.
69
+ const MODEL_BOX_FOLLOW_TOLERANCE = 0.001;
67
70
  // Share of each edge drawn out from its corners while the box is idle. Hovering draws the edges whole.
68
71
  const MODEL_BOX_BRACKET = 0.2;
69
72
  // Under this many pixels across, a box reads as a smudge and the ring takes over.
@@ -953,6 +956,22 @@ var EntityLabel;
953
956
  return centre && half && (axes === null || axes === void 0 ? void 0 : axes.every(Boolean)) ? { centre, axes, half } : null;
954
957
  }
955
958
  EntityLabel.ReadOrientedBox = ReadOrientedBox;
959
+ /*
960
+ * Whether a placement turns what it places. Scale alone does not count.
961
+ */
962
+ function isRotated(matrix) {
963
+ for (let column = 0; column < 3; column++) {
964
+ const axis = [0, 1, 2].map(row => Number(matrix[row][column]));
965
+ const length = Math.hypot(...axis);
966
+ if (!(length > 0)) {
967
+ return false;
968
+ }
969
+ if (axis.some((value, row) => Math.abs(value / length - Number(row === column)) > 1e-5)) {
970
+ return true;
971
+ }
972
+ }
973
+ return false;
974
+ }
956
975
  /*
957
976
  * The eight padded world corners of an assembly Entity's geometry box, or null when the record cannot give one.
958
977
  *
@@ -971,6 +990,10 @@ var EntityLabel;
971
990
  if ((matrix === null || matrix === void 0 ? void 0 : matrix.length) !== 4 || !matrix.every(row => (row === null || row === void 0 ? void 0 : row.length) === 4) || !Number.isFinite(+(root === null || root === void 0 ? void 0 : root.latitude)) || !Number.isFinite(+(root === null || root === void 0 ? void 0 : root.longitude))) {
972
991
  return null;
973
992
  }
993
+ // A pure translation can hide a rotation baked into the vertices, which leaves the extents loose.
994
+ if (!shape && !isRotated(matrix)) {
995
+ return null;
996
+ }
974
997
  const pivot = ((_c = bruce.GeometryPivot) === null || _c === void 0 ? void 0 : _c.length) >= 3 ? bruce.GeometryPivot.slice(0, 3).map(Number) : [0, 0, 0];
975
998
  // Without an oriented box the record's own extents are an axis-aligned box about the pivot.
976
999
  const box = shape || { centre: pivot, axes: [[1, 0, 0], [0, 1, 0], [0, 0, 1]], half: half };
@@ -1261,6 +1284,7 @@ var EntityLabel;
1261
1284
  constructor() {
1262
1285
  // Whether a box competes for space comes only from inputs (camera distance, hover, the pointer), never from
1263
1286
  // how its label was laid out, so an animation moving a label cannot feed back into which boxes show.
1287
+ // corners is where the box is drawn this frame: stored, moved by the entry's motion.
1264
1288
  this.entries = new Map();
1265
1289
  this.groups = null;
1266
1290
  // The hovered Entity. Its box is drawn on its own and whole, ahead of every other box.
@@ -1278,7 +1302,7 @@ var EntityLabel;
1278
1302
  Set(id, corners, entityId, inputs) {
1279
1303
  const current = this.entries.get(id);
1280
1304
  // A label rebuilt over the same box keeps its place and how far it has animated.
1281
- if (corners && (current === null || current === void 0 ? void 0 : current.corners) === corners && current.entityId === entityId) {
1305
+ if (corners && (current === null || current === void 0 ? void 0 : current.stored) === corners && current.entityId === entityId) {
1282
1306
  Object.assign(current, inputs);
1283
1307
  return;
1284
1308
  }
@@ -1286,17 +1310,41 @@ var EntityLabel;
1286
1310
  return;
1287
1311
  }
1288
1312
  if (corners) {
1289
- this.entries.set(id, { ...inputs, corners, entityId, active: false, wanted: false });
1313
+ this.entries.set(id, { ...inputs, corners, stored: corners, entityId, active: false, wanted: false });
1290
1314
  }
1291
1315
  else
1292
1316
  this.entries.delete(id);
1293
1317
  this.since.delete(id);
1318
+ this.forget(id);
1319
+ }
1320
+ /*
1321
+ * Drops the groups and outlines a box was in, so they are worked out again from where it is now.
1322
+ */
1323
+ forget(id) {
1294
1324
  this.groups = null;
1295
1325
  for (const [key, group] of this.outlines) {
1296
1326
  if (group.members.includes(id))
1297
1327
  this.outlines.delete(key);
1298
1328
  }
1299
1329
  }
1330
+ /*
1331
+ * Moves each box whose model moved since the last frame, keeping where it has got to in showing.
1332
+ */
1333
+ follow() {
1334
+ var _a;
1335
+ for (const [id, entry] of this.entries) {
1336
+ const motion = (_a = entry.motion) === null || _a === void 0 ? void 0 : _a.call(entry);
1337
+ if (!motion) {
1338
+ continue;
1339
+ }
1340
+ const moved = entry.stored.map(corner => Cesium.Matrix4.multiplyByPoint(motion, corner, new Cesium.Cartesian3()));
1341
+ if (moved.every((corner, i) => Cesium.Cartesian3.equalsEpsilon(corner, entry.corners[i], 0, MODEL_BOX_FOLLOW_TOLERANCE))) {
1342
+ continue;
1343
+ }
1344
+ entry.corners = moved;
1345
+ this.forget(id);
1346
+ }
1347
+ }
1300
1348
  /*
1301
1349
  * The box drawn for a label this frame, or undefined when it has none or lost its place.
1302
1350
  */
@@ -1364,6 +1412,7 @@ var EntityLabel;
1364
1412
  */
1365
1413
  Resolve(viewer, pointer) {
1366
1414
  var _a, _b, _c, _d;
1415
+ this.follow();
1367
1416
  this.frames.clear();
1368
1417
  this.hulls.clear();
1369
1418
  this.drawn = [];
@@ -1786,9 +1835,16 @@ var EntityLabel;
1786
1835
  }
1787
1836
  if (this.api) {
1788
1837
  const rego = this.rego;
1838
+ const simulation = entity_simulation_1.EntitySimulation.Get(this.viewer);
1839
+ let simulated = null;
1840
+ if (simulation === null || simulation === void 0 ? void 0 : simulation.HasBlob(rego.entityId)) {
1841
+ // A stand-in is named as is; a patch is laid over the API's record first.
1842
+ const read = simulation.HasEntity(rego.entityId) ? null : (await bruce_models_1.Entity.Get({ api: this.api, entityId: rego.entityId, migrated: true })).entity;
1843
+ simulated = simulation.Resolve(rego.entityId, read);
1844
+ }
1789
1845
  this.rego.name = await bruce_models_1.Entity.CalculateNameAsync({
1790
1846
  api: this.api,
1791
- entity: null,
1847
+ entity: simulated,
1792
1848
  entityId: rego.entityId,
1793
1849
  defaultToId: false
1794
1850
  });
@@ -1817,6 +1873,21 @@ var EntityLabel;
1817
1873
  clearTimeout(this.loadTimeout);
1818
1874
  this.loadTimeout = null;
1819
1875
  }
1876
+ /*
1877
+ * Reads the label's Entity again and redraws it, eg. after what is simulated for it changed.
1878
+ */
1879
+ Reload() {
1880
+ if (this.disposed) {
1881
+ return;
1882
+ }
1883
+ this.additionalTexts = this.options.text != null ? [] : null;
1884
+ this.loadedName = false;
1885
+ // The name came from whatever record the visual was drawn from, so it is worked out again too.
1886
+ if (this.rego) {
1887
+ this.rego.name = null;
1888
+ }
1889
+ this.createLabel();
1890
+ }
1820
1891
  /*
1821
1892
  * Rebuilds only when configuration changes; state refreshes must not recreate DOM every frame.
1822
1893
  */
@@ -2047,7 +2118,7 @@ var EntityLabel;
2047
2118
  }
2048
2119
  clearTimeout(this.loadTimeout);
2049
2120
  this.loadTimeout = setTimeout(async () => {
2050
- var _a, _b, _c, _d, _e;
2121
+ var _a, _b, _c, _d, _e, _f;
2051
2122
  if (this.disposed || this.counter != counter) {
2052
2123
  return;
2053
2124
  }
@@ -2074,16 +2145,19 @@ var EntityLabel;
2074
2145
  const attributes = (_a = this.options.attributes) !== null && _a !== void 0 ? _a : (_c = (_b = entityType === null || entityType === void 0 ? void 0 : entityType.VisualSettings) === null || _b === void 0 ? void 0 : _b.label) === null || _c === void 0 ? void 0 : _c.attributes;
2075
2146
  // Read for its attributes, and for a photo when the label has no icon of its own.
2076
2147
  if (attributes || !HasIcon(this.options)) {
2077
- let entity = null;
2148
+ // A simulated stand-in is labelled as is, and a patch is laid over the API's.
2149
+ const simulation = entity_simulation_1.EntitySimulation.Get(this.viewer);
2150
+ let entity = (_d = simulation === null || simulation === void 0 ? void 0 : simulation.GetEntity(this.rego.entityId)) !== null && _d !== void 0 ? _d : null;
2078
2151
  try {
2079
- entity = (await bruce_models_1.Entity.Get({
2152
+ entity = entity !== null && entity !== void 0 ? entity : (await bruce_models_1.Entity.Get({
2080
2153
  api: this.api,
2081
2154
  entityId: this.rego.entityId,
2082
- scenario: ((_d = this.rego.outline) === null || _d === void 0 ? void 0 : _d.length) ? (_e = this.rego.outline.find(x => !!x.Scenario)) === null || _e === void 0 ? void 0 : _e.Scenario : null,
2155
+ scenario: ((_e = this.rego.outline) === null || _e === void 0 ? void 0 : _e.length) ? (_f = this.rego.outline.find(x => !!x.Scenario)) === null || _f === void 0 ? void 0 : _f.Scenario : null,
2083
2156
  schemaId: this.rego.schema,
2084
2157
  migrated: true,
2085
2158
  expandAttachments: !HasIcon(this.options)
2086
2159
  })).entity;
2160
+ entity = entity && simulation ? simulation.Resolve(this.rego.entityId, entity) : entity;
2087
2161
  }
2088
2162
  // Entity doesn't exist.
2089
2163
  // Likely a graphic with an ID that points to no record.
@@ -2467,11 +2541,17 @@ var EntityLabel;
2467
2541
  // Past the wait a slow record no longer holds the label back; a box that comes later eases in.
2468
2542
  setTimeout(settle, MODEL_BOX_WAIT);
2469
2543
  this.modelBox.load.then(corners => {
2544
+ var _a, _b;
2470
2545
  if (!corners || this.disposed || this.counter !== counter) {
2471
2546
  return;
2472
2547
  }
2473
2548
  // A record that disagrees with where the model was found describes another placement, such as a moved tileset.
2549
+ // A part known to have moved from its record, eg. a joint turning, is judged where it has moved to.
2550
+ const motion = (_b = (_a = this.rego) === null || _a === void 0 ? void 0 : _a.motion) === null || _b === void 0 ? void 0 : _b.call(_a, this.viewer.clock.currentTime);
2474
2551
  const centre = Cesium.Cartesian3.midpoint(corners[0], corners[7], new Cesium.Cartesian3());
2552
+ if (motion) {
2553
+ Cesium.Matrix4.multiplyByPoint(motion, centre, centre);
2554
+ }
2475
2555
  if (Cesium.Cartesian3.distance(centre, found) > Cesium.Cartesian3.distance(corners[0], corners[7]) * 0.75 + 2) {
2476
2556
  return;
2477
2557
  }
@@ -2479,6 +2559,7 @@ var EntityLabel;
2479
2559
  // Let go a little further out than it is taken, so a camera resting at the limit does not flip it.
2480
2560
  let near = false;
2481
2561
  layer.modelBoxes.Set(this.id, corners, rego.entityId, {
2562
+ motion: rego.motion ? () => rego.motion(this.viewer.clock.currentTime) : undefined,
2482
2563
  selected: () => { var _a, _b; return Boolean((_b = (_a = this.visualRegister) === null || _a === void 0 ? void 0 : _a.GetState({ entityId: rego.entityId, menuItemId: rego.menuItemId })) === null || _b === void 0 ? void 0 : _b.selected); },
2483
2564
  hovered: () => { var _a, _b; return Boolean((_b = (_a = this.visualRegister) === null || _a === void 0 ? void 0 : _a.IsLabelHovered) === null || _b === void 0 ? void 0 : _b.call(_a, rego.entityId, rego.menuItemId)); },
2484
2565
  near: () => {
@@ -2689,7 +2770,7 @@ var EntityLabel;
2689
2770
  viewportWidth: this.viewer.canvas.clientWidth,
2690
2771
  id: this.id, entityKey: ((_x = this.rego) === null || _x === void 0 ? void 0 : _x.entityId) ? JSON.stringify([this.rego.entityId, this.rego.menuItemId || "", this.Transient && !this.Persistent ? "hover" : ""]) : undefined,
2691
2772
  entityId: (_y = this.rego) === null || _y === void 0 ? void 0 : _y.entityId, group: this.groupId, x, y, width, height, anchorX, anchorY, depth, leaderLength, leaderRun, leaderSide, distance,
2692
- iconRadius: icon === null || icon === void 0 ? void 0 : icon.radius, modelBox: boxed || undefined, boxBlend,
2773
+ iconRadius: icon === null || icon === void 0 ? void 0 : icon.radius, modelBox: boxed || undefined, boxBlend, follows: !pinned && Boolean(transientPivot || cursorMotion.target),
2693
2774
  // Priority shows the hovered member individually without dragging its cluster along.
2694
2775
  opacity: waiting ? 0 : opacity, priority: hover || cursorAmount > 0 || (state === null || state === void 0 ? void 0 : state.highlighted) ? 1 : 0, options: this.options, text: originalText, clusterBounds
2695
2776
  };
@@ -2816,15 +2897,16 @@ var EntityLabel;
2816
2897
  const normalRadius = (!leader || (ring === null || ring === void 0 ? void 0 : ring.enabled) === false ? 0 : Math.max(frame.distance <= ((_l = ring === null || ring === void 0 ? void 0 : ring.nearDistance) !== null && _l !== void 0 ? _l : 100) ? ((_m = ring === null || ring === void 0 ? void 0 : ring.nearRadius) !== null && _m !== void 0 ? _m : 10) : 0, hovered ? ((_o = ring === null || ring === void 0 ? void 0 : ring.hoverRadius) !== null && _o !== void 0 ? _o : (this.Transient && !this.Persistent ? 15.4 : 22)) : 0));
2817
2898
  const targetRadius = normalRadius + (15.4 - normalRadius) * cursorMotion.amount;
2818
2899
  // Around a glyph the ring keeps the glyph's size and only fades its stroke in, so it never covers the icon.
2819
- const targetOuter = iconRing || targetRadius || 2.5;
2820
- const targetInner = iconRing ? (targetRadius > 0 ? iconRing - 2 : iconRing) : Math.max(0, targetRadius - 2);
2900
+ // A ring around the cursor marks nothing, so a riding label keeps only its leader.
2901
+ const targetOuter = frame.follows ? 0 : iconRing || targetRadius || 2.5;
2902
+ const targetInner = frame.follows ? 0 : iconRing ? (targetRadius > 0 ? iconRing - 2 : iconRing) : Math.max(0, targetRadius - 2);
2821
2903
  const now = Date.now();
2822
2904
  const duration = (_p = ring === null || ring === void 0 ? void 0 : ring.transitionDuration) !== null && _p !== void 0 ? _p : 200;
2823
2905
  const sharedRing = this.Transient && !this.Persistent && this.hoverFade.to === 1 ? this.hoverRingState : undefined;
2824
2906
  let ringAnimation = sharedRing ? sharedRing.animation : this.ringAnimation;
2825
2907
  if (!ringAnimation) {
2826
- const outer = iconRing || 2.5;
2827
- const inner = iconRing;
2908
+ const outer = frame.follows ? 0 : iconRing || 2.5;
2909
+ const inner = frame.follows ? 0 : iconRing;
2828
2910
  ringAnimation = { target: outer, targetInner: inner, start: now, outer, inner, fromOuter: outer, fromInner: inner };
2829
2911
  }
2830
2912
  ;