gosling.js 0.13.2 → 0.14.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/gosling.js CHANGED
@@ -52,7 +52,7 @@ import require$$0 from "react-dom";
52
52
  import { HiGlassComponent } from "higlass";
53
53
  import { ResizeSensor } from "css-element-queries";
54
54
  const name = "gosling.js";
55
- const version = "0.13.2";
55
+ const version = "0.14.0";
56
56
  const $ref$2 = "#/definitions/GoslingSpec";
57
57
  const $schema$2 = "http://json-schema.org/draft-07/schema#";
58
58
  const definitions$2 = {
@@ -1326,6 +1326,15 @@ const definitions$2 = {
1326
1326
  "default": false,
1327
1327
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
1328
1328
  type: "boolean"
1329
+ },
1330
+ stretchGraphics: {
1331
+ description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
1332
+ type: "boolean"
1333
+ },
1334
+ stretchGraphicsThreshold: {
1335
+ "default": 1.5,
1336
+ description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
1337
+ type: "number"
1329
1338
  }
1330
1339
  },
1331
1340
  type: "object"
@@ -1478,6 +1487,15 @@ const definitions$2 = {
1478
1487
  "default": false,
1479
1488
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
1480
1489
  type: "boolean"
1490
+ },
1491
+ stretchGraphics: {
1492
+ description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
1493
+ type: "boolean"
1494
+ },
1495
+ stretchGraphicsThreshold: {
1496
+ "default": 1.5,
1497
+ description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
1498
+ type: "number"
1481
1499
  }
1482
1500
  },
1483
1501
  type: "object"
@@ -2094,6 +2112,15 @@ const definitions$2 = {
2094
2112
  "default": false,
2095
2113
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
2096
2114
  type: "boolean"
2115
+ },
2116
+ stretchGraphics: {
2117
+ description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
2118
+ type: "boolean"
2119
+ },
2120
+ stretchGraphicsThreshold: {
2121
+ "default": 1.5,
2122
+ description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
2123
+ type: "number"
2097
2124
  }
2098
2125
  },
2099
2126
  type: "object"
@@ -2246,6 +2273,15 @@ const definitions$2 = {
2246
2273
  "default": false,
2247
2274
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
2248
2275
  type: "boolean"
2276
+ },
2277
+ stretchGraphics: {
2278
+ description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
2279
+ type: "boolean"
2280
+ },
2281
+ stretchGraphicsThreshold: {
2282
+ "default": 1.5,
2283
+ description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
2284
+ type: "number"
2249
2285
  }
2250
2286
  },
2251
2287
  type: "object"
@@ -2919,6 +2955,15 @@ const definitions$2 = {
2919
2955
  "default": false,
2920
2956
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
2921
2957
  type: "boolean"
2958
+ },
2959
+ stretchGraphics: {
2960
+ description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
2961
+ type: "boolean"
2962
+ },
2963
+ stretchGraphicsThreshold: {
2964
+ "default": 1.5,
2965
+ description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
2966
+ type: "number"
2922
2967
  }
2923
2968
  },
2924
2969
  type: "object"
@@ -4160,6 +4205,15 @@ const definitions$2 = {
4160
4205
  "default": false,
4161
4206
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
4162
4207
  type: "boolean"
4208
+ },
4209
+ stretchGraphics: {
4210
+ description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
4211
+ type: "boolean"
4212
+ },
4213
+ stretchGraphicsThreshold: {
4214
+ "default": 1.5,
4215
+ description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
4216
+ type: "number"
4163
4217
  }
4164
4218
  },
4165
4219
  type: "object"
@@ -4478,6 +4532,15 @@ const definitions$2 = {
4478
4532
  "default": false,
4479
4533
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
4480
4534
  type: "boolean"
4535
+ },
4536
+ stretchGraphics: {
4537
+ description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
4538
+ type: "boolean"
4539
+ },
4540
+ stretchGraphicsThreshold: {
4541
+ "default": 1.5,
4542
+ description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
4543
+ type: "number"
4481
4544
  }
4482
4545
  },
4483
4546
  type: "object"
@@ -4834,6 +4897,15 @@ const definitions$2 = {
4834
4897
  "default": false,
4835
4898
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
4836
4899
  type: "boolean"
4900
+ },
4901
+ stretchGraphics: {
4902
+ description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
4903
+ type: "boolean"
4904
+ },
4905
+ stretchGraphicsThreshold: {
4906
+ "default": 1.5,
4907
+ description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
4908
+ type: "number"
4837
4909
  }
4838
4910
  },
4839
4911
  type: "object"
@@ -5208,6 +5280,15 @@ const definitions$2 = {
5208
5280
  "default": false,
5209
5281
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
5210
5282
  type: "boolean"
5283
+ },
5284
+ stretchGraphics: {
5285
+ description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
5286
+ type: "boolean"
5287
+ },
5288
+ stretchGraphicsThreshold: {
5289
+ "default": 1.5,
5290
+ description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
5291
+ type: "number"
5211
5292
  }
