@jbrowse/bandage-core 11.7.0 → 11.7.1

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 (75) hide show
  1. package/dist/bubbles/bubbleHalos.js +5 -4
  2. package/dist/bubbles/classifyBubble.js +4 -3
  3. package/dist/bubbles/superbubbles.js +6 -5
  4. package/dist/chunks/{chunk-BW2NMXRV.js → chunk-3UGWYQNY.js} +1 -1
  5. package/dist/chunks/{chunk-YEYQFNFQ.js → chunk-3WSA4NNP.js} +1 -1
  6. package/dist/chunks/{chunk-SNF2MIEF.js → chunk-3Y2EFDID.js} +1 -1
  7. package/dist/chunks/{chunk-DV5B5UU7.js → chunk-5NZRT7GL.js} +5 -1
  8. package/dist/chunks/{chunk-A7Q7RTWX.js → chunk-6XDTAKO7.js} +1 -1
  9. package/dist/chunks/{chunk-DUREQSOJ.js → chunk-APLWFV4I.js} +2 -2
  10. package/dist/chunks/{chunk-KA4F3N55.js → chunk-ATDVS2CW.js} +2 -2
  11. package/dist/chunks/{chunk-65YCFVS4.js → chunk-CWCVQJYY.js} +1 -1
  12. package/dist/chunks/{chunk-WWIUC4N4.js → chunk-EZGNBDHD.js} +7 -7
  13. package/dist/chunks/{chunk-HELOUO6K.js → chunk-F7O56DVR.js} +1 -1
  14. package/dist/chunks/{chunk-5ZQKQ24Z.js → chunk-FBPAX5K6.js} +1 -1
  15. package/dist/chunks/{chunk-T3H5ELLA.js → chunk-FU57ZNRQ.js} +1 -1
  16. package/dist/chunks/{chunk-YER6TUXV.js → chunk-HTF32WSW.js} +1 -1
  17. package/dist/chunks/{chunk-2XEAITWM.js → chunk-I5SGYTRM.js} +1 -1
  18. package/dist/chunks/{chunk-6YRSOL4K.js → chunk-IN4IYSA2.js} +1 -1
  19. package/dist/chunks/{chunk-C6E6HXP5.js → chunk-J6XHW4KI.js} +2 -2
  20. package/dist/chunks/{chunk-KZMSSPS6.js → chunk-JGH2V54E.js} +1 -1
  21. package/dist/chunks/{chunk-IJCSW6MV.js → chunk-JLIVX2SF.js} +1 -1
  22. package/dist/chunks/{chunk-EH5JZETS.js → chunk-LKQOIPGE.js} +7 -7
  23. package/dist/chunks/{chunk-DTEXQ65J.js → chunk-OXW5OHYQ.js} +1 -1
  24. package/dist/chunks/{chunk-GZ36HNPJ.js → chunk-PCHEUVHB.js} +1 -1
  25. package/dist/chunks/{chunk-VO6FKNZE.js → chunk-PJWLYGRL.js} +1 -1
  26. package/dist/chunks/{chunk-56L6R6D2.js → chunk-Q7I563MH.js} +1 -1
  27. package/dist/chunks/{chunk-SIA75TEG.js → chunk-RB2MDFQU.js} +1 -1
  28. package/dist/chunks/{chunk-HERVZPWA.js → chunk-RK7ZOFPR.js} +11 -11
  29. package/dist/chunks/{chunk-QCOVHLJO.js → chunk-RT4K2JMZ.js} +1 -1
  30. package/dist/chunks/{chunk-NTKWT6XL.js → chunk-SACSQ45G.js} +1 -1
  31. package/dist/chunks/{chunk-ZHZRAYEM.js → chunk-TCSV3II7.js} +1 -1
  32. package/dist/chunks/chunk-TLWXLNLY.js +124 -0
  33. package/dist/chunks/{chunk-SVPR7IZO.js → chunk-UV2IJMIG.js} +1 -1
  34. package/dist/chunks/{chunk-JGHZ3N34.js → chunk-VB4IXIPM.js} +2 -2
  35. package/dist/chunks/{chunk-DD5EZG3T.js → chunk-WUZH2OJ6.js} +1 -1
  36. package/dist/chunks/{chunk-OYCQVJYY.js → chunk-XTF2VWJN.js} +1 -1
  37. package/dist/cli/figure.js +23 -22
  38. package/dist/cli/fold.js +3 -2
  39. package/dist/deletionEdges.js +2 -1
  40. package/dist/figure.js +20 -19
  41. package/dist/figureData.js +17 -16
  42. package/dist/figureScene.js +12 -11
  43. package/dist/figureSettings.js +4 -3
  44. package/dist/graphLabels.js +3 -2
  45. package/dist/index.js +32 -31
  46. package/dist/labelLayout.js +7 -6
  47. package/dist/layout/forceCache.js +4 -3
  48. package/dist/layout/trimToWindow.js +9 -101
  49. package/dist/layout/tubeMapLayout.js +5 -4
  50. package/dist/layout/walkRowDraw.js +7 -6
  51. package/dist/layout/walkStrip.js +8 -7
  52. package/dist/layoutModes.js +6 -5
  53. package/dist/pathColors.js +4 -3
  54. package/dist/pipeline.js +3 -2
  55. package/dist/referenceStrip.js +7 -6
  56. package/dist/renderer/GeometryBuilder.js +6 -5
  57. package/dist/tubeMap/axis.js +4 -3
  58. package/dist/tubeMap/bundle.js +6 -5
  59. package/dist/tubeMap/coarsen.js +6 -5
  60. package/dist/tubeMap/deviations.js +7 -6
  61. package/dist/tubeMap/genes.js +5 -4
  62. package/dist/tubeMap/nodeColors.js +7 -6
  63. package/dist/types/deletionEdges.d.ts +1 -1
  64. package/dist/types/layout/trimToWindow.d.ts +1 -0
  65. package/dist/types/types.d.ts +4 -0
  66. package/dist/types/version.d.ts +1 -1
  67. package/dist/util/SpatialIndex.js +4 -3
  68. package/dist/util/edgeCurves.js +3 -2
  69. package/dist/util/hitDetection.js +5 -4
  70. package/dist/version.js +1 -1
  71. package/dist/viewport.js +4 -3
  72. package/dist/walkEncoding.js +7 -6
  73. package/dist/walkHighlight.js +8 -7
  74. package/dist/walkKey.js +4 -3
  75. package/package.json +1 -1
