@jbrowse/bandage-core 11.7.3 → 11.8.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.
Files changed (99) hide show
  1. package/README.md +59 -19
  2. package/dist/bubbles/bubbleHalos.js +6 -6
  3. package/dist/bubbles/classifyBubble.js +5 -5
  4. package/dist/bubbles/superbubbles.js +7 -7
  5. package/dist/chunks/{chunk-ZZZ6NVLW.js → chunk-22ZMVREZ.js} +1 -1
  6. package/dist/chunks/{chunk-VXKL2ZLR.js → chunk-2H3ALI6L.js} +223 -45
  7. package/dist/chunks/{chunk-F4CDC72I.js → chunk-2RCKHCF7.js} +1 -1
  8. package/dist/chunks/{chunk-P276TWPM.js → chunk-3CXZUC2Y.js} +1 -1
  9. package/dist/chunks/{chunk-VNF236GG.js → chunk-3XYLEK4H.js} +2 -2
  10. package/dist/chunks/{chunk-PKGPSTRW.js → chunk-4OVIUCSB.js} +2 -2
  11. package/dist/chunks/{chunk-BLDUBB7X.js → chunk-4YPCUVMC.js} +2 -2
  12. package/dist/chunks/{chunk-N73RA4DR.js → chunk-6CXLLJ2C.js} +3 -3
  13. package/dist/chunks/{chunk-4SN7R4UF.js → chunk-6MD4VS2F.js} +1 -1
  14. package/dist/chunks/{chunk-VACK24HF.js → chunk-735MPLUL.js} +35 -9
  15. package/dist/chunks/chunk-7GDNDQD7.js +504 -0
  16. package/dist/chunks/{chunk-2US43KNG.js → chunk-7PEYA3NA.js} +2 -2
  17. package/dist/chunks/{chunk-XTCIKBWM.js → chunk-AXE3RR7J.js} +1 -1
  18. package/dist/chunks/{chunk-BXE3SBBN.js → chunk-C3KAPREU.js} +1 -1
  19. package/dist/chunks/{chunk-QJC63NFR.js → chunk-G3GLGDKV.js} +2 -2
  20. package/dist/chunks/{chunk-63XWYNID.js → chunk-G4WQBRDS.js} +4 -4
  21. package/dist/chunks/{chunk-SDI6BVG7.js → chunk-J4PDHWP2.js} +1 -1
  22. package/dist/chunks/{chunk-GD6RUZU5.js → chunk-JKIAHYAW.js} +14 -8
  23. package/dist/chunks/{chunk-AJQRKN3X.js → chunk-L2RQV23D.js} +1 -1
  24. package/dist/chunks/{chunk-EPOPGV5G.js → chunk-LA6JHEVV.js} +1 -1
  25. package/dist/chunks/{chunk-G7SG4XMK.js → chunk-LODKC7PJ.js} +7 -0
  26. package/dist/chunks/{chunk-QXBQDHKL.js → chunk-MO4DIRHD.js} +80 -38
  27. package/dist/chunks/{chunk-IHM43Y7B.js → chunk-N2GAA7RB.js} +1 -1
  28. package/dist/chunks/{chunk-6RB5ZQ34.js → chunk-N4AJV4GH.js} +25 -14
  29. package/dist/chunks/{chunk-LH436HS2.js → chunk-NHOXLUIL.js} +2 -2
  30. package/dist/chunks/{chunk-QLLKALSH.js → chunk-NQWEYJDD.js} +1 -1
  31. package/dist/chunks/{chunk-AWJJSA7D.js → chunk-OIOAK7BS.js} +1 -1
  32. package/dist/chunks/{chunk-UTDMFVC7.js → chunk-R3NPBUKT.js} +8 -8
  33. package/dist/chunks/{chunk-4KOYS5WR.js → chunk-R4XCTRIU.js} +1 -1
  34. package/dist/chunks/{chunk-XKPXOIWD.js → chunk-S3ICPPXC.js} +3 -3
  35. package/dist/chunks/{chunk-K4KVAMEF.js → chunk-S4CH434Z.js} +1 -1
  36. package/dist/chunks/{chunk-HMEAGAGC.js → chunk-S7BCZVRK.js} +2 -2
  37. package/dist/chunks/{chunk-SG7VQB4F.js → chunk-SDDMV2MM.js} +1 -1
  38. package/dist/chunks/{chunk-KMLATBNT.js → chunk-SIXFXXRI.js} +3 -3
  39. package/dist/chunks/{chunk-T3MEG5D3.js → chunk-U6JPSXJ3.js} +90 -21
  40. package/dist/chunks/{chunk-SENPGW4O.js → chunk-VCUOYVLC.js} +1 -1
  41. package/dist/chunks/{chunk-33KUO34R.js → chunk-VSRRIFRF.js} +1 -1
  42. package/dist/chunks/{chunk-BFUS3ENH.js → chunk-X5ULFAMM.js} +2 -2
  43. package/dist/chunks/{chunk-W5YRBEWQ.js → chunk-XOIYBEU7.js} +1 -1
  44. package/dist/chunks/{chunk-CL6ELLVF.js → chunk-YEDZ37PH.js} +1 -1
  45. package/dist/chunks/{chunk-Z4HXW6ZH.js → chunk-YF6T33PU.js} +10 -2
  46. package/dist/chunks/{chunk-2VMKQKVO.js → chunk-YIWN32ZX.js} +1 -1
  47. package/dist/chunks/{chunk-2T3V6Z3M.js → chunk-ZKIH2USC.js} +1 -1
  48. package/dist/cli/figure.js +31 -30
  49. package/dist/cli/fold.js +6 -6
  50. package/dist/deletionEdges.js +2 -2
  51. package/dist/figure.js +27 -26
  52. package/dist/figureData.js +25 -24
  53. package/dist/figureScene.js +18 -17
  54. package/dist/figureSettings.js +6 -6
  55. package/dist/foldVariants.js +2 -2
  56. package/dist/genes/genePins.js +3 -3
  57. package/dist/graphLabels.js +4 -4
  58. package/dist/index.js +45 -44
  59. package/dist/labelLayout.js +8 -8
  60. package/dist/layout/forceCache.js +6 -6
  61. package/dist/layout/mergeRuns.js +2 -2
  62. package/dist/layout/orientToReference.js +2 -2
  63. package/dist/layout/tubeMapLayout.js +9 -9
  64. package/dist/layout/walkRowDraw.js +9 -8
  65. package/dist/layout/walkRowLayout.js +3 -3
  66. package/dist/layout/walkRowRuns.js +1 -1
  67. package/dist/layout/walkRows.js +2 -2
  68. package/dist/layout/walkStrip.js +13 -12
  69. package/dist/layoutModes.js +11 -11
  70. package/dist/pathColors.js +5 -5
  71. package/dist/pipeline.js +5 -5
  72. package/dist/referenceStrip.js +9 -8
  73. package/dist/renderer/GeometryBuilder.js +8 -7
  74. package/dist/renderer/walkLanes.js +44 -0
  75. package/dist/tubeMap/axis.js +5 -5
  76. package/dist/tubeMap/bundle.js +10 -10
  77. package/dist/tubeMap/coarsen.js +10 -10
  78. package/dist/tubeMap/deviations.js +11 -11
  79. package/dist/tubeMap/draw.js +5 -5
  80. package/dist/tubeMap/genes.js +6 -6
  81. package/dist/tubeMap/nodeColors.js +9 -8
  82. package/dist/tubeMap/reads.js +2 -2
  83. package/dist/types/figureData.d.ts +22 -0
  84. package/dist/types/renderer/types.d.ts +20 -0
  85. package/dist/types/renderer/walkLanes.d.ts +60 -0
  86. package/dist/types/util/geometry.d.ts +13 -1
  87. package/dist/types/version.d.ts +1 -1
  88. package/dist/types/walkEncoding.d.ts +7 -5
  89. package/dist/types/walkHighlight.d.ts +3 -0
  90. package/dist/util/SpatialIndex.js +4 -4
  91. package/dist/util/edgeCurves.js +3 -3
  92. package/dist/util/geometry.js +7 -1
  93. package/dist/util/hitDetection.js +5 -5
  94. package/dist/version.js +1 -1
  95. package/dist/viewport.js +6 -6
  96. package/dist/walkEncoding.js +9 -8
  97. package/dist/walkHighlight.js +10 -9
  98. package/dist/walkKey.js +5 -5
  99. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var version = "11.7.3";
