@jbrowse/bandage-core 6.1.1 → 7.0.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 (67) hide show
  1. package/dist/chunks/{chunk-GOY6REMT.js → chunk-2LQ5BWT7.js} +1 -1
  2. package/dist/chunks/{chunk-N62KBLFC.js → chunk-3ZZSX5HN.js} +1 -1
  3. package/dist/chunks/{chunk-R6ZUK4Y3.js → chunk-4FQTTG5F.js} +1 -1
  4. package/dist/chunks/{chunk-7UIMNBJT.js → chunk-6UFS3EWI.js} +6 -5
  5. package/dist/chunks/{chunk-OSDI57GY.js → chunk-7PWMTUAK.js} +27 -24
  6. package/dist/chunks/{chunk-XJWN753L.js → chunk-AWCMVPVP.js} +1 -1
  7. package/dist/chunks/{chunk-ZZA2AFB4.js → chunk-CNQSHEBS.js} +1 -1
  8. package/dist/chunks/{chunk-CS3E4ETM.js → chunk-DRA7733Q.js} +1 -1
  9. package/dist/chunks/{chunk-X5L37W4J.js → chunk-E7FWQQHP.js} +1 -1
  10. package/dist/chunks/{chunk-XH43CLO2.js → chunk-EOSVRILX.js} +1 -1
  11. package/dist/chunks/{chunk-SMQ545MU.js → chunk-EXSXBIMH.js} +1 -1
  12. package/dist/chunks/{chunk-YMSSF2RK.js → chunk-FP4H7SFT.js} +1 -1
  13. package/dist/chunks/{chunk-DKOB2OPC.js → chunk-GJMC3PGM.js} +3 -3
  14. package/dist/chunks/{chunk-PJESIRDU.js → chunk-JFNPL4UT.js} +2 -2
  15. package/dist/chunks/chunk-L53SXJZI.js +22 -0
  16. package/dist/chunks/{chunk-ZKGM7VLA.js → chunk-MH5IA57M.js} +1 -1
  17. package/dist/chunks/{chunk-MREQ7GIA.js → chunk-MLSWIMZO.js} +1 -1
  18. package/dist/chunks/{chunk-V5BPIOLS.js → chunk-MZ7QQRUJ.js} +1 -1
  19. package/dist/chunks/{chunk-4EMPBO7S.js → chunk-N6FECAXP.js} +51 -1
  20. package/dist/chunks/chunk-O4TGF4WS.js +503 -0
  21. package/dist/chunks/{chunk-CTSBC2O6.js → chunk-OWFPAIJI.js} +1 -1
  22. package/dist/chunks/{chunk-X4VVPLI5.js → chunk-TQ7VCGJR.js} +1 -1
  23. package/dist/chunks/{chunk-ZHCDYSA5.js → chunk-VECR253P.js} +1 -1
  24. package/dist/chunks/{chunk-RX5CSWJW.js → chunk-VST5SR4C.js} +6 -6
  25. package/dist/chunks/{chunk-T43W7NKK.js → chunk-WEMKWLDF.js} +1 -1
  26. package/dist/chunks/{chunk-Y3IOTZJA.js → chunk-WFB5TXRA.js} +1 -1
  27. package/dist/chunks/{chunk-STNG3Y5X.js → chunk-YZ5CCEDH.js} +0 -30
  28. package/dist/cli/figure.js +33 -36
  29. package/dist/deletionEdges.js +5 -1
  30. package/dist/figure.js +22 -22
  31. package/dist/graphLabels.js +2 -2
  32. package/dist/index.js +59 -47
  33. package/dist/labelLayout.js +6 -6
  34. package/dist/layout/deletionRoutes.js +1 -3
  35. package/dist/layout/stressEngine.js +11 -0
  36. package/dist/layout/tubeMapLayout.js +4 -4
  37. package/dist/layout/walkRowDraw.js +9 -9
  38. package/dist/layout/walkStrip.js +10 -10
  39. package/dist/layoutEngines.js +9 -0
  40. package/dist/layoutModes.js +7 -7
  41. package/dist/pathColors.js +3 -3
  42. package/dist/pipeline.js +4 -4
  43. package/dist/referenceRampCss.js +8 -8
  44. package/dist/referenceStrip.js +8 -8
  45. package/dist/renderer/GeometryBuilder.js +7 -7
  46. package/dist/tubeMap/axis.js +3 -3
  47. package/dist/tubeMap/coarsen.js +4 -4
  48. package/dist/tubeMap/genes.js +4 -4
  49. package/dist/tubeMap/nodeColors.js +8 -8
  50. package/dist/types/cli/figure.d.ts +2 -0
  51. package/dist/types/deletionEdges.d.ts +7 -0
  52. package/dist/types/index.d.ts +5 -2
  53. package/dist/types/labelLayout.d.ts +0 -1
  54. package/dist/types/layout/deletionRoutes.d.ts +0 -1
  55. package/dist/types/layout/stressEngine.d.ts +19 -0
  56. package/dist/types/layoutEngines.d.ts +2 -0
  57. package/dist/types/pipeline.d.ts +2 -0
  58. package/dist/types/version.d.ts +1 -1
  59. package/dist/util/SpatialIndex.js +3 -3
  60. package/dist/util/edgeCurves.js +2 -2
  61. package/dist/util/hitDetection.js +4 -4
  62. package/dist/version.js +1 -1
  63. package/dist/viewport.js +5 -5
  64. package/dist/walkEncoding.js +8 -8
  65. package/dist/walkHighlight.js +9 -9
  66. package/dist/walkKey.js +3 -3
  67. package/package.json +1 -1
