@jbrowse/bandage-core 7.1.0 → 7.2.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.
package/dist/index.js CHANGED
@@ -62,12 +62,13 @@ import {
62
62
  stripBlockAt
63
63
  } from "./chunks/chunk-EXSXBIMH.js";
64
64
  import {
65
+ LAYOUT_ENGINES,
65
66
  layoutEngine
66
- } from "./chunks/chunk-L53SXJZI.js";
67
+ } from "./chunks/chunk-6EJIU6IA.js";
67
68
  import {
68
- LAYOUT_ENGINES,
69
69
  stressLayout
70
- } from "./chunks/chunk-O4TGF4WS.js";
70
+ } from "./chunks/chunk-UNOE2NDN.js";
71
+ import "./chunks/chunk-LYJ4US66.js";
71
72
  import {
72
73
  FORCE_LAYOUT_LABEL,
73
74
  LAYOUT_MODES,
@@ -87,7 +88,13 @@ import {
87
88
  } from "./chunks/chunk-7XHHVYG7.js";
88
89
  import {
89
90
  figureSvg
90
- } from "./chunks/chunk-2WA4EY25.js";
91
+ } from "./chunks/chunk-QMJ4J5PT.js";
92
+ import {
93
+ Canvas2DRenderer
94
+ } from "./chunks/chunk-CH3DLBUT.js";
95
+ import {
96
+ getDpr
97
+ } from "./chunks/chunk-4BYTEJGW.js";
91
98
  import {
92
99
  svgCanvas
93
100
  } from "./chunks/chunk-47DYCZOK.js";
@@ -128,12 +135,6 @@ import {
128
135
  walkRowsKeyTree,
129
136
  walkRowsTree
130
137
  } from "./chunks/chunk-UGD6ZMOF.js";
131
- import {
132
- Canvas2DRenderer
133
- } from "./chunks/chunk-CH3DLBUT.js";
134
- import {
135
- getDpr
136
- } from "./chunks/chunk-4BYTEJGW.js";
137
138
  import {
138
139
  EXON_COLOR,
139
140
  exonOutlineTree,
@@ -144,7 +145,7 @@ import {
144
145
  } from "./chunks/chunk-BUBZ32IC.js";
145
146
  import {
146
147
  version
147
- } from "./chunks/chunk-MAPRJ2H2.js";
148
+ } from "./chunks/chunk-S73EYTZA.js";
148
149
  import {
149
150
  axisScaleOf,
150
151
  contains,
@@ -152,7 +153,7 @@ import {
152
153
  screenToLayout,
153
154
  viewportOf,
154
155
  zoomAbout
155
- } from "./chunks/chunk-AWCMVPVP.js";
156
+ } from "./chunks/chunk-Y7UR3MDE.js";
156
157
  import {
157
158
  facetLifts,
158
159
  walkHighlight,
@@ -181,13 +182,12 @@ import {
181
182
  forceLayout,
182
183
  layoutExtent,
183
184
  loadGraph
184
- } from "./chunks/chunk-6UFS3EWI.js";
185
+ } from "./chunks/chunk-EPWYRSHH.js";
185
186
  import "./chunks/chunk-PUG7LXDF.js";
186
187
  import "./chunks/chunk-IGVV37VI.js";
187
188
  import "./chunks/chunk-72N5DJHZ.js";
188
189
  import "./chunks/chunk-QYBZZI5H.js";
189
190
  import "./chunks/chunk-CDLPYR5O.js";
190
- import "./chunks/chunk-YZ5CCEDH.js";
191
191
  import {
192
192
  RAMP_GRADIENT_CSS,
193
193
  rampHue,
@@ -219,6 +219,7 @@ import {
219
219
  } from "./chunks/chunk-FP4H7SFT.js";
220
220
  import "./chunks/chunk-MLSWIMZO.js";
221
221
  import "./chunks/chunk-WFB5TXRA.js";
222
+ import "./chunks/chunk-JVLURPFW.js";
222
223
  import {
223
224
  walkRowsExtent
224
225
  } from "./chunks/chunk-3JANT2SW.js";
@@ -1,9 +1,11 @@
1
1
  import {
2
+ ROUTE_ID,
2
3
  routeNodes,
3
4
  takeRoutes,
4
5
  withDeletionRoutes
5
- } from "../chunks/chunk-YZ5CCEDH.js";
6
+ } from "../chunks/chunk-JVLURPFW.js";
6
7
  export {
8
+ ROUTE_ID,
7
9
  routeNodes,
8
10
  takeRoutes,
9
11
  withDeletionRoutes
@@ -1,11 +1,11 @@
1
1
  import {
2
- LAYOUT_ENGINES,
3
- LAYOUT_ENGINE_VALUES,
2
+ chains,
4
3
  stressLayout
5
- } from "../chunks/chunk-O4TGF4WS.js";
4
+ } from "../chunks/chunk-UNOE2NDN.js";
5
+ import "../chunks/chunk-LYJ4US66.js";
6
+ import "../chunks/chunk-JVLURPFW.js";
6
7
  import "../chunks/chunk-FYQWPEEY.js";
