@jbrowse/bandage-core 11.7.3 → 11.9.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-K4KVAMEF.js → chunk-2A6Z2DHF.js} +1 -1
  6. package/dist/chunks/{chunk-4SN7R4UF.js → chunk-2MXFG3W7.js} +1 -1
  7. package/dist/chunks/chunk-3BDQQTXY.js +568 -0
  8. package/dist/chunks/{chunk-QXBQDHKL.js → chunk-3BOREHCJ.js} +80 -38
  9. package/dist/chunks/{chunk-F4CDC72I.js → chunk-3DHGSHC3.js} +1 -1
  10. package/dist/chunks/{chunk-P276TWPM.js → chunk-3GORESBG.js} +1 -1
  11. package/dist/chunks/{chunk-4KOYS5WR.js → chunk-4BYGFDQB.js} +1 -1
  12. package/dist/chunks/{chunk-LH436HS2.js → chunk-4JDO7ZLN.js} +2 -2
  13. package/dist/chunks/{chunk-2US43KNG.js → chunk-7YSIP3O2.js} +2 -2
  14. package/dist/chunks/{chunk-VNF236GG.js → chunk-ARXDNQLF.js} +2 -2
  15. package/dist/chunks/{chunk-N73RA4DR.js → chunk-AURNOR27.js} +3 -3
  16. package/dist/chunks/{chunk-63XWYNID.js → chunk-BDS5VZYZ.js} +4 -4
  17. package/dist/chunks/{chunk-BXE3SBBN.js → chunk-C3KAPREU.js} +1 -1
  18. package/dist/chunks/{chunk-VXKL2ZLR.js → chunk-GDZQFELP.js} +259 -60
  19. package/dist/chunks/{chunk-2T3V6Z3M.js → chunk-GYJMPVOU.js} +1 -1
  20. package/dist/chunks/{chunk-BFUS3ENH.js → chunk-HEYIAMTC.js} +2 -2
  21. package/dist/chunks/{chunk-HMEAGAGC.js → chunk-HIN56TLA.js} +2 -2
  22. package/dist/chunks/{chunk-2VMKQKVO.js → chunk-HNNP5QUN.js} +1 -1
  23. package/dist/chunks/{chunk-W5YRBEWQ.js → chunk-I53QYITQ.js} +1 -1
  24. package/dist/chunks/{chunk-UTDMFVC7.js → chunk-I5CHAYDZ.js} +8 -8
  25. package/dist/chunks/{chunk-EPOPGV5G.js → chunk-IXLT3JJX.js} +1 -1
  26. package/dist/chunks/{chunk-SG7VQB4F.js → chunk-IZKM4NY7.js} +1 -1
  27. package/dist/chunks/{chunk-KMLATBNT.js → chunk-J7RNXBXA.js} +3 -3
  28. package/dist/chunks/{chunk-VACK24HF.js → chunk-JJV2GT2Z.js} +43 -9
  29. package/dist/chunks/{chunk-PKGPSTRW.js → chunk-JO2T77NW.js} +2 -2
  30. package/dist/chunks/{chunk-XKPXOIWD.js → chunk-JVT3XTKN.js} +3 -3
  31. package/dist/chunks/{chunk-SDI6BVG7.js → chunk-KKHXMJEE.js} +1 -1
  32. package/dist/chunks/{chunk-G7SG4XMK.js → chunk-LODKC7PJ.js} +7 -0
  33. package/dist/chunks/{chunk-AJQRKN3X.js → chunk-N3DCLT7M.js} +1 -1
  34. package/dist/chunks/{chunk-ZZZ6NVLW.js → chunk-NAYS472K.js} +1 -1
  35. package/dist/chunks/{chunk-AWJJSA7D.js → chunk-NWEVR2OQ.js} +1 -1
  36. package/dist/chunks/{chunk-33KUO34R.js → chunk-P2GJBFNA.js} +1 -1
  37. package/dist/chunks/{chunk-IHM43Y7B.js → chunk-RT4U3DH3.js} +1 -1
  38. package/dist/chunks/{chunk-XTCIKBWM.js → chunk-S6E3PMH7.js} +1 -1
  39. package/dist/chunks/{chunk-BLDUBB7X.js → chunk-SZYFZNCO.js} +2 -2
  40. package/dist/chunks/{chunk-T3MEG5D3.js → chunk-T2UNTWU5.js} +90 -21
  41. package/dist/chunks/{chunk-QJC63NFR.js → chunk-TQ26XEFL.js} +2 -2
  42. package/dist/chunks/{chunk-6RB5ZQ34.js → chunk-UEWIGD52.js} +51 -14
  43. package/dist/chunks/{chunk-SENPGW4O.js → chunk-VCUOYVLC.js} +1 -1
  44. package/dist/chunks/{chunk-CL6ELLVF.js → chunk-VNCHWWLG.js} +1 -1
  45. package/dist/chunks/{chunk-GD6RUZU5.js → chunk-VQ353UDK.js} +14 -8
  46. package/dist/chunks/{chunk-QLLKALSH.js → chunk-VTGQCLGI.js} +1 -1
  47. package/dist/chunks/{chunk-Z4HXW6ZH.js → chunk-ZWBQ4RRK.js} +24 -10
  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 +46 -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 +76 -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 +9 -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 +13 -10
  97. package/dist/walkHighlight.js +10 -9
  98. package/dist/walkKey.js +5 -5
  99. package/package.json +1 -1