@@ -4,24 +4,24 @@ import {
4
4
  LAYOUT_MODE_VALUES,
5
5
  layoutModeByValue,
6
6
  modeUsesLayoutEngine
7
- } from "./chunks/chunk-T43W7NKK.js";
8
- import "./chunks/chunk-R6ZUK4Y3.js";
7
+ } from "./chunks/chunk-WEMKWLDF.js";
8
+ import "./chunks/chunk-4FQTTG5F.js";
9
9
  import "./chunks/chunk-TEDQJPMI.js";
10
10
  import "./chunks/chunk-LOEA5IHZ.js";
11
11
  import "./chunks/chunk-L3O7AWLI.js";
12
12
  import "./chunks/chunk-TZFWUT2C.js";
13
+ import "./chunks/chunk-RVS2QCOX.js";
13
14
  import "./chunks/chunk-HNQPEMYE.js";
14
15
  import "./chunks/chunk-C44YRP5F.js";
15
- import "./chunks/chunk-RVS2QCOX.js";
16
16
  import "./chunks/chunk-EZPBJPK6.js";
17
17
  import "./chunks/chunk-SZNZ2T6D.js";
18
- import "./chunks/chunk-X5L37W4J.js";
19
- import "./chunks/chunk-ST2IBUAN.js";
18
+ import "./chunks/chunk-E7FWQQHP.js";
20
19
  import "./chunks/chunk-ES2N6V56.js";
21
- import "./chunks/chunk-N62KBLFC.js";
20
+ import "./chunks/chunk-ST2IBUAN.js";
21
+ import "./chunks/chunk-3ZZSX5HN.js";
22
22
  import "./chunks/chunk-AB35TJST.js";
23
23
  import "./chunks/chunk-TAMCZHLW.js";
24
- import "./chunks/chunk-4EMPBO7S.js";
24
+ import "./chunks/chunk-N6FECAXP.js";
25
25
  import "./chunks/chunk-2CVHXFK7.js";
26
26
  import "./chunks/chunk-CPMHA4W5.js";
27
27
  import "./chunks/chunk-BPLIXMH7.js";
@@ -8,12 +8,12 @@ import {
8
8
  pathGreyCssColor,
9
9
  pathHueAt,
10
10
  pathLegend
11
- } from "./chunks/chunk-X5L37W4J.js";
11
+ } from "./chunks/chunk-E7FWQQHP.js";
12
12
  import "./chunks/chunk-ST2IBUAN.js";
13
- import "./chunks/chunk-N62KBLFC.js";
13
+ import "./chunks/chunk-3ZZSX5HN.js";
14
14
  import "./chunks/chunk-AB35TJST.js";
15
15
  import "./chunks/chunk-TAMCZHLW.js";
16
- import "./chunks/chunk-4EMPBO7S.js";
16
+ import "./chunks/chunk-N6FECAXP.js";
17
17
  import "./chunks/chunk-2CVHXFK7.js";
18
18
  import "./chunks/chunk-CPMHA4W5.js";
19
19
  import "./chunks/chunk-BPLIXMH7.js";
package/dist/pipeline.js CHANGED
@@ -9,19 +9,19 @@ import {
9
9
  forceLayout,
10
10
  layoutExtent,
11
11
  loadGraph
12
- } from "./chunks/chunk-7UIMNBJT.js";
12
+ } from "./chunks/chunk-6UFS3EWI.js";
13
13
  import "./chunks/chunk-PUG7LXDF.js";