7
8
  export {
8
- LAYOUT_ENGINES,
9
- LAYOUT_ENGINE_VALUES,
9
+ chains,
10
10
  stressLayout
11
11
  };
@@ -0,0 +1,7 @@
1
+ import {
2
+ stressPlacement
3
+ } from "../chunks/chunk-LYJ4US66.js";
4
+ import "../chunks/chunk-JVLURPFW.js";
5
+ export {
6
+ stressPlacement
7
+ };
@@ -1,9 +1,17 @@
1
1
  import {
2
+ LAYOUT_ENGINES,
3
+ LAYOUT_ENGINE_VALUES,
4
+ isLayoutEngineKind,
2
5
  layoutEngine
3
- } from "./chunks/chunk-L53SXJZI.js";
4
- import "./chunks/chunk-O4TGF4WS.js";
6
+ } from "./chunks/chunk-6EJIU6IA.js";
7
+ import "./chunks/chunk-UNOE2NDN.js";
8
+ import "./chunks/chunk-LYJ4US66.js";
5
9
  import "./chunks/chunk-7XHHVYG7.js";
10
+ import "./chunks/chunk-JVLURPFW.js";
6
11
  import "./chunks/chunk-FYQWPEEY.js";
7
12
  export {
13
+ LAYOUT_ENGINES,
14
+ LAYOUT_ENGINE_VALUES,
15
+ isLayoutEngineKind,
8
16
  layoutEngine
9
17
  };
package/dist/pipeline.js CHANGED
@@ -9,13 +9,13 @@ import {
9
9
  forceLayout,
10
10
  layoutExtent,
11
11
  loadGraph
12
- } from "./chunks/chunk-6UFS3EWI.js";
12
+ } from "./chunks/chunk-EPWYRSHH.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-YZ5CCEDH.js";
18
+ import "./chunks/chunk-JVLURPFW.js";
19
19
  import "./chunks/chunk-ES2N6V56.js";
20
20
  import "./chunks/chunk-ST2IBUAN.js";
21
21
  import "./chunks/chunk-TAMCZHLW.js";
@@ -1,7 +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
+ import type { LayoutEngineKind } from '../layoutEngines.js';
5
5
  import type { LayoutModeValue } from '../layoutModes.js';
6
6
  import type { WalkLayer } from '../walkEncoding.js';