2
+ var version = "11.8.0";
3
3
 
4
4
  export {
5
5
  version
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-H2H4Y3TV.js";
4
4
  import {
5
5
  REFERENCE_RAMP_ALT_CSS
6
- } from "./chunk-VXKL2ZLR.js";
6
+ } from "./chunk-2H3ALI6L.js";
7
7
  import {
8
8
  RAMP_GRADIENT_CSS,
9
9
  RAMP_GRADIENT_STOPS,
@@ -13,6 +13,7 @@ import {
13
13
  } from "./chunk-BSOZW3FC.js";
14
14
  import {
15
15
  panSNContig,
16
+ panSNHaplotype,
16
17
  panSNSample
17
18
  } from "./chunk-2JL2JVZ2.js";
18
19
 
@@ -466,6 +467,12 @@ function walkRowRuns(source, region, o = {}) {
466
467
  meta: rowOf(pieces),
467
468
  row: i + 1
468
469
  }));
470
+ const metas = [referenceRow, ...rows.map((r) => r.meta)];
471
+ if (new Set(metas.map((m) => m.label)).size < metas.length) {
472
+ for (const meta of metas) {
473
+ meta.label = panSNHaplotype(meta.name) ?? meta.label;
474
+ }
475
+ }
469
476
  rows.sort(
470
477
  (a, b) => Number(b.meta.complete) - Number(a.meta.complete) || b.meta.bp - a.meta.bp || a.meta.label.localeCompare(b.meta.label)
471
478
  );
