@jbrowse/bandage-core 11.8.0 → 11.10.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 (90) hide show
  1. package/dist/bubbles/bubbleHalos.js +6 -6
  2. package/dist/bubbles/classifyBubble.js +5 -5
  3. package/dist/bubbles/superbubbles.js +7 -7
  4. package/dist/chunks/{chunk-S4CH434Z.js → chunk-2A6Z2DHF.js} +1 -1
  5. package/dist/chunks/{chunk-6MD4VS2F.js → chunk-2MXFG3W7.js} +1 -1
  6. package/dist/chunks/{chunk-L2RQV23D.js → chunk-2NCZ5YYN.js} +1 -1
  7. package/dist/chunks/{chunk-ZKIH2USC.js → chunk-337LZP7C.js} +1 -1
  8. package/dist/chunks/{chunk-2RCKHCF7.js → chunk-3DHGSHC3.js} +1 -1
  9. package/dist/chunks/{chunk-3CXZUC2Y.js → chunk-3GORESBG.js} +1 -1
  10. package/dist/chunks/{chunk-R4XCTRIU.js → chunk-4BYGFDQB.js} +1 -1
  11. package/dist/chunks/{chunk-NHOXLUIL.js → chunk-4JDO7ZLN.js} +2 -2
  12. package/dist/chunks/{chunk-7GDNDQD7.js → chunk-4KBZ7WPP.js} +176 -101
  13. package/dist/chunks/{chunk-2H3ALI6L.js → chunk-53DZE3SA.js} +184 -161
  14. package/dist/chunks/{chunk-YF6T33PU.js → chunk-54C73ICS.js} +37 -17
  15. package/dist/chunks/{chunk-U6JPSXJ3.js → chunk-55DRWHBF.js} +9 -9
  16. package/dist/chunks/{chunk-4OVIUCSB.js → chunk-77O67GIB.js} +1 -1
  17. package/dist/chunks/{chunk-7PEYA3NA.js → chunk-7YSIP3O2.js} +2 -2
  18. package/dist/chunks/{chunk-LA6JHEVV.js → chunk-ALOF5SOT.js} +1 -1
  19. package/dist/chunks/{chunk-3XYLEK4H.js → chunk-ARXDNQLF.js} +1 -1
  20. package/dist/chunks/{chunk-6CXLLJ2C.js → chunk-AURNOR27.js} +3 -3
  21. package/dist/chunks/{chunk-G4WQBRDS.js → chunk-BDS5VZYZ.js} +3 -3
  22. package/dist/chunks/{chunk-MO4DIRHD.js → chunk-CHGTUO3C.js} +13 -13
  23. package/dist/chunks/{chunk-X5ULFAMM.js → chunk-HEYIAMTC.js} +2 -2
  24. package/dist/chunks/{chunk-S7BCZVRK.js → chunk-HIN56TLA.js} +1 -1
  25. package/dist/chunks/{chunk-YIWN32ZX.js → chunk-HNNP5QUN.js} +1 -1
  26. package/dist/chunks/{chunk-XOIYBEU7.js → chunk-I53QYITQ.js} +1 -1
  27. package/dist/chunks/{chunk-SDDMV2MM.js → chunk-IZKM4NY7.js} +1 -1
  28. package/dist/chunks/{chunk-SIXFXXRI.js → chunk-J7RNXBXA.js} +3 -3
  29. package/dist/chunks/{chunk-735MPLUL.js → chunk-JJV2GT2Z.js} +22 -14
  30. package/dist/chunks/{chunk-S3ICPPXC.js → chunk-JVT3XTKN.js} +3 -3
  31. package/dist/chunks/{chunk-J4PDHWP2.js → chunk-KKHXMJEE.js} +1 -1
  32. package/dist/chunks/{chunk-22ZMVREZ.js → chunk-NAYS472K.js} +1 -1
  33. package/dist/chunks/{chunk-OIOAK7BS.js → chunk-NWEVR2OQ.js} +1 -1
  34. package/dist/chunks/{chunk-VSRRIFRF.js → chunk-P2GJBFNA.js} +1 -1
  35. package/dist/chunks/{chunk-N2GAA7RB.js → chunk-RT4U3DH3.js} +1 -1
  36. package/dist/chunks/{chunk-AXE3RR7J.js → chunk-S6E3PMH7.js} +1 -1
  37. package/dist/chunks/{chunk-NQWEYJDD.js → chunk-SPEB75UH.js} +1 -1
  38. package/dist/chunks/{chunk-4YPCUVMC.js → chunk-SZYFZNCO.js} +2 -2
  39. package/dist/chunks/{chunk-G3GLGDKV.js → chunk-TQ26XEFL.js} +2 -2
  40. package/dist/chunks/{chunk-N4AJV4GH.js → chunk-UVRCXTBY.js} +37 -10
  41. package/dist/chunks/{chunk-YEDZ37PH.js → chunk-VNCHWWLG.js} +1 -1
  42. package/dist/chunks/{chunk-JKIAHYAW.js → chunk-VQ353UDK.js} +1 -1
  43. package/dist/chunks/{chunk-R3NPBUKT.js → chunk-YQAZNH37.js} +7 -7
  44. package/dist/cli/figure.js +28 -28
  45. package/dist/cli/fold.js +6 -6
  46. package/dist/deletionEdges.js +2 -2
  47. package/dist/figure.js +24 -24
  48. package/dist/figureData.js +22 -22
  49. package/dist/figureScene.js +15 -15
  50. package/dist/figureSettings.js +6 -6
  51. package/dist/foldVariants.js +2 -2
  52. package/dist/genes/genePins.js +3 -3
  53. package/dist/graphLabels.js +4 -4
  54. package/dist/index.js +38 -38
  55. package/dist/labelLayout.js +8 -8
  56. package/dist/layout/forceCache.js +6 -6
  57. package/dist/layout/mergeRuns.js +2 -2
  58. package/dist/layout/orientToReference.js +2 -2
  59. package/dist/layout/tubeMapLayout.js +7 -7
  60. package/dist/layout/walkRowDraw.js +9 -9
  61. package/dist/layout/walkStrip.js +10 -10
  62. package/dist/layoutModes.js +8 -8
  63. package/dist/pathColors.js +5 -5
  64. package/dist/pipeline.js +5 -5
  65. package/dist/referenceStrip.js +9 -9
  66. package/dist/renderer/GeometryBuilder.js +8 -8
  67. package/dist/renderer/walkLanes.js +4 -2
  68. package/dist/tubeMap/axis.js +5 -5
  69. package/dist/tubeMap/bundle.js +8 -8
  70. package/dist/tubeMap/coarsen.js +8 -8
  71. package/dist/tubeMap/deviations.js +9 -9
  72. package/dist/tubeMap/draw.js +3 -3
  73. package/dist/tubeMap/genes.js +6 -6
  74. package/dist/tubeMap/nodeColors.js +9 -9
  75. package/dist/tubeMap/reads.js +2 -2
  76. package/dist/types/renderer/walkLanes.d.ts +19 -2
  77. package/dist/types/util/geometry.d.ts +1 -1
  78. package/dist/types/version.d.ts +1 -1
  79. package/dist/types/walkEncoding.d.ts +8 -2
  80. package/dist/types/walkHighlight.d.ts +2 -0
  81. package/dist/util/SpatialIndex.js +4 -4
  82. package/dist/util/edgeCurves.js +3 -3
  83. package/dist/util/geometry.js +1 -1
  84. package/dist/util/hitDetection.js +5 -5
  85. package/dist/version.js +1 -1
  86. package/dist/viewport.js +6 -6
  87. package/dist/walkEncoding.js +13 -11
  88. package/dist/walkHighlight.js +10 -10
  89. package/dist/walkKey.js +5 -5
  90. package/package.json +1 -1
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-H2H4Y3TV.js";
4
4
  import {
5
5
  REFERENCE_RAMP_ALT_CSS
6
- } from "./chunk-2H3ALI6L.js";
6
+ } from "./chunk-53DZE3SA.js";
7
7
  import {
8
8
  RAMP_GRADIENT_CSS,
9
9
  RAMP_GRADIENT_STOPS,
@@ -3,7 +3,7 @@ import {
3
3
  hasTubeMapPaths,
4
4
  tubeMapLayout,
5
5
  tubeMapReferenceLayout
6
- } from "./chunk-G4WQBRDS.js";
6
+ } from "./chunk-BDS5VZYZ.js";
7
7
  import {
8
8
  sampleRowLayout
9
9
  } from "./chunk-XR2HMGAS.js";