14
14
  import "./chunks/chunk-IGVV37VI.js";
15
15
  import "./chunks/chunk-72N5DJHZ.js";
16
16
  import "./chunks/chunk-QYBZZI5H.js";
17
17
  import "./chunks/chunk-CDLPYR5O.js";
18
- import "./chunks/chunk-STNG3Y5X.js";
19
- import "./chunks/chunk-ST2IBUAN.js";
18
+ import "./chunks/chunk-YZ5CCEDH.js";
20
19
  import "./chunks/chunk-ES2N6V56.js";
20
+ import "./chunks/chunk-ST2IBUAN.js";
21
21
  import "./chunks/chunk-TAMCZHLW.js";
22
22
  import "./chunks/chunk-UVBGRJQX.js";
23
23
  import "./chunks/chunk-6JEWNXCQ.js";
24
- import "./chunks/chunk-4EMPBO7S.js";
24
+ import "./chunks/chunk-N6FECAXP.js";
25
25
  import "./chunks/chunk-2CVHXFK7.js";
26
26
  import "./chunks/chunk-CPMHA4W5.js";
27
27
  import "./chunks/chunk-BPLIXMH7.js";
@@ -4,18 +4,18 @@ import {
4
4
  rampHue,
5
5
  rampHueCss,
6
6
  rampStops
7
- } from "./chunks/chunk-ZHCDYSA5.js";
8
- import "./chunks/chunk-RX5CSWJW.js";
7
+ } from "./chunks/chunk-VECR253P.js";
8
+ import "./chunks/chunk-VST5SR4C.js";
9
9
  import "./chunks/chunk-UMNCCYBN.js";
10
- import "./chunks/chunk-Y3IOTZJA.js";
11
- import "./chunks/chunk-X5L37W4J.js";
12
- import "./chunks/chunk-ST2IBUAN.js";
10
+ import "./chunks/chunk-PBENCR5L.js";
11
+ import "./chunks/chunk-WFB5TXRA.js";
12
+ import "./chunks/chunk-E7FWQQHP.js";
13
13
  import "./chunks/chunk-ES2N6V56.js";
14
- import "./chunks/chunk-N62KBLFC.js";
14
+ import "./chunks/chunk-ST2IBUAN.js";
15
+ import "./chunks/chunk-3ZZSX5HN.js";
15
16
  import "./chunks/chunk-AB35TJST.js";
16
17
  import "./chunks/chunk-TAMCZHLW.js";
17
- import "./chunks/chunk-PBENCR5L.js";
18
- import "./chunks/chunk-4EMPBO7S.js";
18
+ import "./chunks/chunk-N6FECAXP.js";
19
19
  import "./chunks/chunk-2CVHXFK7.js";
20
20
  import "./chunks/chunk-CPMHA4W5.js";
21
21
  import "./chunks/chunk-BPLIXMH7.js";
@@ -7,18 +7,18 @@ import {
7
7
  stripBlockAt,
8
8
  stripOverhang,
9
9
  stripPixels
10
- } from "./chunks/chunk-SMQ545MU.js";
11
- import "./chunks/chunk-RX5CSWJW.js";
10
+ } from "./chunks/chunk-EXSXBIMH.js";
11
+ import "./chunks/chunk-VST5SR4C.js";
12
12
  import "./chunks/chunk-UMNCCYBN.js";
13
- import "./chunks/chunk-Y3IOTZJA.js";
14
- import "./chunks/chunk-X5L37W4J.js";
15
- import "./chunks/chunk-ST2IBUAN.js";
13
+ import "./chunks/chunk-PBENCR5L.js";
14
+ import "./chunks/chunk-WFB5TXRA.js";
15
+ import "./chunks/chunk-E7FWQQHP.js";
16
16
  import "./chunks/chunk-ES2N6V56.js";
17
- import "./chunks/chunk-N62KBLFC.js";
17
+ import "./chunks/chunk-ST2IBUAN.js";
18
+ import "./chunks/chunk-3ZZSX5HN.js";
18
19
  import "./chunks/chunk-AB35TJST.js";
19
20
  import "./chunks/chunk-TAMCZHLW.js";
20
- import "./chunks/chunk-PBENCR5L.js";
21
- import "./chunks/chunk-4EMPBO7S.js";
21
+ import "./chunks/chunk-N6FECAXP.js";
22
22
  import "./chunks/chunk-2CVHXFK7.js";
23
23
  import "./chunks/chunk-CPMHA4W5.js";