@@ -1,14 +1,15 @@
1
1
  import {
2
2
  bubbleHalos,
3
3
  coversGraph
4
- } from "../chunks/chunk-KZMSSPS6.js";
5
- import "../chunks/chunk-SNF2MIEF.js";
4
+ } from "../chunks/chunk-JGH2V54E.js";
5
+ import "../chunks/chunk-3Y2EFDID.js";
6
6
  import "../chunks/chunk-FX4RDMDN.js";
7
- import "../chunks/chunk-T3H5ELLA.js";
7
+ import "../chunks/chunk-FU57ZNRQ.js";
8
8
  import "../chunks/chunk-HMXCN6PG.js";
9
9
  import "../chunks/chunk-AB35TJST.js";
10
10
  import "../chunks/chunk-2VMKQKVO.js";
11
- import "../chunks/chunk-DV5B5UU7.js";
11
+ import "../chunks/chunk-5NZRT7GL.js";
12
+ import "../chunks/chunk-TLWXLNLY.js";
12
13
  import "../chunks/chunk-3YBP46PB.js";
13
14
  import "../chunks/chunk-VACK24HF.js";
14
15
  import "../chunks/chunk-CPMHA4W5.js";
@@ -3,13 +3,14 @@ import {
3
3
  BUBBLE_KIND_NAMES,
4
4
  bubbleSegmentIds,
5
5
  classifyBubble
6
- } from "../chunks/chunk-SNF2MIEF.js";
6
+ } from "../chunks/chunk-3Y2EFDID.js";
7
7
  import "../chunks/chunk-FX4RDMDN.js";