@@ -7,15 +7,15 @@ import {
7
7
  } from "./chunk-AB35TJST.js";
8
8
  import {
9
9
  polylineMidpoint
10
- } from "./chunk-YIWN32ZX.js";
10
+ } from "./chunk-HNNP5QUN.js";
11
11
  import {
12
12
  edgeCurvesOf
13
- } from "./chunk-3CXZUC2Y.js";
13
+ } from "./chunk-3GORESBG.js";
14
14
  import {
15
15
  curveBounds,
16
16
  curveMidpoint,
17
17
  polylinePx
18
- } from "./chunk-735MPLUL.js";
18
+ } from "./chunk-JJV2GT2Z.js";
19
19
 
20
20
  // src/graphLabels.ts
21
21
  var MIN_DELETION_LABEL_PX = 26;
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  stepName,
3
3
  tubeMapReads
4
- } from "./chunk-J4PDHWP2.js";
4
+ } from "./chunk-KKHXMJEE.js";
5
5
  import {
6
6
  referenceWalkName
7
7
  } from "./chunk-LODKC7PJ.js";
8
8
  import {
9
9
  pathCssColor,
10
10
  pathGreyCssColor
11
- } from "./chunk-JKIAHYAW.js";
11
+ } from "./chunk-VQ353UDK.js";
12
12
  import {
13
13
  pathOrigin
14
14
  } from "./chunk-3YBP46PB.js";