5212
5293
  },
5213
5294
  type: "object"
@@ -5542,6 +5623,15 @@ const definitions$2 = {
5542
5623
  "default": false,
5543
5624
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
5544
5625
  type: "boolean"
5626
+ },
5627
+ stretchGraphics: {
5628
+ description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
5629
+ type: "boolean"
5630
+ },
5631
+ stretchGraphicsThreshold: {
5632
+ "default": 1.5,
5633
+ description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
5634
+ type: "number"
5545
5635
  }
5546
5636
  },
5547
5637
  type: "object"
@@ -6087,6 +6177,15 @@ const definitions$2 = {
6087
6177
  "default": false,
6088
6178
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
6089
6179
  type: "boolean"
6180
+ },
6181
+ stretchGraphics: {
6182
+ description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
6183
+ type: "boolean"
6184
+ },
6185
+ stretchGraphicsThreshold: {
6186
+ "default": 1.5,
6187
+ description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
6188
+ type: "number"
6090
6189
  }
6091
6190
  },
6092
6191
  type: "object"
@@ -6446,6 +6545,15 @@ const definitions$2 = {
6446
6545
  "default": false,
6447
6546
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
6448
6547
  type: "boolean"
6548
+ },
6549
+ stretchGraphics: {
6550
+ description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
6551
+ type: "boolean"
6552
+ },
6553
+ stretchGraphicsThreshold: {
6554
+ "default": 1.5,
6555
+ description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
6556
+ type: "number"
6449
6557
  }
6450
6558
  },
6451
6559
  type: "object"
@@ -6594,6 +6702,15 @@ const definitions$2 = {
6594
6702
  "default": false,
6595
6703
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
6596
6704
  type: "boolean"
6705
+ },
6706
+ stretchGraphics: {
6707
+ description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
6708
+ type: "boolean"
6709
+ },
6710
+ stretchGraphicsThreshold: {
6711
+ "default": 1.5,
6712
+ description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
6713
+ type: "number"
6597
6714
  }
6598
6715
  },
6599
6716
  type: "object"
@@ -7207,6 +7324,15 @@ const definitions$2 = {
7207
7324
  "default": false,
7208
7325
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
7209
7326
  type: "boolean"
7327
+ },
7328
+ stretchGraphics: {
7329
+ description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
7330
+ type: "boolean"
7331
+ },
7332
+ stretchGraphicsThreshold: {
7333
+ "default": 1.5,
7334
+ description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
7335
+ type: "number"
7210
7336
  }
7211
7337
  },
7212
7338
  type: "object"
@@ -7355,6 +7481,15 @@ const definitions$2 = {
7355
7481
  "default": false,
7356
7482
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
7357
7483
  type: "boolean"
7484
+ },
7485
+ stretchGraphics: {
7486
+ description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
7487
+ type: "boolean"
7488
+ },
7489
+ stretchGraphicsThreshold: {
7490
+ "default": 1.5,
7491
+ description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
7492
+ type: "number"
7358
7493
  }
7359
7494
  },
7360
7495
  type: "object"
@@ -8021,6 +8156,15 @@ const definitions$2 = {
8021
8156
  "default": false,
8022
8157
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
8023
8158
  type: "boolean"
8159
+ },
8160
+ stretchGraphics: {
8161
+ description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
8162
+ type: "boolean"
8163
+ },
8164
+ stretchGraphicsThreshold: {
8165
+ "default": 1.5,
8166
+ description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
8167
+ type: "number"
8024
8168
  }
8025
8169
  },
8026
8170
  type: "object"
@@ -24288,7 +24432,7 @@ const config$1 = {
24288
24432
  }
24289
24433
  };