8
- import "../chunks/chunk-T3H5ELLA.js";
8
+ import "../chunks/chunk-FU57ZNRQ.js";
9
9
  import "../chunks/chunk-HMXCN6PG.js";
10
10
  import "../chunks/chunk-AB35TJST.js";
11
11
  import "../chunks/chunk-2VMKQKVO.js";
12
- import "../chunks/chunk-DV5B5UU7.js";
12
+ import "../chunks/chunk-5NZRT7GL.js";
13
+ import "../chunks/chunk-TLWXLNLY.js";
13
14
  import "../chunks/chunk-3YBP46PB.js";
14
15
  import "../chunks/chunk-VACK24HF.js";
15
16
  import "../chunks/chunk-CPMHA4W5.js";
@@ -1,19 +1,20 @@
1
1
  import {
2
2
  graphBubbles,
3
3
  superbubblesFromGraph
4
- } from "../chunks/chunk-C6E6HXP5.js";
5
- import "../chunks/chunk-KZMSSPS6.js";
4
+ } from "../chunks/chunk-J6XHW4KI.js";
5
+ import "../chunks/chunk-JGH2V54E.js";
6
6
  import "../chunks/chunk-RFG42VIO.js";
7
- import "../chunks/chunk-SNF2MIEF.js";
7
+ import "../chunks/chunk-3Y2EFDID.js";
8
8
  import "../chunks/chunk-FX4RDMDN.js";
9
9
  import "../chunks/chunk-MHZTTLBU.js";
10
10
  import "../chunks/chunk-UAFATXYA.js";
11
11
  import "../chunks/chunk-VX656OAZ.js";
12
- import "../chunks/chunk-T3H5ELLA.js";
12
+ import "../chunks/chunk-FU57ZNRQ.js";
13
13
  import "../chunks/chunk-HMXCN6PG.js";
14
14
  import "../chunks/chunk-AB35TJST.js";
15
15
  import "../chunks/chunk-2VMKQKVO.js";
16
- import "../chunks/chunk-DV5B5UU7.js";
16
+ import "../chunks/chunk-5NZRT7GL.js";
17
+ import "../chunks/chunk-TLWXLNLY.js";
17
18
  import "../chunks/chunk-3YBP46PB.js";
18
19
  import "../chunks/chunk-VACK24HF.js";
19
20
  import "../chunks/chunk-CPMHA4W5.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  groupDigits
3
- } from "./chunk-T3H5ELLA.js";
3
+ } from "./chunk-FU57ZNRQ.js";
4
4
  import {
5
5
  pathOrigin
6
6
  } from "./chunk-3YBP46PB.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  computeColorSchemeRange,
3
3
  getNodeColor
4
- } from "./chunk-JGHZ3N34.js";
4
+ } from "./chunk-VB4IXIPM.js";
5
5
  import {
6
6
  abgrToCssRgba
7
7
  } from "./chunk-G2FD7S3C.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-FX4RDMDN.js";
4
4
  import {
5
5
  formatBp
6
- } from "./chunk-T3H5ELLA.js";
6
+ } from "./chunk-FU57ZNRQ.js";
7
7
 
8
8
  // src/bubbles/classifyBubble.ts
9
9
  var REPEAT_GROWTH = 10;
@@ -1,3 +1,6 @@
1
+ import {
2
+ unclipped
3
+ } from "./chunk-TLWXLNLY.js";
1
4
  import {
2
5
  referenceVisitStarts
3
6
  } from "./chunk-3YBP46PB.js";