15
15
  import {
16
16
  ownStrand,
17
17
  strandSides
18
- } from "./chunk-735MPLUL.js";
18
+ } from "./chunk-JJV2GT2Z.js";
19
19
  import {
20
20
  groupBy
21
21
  } from "./chunk-BSOZW3FC.js";
@@ -2,7 +2,7 @@ import {
2
2
  stripGeneGaps,
3
3
  walkStripFrame,
4
4
  walkStripLabelsTree
5
- } from "./chunk-4OVIUCSB.js";
5
+ } from "./chunk-77O67GIB.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-LA6JHEVV.js";
16
+ } from "./chunk-ALOF5SOT.js";
17
17
  import {
18
18
  EXON_COLOR,
19
19
  exonOutlineTree,
@@ -21,37 +21,37 @@ import {
21
21
  } from "./chunk-JSUCGZ6K.js";
22
22
  import {
23
23
  geneLabelCandidates
24
- } from "./chunk-G3GLGDKV.js";
24
+ } from "./chunk-TQ26XEFL.js";
25
25
  import {
26
26
  nodesUnderBox
27
- } from "./chunk-NHOXLUIL.js";
27
+ } from "./chunk-4JDO7ZLN.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-X5ULFAMM.js";
34
+ } from "./chunk-HEYIAMTC.js";
35
35
  import {
36
36
  version
37
- } from "./chunk-L2RQV23D.js";
37
+ } from "./chunk-2NCZ5YYN.js";
38
38
  import {
39
39
  axisScaleOf
40
- } from "./chunk-2RCKHCF7.js";
40
+ } from "./chunk-3DHGSHC3.js";
41
41
  import {
42
42
  figureScene
43
- } from "./chunk-R3NPBUKT.js";
43
+ } from "./chunk-YQAZNH37.js";
44
44
  import {
45
45
  encodingStops
46
- } from "./chunk-N4AJV4GH.js";
46
+ } from "./chunk-UVRCXTBY.js";
47
47
  import {
48
48
  THREAD_PX,
49
49
  passesKey,
50
50
  threadsPasses
51
- } from "./chunk-7GDNDQD7.js";
51
+ } from "./chunk-4KBZ7WPP.js";
52
52
  import {
53
53
  rangeText
54
- } from "./chunk-SDDMV2MM.js";
54
+ } from "./chunk-IZKM4NY7.js";
55
55
  import {
56
56
  walkRowLabels
57
57
  } from "./chunk-VCUOYVLC.js";
@@ -60,11 +60,11 @@ import {
60
60
  } from "./chunk-ZANALBSX.js";