@@ -2,7 +2,7 @@ import {
2
2
  stripGeneGaps,
3
3
  walkStripFrame,
4
4
  walkStripLabelsTree
5
- } from "./chunk-PKGPSTRW.js";
5
+ } from "./chunk-4OVIUCSB.js";
6
6
  import {
7
7
  Canvas2DRenderer
8
8
  } from "./chunk-4DMSPNYV.js";
@@ -13,7 +13,7 @@ import {
13
13
  walkRowsKey,
14
14
  walkRowsKeyTree,
15
15
  walkRowsTree
16
- } from "./chunk-EPOPGV5G.js";
16
+ } from "./chunk-LA6JHEVV.js";
17
17
  import {
18
18
  EXON_COLOR,
19
19
  exonOutlineTree,
@@ -21,45 +21,50 @@ import {
21
21
  } from "./chunk-JSUCGZ6K.js";
22
22
  import {
23
23
  geneLabelCandidates
24
- } from "./chunk-QJC63NFR.js";
24
+ } from "./chunk-G3GLGDKV.js";
25
25
  import {
26
26
  nodesUnderBox
27
- } from "./chunk-LH436HS2.js";
27
+ } from "./chunk-NHOXLUIL.js";
28
28
  import {
29
29
  escapeAttr,
30
30
  serializeEl
31
31
  } from "./chunk-H2H4Y3TV.js";