@@ -11,23 +11,24 @@ import {
11
11
  getNodeColor,
12
12
  hslToRgb,
13
13
  rampFraction
14
- } from "../chunks/chunk-VXKL2ZLR.js";
14
+ } from "../chunks/chunk-GDZQFELP.js";
15
+ import "../chunks/chunk-3BDQQTXY.js";
15
16
  import "../chunks/chunk-G2FD7S3C.js";
16
17
  import {
17
18
  REFERENCE_RAMP_MAX_HUE
18
19
  } from "../chunks/chunk-GQZVR5DW.js";
19
- import "../chunks/chunk-33KUO34R.js";
20
- import "../chunks/chunk-GD6RUZU5.js";
20
+ import "../chunks/chunk-P2GJBFNA.js";
21
+ import "../chunks/chunk-VQ353UDK.js";
21
22
  import "../chunks/chunk-ZANALBSX.js";
22
23
  import "../chunks/chunk-VX656OAZ.js";
23
- import "../chunks/chunk-N73RA4DR.js";
24
+ import "../chunks/chunk-AURNOR27.js";
24
25
  import "../chunks/chunk-HMXCN6PG.js";
25
26
  import "../chunks/chunk-AB35TJST.js";
26
- import "../chunks/chunk-2VMKQKVO.js";
27
- import "../chunks/chunk-P276TWPM.js";
27
+ import "../chunks/chunk-HNNP5QUN.js";
28
+ import "../chunks/chunk-3GORESBG.js";
28
29
  import "../chunks/chunk-TLWXLNLY.js";
29
30
  import "../chunks/chunk-3YBP46PB.js";
30
- import "../chunks/chunk-VACK24HF.js";
31
+ import "../chunks/chunk-JJV2GT2Z.js";
31
32
  import "../chunks/chunk-CPMHA4W5.js";
32
33
  import "../chunks/chunk-ZPZ7GNBT.js";
33
34
  import "../chunks/chunk-BSOZW3FC.js";
@@ -0,0 +1,46 @@
1
+ import {
2
+ LANE_SMOOTHING_PX,
3
+ MAX_BAND_PX,
4
+ PASSES_KEY,
5
+ SLOT_GAP_PX,
6
+ THREAD_GAP_PX,
7
+ THREAD_PITCH_PX,
8
+ THREAD_PX,
9
+ THREAD_REACH_PX,
10
+ THREAD_TAPER_PX,
11
+ bandScale,
12
+ bandSpans,
13
+ bandWidthPx,
14
+ laneLines,
15
+ laneRuns,
16
+ laneSlideAt,
17
+ liftLanes,
18
+ passesKey,
19
+ slotCentres,
20
+ threadsPasses,
21
+ walkThreads
22
+ } from "../chunks/chunk-3BDQQTXY.js";
23
+ import "../chunks/chunk-JJV2GT2Z.js";
24
+ import "../chunks/chunk-CPMHA4W5.js";
25
+ export {
26
+ LANE_SMOOTHING_PX,
27
+ MAX_BAND_PX,
28
+ PASSES_KEY,
29
+ SLOT_GAP_PX,
30
+ THREAD_GAP_PX,
31
+ THREAD_PITCH_PX,
32
+ THREAD_PX,
33
+ THREAD_REACH_PX,
34
+ THREAD_TAPER_PX,
35
+ bandScale,
36
+ bandSpans,
37
+ bandWidthPx,
38
+ laneLines,
39
+ laneRuns,
40
+ laneSlideAt,
41
+ liftLanes,
42
+ passesKey,
43
+ slotCentres,
44
+ threadsPasses,
45
+ walkThreads
46
+ };
@@ -7,15 +7,15 @@ import {
7
7
  rulerMarks,
8
8
  tubeSpan,
9
9
  tubeX
10
- } from "../chunks/chunk-W5YRBEWQ.js";
11
- import "../chunks/chunk-N73RA4DR.js";
10
+ } from "../chunks/chunk-I53QYITQ.js";
11
+ import "../chunks/chunk-AURNOR27.js";
12
12
  import "../chunks/chunk-HMXCN6PG.js";