7
7
  export interface FigureSpec extends Omit<FigureOptions, 'walks' | 'region' | 'genes' | 'spec' | 'walkStrip'> {
@@ -8,9 +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
+ export { stressLayout } from './layout/stressEngine.js';
12
+ export { LAYOUT_ENGINES, layoutEngine } from './layoutEngines.js';
13
+ export type { LayoutEngineKind } from './layoutEngines.js';
14
14
  export { REFERENCE_RAMP_MAX_HUE, buildGeometry, computeReferenceRamp, } from './renderer/GeometryBuilder.js';
15
15
  export { Canvas2DRenderer } from './renderer/Canvas2DRenderer.js';
16
16
  export { getDpr } from './renderer/canvas.js';
@@ -1,6 +1,7 @@
1
1
  import type { BandageScaleOpts } from './drawnScale.js';
2
2
  import type { DeletionEdge } from '../deletionEdges.js';
3
3
  import type { Graph, GraphEdge, GraphNode, NodeSegment } from '../types.js';
4
+ export declare const ROUTE_ID = "\0deletion:";
4
5
  export type DeletionRoutes = Record<number, NodeSegment[]>;
5
6
  export declare function withDeletionRoutes(graph: Graph, deletions: DeletionEdge[], dropped?: Set<number>): {
6
7
  graph: {
@@ -1,16 +1,24 @@
1
1
  import type { EngineRequest } from '../pipeline.js';
2
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")[];
3
+ export type Side = 0 | 1;
4
+ export interface Chains {
5
+ ids: string[];
6
+ first: Int32Array;
7
+ count: Int32Array;
8
+ per: Float64Array;
9
+ links: [number, Side][][][];
10
+ chainOf: Int32Array;
11
+ indexOf: Int32Array;
12
+ seedX: Float64Array;
13
+ seedY: Float64Array;
14
+ backbone: Uint8Array;
15
+ off: Int32Array;
16
+ nb: Int32Array;
17
+ wt: Float64Array;
18
+ n: number;
19
+ link: number;
20
+ }
21
+ export declare function chains(request: EngineRequest): Chains;
14
22
  export interface StressOptions {
15
23
  quality?: number;
16
24
  seed?: number;
@@ -0,0 +1,5 @@
1
+ import type { Chains } from './stressEngine.js';
2
+ export declare function stressPlacement(c: Chains): {
3
+ X: Float64Array<ArrayBuffer>;
4
+ Y: Float64Array<ArrayBuffer>;
5
+ };
@@ -1,2 +1,14 @@
1
1
  import type { LayoutEngine } from './pipeline.js';
2
+ export declare const LAYOUT_ENGINES: readonly [{
3
+ readonly value: "fmmm";
4
+ readonly label: "Bandage (FMMM)";
5
+ readonly description: "Bandage's force-directed layout: OGDF's fast multipole multilevel method, compiled to wasm.";
6
+ }, {
7
+ readonly value: "stress";
8
+ readonly label: "Stress (experimental)";
9
+ 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.";
10
+ }];
11
+ export type LayoutEngineKind = (typeof LAYOUT_ENGINES)[number]['value'];
12
+ export declare const LAYOUT_ENGINE_VALUES: ("fmmm" | "stress")[];
13
+ export declare function isLayoutEngineKind(value: unknown): value is LayoutEngineKind;
2
14
  export declare const layoutEngine: LayoutEngine;
@@ -1,7 +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
+ import type { LayoutEngineKind } from './layoutEngines.js';
5
5
  import type { Graph, LayoutResult, NodeSegment } from './types.js';
6
6
  export interface Bounds {
7
7
  minX: number;
@@ -1 +1 @@
1
- export declare const version = "7.1.0";
1
+ export declare const version = "7.2.0";
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  version
3
- } from "./chunks/chunk-MAPRJ2H2.js";
3
+ } from "./chunks/chunk-S73EYTZA.js";
4
4
  export {
5
5
  version
6
6
  };
package/dist/viewport.js CHANGED
@@ -5,14 +5,14 @@ import {
5
5
  screenToLayout,
6
6
  viewportOf,
7
7
  zoomAbout
8
- } from "./chunks/chunk-AWCMVPVP.js";
9
- import "./chunks/chunk-6UFS3EWI.js";
8
+ } from "./chunks/chunk-Y7UR3MDE.js";
9
+ import "./chunks/chunk-EPWYRSHH.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-YZ5CCEDH.js";
15
+ import "./chunks/chunk-JVLURPFW.js";
16
16
  import "./chunks/chunk-ES2N6V56.js";
17
17
  import "./chunks/chunk-ST2IBUAN.js";
18
18
  import "./chunks/chunk-TAMCZHLW.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/bandage-core",
3
- "version": "7.1.0",
3
+ "version": "7.2.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": {
@@ -1,22 +0,0 @@
1
- import {
2
- stressLayout
3
- } from "./chunk-O4TGF4WS.js";
4
- import {
5
- loadBandage
6
- } from "./chunk-7XHHVYG7.js";
7
-
8
- // src/layoutEngines.ts
9
- var layoutEngine = async (request) => {
10
- const start = performance.now();
11
- if (request.options.engine === "stress") {
12
- const result2 = stressLayout(request);
13
- return { result: result2, duration: performance.now() - start };
14
- }
15
- const bandage = await loadBandage();
16
- const result = bandage.computeLayout(request.graph, request.options);
17
- return { result, duration: performance.now() - start };
18
- };
19
-
20
- export {
21
- layoutEngine
22
- };