32
32
  import {
33
33
  genePins
34
- } from "./chunk-BFUS3ENH.js";
34
+ } from "./chunk-X5ULFAMM.js";
35
35
  import {
36
36
  version
37
- } from "./chunk-AJQRKN3X.js";
37
+ } from "./chunk-L2RQV23D.js";
38
38
  import {
39
39
  axisScaleOf
40
- } from "./chunk-F4CDC72I.js";
40
+ } from "./chunk-2RCKHCF7.js";
41
41
  import {
42
42
  figureScene
43
- } from "./chunk-UTDMFVC7.js";
43
+ } from "./chunk-R3NPBUKT.js";
44
44
  import {
45
45
  encodingStops
46
- } from "./chunk-6RB5ZQ34.js";
46
+ } from "./chunk-N4AJV4GH.js";
47
+ import {
48
+ THREAD_PX,
49
+ passesKey,
50
+ threadsPasses
51
+ } from "./chunk-7GDNDQD7.js";
47
52
  import {
48
53
  rangeText
49
- } from "./chunk-SG7VQB4F.js";
54
+ } from "./chunk-SDDMV2MM.js";
50
55
  import {
51
56
  walkRowLabels
52
- } from "./chunk-SENPGW4O.js";
57
+ } from "./chunk-VCUOYVLC.js";
53
58
  import {
54
59
  nodeInk
55
60
  } from "./chunk-ZANALBSX.js";
56
61
  import {
57
62
  FIGURE_DEFAULTS
58
- } from "./chunk-4SN7R4UF.js";
63
+ } from "./chunk-6MD4VS2F.js";
59
64
  import {
60
65
  FIT_PADDING,
61
66
  fitTransform
62
- } from "./chunk-XKPXOIWD.js";
67
+ } from "./chunk-S3ICPPXC.js";
63
68
  import {
64
69
  LABEL_CHAR_PX,
65
70
  LABEL_PAD,
@@ -79,6 +84,8 @@ var FONT = 'font-family="Helvetica, Arial, sans-serif" font-size="11"';
79
84
  var BAR_PX = 48;
80
85
  var SWATCH_PX = 18;
81
86
  var KEY_GAP_PX = 16;
87
+ var KEY_LINE_PX = 16;
88
+ var KEY_TALL_PX = 32;
82
89
  var STRIP_KEY_PX = 22;
83
90
  var FADED = "rgb(160,160,160)";
84
91
  var GENE_INK = "#1c1c22";
@@ -92,15 +99,45 @@ function keySvg(id, x, y, stops, label, after, under, opacity = 1) {
92
99
  );
93
100
  return {
94
101
  width,
102
+ height: under ? KEY_TALL_PX : KEY_LINE_PX,
95
103
  markup: `${defs}<g transform="translate(${x} ${y})" ${FONT}><rect y="5" width="${bar}" height="8" rx="2" ${fill}/><text x="${bar + 5}" y="13"><tspan font-weight="bold">${escapeAttr(label)}</tspan>${escapeAttr(after)}</text>${under ? `<text y="28">${escapeAttr(under)}</text>` : ""}</g>`
96
104
  };
97
105
  }
98
106
  function exonKeySvg(x, y) {
99
107
  return {
100
108
  width: SWATCH_PX + 5 + 4 * LABEL_CHAR_PX,
109
+ height: KEY_LINE_PX,
101
110
  markup: `<g transform="translate(${x} ${y})" ${FONT}><rect x="1" y="4" width="${SWATCH_PX - 2}" height="10" rx="4" fill="none" stroke="${EXON_COLOR}" stroke-width="2"/><text x="${SWATCH_PX + 5}" y="13">exon</text></g>`
102
111
  };
103
112
  }
