@jbrowse/plugin-linear-genome-view 5.0.0-beta.3 → 5.0.0-beta.7

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.
@@ -9,6 +9,12 @@ import type { IStateTreeNode } from '@jbrowse/mobx-state-tree';
9
9
  * it to carry the LGV's own surface is how the display layer would come to
10
10
  * depend on the view plugin. A display that wants the view names the view.
11
11
  *
12
+ * A view that lays its displays along a strip of its own — the circular view's
13
+ * ring host — is answered here too, the way `containingHost` answers it: the
14
+ * strip carries the members a display reads to draw (`bpToPx`, `pxToBp`, the
15
+ * blocks), and a display drawn there that reaches for a member the strip has
16
+ * not is the display that stays off the circle.
17
+ *
12
18
  * Components and structural helpers taking duck-typed model shapes keep calling
13
19
  * `getContainingView` — the same carve-out `containingHost` documents.
14
20
  */
@@ -8,9 +8,16 @@ import { getContainingView } from '@jbrowse/core/util';
8
8
  * it to carry the LGV's own surface is how the display layer would come to
9
9
  * depend on the view plugin. A display that wants the view names the view.
10
10
  *
11
+ * A view that lays its displays along a strip of its own — the circular view's
12
+ * ring host — is answered here too, the way `containingHost` answers it: the
13
+ * strip carries the members a display reads to draw (`bpToPx`, `pxToBp`, the
14
+ * blocks), and a display drawn there that reaches for a member the strip has
15
+ * not is the display that stays off the circle.
16
+ *
11
17
  * Components and structural helpers taking duck-typed model shapes keep calling
12
18
  * `getContainingView` — the same carve-out `containingHost` documents.
13
19
  */
14
20
  export function containingLgv(self) {
15
- return getContainingView(self);
21
+ const view = getContainingView(self);
22
+ return (view.regionHost ?? view);
16
23
  }
@@ -2527,7 +2527,18 @@ export function stateModelFactory(pluginManager) {
2527
2527
  return;
2528
2528
  }
2529
2529
  const { assemblyManager } = getSession(self);
2530
- await when(() => self.volatileWidth !== undefined);
2530
+ // A one-sided `volatileWidth !== undefined` parks forever on a view
2531
+ // that never mounts, and `navToMultiLevelBreak` awaits a Promise.all of
2532
+ // these one line before the `whenViewSettled` that was written to cure
2533
+ // exactly that hang. `isAlive` is the second terminal state and the
2534
+ // guard below is what it means. NOT `self.error`, which is a transient
2535
+ // truth (`assembliesNotFound` while a session assembly is registering)
2536
+ // independent of mounting, so it would return without navigating where
2537
+ // waiting would have navigated correctly.
2538
+ await when(() => self.volatileWidth !== undefined || !isAlive(self));
2539
+ if (!isAlive(self) || self.volatileWidth === undefined) {
2540
+ return;
2541
+ }
2531
2542
  // Generate locations from the parsed regions