@@ -117,7 +120,8 @@ function switchesCopy(copies, start, bp) {
117
120
  const near = [copies[i - 1], copies[i]].filter((c) => c !== void 0).sort((a, b) => Math.abs(a.at - start) - Math.abs(b.at - start))[0];
118
121
  return near !== void 0 && Math.abs(near.at - start) <= near.copy && Math.abs(bp - near.copy) <= near.copy * COPY_SWITCH_SHARE;
119
122
  }
120
- function deletionEdges(graph) {
123
+ function deletionEdges(cut) {
124
+ const graph = unclipped(cut);
121
125
  const byId = new Map(graph.nodes.map((n) => [n.id, n]));
122
126
  const backbone = backboneBySequence(graph);
123
127
  const startsOf = referenceVisitStarts(graph);
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-H2H4Y3TV.js";
4
4
  import {
5
5
  REFERENCE_RAMP_ALT_CSS
6
- } from "./chunk-JGHZ3N34.js";
6
+ } from "./chunk-VB4IXIPM.js";
7
7
  import {
8
8
  RAMP_GRADIENT_CSS,
9
9
  RAMP_GRADIENT_STOPS,
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  encodedColor,
3
3
  resolveEncoding
4
- } from "./chunk-2XEAITWM.js";
4
+ } from "./chunk-I5SGYTRM.js";
5
5
  import {
6
6
  rampFraction
7
- } from "./chunk-JGHZ3N34.js";
7
+ } from "./chunk-VB4IXIPM.js";
8
8
  import {
9
9
  gapParts
10
10
  } from "./chunk-LG2UK4MB.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  nodesUnderBox
3
- } from "./chunk-56L6R6D2.js";
3
+ } from "./chunk-Q7I563MH.js";
4
4
  import {
5
5
  graphLabels,
6
6
  rowLabelBox
7
- } from "./chunk-T3H5ELLA.js";
7
+ } from "./chunk-FU57ZNRQ.js";
8
8
  import {
9
9
  LABEL_CHAR_PX,
10
10
  LABEL_PAD,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pathSteps
3
- } from "./chunk-SIA75TEG.js";
3
+ } from "./chunk-RB2MDFQU.js";
4
4
  import {
5
5
  pathOrigin
6
6
  } from "./chunk-3YBP46PB.js";
@@ -4,27 +4,27 @@ import {
4
4
  import {
5
5
  facetLifts,
6
6
  walkLift
7
- } from "./chunk-DUREQSOJ.js";
7
+ } from "./chunk-APLWFV4I.js";
8
8
  import {
9
9
  buildGeometry,
10
10
  computeReferenceRamp
11
- } from "./chunk-JGHZ3N34.js";
11
+ } from "./chunk-VB4IXIPM.js";
12
12
  import {
13
13
  walkKey
14
- } from "./chunk-SVPR7IZO.js";
14
+ } from "./chunk-UV2IJMIG.js";
15
15
  import {
16
16
  walkRowsExtent
17
17
  } from "./chunk-SENPGW4O.js";
18
18
  import {
19
19
  pathLegend,
20
20
  walkLabelsOf
21
- } from "./chunk-BW2NMXRV.js";
21
+ } from "./chunk-3UGWYQNY.js";
22
22
  import {
23
23
  FIGURE_DEFAULTS
24
- } from "./chunk-NTKWT6XL.js";
24
+ } from "./chunk-SACSQ45G.js";
25
25
  import {
26
26
  drawingBounds
27
- } from "./chunk-YER6TUXV.js";
27
+ } from "./chunk-HTF32WSW.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-DV5B5UU7.js";
37
+ } from "./chunk-5NZRT7GL.js";
38
38
  import {
39
39
  facetCells,
40
40
  facetSettingOf
@@ -3,7 +3,7 @@ import {
3
3
  boxesGenes,
4
4
  rowPitch,
5
5
  rowSpan
6
- } from "./chunk-A7Q7RTWX.js";
6
+ } from "./chunk-6XDTAKO7.js";
7
7
  import {
8
8
  el
9
9
  } from "./chunk-H2H4Y3TV.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  clampZoom