113
+ function passesKeySvg(x, y, note) {
114
+ const lines = [6, 9, 12].map(
115
+ (ly) => `<line y1="${ly}" y2="${ly}" x2="${SWATCH_PX}" stroke="#444" stroke-width="${THREAD_PX}"/>`
116
+ ).join("");
117
+ return {
118
+ width: SWATCH_PX + 5 + note.length * LABEL_CHAR_PX,
119
+ height: KEY_LINE_PX,
120
+ markup: `<g transform="translate(${x} ${y})" ${FONT}>${lines}<text x="${SWATCH_PX + 5}" y="13">${note}</text></g>`
121
+ };
122
+ }
123
+ function keyLines(keys, width) {
124
+ const markup = [];
125
+ let x = 6;
126
+ let y = 2;
127
+ let line = 0;
128
+ for (const key of keys) {
129
+ const size = key(0, 0);
130
+ if (x > 6 && x + size.width > width - 6) {
131
+ x = 6;
132
+ y += line + 4;
133
+ line = 0;
134
+ }
135
+ markup.push(key(x, y).markup);
136
+ x += size.width + KEY_GAP_PX;
137
+ line = Math.max(line, size.height);
138
+ }
139
+ return { markup, height: y + line };
140
+ }
104
141
  function walkKeySvg(id, x, y, walk, label, key) {
105
142
  return keySvg(
106
143
  id,
@@ -264,22 +301,18 @@ function figureSvg(graph, layout, o = {}) {
264
301
  });
265
302
  height = grid.total;
266
303
  } else {
267
- let x = 6;
268
- const push = (key) => {
269
- parts.push(key.markup);
270
- x += key.width + KEY_GAP_PX;
271
- };
304
+ const keys = [];
272
305
  if (lift) {
273
306
  lift.walks.forEach((walk, i) => {
274
- push(
275
- walkKeySvg(`key${i}`, x, 2, walk, labelOf(walk.name), keyText(walk))
307
+ keys.push(
308
+ (x, y) => walkKeySvg(`key${i}`, x, y, walk, labelOf(walk.name), keyText(walk))
276
309
  );
277
310
  });
278
- push(
279
- keySvg(
311
+ keys.push(
312
+ (x, y) => keySvg(
280
313
  "faded",
281
314
  x,
282
- 2,
315
+ y,
283
316
  [{ offset: 0, color: FADED }],
284
317
  "",
285
318
  `not on ${lift.walks.length === 1 ? labelOf(lift.walks[0].name) : "these walks"}`,
@@ -287,24 +320,31 @@ function figureSvg(graph, layout, o = {}) {
287
320
  0.3
288
321
  )
289
322
  );
323
+ if (threadsPasses(lift.walks)) {
324
+ keys.push((x, y) => passesKeySvg(x, y, passesKey(lift.walks)));
325
+ }
290
326
  }
291
327
  if (rows) {
292
- const key = walkRowsKeyTree(
293
- walkRowsKey(rows, {
294
- ramp: rampInterval,
295
- genes: o.rowGenes?.size ? o.rowGeneGaps : void 0
296
- }),
297
- x,
298
- 2,
299
- "rows-key"
300
- );
301
- push({ width: key.width, markup: serializeEl(key.tree) });
328
+ const entries = walkRowsKey(rows, {
329
+ ramp: rampInterval,
330
+ genes: o.rowGenes?.size ? o.rowGeneGaps : void 0
331
+ });
332
+ entries.forEach((entry, i) => {
333
+ keys.push((x, y) => {
334
+ const key = walkRowsKeyTree([entry], x, y, `rows-key-${i}`);
335
+ return {
336
+ width: key.width - KEY_GAP_PX,
337
+ height: KEY_LINE_PX,
338
+ markup: serializeEl(key.tree)
339
+ };
340
+ });
341
+ });
302
342
  } else if (!lift && referenceRamp) {
303
- push(
304
- keySvg(
343
+ keys.push(
344
+ (x, y) => keySvg(
305
345
  "ramp",
306
346
  x,
307
- 2,
347
+ y,
308
348
  encodingStops({ field: "reference", scheme: "rainbow" }),
309
349
  referenceName ? `${referenceName} position` : "Reference position",
310
350
  "",
@@ -317,9 +357,11 @@ function figureSvg(graph, layout, o = {}) {
317
357
  );
318
358
  }
319
359
  if (pins.some((pin) => pin.exonsByNode.length > 0)) {
320
- push(exonKeySvg(x, 2));
360
+ keys.push((x, y) => exonKeySvg(x, y));
321
361
  }
322
- const header = parts.length > 0 ? FACET_TITLE_PX : 0;
362
+ const keyed = keyLines(keys, width);
363
+ parts.push(...keyed.markup);
364
+ const header = keys.length > 0 ? Math.max(FACET_TITLE_PX, keyed.height) : 0;
323
365
  const usable = width - 2 * FIT_PADDING;
324
366
  const drawn = pixelRows || !(bounds.w > 0) ? bounds.h : bounds.h * usable / bounds.w;
325
367
  const h = Math.max(
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  tubeSpan
3
- } from "./chunk-W5YRBEWQ.js";
3
+ } from "./chunk-XOIYBEU7.js";
4
4
 
5
5
  // src/tubeMap/genes.ts
6
6
  function tubeMapGenes(byRefName, genes) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  REFERENCE_RAMP_ALT_COLOR,
3
3
  hslToRgb
4
- } from "./chunk-VXKL2ZLR.js";
4
+ } from "./chunk-2H3ALI6L.js";
5
5
  import {
6
6
  packAbgr
7
7
  } from "./chunk-G2FD7S3C.js";
@@ -33,9 +33,12 @@ function resolveEncoding(layer, reference, picked, alone = true) {
33
33
  const field = isField(askedField) ? askedField : alone ? "progress" : "walk";
34
34
  const family = reference ? "grey" : FAMILIES[picked % FAMILIES.length];
35
35
  const scheme = isScheme(askedScheme) ? askedScheme === "rainbow" && field !== "reference" ? family : askedScheme : family;
36
- return { field, scheme };
36
+ const round = Math.floor(picked / FAMILIES.length) % SHADES.length;
37
+ return field === "walk" && scheme === family && round > 0 ? { field, scheme, shade: SHADES[round] } : alone || field === "walk" ? { field, scheme } : { field, scheme, darkest: TOGETHER_DARKEST };
37
38
  }
39
+ var TOGETHER_DARKEST = 0.55;
38
40
  var BASE_T = 0.5;
41
+ var SHADES = [BASE_T, 0.85, 0.2];
39
42
  var toLinear = (c) => c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
40
43
  var toGamma = (c) => c <= 31308e-7 ? c * 12.92 : 1.055 * c ** (1 / 2.4) - 0.055;
41
44
  function oklab(hex) {
@@ -72,7 +75,7 @@ function oklabEnds(scheme) {
72
75
  }
73
76
  return endsCache.get(scheme);
74
77
  }
75
- function schemeRgb(scheme, t) {
78
+ function schemeRgb(scheme, t, darkest = 0) {
76
79
  const x = Math.max(0, Math.min(1, t));
77
80
  const ends = oklabEnds(scheme);
78
81
  if (!ends) {
@@ -83,27 +86,35 @@ function schemeRgb(scheme, t) {
83
86
  ).map((c) => c * 255);
84
87
  }
85
88
  const [from, to] = ends;
86
- return oklabToRgb(from.map((v, i) => v + (to[i] - v) * x));
89
+ const light = from[0];
90
+ const dark = to[0];
91
+ const reach = dark < darkest && light > darkest ? (light - darkest) / (light - dark) : 1;
92
+ return oklabToRgb(from.map((v, i) => v + (to[i] - v) * x * reach));
87
93
  }
88
- function schemeCss(scheme, t) {
89
- const [r, g, b] = schemeRgb(scheme, t).map(Math.round);
94
+ function schemeCss(scheme, t, darkest) {
95
+ const [r, g, b] = schemeRgb(scheme, t, darkest).map(Math.round);
90
96
  return `rgb(${r}, ${g}, ${b})`;
91
97
  }
92
- function schemeColor(scheme, t) {
93
- const [r, g, b] = schemeRgb(scheme, t).map(Math.round);
98
+ function schemeColor(scheme, t, darkest) {
99
+ const [r, g, b] = schemeRgb(scheme, t, darkest).map(Math.round);
94
100
  return packAbgr(r, g, b, 255);
95
101
  }
96
- function encodedColor({ field, scheme }, t) {
97
- return field === "walk" ? schemeColor(scheme, BASE_T) : t === void 0 ? NO_VALUE_COLOR : schemeColor(scheme, t);
102
+ function encodedColor({ field, scheme, darkest, shade = BASE_T }, t) {
103
+ return field === "walk" ? schemeColor(scheme, shade) : t === void 0 ? NO_VALUE_COLOR : schemeColor(scheme, t, darkest);
98
104
  }
99
105
  var NO_VALUE_COLOR = REFERENCE_RAMP_ALT_COLOR;
100
- function encodingStops({ field, scheme }) {
106
+ function encodingStops({
107
+ field,
108
+ scheme,
109
+ darkest,
110
+ shade = BASE_T
111
+ }) {
101
112
  const stop = (offset, t) => ({
102
113
  offset,
103
- color: schemeCss(scheme, t),
104
- abgr: schemeColor(scheme, t)
114
+ color: schemeCss(scheme, t, darkest),
115
+ abgr: schemeColor(scheme, t, darkest)
105
116
  });
106
- return field === "walk" ? [stop(0, BASE_T)] : Array.from({ length: 7 }, (_, i) => stop(i / 6, i / 6));
117
+ return field === "walk" ? [stop(0, shade)] : Array.from({ length: 7 }, (_, i) => stop(i / 6, i / 6));
107
118
  }
108
119
  function encodingSwatchCss(encoding) {
109
120
  const stops = encodingStops(encoding);
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  EdgeSpatialIndex,
3
3
  SpatialIndex
4
- } from "./chunk-2US43KNG.js";
4
+ } from "./chunk-7PEYA3NA.js";
5
5
  import {
6
6
  weakMemo
7
7
  } from "./chunk-HMXCN6PG.js";
@@ -9,7 +9,7 @@ import {
9
9
  pathRibbonOffsets,
10
10
  translateCurves,
11
11
  yToXOf
12
- } from "./chunk-VACK24HF.js";
12
+ } from "./chunk-735MPLUL.js";
13
13
 
14
14
  // src/util/hitDetection.ts
15
15
  function distanceToSegment(px, py, x1, y1, x2, y2) {
@@ -2,7 +2,7 @@ import {
2
2
  LIFT_BACKDROP_CSS,
3
3
  computeColorSchemeRange,
4
4
  getNodeColor
5
- } from "./chunk-VXKL2ZLR.js";
5
+ } from "./chunk-2H3ALI6L.js";
6
6
  import {
7
7
  abgrToCssRgba
8
8
  } from "./chunk-G2FD7S3C.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-FX4RDMDN.js";
4
4
  import {
5
5
  formatBp
6
- } from "./chunk-N73RA4DR.js";
6
+ } from "./chunk-6CXLLJ2C.js";
7
7
 
8
8
  // src/bubbles/classifyBubble.ts
9
9
  var REPEAT_GROWTH = 10;
@@ -4,27 +4,27 @@ import {
4
4
  import {
5
5
  facetLifts,
6
6
  walkLift
7
- } from "./chunk-Z4HXW6ZH.js";
7
+ } from "./chunk-YF6T33PU.js";
8
8
  import {
9
9
  buildGeometry,
10
10
  computeReferenceRamp
11
- } from "./chunk-VXKL2ZLR.js";
11
+ } from "./chunk-2H3ALI6L.js";
12
12
  import {
13
13
  walkKey
14
- } from "./chunk-SG7VQB4F.js";
14
+ } from "./chunk-SDDMV2MM.js";
15
15
  import {
16
16
  walkRowsExtent
17
- } from "./chunk-SENPGW4O.js";
17
+ } from "./chunk-VCUOYVLC.js";
18
18
  import {
19
19
  pathLegend,
20
20
  walkLabelsOf
21
- } from "./chunk-GD6RUZU5.js";
21
+ } from "./chunk-JKIAHYAW.js";
22
22
  import {
23
23
  FIGURE_DEFAULTS
24
- } from "./chunk-4SN7R4UF.js";
24
+ } from "./chunk-6MD4VS2F.js";
25
25
  import {
26
26
  drawingBounds
27
- } from "./chunk-XKPXOIWD.js";
27
+ } from "./chunk-S3ICPPXC.js";
28
28
  import {
29
29
  referenceLabel
30
30
  } from "./chunk-5ORP7EFJ.js";
@@ -34,7 +34,7 @@ import {
34
34
  import {
35
35
  deletionDrawing,
36
36
  deletionEdges
37
- } from "./chunk-P276TWPM.js";
37
+ } from "./chunk-3CXZUC2Y.js";
38
38
  import {
39
39
  facetCells,
40
40
  facetSettingOf
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ownStrand
3
- } from "./chunk-VACK24HF.js";
3
+ } from "./chunk-735MPLUL.js";
4
4
  import {
5
5
  groupBy
6
6
  } from "./chunk-BSOZW3FC.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-OPPVSPEF.js";
4
4
  import {
5
5
  orientToReference
6
- } from "./chunk-ZZZ6NVLW.js";
6
+ } from "./chunk-22ZMVREZ.js";
7
7
  import {
8
8
  seededNodes
9
9
  } from "./chunk-CKUVEHSS.js";