13
13
  import "../chunks/chunk-AB35TJST.js";
14
- import "../chunks/chunk-2VMKQKVO.js";
15
- import "../chunks/chunk-P276TWPM.js";
14
+ import "../chunks/chunk-HNNP5QUN.js";
15
+ import "../chunks/chunk-3GORESBG.js";
16
16
  import "../chunks/chunk-TLWXLNLY.js";
17
17
  import "../chunks/chunk-3YBP46PB.js";
18
- import "../chunks/chunk-VACK24HF.js";
18
+ import "../chunks/chunk-JJV2GT2Z.js";
19
19
  import "../chunks/chunk-CPMHA4W5.js";
20
20
  import "../chunks/chunk-ZPZ7GNBT.js";
21
21
  import "../chunks/chunk-BSOZW3FC.js";
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  bundleRoutes
3
- } from "../chunks/chunk-XTCIKBWM.js";
4
- import "../chunks/chunk-63XWYNID.js";
5
- import "../chunks/chunk-SDI6BVG7.js";
3
+ } from "../chunks/chunk-S6E3PMH7.js";
4
+ import "../chunks/chunk-BDS5VZYZ.js";
5
+ import "../chunks/chunk-KKHXMJEE.js";
6
6
  import "../chunks/chunk-5OJZV6YT.js";
7
- import "../chunks/chunk-BXE3SBBN.js";
8
- import "../chunks/chunk-G7SG4XMK.js";
9
- import "../chunks/chunk-GD6RUZU5.js";
7
+ import "../chunks/chunk-C3KAPREU.js";
8
+ import "../chunks/chunk-LODKC7PJ.js";
9
+ import "../chunks/chunk-VQ353UDK.js";
10
10
  import "../chunks/chunk-7L7MN2OM.js";
11
11
  import "../chunks/chunk-LG2UK4MB.js";
12
- import "../chunks/chunk-N73RA4DR.js";
12
+ import "../chunks/chunk-AURNOR27.js";
13
13
  import "../chunks/chunk-HMXCN6PG.js";
14
14
  import "../chunks/chunk-AB35TJST.js";
15
- import "../chunks/chunk-2VMKQKVO.js";
16
- import "../chunks/chunk-P276TWPM.js";
15
+ import "../chunks/chunk-HNNP5QUN.js";
16
+ import "../chunks/chunk-3GORESBG.js";
17
17
  import "../chunks/chunk-TLWXLNLY.js";
18
18
  import "../chunks/chunk-3YBP46PB.js";
19
- import "../chunks/chunk-VACK24HF.js";
19
+ import "../chunks/chunk-JJV2GT2Z.js";
20
20
  import "../chunks/chunk-CPMHA4W5.js";
21
21
  import "../chunks/chunk-ZPZ7GNBT.js";
22
22
  import "../chunks/chunk-BSOZW3FC.js";
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  coarsenTubeMap,
3
3
  lastAtMost
4
- } from "../chunks/chunk-CL6ELLVF.js";
5
- import "../chunks/chunk-63XWYNID.js";
6
- import "../chunks/chunk-SDI6BVG7.js";
4
+ } from "../chunks/chunk-VNCHWWLG.js";
5
+ import "../chunks/chunk-BDS5VZYZ.js";
6
+ import "../chunks/chunk-KKHXMJEE.js";
7
7
  import "../chunks/chunk-5OJZV6YT.js";
8
- import "../chunks/chunk-BXE3SBBN.js";
9
- import "../chunks/chunk-G7SG4XMK.js";
10
- import "../chunks/chunk-GD6RUZU5.js";
8
+ import "../chunks/chunk-C3KAPREU.js";
9
+ import "../chunks/chunk-LODKC7PJ.js";
10
+ import "../chunks/chunk-VQ353UDK.js";
11
11
  import "../chunks/chunk-7L7MN2OM.js";
12
12
  import "../chunks/chunk-LG2UK4MB.js";
13
- import "../chunks/chunk-N73RA4DR.js";
13
+ import "../chunks/chunk-AURNOR27.js";
14
14
  import "../chunks/chunk-HMXCN6PG.js";
15
15
  import "../chunks/chunk-AB35TJST.js";
16
- import "../chunks/chunk-2VMKQKVO.js";
17
- import "../chunks/chunk-P276TWPM.js";
16
+ import "../chunks/chunk-HNNP5QUN.js";
17
+ import "../chunks/chunk-3GORESBG.js";
18
18
  import "../chunks/chunk-TLWXLNLY.js";
19
19
  import "../chunks/chunk-3YBP46PB.js";