3
- } from "./chunk-YER6TUXV.js";
3
+ } from "./chunk-HTF32WSW.js";
4
4
 
5
5
  // src/viewport.ts
6
6
  function axisScaleOf(scale, pixelRows) {
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-2VMKQKVO.js";
11
11
  import {
12
12
  edgeCurvesOf
13
- } from "./chunk-DV5B5UU7.js";
13
+ } from "./chunk-5NZRT7GL.js";
14
14
  import {
15
15
  curveBounds,
16
16
  curveMidpoint,
@@ -39,7 +39,7 @@ import {
39
39
  import {
40
40
  deletionDrawing,
41
41
  deletionEdges
42
- } from "./chunk-DV5B5UU7.js";
42
+ } from "./chunk-5NZRT7GL.js";
43
43
  import {
44
44
  anchorGraph
45
45
  } from "./chunk-3YBP46PB.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  REFERENCE_RAMP_ALT_COLOR,
3
3
  hslToRgb
4
- } from "./chunk-JGHZ3N34.js";
4
+ } from "./chunk-VB4IXIPM.js";
5
5
  import {
6
6
  packAbgr
7
7
  } from "./chunk-G2FD7S3C.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  baseEdgeCurves
3
- } from "./chunk-OYCQVJYY.js";
3
+ } from "./chunk-XTF2VWJN.js";
4
4
  import {
5
5
  curveBounds,
6
6
  pathRibbonOffsets
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  coversGraph
3
- } from "./chunk-KZMSSPS6.js";
3
+ } from "./chunk-JGH2V54E.js";
4
4
  import {
5
5
  bubblesFromGraph,
6
6
  derivedBubble,
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-RFG42VIO.js";
11
11
  import {
12
12
  bubbleSegmentIds
13
- } from "./chunk-SNF2MIEF.js";
13
+ } from "./chunk-3Y2EFDID.js";
14
14
  import {
15
15
  bubbleSubgraph
16
16
  } from "./chunk-MHZTTLBU.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  bubbleSegmentIds,
3
3
  classifyBubble
4
- } from "./chunk-SNF2MIEF.js";
4
+ } from "./chunk-3Y2EFDID.js";
5
5
  import {
6
6
  svgPath
7
7
  } from "./chunk-VACK24HF.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pathSteps
3
- } from "./chunk-SIA75TEG.js";
3
+ } from "./chunk-RB2MDFQU.js";
4
4
  import {
5
5
  pathOrigin
6
6
  } from "./chunk-3YBP46PB.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-CO6RGQAD.js";
4
4
  import {
5
5
  layoutModeByValue
6
- } from "./chunk-DD5EZG3T.js";
6
+ } from "./chunk-WUZH2OJ6.js";
7
7
  import {
8
8
  parseRegion
9
9
  } from "./chunk-FNDNSDKW.js";
@@ -12,16 +12,16 @@ import {
12
12
  } from "./chunk-BFUS3ENH.js";
13
13
  import {
14
14
  version
15
- } from "./chunk-ZHZRAYEM.js";
15
+ } from "./chunk-TCSV3II7.js";
16
16
  import {
17
17
  axisScaleOf
18
- } from "./chunk-5ZQKQ24Z.js";
18
+ } from "./chunk-FBPAX5K6.js";
19
19
  import {
20
20
  figureScene
21
- } from "./chunk-WWIUC4N4.js";
21
+ } from "./chunk-EZGNBDHD.js";
22
22
  import {
23
23
  encodingStops
24
- } from "./chunk-2XEAITWM.js";
24
+ } from "./chunk-I5SGYTRM.js";
25
25
  import {
26
26
  abgrAlpha,
27
27
  abgrBlue,
@@ -30,13 +30,13 @@ import {
30
30
  } from "./chunk-G2FD7S3C.js";
31
31
  import {
32
32
  FIGURE_DEFAULTS
33
- } from "./chunk-NTKWT6XL.js";
33
+ } from "./chunk-SACSQ45G.js";
34
34
  import {
35
35
  engineSettingsOf,
36
36
  fitTransform,
37
37
  forceLayout,
38
38
  loadGraph
39
- } from "./chunk-YER6TUXV.js";
39
+ } from "./chunk-HTF32WSW.js";
40
40
  import {
41
41
  referenceVisitStarts
42
42
  } from "./chunk-3YBP46PB.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  engineKey,