24
24
  import "./chunks/chunk-BPLIXMH7.js";
@@ -11,17 +11,17 @@ import {
11
11
  endTangent,
12
12
  getNodeColor,
13
13
  hslToRgb
14
- } from "../chunks/chunk-RX5CSWJW.js";
14
+ } from "../chunks/chunk-VST5SR4C.js";
15
15
  import "../chunks/chunk-UMNCCYBN.js";
16
- import "../chunks/chunk-Y3IOTZJA.js";
17
- import "../chunks/chunk-X5L37W4J.js";
18
- import "../chunks/chunk-ST2IBUAN.js";
16
+ import "../chunks/chunk-PBENCR5L.js";
17
+ import "../chunks/chunk-WFB5TXRA.js";
18
+ import "../chunks/chunk-E7FWQQHP.js";
19
19
  import "../chunks/chunk-ES2N6V56.js";
20
- import "../chunks/chunk-N62KBLFC.js";
20
+ import "../chunks/chunk-ST2IBUAN.js";
21
+ import "../chunks/chunk-3ZZSX5HN.js";
21
22
  import "../chunks/chunk-AB35TJST.js";
22
23
  import "../chunks/chunk-TAMCZHLW.js";
23
- import "../chunks/chunk-PBENCR5L.js";
24
- import "../chunks/chunk-4EMPBO7S.js";
24
+ import "../chunks/chunk-N6FECAXP.js";
25
25
  import "../chunks/chunk-2CVHXFK7.js";
26
26
  import "../chunks/chunk-CPMHA4W5.js";
27
27
  import "../chunks/chunk-BPLIXMH7.js";
@@ -6,11 +6,11 @@ import {
6
6
  rulerMarks,
7
7
  tubeSpan,
8
8
  tubeX
9
- } from "../chunks/chunk-CS3E4ETM.js";
10
- import "../chunks/chunk-N62KBLFC.js";
9
+ } from "../chunks/chunk-DRA7733Q.js";
10
+ import "../chunks/chunk-3ZZSX5HN.js";
11
11
  import "../chunks/chunk-AB35TJST.js";
12
12
  import "../chunks/chunk-TAMCZHLW.js";
13
- import "../chunks/chunk-4EMPBO7S.js";
13
+ import "../chunks/chunk-N6FECAXP.js";
14
14
  import "../chunks/chunk-2CVHXFK7.js";
15
15
  import "../chunks/chunk-CPMHA4W5.js";
16
16
  import "../chunks/chunk-FYQWPEEY.js";
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  visitStrands
3
- } from "../chunks/chunk-R6ZUK4Y3.js";
3
+ } from "../chunks/chunk-4FQTTG5F.js";
4
4
  import {
5
5
  canonicalStrand
6
6
  } from "../chunks/chunk-TEDQJPMI.js";
7
7
  import "../chunks/chunk-C44YRP5F.js";
8
- import "../chunks/chunk-X5L37W4J.js";
8
+ import "../chunks/chunk-E7FWQQHP.js";
9
9
  import {
10
10
  pathOrigin
11
11
  } from "../chunks/chunk-ST2IBUAN.js";
12
- import "../chunks/chunk-N62KBLFC.js";
12
+ import "../chunks/chunk-3ZZSX5HN.js";
13
13
  import "../chunks/chunk-AB35TJST.js";
14
14
  import "../chunks/chunk-TAMCZHLW.js";
15
- import "../chunks/chunk-4EMPBO7S.js";
15
+ import "../chunks/chunk-N6FECAXP.js";
16
16
  import "../chunks/chunk-2CVHXFK7.js";
17
17
  import "../chunks/chunk-CPMHA4W5.js";
18
18
  import "../chunks/chunk-BPLIXMH7.js";
@@ -3,12 +3,12 @@ import {
3
3
  drawTubeMapGenes,
4
4
  tubeMapGeneRows,
5
5
  tubeMapGenes
6
- } from "../chunks/chunk-CTSBC2O6.js";
7
- import "../chunks/chunk-CS3E4ETM.js";
8
- import "../chunks/chunk-N62KBLFC.js";
6
+ } from "../chunks/chunk-OWFPAIJI.js";
7
+ import "../chunks/chunk-DRA7733Q.js";
8
+ import "../chunks/chunk-3ZZSX5HN.js";
9
9
  import "../chunks/chunk-AB35TJST.js";
10
10
  import "../chunks/chunk-TAMCZHLW.js";