20
- import "../chunks/chunk-VACK24HF.js";
20
+ import "../chunks/chunk-JJV2GT2Z.js";
21
21
  import "../chunks/chunk-CPMHA4W5.js";
22
22
  import "../chunks/chunk-ZPZ7GNBT.js";
23
23
  import "../chunks/chunk-BSOZW3FC.js";
@@ -1,28 +1,28 @@
1
1
  import {
2
2
  lastAtMost
3
- } from "../chunks/chunk-CL6ELLVF.js";
3
+ } from "../chunks/chunk-VNCHWWLG.js";
4
4
  import {
5
5
  boxX,
6
6
  referenceBoxes
7
- } from "../chunks/chunk-W5YRBEWQ.js";
8
- import "../chunks/chunk-63XWYNID.js";
9
- import "../chunks/chunk-SDI6BVG7.js";
7
+ } from "../chunks/chunk-I53QYITQ.js";
8
+ import "../chunks/chunk-BDS5VZYZ.js";
9
+ import "../chunks/chunk-KKHXMJEE.js";
10
10
  import "../chunks/chunk-5OJZV6YT.js";
11
- import "../chunks/chunk-BXE3SBBN.js";
12
- import "../chunks/chunk-G7SG4XMK.js";
13
- import "../chunks/chunk-GD6RUZU5.js";
11
+ import "../chunks/chunk-C3KAPREU.js";
12
+ import "../chunks/chunk-LODKC7PJ.js";
13
+ import "../chunks/chunk-VQ353UDK.js";
14
14
  import "../chunks/chunk-7L7MN2OM.js";
15
15
  import "../chunks/chunk-LG2UK4MB.js";
16
- import "../chunks/chunk-N73RA4DR.js";
16
+ import "../chunks/chunk-AURNOR27.js";
17
17
  import "../chunks/chunk-HMXCN6PG.js";
18
18
  import "../chunks/chunk-AB35TJST.js";
19
- import "../chunks/chunk-2VMKQKVO.js";
20
- import "../chunks/chunk-P276TWPM.js";
19
+ import "../chunks/chunk-HNNP5QUN.js";
20
+ import "../chunks/chunk-3GORESBG.js";
21
21
  import "../chunks/chunk-TLWXLNLY.js";
22
22
  import {
23
23
  pathOrigin
24
24
  } from "../chunks/chunk-3YBP46PB.js";
25
- import "../chunks/chunk-VACK24HF.js";
25
+ import "../chunks/chunk-JJV2GT2Z.js";
26
26
  import "../chunks/chunk-CPMHA4W5.js";
27
27
  import "../chunks/chunk-ZPZ7GNBT.js";
28
28
  import {
@@ -8,17 +8,17 @@ import {
8
8
  tubeMapMismatchAt,
9
9
  tubeMapPicture,
10
10
  tubeMapTrackAt
11
- } from "../chunks/chunk-HMEAGAGC.js";
11
+ } from "../chunks/chunk-HIN56TLA.js";
12
12
  import "../chunks/chunk-BX4AUMZE.js";
13
13
  import "../chunks/chunk-MYDHU2UV.js";
14
- import "../chunks/chunk-SDI6BVG7.js";
14
+ import "../chunks/chunk-KKHXMJEE.js";
15
15
  import "../chunks/chunk-5OJZV6YT.js";
16
- import "../chunks/chunk-BXE3SBBN.js";
17
- import "../chunks/chunk-G7SG4XMK.js";
16
+ import "../chunks/chunk-C3KAPREU.js";
17
+ import "../chunks/chunk-LODKC7PJ.js";
18
18
  import "../chunks/chunk-7L7MN2OM.js";
19
19
  import "../chunks/chunk-LG2UK4MB.js";
20
20
  import "../chunks/chunk-3YBP46PB.js";
21
- import "../chunks/chunk-VACK24HF.js";
21
+ import "../chunks/chunk-JJV2GT2Z.js";
22
22
  import "../chunks/chunk-CPMHA4W5.js";
23
23
  import "../chunks/chunk-ZPZ7GNBT.js";
24
24
  import "../chunks/chunk-BSOZW3FC.js";
@@ -3,16 +3,16 @@ import {
3
3
  drawTubeMapGenes,
4
4
  tubeMapGeneRows,
5
5
  tubeMapGenes
6
- } from "../chunks/chunk-IHM43Y7B.js";
7
- import "../chunks/chunk-W5YRBEWQ.js";
8
- import "../chunks/chunk-N73RA4DR.js";
6
+ } from "../chunks/chunk-RT4U3DH3.js";
7
+ import "../chunks/chunk-I53QYITQ.js";
8
+ import "../chunks/chunk-AURNOR27.js";
9
9
  import "../chunks/chunk-HMXCN6PG.js";