3
3
  forceLayout
4
- } from "./chunk-YER6TUXV.js";
4
+ } from "./chunk-HTF32WSW.js";
5
5
 
6
6
  // src/layout/forceCache.ts
7
7
  var DEFAULT_SIZE = 4;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  tubeSpan
3
- } from "./chunk-VO6FKNZE.js";
3
+ } from "./chunk-PJWLYGRL.js";
4
4
 
5
5
  // src/tubeMap/genes.ts
6
6
  function tubeMapGenes(byRefName, genes) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  formatBp
3
- } from "./chunk-T3H5ELLA.js";
3
+ } from "./chunk-FU57ZNRQ.js";
4
4
  import {
5
5
  pushTo
6
6
  } from "./chunk-BSOZW3FC.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  EdgeSpatialIndex,
3
3
  SpatialIndex
4
- } from "./chunk-6YRSOL4K.js";
4
+ } from "./chunk-IN4IYSA2.js";
5
5
  import {
6
6
  weakMemo
7
7
  } from "./chunk-HMXCN6PG.js";
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  pathCssColor,
10
10
  pathGreyCssColor
11
- } from "./chunk-BW2NMXRV.js";
11
+ } from "./chunk-3UGWYQNY.js";
12
12
  import {
13
13
  pathOrigin
14
14
  } from "./chunk-3YBP46PB.js";
@@ -2,7 +2,7 @@ import {
2
2
  stripGeneGaps,
3
3
  walkStripFrame,
4
4
  walkStripLabelsTree
5
- } from "./chunk-HELOUO6K.js";
5
+ } from "./chunk-F7O56DVR.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-A7Q7RTWX.js";
16
+ } from "./chunk-6XDTAKO7.js";
17
17
  import {
18
18
  EXON_COLOR,
19
19
  exonOutlineTree,
@@ -21,10 +21,10 @@ import {
21
21
  } from "./chunk-JSUCGZ6K.js";
22
22
  import {
23
23
  geneLabelCandidates
24
- } from "./chunk-KA4F3N55.js";
24
+ } from "./chunk-ATDVS2CW.js";
25
25
  import {
26
26
  nodesUnderBox
27
- } from "./chunk-56L6R6D2.js";
27
+ } from "./chunk-Q7I563MH.js";
28
28
  import {
29
29
  escapeAttr,
30
30
  serializeEl
@@ -34,19 +34,19 @@ import {
34
34
  } from "./chunk-BFUS3ENH.js";
35
35
  import {
36
36
  version
37
- } from "./chunk-ZHZRAYEM.js";
37
+ } from "./chunk-TCSV3II7.js";
38
38
  import {
39
39
  axisScaleOf
40
- } from "./chunk-5ZQKQ24Z.js";
40
+ } from "./chunk-FBPAX5K6.js";
41
41
  import {
42
42
  figureScene
43
- } from "./chunk-WWIUC4N4.js";
43
+ } from "./chunk-EZGNBDHD.js";
44
44
  import {
45
45
  encodingStops
46
- } from "./chunk-2XEAITWM.js";
46
+ } from "./chunk-I5SGYTRM.js";
47
47
  import {
48
48
  rangeText
49
- } from "./chunk-SVPR7IZO.js";
49
+ } from "./chunk-UV2IJMIG.js";
50
50
  import {
51
51
  walkRowLabels
52
52
  } from "./chunk-SENPGW4O.js";
@@ -55,11 +55,11 @@ import {
55
55
  } from "./chunk-ZANALBSX.js";