2532
2543
  const locations = await generateLocations({
2533
2544
  regions,
@@ -318,6 +318,7 @@ declare function makeStateModel(control: PerRegionTestControl, gate: GateOptIns,
318
318
  afterAttach(): void;
319
319
  } & {
320
320
  canvasDrawn: boolean;
321
+ paintCount: number;
321
322
  currentRenderingBackend: unknown;
322
323
  renderTick: number;
323
324
  autorunsInstalled: boolean;
@@ -479,12 +480,12 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
479
480
  name: import("@jbrowse/mobx-state-tree").IType<string | undefined, string, string>;
480
481
  view: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IAnyModelType>;
481
482
  configuration: import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").IType<any, any, any>>;
482
- displayTypeDefaults: import("@jbrowse/mobx-state-tree").IType<Record<string, Record<string, unknown>> | null | undefined, Record<string, Record<string, unknown>>, Record<string, Record<string, unknown>>>;
483
483
  }> & {
484
484
  rpcManager: unknown;
485
485
  assemblyManager: unknown;
486
486
  theme: import("@mui/material").Theme;
487
487
  palette: import("@jbrowse/core/ui/palette").JBrowsePalette;
488
+ animationMode: import("@jbrowse/core/util").AnimationMode;
488
489
  queuedDialogs: import("@jbrowse/display-test-utils").QueuedDialog[];
489
490
  selection: unknown;
490
491
  notifications: {
@@ -496,7 +497,6 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
496
497
  openedWidgets: Record<string, unknown>[];
497
498
  } & {
498
499
  getTrackById: (id: string) => unknown;
499
- getDisplayTypeDefault(displayType: string, slot: string): unknown;
500
500
  } & {
501
501
  setView(view: any): any;
502
502
  notify(message: string, level?: string, action?: import("@jbrowse/core/util").SnackAction | import("@jbrowse/core/util").SnackAction[]): void;
@@ -508,17 +508,16 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
508
508
  id: string;
509
509
  };
510
510
  showWidget(_widget: unknown): void;
511
- setDisplayTypeDefault(displayType: string, slot: string, value: unknown): void;
512
511
  } & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IModelType<{
513
512
  name: import("@jbrowse/mobx-state-tree").IType<string | undefined, string, string>;
514
513
  view: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IAnyModelType>;
515
514
  configuration: import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").IType<any, any, any>>;
516
- displayTypeDefaults: import("@jbrowse/mobx-state-tree").IType<Record<string, Record<string, unknown>> | null | undefined, Record<string, Record<string, unknown>>, Record<string, Record<string, unknown>>>;
517
515
  }, {
518
516
  rpcManager: unknown;
519
517
  assemblyManager: unknown;
520
518
  theme: import("@mui/material").Theme;
521
519
  palette: import("@jbrowse/core/ui/palette").JBrowsePalette;
520
+ animationMode: import("@jbrowse/core/util").AnimationMode;
522
521
  queuedDialogs: import("@jbrowse/display-test-utils").QueuedDialog[];
523
522
  selection: unknown;
524
523
  notifications: {
@@ -530,7 +529,6 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
530
529
  openedWidgets: Record<string, unknown>[];
531
530
  } & {
532
531
  getTrackById: (id: string) => unknown;
533
- getDisplayTypeDefault(displayType: string, slot: string): unknown;
534
532
  } & {
535
533
  setView(view: any): any;
536
534
  notify(message: string, level?: string, action?: import("@jbrowse/core/util").SnackAction | import("@jbrowse/core/util").SnackAction[]): void;
@@ -542,7 +540,6 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
542
540
  id: string;
543
541
  };
544
542
  showWidget(_widget: unknown): void;
545
- setDisplayTypeDefault(displayType: string, slot: string, value: unknown): void;
546
543
  }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
547
544
  view: any;
548
545
  track: any;
@@ -813,6 +810,7 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
813
810
  afterAttach(): void;
814
811
  } & {
815
812
  canvasDrawn: boolean;
813
+ paintCount: number;
816
814
  currentRenderingBackend: unknown;
817
815
  renderTick: number;
818
816
  autorunsInstalled: boolean;
@@ -1211,6 +1209,7 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
1211
1209
  afterAttach(): void;
1212
1210
  } & {
1213
1211
  canvasDrawn: boolean;
1212
+ paintCount: number;
1214
1213
  currentRenderingBackend: unknown;
1215
1214
  renderTick: number;
1216
1215
  autorunsInstalled: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-linear-genome-view",
3
- "version": "5.0.0-beta.3",
3
+ "version": "5.0.0-beta.7",
4
4
  "type": "module",
5
5
  "description": "JBrowse 2 linear genome view",
6
6
  "keywords": [
@@ -26,10 +26,10 @@
26
26
  "@mui/material": "^9.4.0",
27
27
  "mobx": "^7.0.3",
28
28
  "mobx-react": "^10.0.2",
29
- "@jbrowse/core": "^5.0.0-beta.3",
30
- "@jbrowse/display-kit": "^5.0.0-beta.3",
31
- "@jbrowse/display-ui": "^5.0.0-beta.3",
32
- "@jbrowse/render-core": "^5.0.0-beta.3"
29
+ "@jbrowse/core": "^5.0.0-beta.7",
30
+ "@jbrowse/display-kit": "^5.0.0-beta.7",
31
+ "@jbrowse/display-ui": "^5.0.0-beta.7",
32
+ "@jbrowse/render-core": "^5.0.0-beta.7"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "react": ">=19.0.0",
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "sideEffects": false,
42
42
  "devDependencies": {
43
- "@jbrowse/display-test-utils": "^5.0.0-beta.3"
43
+ "@jbrowse/display-test-utils": "^5.0.0-beta.7"
44
44
  },
45
45
  "scripts": {
46
46
  "prebuild": "pnpm clean",