@@ -27,7 +27,7 @@ import {
27
27
  import {
28
28
  mergeRuns,
29
29
  splitRuns
30
- } from "./chunk-2VMKQKVO.js";
30
+ } from "./chunk-YIWN32ZX.js";
31
31
  import {
32
32
  spreadFor
33
33
  } from "./chunk-HKYXWZQS.js";
@@ -39,7 +39,7 @@ import {
39
39
  import {
40
40
  deletionDrawing,
41
41
  deletionEdges
42
- } from "./chunk-P276TWPM.js";
42
+ } from "./chunk-3CXZUC2Y.js";
43
43
  import {
44
44
  anchorGraph
45
45
  } from "./chunk-3YBP46PB.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  engineKey,
3
3
  forceLayout
4
- } from "./chunk-XKPXOIWD.js";
4
+ } from "./chunk-S3ICPPXC.js";
5
5
 
6
6
  // src/layout/forceCache.ts
7
7
  var DEFAULT_SIZE = 4;
@@ -6,10 +6,10 @@ import {
6
6
  } from "./chunk-MYDHU2UV.js";
7
7
  import {
8
8
  readColor
9
- } from "./chunk-SDI6BVG7.js";
9
+ } from "./chunk-J4PDHWP2.js";
10
10
  import {
11
11
  referenceWalkName
12
- } from "./chunk-G7SG4XMK.js";
12
+ } from "./chunk-LODKC7PJ.js";
13
13
  import {
14
14
  pathOrigin
15
15
  } from "./chunk-3YBP46PB.js";
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  formatBp,
7
7
  groupDigits
8
- } from "./chunk-N73RA4DR.js";
8
+ } from "./chunk-6CXLLJ2C.js";
9
9
 
10
10
  // src/walkKey.ts
11
11
  function rangeText(contig, start, end) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  coversGraph
3
- } from "./chunk-BLDUBB7X.js";
3
+ } from "./chunk-4YPCUVMC.js";
4
4
  import {
5
5
  bubblesFromGraph,
6
6
  derivedBubble,
@@ -10,13 +10,13 @@ import {
10
10
  } from "./chunk-RFG42VIO.js";
11
11
  import {
12
12
  bubbleSegmentIds
13
- } from "./chunk-AWJJSA7D.js";
13
+ } from "./chunk-OIOAK7BS.js";
14
14
  import {
15
15
  bubbleSubgraph
16
16
  } from "./chunk-MHZTTLBU.js";
17
17
  import {
18
18
  strandSides
19
- } from "./chunk-VACK24HF.js";
19
+ } from "./chunk-735MPLUL.js";
20
20
  import {
21
21
  pushTo
22
22
  } from "./chunk-BSOZW3FC.js";