61
61
  import {
62
62
  FIGURE_DEFAULTS
63
- } from "./chunk-6MD4VS2F.js";
63
+ } from "./chunk-2MXFG3W7.js";
64
64
  import {
65
65
  FIT_PADDING,
66
66
  fitTransform
67
- } from "./chunk-S3ICPPXC.js";
67
+ } from "./chunk-JVT3XTKN.js";
68
68
  import {
69
69
  LABEL_CHAR_PX,
70
70
  LABEL_PAD,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  polylineSlice
3
- } from "./chunk-YIWN32ZX.js";
3
+ } from "./chunk-HNNP5QUN.js";
4
4
  import {
5
5
  svgPath
6
- } from "./chunk-735MPLUL.js";
6
+ } from "./chunk-JJV2GT2Z.js";
7
7
  import {
8
8
  firstNodeAtOrAfter,
9
9
  isAnchored
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-MYDHU2UV.js";
7
7
  import {
8
8
  readColor
9
- } from "./chunk-J4PDHWP2.js";
9
+ } from "./chunk-KKHXMJEE.js";
10
10
  import {
11
11
  referenceWalkName
12
12
  } from "./chunk-LODKC7PJ.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ownStrand,
3
3
  strandSides
4
- } from "./chunk-735MPLUL.js";
4
+ } from "./chunk-JJV2GT2Z.js";
5
5
  import {
6
6
  pushTo
7
7
  } from "./chunk-BSOZW3FC.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  formatBp
3
- } from "./chunk-6CXLLJ2C.js";
3
+ } from "./chunk-AURNOR27.js";
4
4
  import {
5
5
  pushTo
6
6
  } from "./chunk-BSOZW3FC.js";
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  formatBp,
7
7
  groupDigits
8
- } from "./chunk-6CXLLJ2C.js";
8
+ } from "./chunk-AURNOR27.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-4YPCUVMC.js";
3
+ } from "./chunk-SZYFZNCO.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-OIOAK7BS.js";
13
+ } from "./chunk-NWEVR2OQ.js";
14
14
  import {
15
15
  bubbleSubgraph
16
16
  } from "./chunk-MHZTTLBU.js";
17
17
  import {
18
18
  strandSides
19
- } from "./chunk-735MPLUL.js";
19
+ } from "./chunk-JJV2GT2Z.js";
20
20
  import {
21
21
  pushTo
22
22
  } from "./chunk-BSOZW3FC.js";
@@ -150,21 +150,29 @@ var slideAt = (from, to, along) => ({
150
150
  dx: from.dx + (to.dx - from.dx) * along,
151
151
  dy: from.dy + (to.dy - from.dy) * along
152
152
  });
153
- function slideCurves(curves, from, to) {
154
- return curves.map((c, i) => {
155
- const a = slideAt(from, to, i / curves.length);
156
- const b = slideAt(from, to, (i + 1) / curves.length);
157
- return {
158
- x0: c.x0 + a.dx,
159
- y0: c.y0 + a.dy,
160
- cx0: c.cx0 + a.dx,
161
- cy0: c.cy0 + a.dy,
162
- cx1: c.cx1 + b.dx,
163
- cy1: c.cy1 + b.dy,
164
- x1: c.x1 + b.dx,
165
- y1: c.y1 + b.dy
153
+ function slideCurves(curves, fromDx, fromDy, toDx, toDy) {
154
+ const n = curves.length;
155
+ const out = new Array(n);
156
+ for (let i = 0; i < n; i++) {
157
+ const c = curves[i];
158
+ const a = i / n;
159
+ const b = (i + 1) / n;
160
+ const adx = fromDx + (toDx - fromDx) * a;
161
+ const ady = fromDy + (toDy - fromDy) * a;
162
+ const bdx = fromDx + (toDx - fromDx) * b;
163
+ const bdy = fromDy + (toDy - fromDy) * b;
164
+ out[i] = {
165
+ x0: c.x0 + adx,
166
+ y0: c.y0 + ady,
167
+ cx0: c.cx0 + adx,
168
+ cy0: c.cy0 + ady,
169
+ cx1: c.cx1 + bdx,
170
+ cy1: c.cy1 + bdy,
171
+ x1: c.x1 + bdx,
172
+ y1: c.y1 + bdy
166
173
  };
167
- });
174
+ }
175
+ return out;
168
176
  }
169
177
  function translateCurves(curves, dx, dy) {
170
178
  const out = new Array(curves.length);
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-OPPVSPEF.js";
4
4
  import {
5
5
  orientToReference
6
- } from "./chunk-22ZMVREZ.js";
6
+ } from "./chunk-NAYS472K.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-YIWN32ZX.js";
30
+ } from "./chunk-HNNP5QUN.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-3CXZUC2Y.js";
42
+ } from "./chunk-3GORESBG.js";
43
43
  import {
44
44
  anchorGraph
45
45
  } from "./chunk-3YBP46PB.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-5OJZV6YT.js";