11
- import "../chunks/chunk-4EMPBO7S.js";
11
+ import "../chunks/chunk-N6FECAXP.js";
12
12
  import "../chunks/chunk-2CVHXFK7.js";
13
13
  import "../chunks/chunk-CPMHA4W5.js";
14
14
  import "../chunks/chunk-FYQWPEEY.js";
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  tubeMapNodeColors
3
- } from "../chunks/chunk-ZZA2AFB4.js";
4
- import "../chunks/chunk-RX5CSWJW.js";
3
+ } from "../chunks/chunk-CNQSHEBS.js";
4
+ import "../chunks/chunk-VST5SR4C.js";
5
5
  import "../chunks/chunk-UMNCCYBN.js";
6
- import "../chunks/chunk-Y3IOTZJA.js";
7
- import "../chunks/chunk-X5L37W4J.js";
8
- import "../chunks/chunk-ST2IBUAN.js";
6
+ import "../chunks/chunk-PBENCR5L.js";
7
+ import "../chunks/chunk-WFB5TXRA.js";
8
+ import "../chunks/chunk-E7FWQQHP.js";
9
9
  import "../chunks/chunk-ES2N6V56.js";
10
- import "../chunks/chunk-N62KBLFC.js";
10
+ import "../chunks/chunk-ST2IBUAN.js";
11
+ import "../chunks/chunk-3ZZSX5HN.js";
11
12
  import "../chunks/chunk-AB35TJST.js";
12
13
  import "../chunks/chunk-TAMCZHLW.js";
13
- import "../chunks/chunk-PBENCR5L.js";
14
- import "../chunks/chunk-4EMPBO7S.js";
14
+ import "../chunks/chunk-N6FECAXP.js";
15
15
  import "../chunks/chunk-2CVHXFK7.js";
16
16
  import "../chunks/chunk-CPMHA4W5.js";
17
17
  import "../chunks/chunk-BPLIXMH7.js";
@@ -1,6 +1,7 @@
1
1
  import type { BubbleSpread } from '../bubbleSpreads.js';
2
2
  import type { FigureOptions } from '../figure.js';
3
3
  import type { GbzSource } from '../gbzCut.js';
4
+ import type { LayoutEngineKind } from '../layout/stressEngine.js';
4
5
  import type { LayoutModeValue } from '../layoutModes.js';
5
6
  import type { WalkLayer } from '../walkEncoding.js';