56
56
  import {
57
57
  FIGURE_DEFAULTS
58
- } from "./chunk-NTKWT6XL.js";
58
+ } from "./chunk-SACSQ45G.js";
59
59
  import {
60
60
  FIT_PADDING,
61
61
  fitTransform
62
- } from "./chunk-YER6TUXV.js";
62
+ } from "./chunk-HTF32WSW.js";
63
63
  import {
64
64
  LABEL_CHAR_PX,
65
65
  LABEL_PAD,
@@ -2,7 +2,7 @@ import {
2
2
  LIFT_BACKDROP_CSS,
3
3
  computeColorSchemeRange,
4
4
  getNodeColor
5
- } from "./chunk-JGHZ3N34.js";
5
+ } from "./chunk-VB4IXIPM.js";
6
6
  import {
7
7
  abgrToCssRgba
8
8
  } from "./chunk-G2FD7S3C.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ENGINE_DEFAULTS
3
- } from "./chunk-YER6TUXV.js";
3
+ } from "./chunk-HTF32WSW.js";
4
4
 
5
5
  // src/figureSettings.ts
6
6
  var FIGURE_DEFAULTS = {
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var version = "11.7.0";
2
+ var version = "11.7.1";
3
3
 
4
4
  export {
5
5
  version
@@ -0,0 +1,124 @@
1
+ import {
2
+ pathOrigin,
3
+ trimOrigins
4
+ } from "./chunk-3YBP46PB.js";
5
+ import {
6
+ PathVisitsBuilder
7
+ } from "./chunk-ZPZ7GNBT.js";
8
+ import {
9
+ isBackbone,
10
+ overlapsWindow
11
+ } from "./chunk-RJWPJCIB.js";
12
+
13
+ // src/layout/trimToWindow.ts
14
+ function trimToWindow(graph, window) {
15
+ const inWindow = new Set(
16
+ graph.nodes.filter((n) => isBackbone(n) && overlapsWindow(n, window)).map((n) => n.id)
17
+ );
18
+ const paths = graph.paths ?? [];
19
+ if (inWindow.size === 0 || paths.length === 0) {
20
+ return graph;
21
+ }
22
+ const spans = paths.map((path) => {
23
+ let first = -1;
24
+ let last = -1;
25
+ path.nodeIds.forEach((id, i) => {
26
+ if (inWindow.has(id)) {
27
+ if (first < 0) {
28
+ first = i;
29
+ }
30
+ last = i;
31
+ }
32
+ });
33
+ return first < 0 ? void 0 : { first, last };
34
+ });
35
+ if (spans.every(
36
+ (span, i) => span?.first === 0 && span.last === paths[i].nodeIds.length - 1
37
+ )) {
38
+ return graph;
39
+ }
40
+ const kept = /* @__PURE__ */ new Set();
41
+ const trimmed = [];
42
+ const stretches = /* @__PURE__ */ new Map();
43
+ paths.forEach((path, i) => {
44
+ const span = spans[i];
45
+ if (span) {
46
+ const nodeIds = path.nodeIds.slice(span.first, span.last + 1);
47
+ for (const id of nodeIds) {
48
+ kept.add(id);
49
+ }
50
+ trimmed.push({ ...path, nodeIds });
51
+ stretches.set(path.name, { first: span.first, nodeIds });
52
+ }
53
+ });
54
+ return {
55
+ ...graph,
56
+ nodes: graph.nodes.filter((n) => kept.has(n.id)),
57
+ edges: graph.edges.filter((e) => kept.has(e.from) && kept.has(e.to)),
58
+ paths: trimmed,
59
+ pathVisits: graph.pathVisits && trimVisits(
60
+ graph.pathVisits,
61
+ paths,
62
+ spans,
63
+ new Map(graph.nodes.map((n) => [n.id, n.name]))
64
+ ),
65
+ anchorPaths: trimOrigins(graph, stretches)
66
+ };
67
+ }
68
+ function trimVisits(visits, paths, spans, nameOf) {
69
+ const next = visits.replay();
70
+ const out = new PathVisitsBuilder();
71
+ paths.forEach((path, p) => {
72
+ const origin = visits.pathIndex(pathOrigin(path.name).name);
73
+ const span = spans[p];
74
+ path.nodeIds.forEach((id, i) => {
75
+ const segment = nameOf.get(id) ?? id;
76
+ const at = next(visits.slot(segment), origin);
77
+ if (at >= 0 && span && i >= span.first && i <= span.last) {
78
+ out.add(
79
+ segment,
80
+ visits.paths[origin],
81
+ visits.samples[origin],
82
+ visits.start[at],
83
+ visits.reversed[at] === 1
84
+ );
85
+ }
86
+ });
87
+ });
88
+ return out.build();
89
+ }
90
+ function clipToWindow(graph, window, reachBp) {
91
+ const nodes = graph.nodes.map((node) => {
92
+ if (!isBackbone(node)) {
93
+ return node;
94
+ }
95
+ const from = node.stable.start;
96
+ const to = from + node.length;
97
+ const [start, end] = overlapsWindow(node, window) ? [Math.max(from, window.start), Math.min(to, window.end)] : to <= window.start ? [Math.max(from, to - reachBp), to] : [from, Math.min(to, from + reachBp)];
98
+ return start === from && end === to ? node : {
99
+ ...node,
100
+ length: end - start,
101
+ stable: { ...node.stable, start },
102
+ unclipped: { start: from, length: node.length }
103
+ };
104
+ });
105
+ return nodes.some((node, i) => node !== graph.nodes[i]) ? { ...graph, nodes } : graph;
106
+ }
107
+ function unclipped(graph) {
108
+ return graph.nodes.some((n) => n.unclipped) ? {
109
+ ...graph,
110
+ nodes: graph.nodes.map(
111
+ ({ unclipped: full, ...node }) => full && node.stable ? {
112
+ ...node,
113
+ length: full.length,
114
+ stable: { ...node.stable, start: full.start }
115
+ } : node
116
+ )
117
+ } : graph;
118
+ }
119
+
120
+ export {
121
+ trimToWindow,
122
+ clipToWindow,
123
+ unclipped
124
+ };
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  formatBp,
7
7
  groupDigits
8
- } from "./chunk-T3H5ELLA.js";
8
+ } from "./chunk-FU57ZNRQ.js";
9
9
 