4
4
  import {
5
5
  ownStrand
6
- } from "./chunk-735MPLUL.js";
6
+ } from "./chunk-JJV2GT2Z.js";
7
7
 
8
8
  // src/tubeMap/reads.ts
9
9
  function stepName(node, strand) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ownStrand
3
- } from "./chunk-735MPLUL.js";
3
+ } from "./chunk-JJV2GT2Z.js";
4
4
  import {
5
5
  isBackbone
6
6
  } from "./chunk-RJWPJCIB.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-FX4RDMDN.js";
4
4
  import {
5
5
  formatBp
6
- } from "./chunk-6CXLLJ2C.js";
6
+ } from "./chunk-AURNOR27.js";
7
7
 
8
8
  // src/bubbles/classifyBubble.ts
9
9
  var REPEAT_GROWTH = 10;
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-HMXCN6PG.js";
4
4
  import {
5
5
  edgeCurvesOf
6
- } from "./chunk-3CXZUC2Y.js";
6
+ } from "./chunk-3GORESBG.js";
7
7
 
8
8
  // src/util/edgeCurves.ts
9
9
  var cache = weakMemo();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  tubeSpan
3
- } from "./chunk-XOIYBEU7.js";
3
+ } from "./chunk-I53QYITQ.js";
4
4
 
5
5
  // src/tubeMap/genes.ts
6
6
  function tubeMapGenes(byRefName, genes) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pathSteps
3
- } from "./chunk-G4WQBRDS.js";
3
+ } from "./chunk-BDS5VZYZ.js";
4
4
  import {
5
5
  pathOrigin
6
6
  } from "./chunk-3YBP46PB.js";
@@ -2,7 +2,7 @@ import {
2
2
  LIFT_BACKDROP_CSS,
3
3
  computeColorSchemeRange,
4
4
  getNodeColor
5
- } from "./chunk-2H3ALI6L.js";
5
+ } from "./chunk-53DZE3SA.js";
6
6
  import {
7
7
  abgrToCssRgba
8
8
  } from "./chunk-G2FD7S3C.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  bubbleSegmentIds,
3
3
  classifyBubble
4
- } from "./chunk-OIOAK7BS.js";
4
+ } from "./chunk-NWEVR2OQ.js";
5
5
  import {
6
6
  svgPath
7
- } from "./chunk-735MPLUL.js";
7
+ } from "./chunk-JJV2GT2Z.js";
8
8
  import {
9
9
  isBackbone
10
10
  } from "./chunk-RJWPJCIB.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  nodesUnderBox
3
- } from "./chunk-NHOXLUIL.js";
3
+ } from "./chunk-4JDO7ZLN.js";
4
4
  import {
5
5
  graphLabels,
6
6
  rowLabelBox
7
- } from "./chunk-6CXLLJ2C.js";
7
+ } from "./chunk-AURNOR27.js";
8
8
  import {
9
9
  LABEL_CHAR_PX,
10
10
  LABEL_PAD,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  REFERENCE_RAMP_ALT_COLOR,
3
3
  hslToRgb
4
- } from "./chunk-2H3ALI6L.js";
4
+ } from "./chunk-53DZE3SA.js";
5
5
  import {
6
6
  packAbgr
7
7
  } from "./chunk-G2FD7S3C.js";
@@ -23,6 +23,7 @@ var WALK_SCHEMES = [
23
23
  { value: "red", label: "Yellow to red", ends: ["#ffd24a", "#b3121b"] },
24
24
  { value: "purple", label: "Pink to plum", ends: ["#f5a3d8", "#5e1a6e"] },
25
25
  { value: "green", label: "Lime to forest", ends: ["#b6e36c", "#0b5d3b"] },
26
+ { value: "orange", label: "Peach to rust", ends: ["#ffc285", "#8f3a00"] },
26
27
  { value: "rainbow", label: "Rainbow" }
27
28
  ];