24290
24434
  const factory$1 = (HGC, context, options) => {
24291
- var _assembly2, _processedTileInfo, _mouseDownX, _mouseDownY, _isRangeBrushActivated, _gBrush, _loadingTextStyleObj, _loadingTextBg, _loadingText, _tilesToId, tilesToId_fn, _binsPerTile, binsPerTile_get, _generateTabularData, generateTabularData_fn, _onMouseDown, onMouseDown_fn, _onMouseMove, onMouseMove_fn, _onMouseUp, onMouseUp_fn, _onMouseOut, onMouseOut_fn, _getElementsWithinMouse, getElementsWithinMouse_fn, _publishTrackEvents, publishTrackEvents_fn, _onRangeBrush, onRangeBrush_fn, _highlightMarks, highlightMarks_fn, _publishOnNewTrack, publishOnNewTrack_fn;
24435
+ var _assembly2, _processedTileInfo, _mouseDownX, _mouseDownY, _isRangeBrushActivated, _gBrush, _loadingTextStyleObj, _loadingTextBg, _loadingText, _tilesToId, tilesToId_fn, _binsPerTile, binsPerTile_get, _generateTabularData, generateTabularData_fn, _onMouseDown, onMouseDown_fn, _onMouseMove, onMouseMove_fn, _onMouseUp, onMouseUp_fn, _onMouseOut, onMouseOut_fn, _getElementsWithinMouse, getElementsWithinMouse_fn, _publishTrackEvents, publishTrackEvents_fn, _onRangeBrush, onRangeBrush_fn, _highlightMarks, highlightMarks_fn, _publishOnNewTrack, publishOnNewTrack_fn, _hasStretchableGraphics, hasStretchableGraphics_fn, _isTooStretched, isTooStretched_fn;
24292
24436
  const { tileProxy } = HGC.services;
24293
24437
  const { BarTrack } = HGC.tracks;
24294
24438
  const loadingTextStyle = getTextStyle({ color: "black", size: 12 });
@@ -24335,6 +24479,19 @@ const factory$1 = (HGC, context, options) => {
24335
24479
  * Publishes track information. Triggered when track gets created
24336
24480
  */
24337
24481
  __privateAdd(this, _publishOnNewTrack);
24482
+ /**
24483
+ * Used in drawTile()
24484
+ * Checks if the track has marks which are stretchable. Stretching
24485
+ * is not supported for circular layouts or 2D tracks
24486
+ */
24487
+ __privateAdd(this, _hasStretchableGraphics);
24488
+ /**
24489
+ * Used in drawTile()
24490
+ * Checks if the tile Graphic is too stretched. If so, it returns true.
24491
+ * @param stretchFactor The factor by which the tile is stretched
24492
+ * @returns True if the tile is too stretched, false otherwise
24493
+ */
24494
+ __privateAdd(this, _isTooStretched);
24338
24495
  /* *
24339
24496
  *
24340
24497
  * Properties
@@ -24477,11 +24634,21 @@ const factory$1 = (HGC, context, options) => {
24477
24634
  */
24478
24635
  drawTile(tile) {
24479
24636
  var _a, _b;
24480
- tile.drawnAtScale = this._xScale.copy();
24481
24637
  const tileInfo = __privateGet(this, _processedTileInfo)[tile.tileId];
24482
24638
  if (!tileInfo) {
24483
24639
  return;
24484
24640
  }
24641
+ if (!tile.drawnAtScale) {
24642
+ tile.drawnAtScale = this._xScale.copy();
24643
+ }
24644
+ const [graphicsXScale, graphicsXPos] = this.getXScaleAndOffset(tile.drawnAtScale);
24645
+ const isFirstRender = graphicsXScale === 1;
24646
+ if (!__privateMethod(this, _isTooStretched, isTooStretched_fn).call(this, graphicsXScale) && __privateMethod(this, _hasStretchableGraphics, hasStretchableGraphics_fn).call(this) && !isFirstRender) {
24647
+ tile.graphics.scale.x = graphicsXScale;
24648
+ tile.graphics.position.x = graphicsXPos;
24649
+ return;
24650
+ }
24651
+ tile.drawnAtScale = this._xScale.copy();
24485
24652
  (_a = tile.graphics) == null ? void 0 : _a.clear();
24486
24653
  (_b = tile.graphics) == null ? void 0 : _b.removeChildren();
24487
24654
  this.pBackground.clear();
@@ -25317,6 +25484,32 @@ const factory$1 = (HGC, context, options) => {
25317
25484
  id: context.viewUid
25318
25485
  });
25319
25486
  };
25487
+ _hasStretchableGraphics = new WeakSet();
25488
+ hasStretchableGraphics_fn = function() {
25489
+ var _a, _b;
25490
+ const hasStretchOption = (_a = this.options.spec.experimental) == null ? void 0 : _a.stretchGraphics;
25491
+ if (hasStretchOption === true) {
25492
+ return true;
25493
+ } else if (hasStretchOption === false) {
25494
+ return false;
25495
+ }
25496
+ const isFirstTrack1D = !Is2DTrack(this.getResolvedTracks()[0]);
25497
+ const isNotCircularLayout = this.options.spec.layout !== "circular";
25498
+ const stretchableMarks = ["bar", "line", "rect", "area"];
25499
+ const hasStretchableMark = this.getResolvedTracks().reduce(
25500
+ (acc, spec) => acc && stretchableMarks.includes(spec.mark),
25501
+ true
25502
+ );
25503
+ const noMouseInteractions = !((_b = this.options.spec.experimental) == null ? void 0 : _b.mouseEvents);
25504
+ return isFirstTrack1D && isNotCircularLayout && hasStretchableMark && noMouseInteractions;
25505
+ };
25506
+ _isTooStretched = new WeakSet();
25507
+ isTooStretched_fn = function(stretchFactor) {
25508
+ var _a, _b;
25509
+ const defaultThreshold = 1.5;
25510
+ const threshold = (_b = (_a = this.options.spec.experimental) == null ? void 0 : _a.stretchGraphicsThreshold) != null ? _b : defaultThreshold;
25511
+ return stretchFactor > threshold || stretchFactor < 1 / threshold;
25512
+ };
25320
25513
  /**
25321
25514
  * Convert tile positions to tile IDs
25322
25515
  */