10
10
  // src/walkKey.ts
11
11
  function rangeText(contig, start, end) {
@@ -10,13 +10,13 @@ import {
10
10
  } from "./chunk-GQZVR5DW.js";
11
11
  import {
12
12
  baseEdgeCurves
13
- } from "./chunk-OYCQVJYY.js";
13
+ } from "./chunk-XTF2VWJN.js";
14
14
  import {
15
15
  PATH_LIGHTNESS,
16
16
  PATH_SATURATION,
17
17
  nameHue,
18
18
  pathHueAt
19
- } from "./chunk-BW2NMXRV.js";
19
+ } from "./chunk-3UGWYQNY.js";
20
20
  import {
21
21
  meanDepth,
22
22
  nodeWidthPx,
@@ -3,7 +3,7 @@ import {
3
3
  hasTubeMapPaths,
4
4
  tubeMapLayout,
5
5
  tubeMapReferenceLayout
6
- } from "./chunk-SIA75TEG.js";
6
+ } from "./chunk-RB2MDFQU.js";
7
7
  import {
8
8
  sampleRowLayout
9
9
  } from "./chunk-XR2HMGAS.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-HMXCN6PG.js";
4
4
  import {
5
5
  edgeCurvesOf
6
- } from "./chunk-DV5B5UU7.js";
6
+ } from "./chunk-5NZRT7GL.js";
7
7
 
8
8
  // src/util/edgeCurves.ts
9
9
  var cache = weakMemo();