28
29
  var FAMILIES = ["blue", "red", "purple", "green"];
@@ -39,6 +40,34 @@ function resolveEncoding(layer, reference, picked, alone = true) {
39
40
  var TOGETHER_DARKEST = 0.55;
40
41
  var BASE_T = 0.5;
41
42
  var SHADES = [BASE_T, 0.85, 0.2];
43
+ var STRETCH_GAP = 0.08;
44
+ var rampsOn = ({ field, scheme }) => field !== "walk" && scheme !== "rainbow";
45
+ function splitFamilies(encodings) {
46
+ const counts = /* @__PURE__ */ new Map();
47
+ for (const e of encodings) {
48
+ if (rampsOn(e)) {
49
+ counts.set(e.scheme, (counts.get(e.scheme) ?? 0) + 1);
50
+ }
51
+ }
52
+ const seen = /* @__PURE__ */ new Map();
53
+ return encodings.map((e) => {
54
+ const k = rampsOn(e) ? counts.get(e.scheme) : 1;
55
+ if (k < 2) {
56
+ return e;
57
+ }
58
+ const j = seen.get(e.scheme) ?? 0;
59
+ seen.set(e.scheme, j + 1);
60
+ const half = STRETCH_GAP / 2;
61
+ return {
62
+ ...e,
63
+ stretch: [
64
+ j / k + (j > 0 ? half : 0),
65
+ (j + 1) / k - (j < k - 1 ? half : 0)
66
+ ]
67
+ };
68
+ });
69
+ }
70
+ var along = ({ stretch }, t) => stretch ? stretch[0] + (stretch[1] - stretch[0]) * t : t;
42
71
  var toLinear = (c) => c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
43
72
  var toGamma = (c) => c <= 31308e-7 ? c * 12.92 : 1.055 * c ** (1 / 2.4) - 0.055;
44
73
  function oklab(hex) {
@@ -99,22 +128,19 @@ function schemeColor(scheme, t, darkest) {
99
128
  const [r, g, b] = schemeRgb(scheme, t, darkest).map(Math.round);
100
129
  return packAbgr(r, g, b, 255);
101
130
  }
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);
131
+ function encodedColor(encoding, t) {
132
+ const { field, scheme, darkest, shade = BASE_T } = encoding;
133
+ return field === "walk" ? schemeColor(scheme, shade) : t === void 0 ? NO_VALUE_COLOR : schemeColor(scheme, along(encoding, t), darkest);
104
134
  }
105
135
  var NO_VALUE_COLOR = REFERENCE_RAMP_ALT_COLOR;
106
- function encodingStops({
107
- field,
108
- scheme,
109
- darkest,
110
- shade = BASE_T
111
- }) {
136
+ function encodingStops(encoding) {
137
+ const { field, scheme, darkest, shade = BASE_T } = encoding;
112
138
  const stop = (offset, t) => ({
113
139
  offset,
114
140
  color: schemeCss(scheme, t, darkest),
115
141
  abgr: schemeColor(scheme, t, darkest)
116
142
  });
117
- return field === "walk" ? [stop(0, shade)] : Array.from({ length: 7 }, (_, i) => stop(i / 6, i / 6));
143
+ return field === "walk" ? [stop(0, shade)] : Array.from({ length: 7 }, (_, i) => stop(i / 6, along(encoding, i / 6)));
118
144
  }
119
145
  function encodingSwatchCss(encoding) {
120
146
  const stops = encodingStops(encoding);
@@ -125,6 +151,7 @@ export {
125
151
  WALK_FIELDS,
126
152
  WALK_SCHEMES,
127
153
  resolveEncoding,
154
+ splitFamilies,
128
155
  schemeRgb,
129
156
  schemeCss,
130
157
  schemeColor,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pathSteps
3
- } from "./chunk-G4WQBRDS.js";
3
+ } from "./chunk-BDS5VZYZ.js";
4
4
  import {
5
5
  pathOrigin
6
6
  } from "./chunk-3YBP46PB.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  groupDigits
3
- } from "./chunk-6CXLLJ2C.js";
3
+ } from "./chunk-AURNOR27.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-YF6T33PU.js";
7
+ } from "./chunk-54C73ICS.js";
8
8
  import {
9
9
  buildGeometry,
10
10
  computeReferenceRamp
11
- } from "./chunk-2H3ALI6L.js";
11
+ } from "./chunk-53DZE3SA.js";
12
12
  import {
13
13
  walkKey
14
- } from "./chunk-SDDMV2MM.js";
14
+ } from "./chunk-IZKM4NY7.js";
15
15
  import {
16
16
  walkRowsExtent
17
17
  } from "./chunk-VCUOYVLC.js";