6
7
  export interface FigureSpec extends Omit<FigureOptions, 'walks' | 'region' | 'genes' | 'spec' | 'walkStrip'> {
@@ -11,6 +12,7 @@ export interface FigureSpec extends Omit<FigureOptions, 'walks' | 'region' | 'ge
11
12
  layout?: LayoutModeValue;
12
13
  quality?: number;
13
14
  bubbleSpread?: BubbleSpread;
15
+ engine?: LayoutEngineKind;
14
16
  spacing?: number;
15
17
  componentSeparation?: number;
16
18
  walks?: (string | WalkLayer)[];
@@ -24,3 +24,10 @@ export declare function deletionArcCurves(nodePositions: Record<string, {
24
24
  y: number;
25
25
  }[]>, deletion: DeletionEdge, axis: AxisScale, route?: NodeSegment[], stranded?: boolean): import("./util/geometry.js").BezierCurve[] | undefined;
26
26
  export declare function deletionEdges(graph: Graph): DeletionEdge[];
27
+ export declare function closableDeletions(graph: Graph, deletions: DeletionEdge[]): Set<number>;
28
+ export interface DeletionDrawing {
29
+ shown: DeletionEdge[];
30
+ bypassed: Map<number, string[]>;
31
+ hidden: ReadonlySet<number>;
32
+ }
33
+ export declare function deletionDrawing(graph: Graph, deletions: DeletionEdge[], show?: boolean): DeletionDrawing;
@@ -8,6 +8,9 @@ export { NODE_WIDTHS, maxNodeWidthPx, meanDepth, nodeInk, nodeWidthPx, } from '.
8
8
  export type { NodeWidth } from './nodeWidths.js';
9
9
  export { BUBBLE_SPREADS } from './bubbleSpreads.js';
10
10
  export type { BubbleSpread } from './bubbleSpreads.js';
11
+ export { LAYOUT_ENGINES, stressLayout } from './layout/stressEngine.js';
12
+ export type { LayoutEngineKind } from './layout/stressEngine.js';
13
+ export { layoutEngine } from './layoutEngines.js';
11
14
  export { REFERENCE_RAMP_MAX_HUE, buildGeometry, computeReferenceRamp, } from './renderer/GeometryBuilder.js';
12
15
  export { Canvas2DRenderer } from './renderer/Canvas2DRenderer.js';
13
16
  export { getDpr } from './renderer/canvas.js';
@@ -31,8 +34,8 @@ export type { TubeMapGene } from './tubeMap/genes.js';
31
34
  export { connectorAt, drawTubeMapConnectors, referenceNodes, tubeMapConnectors, } from './tubeMap/connectors.js';
32
35
  export type { Connector, ReferenceNode } from './tubeMap/connectors.js';
33
36
  export type { TubeMapColumn, TubeMapDrawing } from './layout/tubeMapLayout.js';
34
- export { deletionEdges } from './deletionEdges.js';
35
- export type { DeletionEdge } from './deletionEdges.js';
37
+ export { deletionDrawing, deletionEdges } from './deletionEdges.js';
38
+ export type { DeletionDrawing, DeletionEdge } from './deletionEdges.js';
36
39
  export { facetLifts, walkHighlight, walkLift } from './walkHighlight.js';
37
40
  export { rangeText, walkKey, walkPosition } from './walkKey.js';
38
41
  export { figureSvg } from './figure.js';
@@ -32,7 +32,6 @@ export interface LabelLayoutSource {
32
32
  nodePositions?: Record<string, NodeSegment[]>;
33
33
  labelsNodeSizes: boolean;
34
34
  nodeLengths: Map<string, number>;
35
- showDeletionEdges: boolean;
36
35
  deletions: DeletionEdge[];
37
36
  deletionRoutes?: DeletionRoutes;
38
37
  stranded?: boolean;
@@ -22,7 +22,6 @@ export declare function withDeletionRoutes(graph: Graph, deletions: DeletionEdge
22
22
  routes: Map<number, string>;
23
23
  ids: Set<string>;
24
24
  };
25
- export declare function closableDeletions(graph: Graph, deletions: DeletionEdge[]): Set<number>;
26
25
  export declare function routeNodes(graph: Graph, deletions: DeletionEdge[], routes: Map<number, string>, drawnOf: (bp: number) => number, opts: BandageScaleOpts): GraphNode[];
27
26
  export declare function takeRoutes(positions: Record<string, NodeSegment[]>, routes: Map<number, string>): {
28
27
  nodePositions: {
@@ -0,0 +1,19 @@
1
+ import type { EngineRequest } from '../pipeline.js';
2
+ import type { LayoutResult } from '../types.js';
3
+ export declare const LAYOUT_ENGINES: readonly [{
4
+ readonly value: "fmmm";
5
+ readonly label: "Bandage (FMMM)";
6
+ readonly description: "Bandage's force-directed layout: OGDF's fast multipole multilevel method, compiled to wasm.";
7
+ }, {
8
+ readonly value: "stress";
9
+ readonly label: "Stress (experimental)";
10
+ readonly description: "Stress layout by stochastic gradient descent in plain JS: distances along the graph become distances on the page, so the reference reads straight and a repeat loop reads as a ring.";
11
+ }];
12
+ export type LayoutEngineKind = (typeof LAYOUT_ENGINES)[number]['value'];
13
+ export declare const LAYOUT_ENGINE_VALUES: ("fmmm" | "stress")[];
14
+ export interface StressOptions {
15
+ quality?: number;
16
+ seed?: number;
17
+ componentSeparation?: number;
18
+ }
19
+ export declare function stressLayout(request: EngineRequest, opts?: StressOptions): LayoutResult;
@@ -0,0 +1,2 @@
1
+ import type { LayoutEngine } from './pipeline.js';
2
+ export declare const layoutEngine: LayoutEngine;
@@ -1,6 +1,7 @@
1
1
  import type { BubbleSpread } from './bubbleSpreads.js';
2
2
  import type { LayoutScaling } from './layout/drawnScale.js';
3
3
  import type { LayoutNode } from './layout/referenceSeeds.js';
4
+ import type { LayoutEngineKind } from './layout/stressEngine.js';
4
5
  import type { Graph, LayoutResult, NodeSegment } from './types.js';
5
6
  export interface Bounds {
6
7
  minX: number;
@@ -30,6 +31,7 @@ export interface EngineSettings {
30
31
  spacing?: number;
31
32
  componentSeparation?: number;
32
33
  showDeletionEdges?: boolean;
34
+ engine?: LayoutEngineKind;
33
35
  }
34
36
  export declare function engineRequest(graph: Graph, scaling: LayoutScaling, settings: EngineSettings): EngineRequest;
35
37
  export declare function engineKey(graph: Graph, settings: EngineSettings): string;
@@ -1 +1 @@
1
- export declare const version = "6.1.1";
1
+ export declare const version = "7.0.0";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  EdgeSpatialIndex,
3
3
  SpatialIndex
4
- } from "../chunks/chunk-MREQ7GIA.js";
5
- import "../chunks/chunk-Y3IOTZJA.js";
6
- import "../chunks/chunk-4EMPBO7S.js";
4
+ } from "../chunks/chunk-MLSWIMZO.js";
5
+ import "../chunks/chunk-WFB5TXRA.js";
6
+ import "../chunks/chunk-N6FECAXP.js";
7
7
  import "../chunks/chunk-2CVHXFK7.js";
8
8
  import "../chunks/chunk-CPMHA4W5.js";
9
9
  import "../chunks/chunk-FYQWPEEY.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  baseEdgeCurves
3
- } from "../chunks/chunk-Y3IOTZJA.js";
4
- import "../chunks/chunk-4EMPBO7S.js";
3
+ } from "../chunks/chunk-WFB5TXRA.js";
4
+ import "../chunks/chunk-N6FECAXP.js";
5
5
  import "../chunks/chunk-2CVHXFK7.js";
6
6
  import "../chunks/chunk-CPMHA4W5.js";
7
7
  import "../chunks/chunk-FYQWPEEY.js";
@@ -4,10 +4,10 @@ import {
4
4
  findHoveredEdge,
5
5
  findHoveredNode,
6
6
  nodesUnderBox
7
- } from "../chunks/chunk-YMSSF2RK.js";
8
- import "../chunks/chunk-MREQ7GIA.js";
9
- import "../chunks/chunk-Y3IOTZJA.js";
10
- import "../chunks/chunk-4EMPBO7S.js";
7
+ } from "../chunks/chunk-FP4H7SFT.js";
8
+ import "../chunks/chunk-MLSWIMZO.js";
9
+ import "../chunks/chunk-WFB5TXRA.js";
10
+ import "../chunks/chunk-N6FECAXP.js";
11
11
  import "../chunks/chunk-2CVHXFK7.js";