10
10
  import "../chunks/chunk-AB35TJST.js";
11
- import "../chunks/chunk-2VMKQKVO.js";
12
- import "../chunks/chunk-P276TWPM.js";
11
+ import "../chunks/chunk-HNNP5QUN.js";
12
+ import "../chunks/chunk-3GORESBG.js";
13
13
  import "../chunks/chunk-TLWXLNLY.js";
14
14
  import "../chunks/chunk-3YBP46PB.js";
15
- import "../chunks/chunk-VACK24HF.js";
15
+ import "../chunks/chunk-JJV2GT2Z.js";
16
16
  import "../chunks/chunk-CPMHA4W5.js";
17
17
  import "../chunks/chunk-ZPZ7GNBT.js";
18
18
  import "../chunks/chunk-BSOZW3FC.js";
@@ -1,21 +1,22 @@
1
1
  import {
2
2
  tubeMapNodeColors
3
- } from "../chunks/chunk-2T3V6Z3M.js";
4
- import "../chunks/chunk-VXKL2ZLR.js";
3
+ } from "../chunks/chunk-GYJMPVOU.js";
4
+ import "../chunks/chunk-GDZQFELP.js";
5
+ import "../chunks/chunk-3BDQQTXY.js";
5
6
  import "../chunks/chunk-G2FD7S3C.js";
6
7
  import "../chunks/chunk-GQZVR5DW.js";
7
- import "../chunks/chunk-33KUO34R.js";
8
- import "../chunks/chunk-GD6RUZU5.js";
8
+ import "../chunks/chunk-P2GJBFNA.js";
9
+ import "../chunks/chunk-VQ353UDK.js";
9
10
  import "../chunks/chunk-ZANALBSX.js";
10
11
  import "../chunks/chunk-VX656OAZ.js";
11
- import "../chunks/chunk-N73RA4DR.js";
12
+ import "../chunks/chunk-AURNOR27.js";
12
13
  import "../chunks/chunk-HMXCN6PG.js";
13
14
  import "../chunks/chunk-AB35TJST.js";
14
- import "../chunks/chunk-2VMKQKVO.js";
15
- import "../chunks/chunk-P276TWPM.js";
15
+ import "../chunks/chunk-HNNP5QUN.js";
16
+ import "../chunks/chunk-3GORESBG.js";
16
17
  import "../chunks/chunk-TLWXLNLY.js";
17
18
  import "../chunks/chunk-3YBP46PB.js";
18
- import "../chunks/chunk-VACK24HF.js";
19
+ import "../chunks/chunk-JJV2GT2Z.js";
19
20
  import "../chunks/chunk-CPMHA4W5.js";
20
21
  import "../chunks/chunk-ZPZ7GNBT.js";
21
22
  import "../chunks/chunk-BSOZW3FC.js";
@@ -4,9 +4,9 @@ import {
4
4
  readColor,
5
5
  stepName,
6
6
  tubeMapReads
7
- } from "../chunks/chunk-SDI6BVG7.js";
7
+ } from "../chunks/chunk-KKHXMJEE.js";
8
8
  import "../chunks/chunk-5OJZV6YT.js";
9
- import "../chunks/chunk-VACK24HF.js";
9
+ import "../chunks/chunk-JJV2GT2Z.js";
10
10
  import "../chunks/chunk-CPMHA4W5.js";