18
18
  import {
19
19
  pathLegend,
20
20
  walkLabelsOf
21
- } from "./chunk-JKIAHYAW.js";
21
+ } from "./chunk-VQ353UDK.js";
22
22
  import {
23
23
  FIGURE_DEFAULTS
24
- } from "./chunk-6MD4VS2F.js";
24
+ } from "./chunk-2MXFG3W7.js";
25
25
  import {
26
26
  drawingBounds
27
- } from "./chunk-S3ICPPXC.js";
27
+ } from "./chunk-JVT3XTKN.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-3CXZUC2Y.js";
37
+ } from "./chunk-3GORESBG.js";
38
38
  import {
39
39
  facetCells,
40
40
  facetSettingOf
@@ -8,33 +8,33 @@ import {
8
8
  import "../chunks/chunk-EQDQ7P4Y.js";
9
9
  import {
10
10
  figureSvg
11
- } from "../chunks/chunk-MO4DIRHD.js";
12
- import "../chunks/chunk-4OVIUCSB.js";
11
+ } from "../chunks/chunk-CHGTUO3C.js";
12
+ import "../chunks/chunk-77O67GIB.js";
13
13
  import "../chunks/chunk-4DMSPNYV.js";
14
14
  import "../chunks/chunk-RBCE2OQH.js";
15
15
  import "../chunks/chunk-V4YML3GR.js";
16
16
  import {
17
17
  genesOnRow,
18
18
  placeRowGenes
19
- } from "../chunks/chunk-LA6JHEVV.js";
19
+ } from "../chunks/chunk-ALOF5SOT.js";
20
20
  import "../chunks/chunk-JSUCGZ6K.js";
21
- import "../chunks/chunk-G3GLGDKV.js";
22
- import "../chunks/chunk-NHOXLUIL.js";
23
- import "../chunks/chunk-7PEYA3NA.js";
21
+ import "../chunks/chunk-TQ26XEFL.js";
22
+ import "../chunks/chunk-4JDO7ZLN.js";
23
+ import "../chunks/chunk-7YSIP3O2.js";
24
24
  import "../chunks/chunk-H2H4Y3TV.js";
25
25
  import {
26
26
  laidOutGraph,
27
27
  walkLayers
28
- } from "../chunks/chunk-U6JPSXJ3.js";
28
+ } from "../chunks/chunk-55DRWHBF.js";
29
29
  import {
30
30
  LAYOUT_ENGINE_VALUES,
31
31
  isLayoutEngineKind
32
32
  } from "../chunks/chunk-CO6RGQAD.js";
33
33
  import {
34
34
  LAYOUT_MODES
35
- } from "../chunks/chunk-3XYLEK4H.js";
36
- import "../chunks/chunk-G4WQBRDS.js";
37
- import "../chunks/chunk-J4PDHWP2.js";
35
+ } from "../chunks/chunk-ARXDNQLF.js";
36
+ import "../chunks/chunk-BDS5VZYZ.js";
37
+ import "../chunks/chunk-KKHXMJEE.js";
38
38
  import "../chunks/chunk-XR2HMGAS.js";
39
39
  import "../chunks/chunk-GJLZ2MKE.js";
40
40
  import "../chunks/chunk-MYLAJDKB.js";
@@ -50,31 +50,31 @@ import {
50
50
  } from "../chunks/chunk-FNDNSDKW.js";
51
51
  import "../chunks/chunk-ZKSC7QVE.js";
52
52
  import "../chunks/chunk-HNWJ4B7S.js";