12
12
  import "../chunks/chunk-CPMHA4W5.js";
13
13
  import "../chunks/chunk-FYQWPEEY.js";
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  version
3
- } from "./chunks/chunk-XH43CLO2.js";
3
+ } from "./chunks/chunk-EOSVRILX.js";
4
4
  export {
5
5
  version
6
6
  };
package/dist/viewport.js CHANGED
@@ -5,20 +5,20 @@ import {
5
5
  screenToLayout,
6
6
  viewportOf,
7
7
  zoomAbout
8
- } from "./chunks/chunk-XJWN753L.js";
9
- import "./chunks/chunk-7UIMNBJT.js";
8
+ } from "./chunks/chunk-AWCMVPVP.js";
9
+ import "./chunks/chunk-6UFS3EWI.js";
10
10
  import "./chunks/chunk-PUG7LXDF.js";
11
11
  import "./chunks/chunk-IGVV37VI.js";
12
12
  import "./chunks/chunk-72N5DJHZ.js";
13
13
  import "./chunks/chunk-QYBZZI5H.js";
14
14
  import "./chunks/chunk-CDLPYR5O.js";
15
- import "./chunks/chunk-STNG3Y5X.js";
16
- import "./chunks/chunk-ST2IBUAN.js";
15
+ import "./chunks/chunk-YZ5CCEDH.js";
17
16
  import "./chunks/chunk-ES2N6V56.js";
17
+ import "./chunks/chunk-ST2IBUAN.js";
18
18
  import "./chunks/chunk-TAMCZHLW.js";
19
19
  import "./chunks/chunk-UVBGRJQX.js";
20
20
  import "./chunks/chunk-6JEWNXCQ.js";
21
- import "./chunks/chunk-4EMPBO7S.js";
21
+ import "./chunks/chunk-N6FECAXP.js";
22
22
  import "./chunks/chunk-2CVHXFK7.js";
23
23
  import "./chunks/chunk-CPMHA4W5.js";
24
24
  import "./chunks/chunk-BPLIXMH7.js";
@@ -9,18 +9,18 @@ import {
9
9
  schemeColor,
10
10
  schemeCss,
11
11
  schemeRgb
12
- } from "./chunks/chunk-X4VVPLI5.js";
13
- import "./chunks/chunk-RX5CSWJW.js";
12
+ } from "./chunks/chunk-TQ7VCGJR.js";
13
+ import "./chunks/chunk-VST5SR4C.js";
14
14
  import "./chunks/chunk-UMNCCYBN.js";