11
11
  export {
12
12
  FORWARD_READ_COLORS,
@@ -17,6 +17,11 @@ interface NodeRow {
17
17
  color: string;
18
18
  alpha: number;
19
19
  width: number;
20
+ walk: number | null;
21
+ pass: number | null;
22
+ nx: number;
23
+ ny: number;
24
+ offset: number;
20
25
  }
21
26
  interface EdgeRow {
22
27
  panel: string;
@@ -34,13 +39,28 @@ interface EdgeRow {
34
39
  alpha: number;
35
40
  width: number;
36
41
  deletion: boolean;
42
+ walk: number | null;
43
+ pass: number | null;
44
+ nx: number;
45
+ ny: number;
46
+ offset: number;
47
+ nx1: number;
48
+ ny1: number;
49
+ offset1: number;
37
50
  }
38
51
  interface KeyRow {
39
52
  panel: string;
40
53
  walk: string;
54
+ name: string;
55
+ color: string;
41
56
  note: string;
42
57
  scale: string;
43
58
  stops: string;
59
+ field: string;
60
+ }
61
+ interface ThreadKeyRow {
62
+ panel: string;
63
+ note: string;
44
64
  }
45
65
  interface PinRow {
46
66
  gene: string;
@@ -89,6 +109,7 @@ export declare function figureData(graph: Graph, layout: LayoutResult, o?: Figur
89
109
  range: string[];
90
110
  };
91
111
  keys: Columns<KeyRow>;
112
+ threadKeys: Columns<ThreadKeyRow>;
92
113
  pins: Columns<PinRow>;
93
114
  exons: Columns<ExonRow>;
94
115
  walkNames: string[];
@@ -146,6 +167,7 @@ export declare function gfaFigureData(text: string, name: string, spec?: GfaFigu
146
167
  range: string[];
147
168
  };
148
169
  keys: Columns<KeyRow>;
170
+ threadKeys: Columns<ThreadKeyRow>;
149
171
  pins: Columns<PinRow>;
150
172
  exons: Columns<ExonRow>;
151
173
  walkNames: string[];
@@ -3,6 +3,19 @@ export interface EdgeCurveBatch {
3
3
  curves: BezierCurve[];
4
4
  thickness: number;
5
5
  color: number;
6
+ walk?: number;
7
+ pass?: number;
8
+ normal?: LaneSlide['normal'];
9
+ offsetX?: number;
10
+ endNormal?: LaneSlide['normal'];
11
+ endOffsetX?: number;
12
+ }
13
+ export interface LaneSlide {
14
+ normal: {
15
+ nx: number;
16
+ ny: number;
17
+ };
18
+ offsetX: number;
6
19
  }
7
20
  export interface NodeStroke {
8
21
  points: {
@@ -11,6 +24,13 @@ export interface NodeStroke {
11
24
  }[];
12
25
  thickness: number;
13
26
  color: number;
27
+ walk?: number;
28
+ pass?: number;
29
+ normals?: {
30
+ nx: number;
31
+ ny: number;
32
+ }[];
33
+ offsetX?: number;
14
34
  }
15
35
  export interface Arrowhead {
16
36
  x: number;
@@ -0,0 +1,76 @@
1
+ import type { LaneSlide } from './types.js';
2
+ import type { NodeSegment } from '../types.js';
3
+ import type { LiftedWalk } from '../walkHighlight.js';
4
+ export declare const THREAD_PX = 2;
5
+ export declare const THREAD_GAP_PX = 1.5;
6
+ export declare const SLOT_GAP_PX = 4;
7
+ export declare const LANE_SMOOTHING_PX = 12;
8
+ export declare const THREAD_REACH_PX = 64;
9
+ export declare const THREAD_TAPER_PX = 24;
10
+ export declare const MAX_BAND_PX = 48;
11
+ export declare const PASSES_KEY = "a thread per pass through a node";
12
+ export declare const threadsPasses: (walks: readonly {
13
+ mostPasses: number;
14
+ }[]) => boolean;
15
+ export interface Normal {
16
+ nx: number;
17
+ ny: number;
18
+ }
19
+ export interface Shift {
20
+ dx: number;
21
+ dy: number;
22
+ }
23
+ export declare const THREAD_PITCH_PX: number;
24
+ export declare function slotCentres(spans: readonly number[], mostPasses: readonly number[], held?: readonly number[]): number[];
25
+ export declare const bandWidthPx: (mostPasses: readonly number[]) => number;
26
+ export declare const bandScale: (mostPasses: readonly number[]) => number;
27
+ export declare const passesKey: (walks: readonly {
28
+ mostPasses: number;
29
+ }[]) => "a thread per pass through a node" | "a thread per pass through a node, thinned to fit";
30
+ export declare function laneSlideAt(start: LaneSlide, end: LaneSlide, along: number): LaneSlide;
31
+ interface LinePoint {
32
+ x: number;
33
+ y: number;
34
+ id: string;
35
+ index: number;
36
+ middle: boolean;
37
+ forward: boolean;
38
+ }
39
+ export interface LaneRuns {
40
+ runs: LinePoint[][];
41
+ owned: boolean[][];
42
+ }
43
+ export declare function laneRuns(routes: readonly (readonly string[])[], nodePositions: Record<string, NodeSegment[]>, yToX: number, jump: number): LaneRuns;
44
+ export declare function laneLines(lanes: LaneRuns, nodePositions: Record<string, NodeSegment[]>, yToX: number, reach: number, band: number, smooth?: boolean): {
45
+ normals: Map<string, (Normal | undefined)[]>;
46
+ shifts: Map<string, (Shift | undefined)[]>;
47
+ };
48
+ export interface WalkThreads {
49
+ span: ReadonlyMap<string, number>;
50
+ nodeThreads: Map<string, readonly number[]>;
51
+ linkThreads: Map<string, Map<string, [number, number][]>>;
52
+ }
53
+ export declare function walkThreads(route: readonly (readonly string[])[], passes: ReadonlyMap<string, number>, nodePositions: Record<string, NodeSegment[]>, yToX: number, reach: number): WalkThreads;
54
+ export declare function bandSpans(lanes: LaneRuns, spans: readonly ReadonlyMap<string, number>[], { reach, taper }: {
55
+ reach: number;
56
+ taper: number;
57
+ }): Map<string, {
58
+ slot: number[];
59
+ held: number[];
60
+ }>;
61
+ export declare function liftLanes(walks: readonly LiftedWalk[], nodePositions: Record<string, NodeSegment[]>, yToX: number, worldPerScreenPx: number): {
62
+ lines: {
63
+ normals: Map<string, (Normal | undefined)[]>;
64
+ shifts: Map<string, (Shift | undefined)[]>;
65
+ };
66
+ threads: WalkThreads[] | undefined;
67
+ spans: Map<string, {
68
+ slot: number[];
69
+ held: number[];
70
+ }> | undefined;
71
+ furthestShift: {
72
+ dx: number;
73
+ dy: number;
74
+ };
75
+ };
76
+ export {};
@@ -31,7 +31,19 @@ export interface Bounds {
31
31
  maxX: number;
32
32
  maxY: number;
33
33
  }
34
- export declare function dashCurves(curves: BezierCurve[], dashWorld: number, yToX?: number, bounds?: Bounds): BezierCurve[][];
34
+ export declare const dashCurves: (curves: BezierCurve[], dashWorld: number, yToX?: number, bounds?: Bounds) => BezierCurve[][];
35
+ export interface Dash {
36
+ curves: BezierCurve[];
37
+ startAlong: number;
38
+ endAlong: number;
39
+ }
40
+ export declare function dashSpans(curves: BezierCurve[], dashWorld: number, yToX?: number, bounds?: Bounds): Dash[];
41
+ export interface Slide {
42
+ dx: number;
43
+ dy: number;
44
+ }
45
+ export declare const slideAt: (from: Slide, to: Slide, along: number) => Slide;
46
+ export declare function slideCurves(curves: BezierCurve[], fromDx: number, fromDy: number, toDx: number, toDy: number): BezierCurve[];
35
47
  export declare function translateCurves(curves: BezierCurve[], dx: number, dy: number): BezierCurve[];
36
48
  type Side = 'start' | 'end';
37
49
  export interface EdgeSides {
@@ -1 +1 @@
1
- export declare const version = "11.7.3";
1
+ export declare const version = "11.9.0";
@@ -37,18 +37,22 @@ export type WalkScheme = (typeof WALK_SCHEMES)[number]['value'];
37
37
  export interface WalkEncoding {
38
38
  field: WalkField;
39
39
  scheme: WalkScheme;
40
+ darkest?: number;
41
+ shade?: number;
42
+ stretch?: readonly [number, number];
40
43
  }
41
44
  export interface WalkLayer {
42
45
  walk: string;
43
46
  color?: Partial<WalkEncoding>;
44
47
  }
45
48
  export declare function resolveEncoding(layer: WalkLayer, reference: boolean, picked: number, alone?: boolean): WalkEncoding;
46
- export declare function schemeRgb(scheme: WalkScheme, t: number): number[];
47
- export declare function schemeCss(scheme: WalkScheme, t: number): string;
48
- export declare function schemeColor(scheme: WalkScheme, t: number): number;
49
- export declare function encodedColor({ field, scheme }: WalkEncoding, t?: number): number;
49
+ export declare function splitFamilies(encodings: readonly WalkEncoding[]): WalkEncoding[];
50
+ export declare function schemeRgb(scheme: WalkScheme, t: number, darkest?: number): number[];
51
+ export declare function schemeCss(scheme: WalkScheme, t: number, darkest?: number): string;
52
+ export declare function schemeColor(scheme: WalkScheme, t: number, darkest?: number): number;
53
+ export declare function encodedColor(encoding: WalkEncoding, t?: number): number;
50
54
  export declare const NO_VALUE_COLOR: number;
51
- export declare function encodingStops({ field, scheme }: WalkEncoding): {
55
+ export declare function encodingStops(encoding: WalkEncoding): {
52
56
  offset: number;
53
57
  color: string;
54
58
  abgr: number;
@@ -7,6 +7,9 @@ export interface WalkHighlight {
7
7
  nodeIds: Set<string>;
8
8
  edgeIndexes: Set<number>;
9
9
  progress: Map<string, number>;
10
+ passes: Map<string, number>;
11
+ mostPasses: number;
12
+ route: readonly (readonly string[])[];
10
13
  steps: number;
11
14
  bp: number;
12
15
  referenceBp?: number;
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  EdgeSpatialIndex,
3
3
  SpatialIndex
4
- } from "../chunks/chunk-2US43KNG.js";
5
- import "../chunks/chunk-33KUO34R.js";
4
+ } from "../chunks/chunk-7YSIP3O2.js";
5
+ import "../chunks/chunk-P2GJBFNA.js";
6
6
  import "../chunks/chunk-HMXCN6PG.js";
7
- import "../chunks/chunk-P276TWPM.js";
7
+ import "../chunks/chunk-3GORESBG.js";
8
8
  import "../chunks/chunk-TLWXLNLY.js";
9
9
  import "../chunks/chunk-3YBP46PB.js";
10
- import "../chunks/chunk-VACK24HF.js";
10
+ import "../chunks/chunk-JJV2GT2Z.js";
11
11
  import "../chunks/chunk-CPMHA4W5.js";
12
12
  import "../chunks/chunk-ZPZ7GNBT.js";
13
13
  import "../chunks/chunk-BSOZW3FC.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  baseEdgeCurves
3
- } from "../chunks/chunk-33KUO34R.js";
3
+ } from "../chunks/chunk-P2GJBFNA.js";
4
4
  import "../chunks/chunk-HMXCN6PG.js";
5
- import "../chunks/chunk-P276TWPM.js";
5
+ import "../chunks/chunk-3GORESBG.js";
6
6
  import "../chunks/chunk-TLWXLNLY.js";
7
7
  import "../chunks/chunk-3YBP46PB.js";
8
- import "../chunks/chunk-VACK24HF.js";
8
+ import "../chunks/chunk-JJV2GT2Z.js";
9
9
  import "../chunks/chunk-CPMHA4W5.js";
10
10
  import "../chunks/chunk-ZPZ7GNBT.js";
11
11
  import "../chunks/chunk-BSOZW3FC.js";
@@ -6,6 +6,7 @@ import {
6
6
  curveMidpoint,
7
7
  curvePointAt,
8
8
  dashCurves,
9
+ dashSpans,
9
10
  edgeJoinOf,
10
11
  ownStrand,
11
12
  pathRibbonOffsets,
@@ -13,11 +14,13 @@ import {
13
14
  projectLine,
14
15
  routedEdgeCurves,
15
16
  selfLinkOf,
17
+ slideAt,
18
+ slideCurves,
16
19
  strandSides,
17
20
  svgPath,
18
21
  translateCurves,
19
22
  yToXOf
20
- } from "../chunks/chunk-VACK24HF.js";
23
+ } from "../chunks/chunk-JJV2GT2Z.js";
21
24
  import "../chunks/chunk-CPMHA4W5.js";
22
25
  export {
23
26
  PATH_RIBBON_SPACING_PX,
@@ -27,6 +30,7 @@ export {
27
30
  curveMidpoint,
28
31
  curvePointAt,
29
32
  dashCurves,
33
+ dashSpans,
30
34
  edgeJoinOf,
31
35
  ownStrand,
32
36
  pathRibbonOffsets,
@@ -34,6 +38,8 @@ export {
34
38
  projectLine,
35
39
  routedEdgeCurves,
36
40
  selfLinkOf,
41
+ slideAt,
42
+ slideCurves,
37
43
  strandSides,
38
44
  svgPath,
39
45
  translateCurves,
@@ -4,14 +4,14 @@ import {
4
4
  findHoveredEdge,
5
5
  findHoveredNode,
6
6
  nodesUnderBox
7
- } from "../chunks/chunk-LH436HS2.js";
8
- import "../chunks/chunk-2US43KNG.js";
9
- import "../chunks/chunk-33KUO34R.js";
7
+ } from "../chunks/chunk-4JDO7ZLN.js";
8
+ import "../chunks/chunk-7YSIP3O2.js";
9
+ import "../chunks/chunk-P2GJBFNA.js";
10
10
  import "../chunks/chunk-HMXCN6PG.js";
11
- import "../chunks/chunk-P276TWPM.js";
11
+ import "../chunks/chunk-3GORESBG.js";
12
12
  import "../chunks/chunk-TLWXLNLY.js";
13
13
  import "../chunks/chunk-3YBP46PB.js";
14
- import "../chunks/chunk-VACK24HF.js";
14
+ import "../chunks/chunk-JJV2GT2Z.js";
15
15
  import "../chunks/chunk-CPMHA4W5.js";
16
16
  import "../chunks/chunk-ZPZ7GNBT.js";
17
17
  import "../chunks/chunk-BSOZW3FC.js";
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  version
3
- } from "./chunks/chunk-AJQRKN3X.js";
3
+ } from "./chunks/chunk-N3DCLT7M.js";
4
4
  export {
5
5
  version
6
6
  };