53
- import "../chunks/chunk-X5ULFAMM.js";
54
- import "../chunks/chunk-L2RQV23D.js";
55
- import "../chunks/chunk-2RCKHCF7.js";
56
- import "../chunks/chunk-R3NPBUKT.js";
53
+ import "../chunks/chunk-HEYIAMTC.js";
54
+ import "../chunks/chunk-2NCZ5YYN.js";
55
+ import "../chunks/chunk-3DHGSHC3.js";
56
+ import "../chunks/chunk-YQAZNH37.js";
57
57
  import "../chunks/chunk-LOCJN3BZ.js";
58
- import "../chunks/chunk-YF6T33PU.js";
59
- import "../chunks/chunk-N4AJV4GH.js";
60
- import "../chunks/chunk-2H3ALI6L.js";
61
- import "../chunks/chunk-7GDNDQD7.js";
58
+ import "../chunks/chunk-54C73ICS.js";
59
+ import "../chunks/chunk-UVRCXTBY.js";
60
+ import "../chunks/chunk-53DZE3SA.js";
61
+ import "../chunks/chunk-4KBZ7WPP.js";
62
62
  import "../chunks/chunk-G2FD7S3C.js";
63
- import "../chunks/chunk-SDDMV2MM.js";
63
+ import "../chunks/chunk-IZKM4NY7.js";
64
64
  import "../chunks/chunk-GQZVR5DW.js";
65
- import "../chunks/chunk-VSRRIFRF.js";
65
+ import "../chunks/chunk-P2GJBFNA.js";
66
66
  import "../chunks/chunk-VCUOYVLC.js";
67
67
  import {
68
68
  filterSamples,
69
69
  walkRows
70
70
  } from "../chunks/chunk-C3KAPREU.js";
71
71
  import "../chunks/chunk-LODKC7PJ.js";
72
- import "../chunks/chunk-JKIAHYAW.js";
72
+ import "../chunks/chunk-VQ353UDK.js";
73
73
  import "../chunks/chunk-ZANALBSX.js";
74
- import "../chunks/chunk-6MD4VS2F.js";
75
- import "../chunks/chunk-S3ICPPXC.js";
74
+ import "../chunks/chunk-2MXFG3W7.js";
75
+ import "../chunks/chunk-JVT3XTKN.js";
76
76
  import "../chunks/chunk-OPPVSPEF.js";
77
- import "../chunks/chunk-22ZMVREZ.js";
77
+ import "../chunks/chunk-NAYS472K.js";
78
78
  import "../chunks/chunk-CKUVEHSS.js";
79
79
  import "../chunks/chunk-VPE4AYP7.js";
80
80
  import "../chunks/chunk-TUMJNAOL.js";
@@ -85,17 +85,17 @@ import "../chunks/chunk-VX656OAZ.js";
85
85
  import "../chunks/chunk-5ORP7EFJ.js";
86
86
  import "../chunks/chunk-VSSIYQYF.js";
87
87
  import "../chunks/chunk-LG2UK4MB.js";
88
- import "../chunks/chunk-6CXLLJ2C.js";
88
+ import "../chunks/chunk-AURNOR27.js";
89
89
  import "../chunks/chunk-HMXCN6PG.js";
90
90
  import "../chunks/chunk-AB35TJST.js";
91
- import "../chunks/chunk-YIWN32ZX.js";
91
+ import "../chunks/chunk-HNNP5QUN.js";
92
92
  import "../chunks/chunk-HKYXWZQS.js";
93
93
  import "../chunks/chunk-34BOZKIE.js";
94
94
  import "../chunks/chunk-JKJWSY4V.js";
95
- import "../chunks/chunk-3CXZUC2Y.js";
95
+ import "../chunks/chunk-3GORESBG.js";
96
96
  import "../chunks/chunk-TLWXLNLY.js";
97
97
  import "../chunks/chunk-3YBP46PB.js";
98
- import "../chunks/chunk-735MPLUL.js";
98
+ import "../chunks/chunk-JJV2GT2Z.js";
99
99
  import "../chunks/chunk-CPMHA4W5.js";
100
100
  import "../chunks/chunk-ZPZ7GNBT.js";
101
101
  import "../chunks/chunk-BSOZW3FC.js";