15
- import "./chunks/chunk-Y3IOTZJA.js";
16
- import "./chunks/chunk-X5L37W4J.js";
17
- import "./chunks/chunk-ST2IBUAN.js";
15
+ import "./chunks/chunk-PBENCR5L.js";
16
+ import "./chunks/chunk-WFB5TXRA.js";
17
+ import "./chunks/chunk-E7FWQQHP.js";
18
18
  import "./chunks/chunk-ES2N6V56.js";
19
- import "./chunks/chunk-N62KBLFC.js";
19
+ import "./chunks/chunk-ST2IBUAN.js";
20
+ import "./chunks/chunk-3ZZSX5HN.js";
20
21
  import "./chunks/chunk-AB35TJST.js";
21
22
  import "./chunks/chunk-TAMCZHLW.js";
22
- import "./chunks/chunk-PBENCR5L.js";
23
- import "./chunks/chunk-4EMPBO7S.js";
23
+ import "./chunks/chunk-N6FECAXP.js";
24
24
  import "./chunks/chunk-2CVHXFK7.js";
25
25
  import "./chunks/chunk-CPMHA4W5.js";
26
26
  import "./chunks/chunk-BPLIXMH7.js";
@@ -2,19 +2,19 @@ import {
2
2
  facetLifts,
3
3
  walkHighlight,
4
4
  walkLift
5
- } from "./chunks/chunk-ZKGM7VLA.js";
6
- import "./chunks/chunk-X4VVPLI5.js";
7
- import "./chunks/chunk-RX5CSWJW.js";
5
+ } from "./chunks/chunk-MH5IA57M.js";
6
+ import "./chunks/chunk-TQ7VCGJR.js";
7
+ import "./chunks/chunk-VST5SR4C.js";
8
8
  import "./chunks/chunk-UMNCCYBN.js";
9
- import "./chunks/chunk-Y3IOTZJA.js";
10
- import "./chunks/chunk-X5L37W4J.js";
11
- import "./chunks/chunk-ST2IBUAN.js";
9
+ import "./chunks/chunk-PBENCR5L.js";
10
+ import "./chunks/chunk-WFB5TXRA.js";
11
+ import "./chunks/chunk-E7FWQQHP.js";
12
12
  import "./chunks/chunk-ES2N6V56.js";
13
- import "./chunks/chunk-N62KBLFC.js";
13
+ import "./chunks/chunk-ST2IBUAN.js";
14
+ import "./chunks/chunk-3ZZSX5HN.js";
14
15
  import "./chunks/chunk-AB35TJST.js";
15
16
  import "./chunks/chunk-TAMCZHLW.js";
16
- import "./chunks/chunk-PBENCR5L.js";
17
- import "./chunks/chunk-4EMPBO7S.js";
17
+ import "./chunks/chunk-N6FECAXP.js";
18
18
  import "./chunks/chunk-2CVHXFK7.js";
19
19
  import "./chunks/chunk-CPMHA4W5.js";
20
20
  import "./chunks/chunk-BPLIXMH7.js";
package/dist/walkKey.js CHANGED
@@ -2,11 +2,11 @@ import {
2
2
  rangeText,
3
3
  walkKey,
4
4
  walkPosition
5
- } from "./chunks/chunk-GOY6REMT.js";
6
- import "./chunks/chunk-N62KBLFC.js";
5
+ } from "./chunks/chunk-2LQ5BWT7.js";
6
+ import "./chunks/chunk-3ZZSX5HN.js";
7
7
  import "./chunks/chunk-AB35TJST.js";
8
8
  import "./chunks/chunk-TAMCZHLW.js";
9
- import "./chunks/chunk-4EMPBO7S.js";
9
+ import "./chunks/chunk-N6FECAXP.js";
10
10
  import "./chunks/chunk-2CVHXFK7.js";
11
11
  import "./chunks/chunk-CPMHA4W5.js";
12
12
  import "./chunks/chunk-FYQWPEEY.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/bandage-core",
3
- "version": "6.1.1",
3
+ "version": "7.0.0",
4
4
  "description": "Pangenome graph layout and drawing with no host: GFA in, the Bandage force-directed engine and reference-anchored layouts, a Canvas2D renderer, hit testing and labels out",
5
5
  "license": "GPL-3.0-or-later",
6
6
  "repository": {