@jbrowse/plugin-linear-genome-view 5.0.0-beta.1 → 5.0.0-beta.11

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 (148) hide show
  1. package/esm/FeatureTrack/configSchema.d.ts +142 -50
  2. package/esm/LaunchLinearGenomeView/index.js +2 -13
  3. package/esm/LinearGenomeView/afterAttach.d.ts +5 -5
  4. package/esm/LinearGenomeView/afterAttach.js +75 -62
  5. package/esm/LinearGenomeView/components/CenterLine.js +5 -3
  6. package/esm/LinearGenomeView/components/CrisprGuidePanel.js +3 -5
  7. package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +3 -2
  8. package/esm/LinearGenomeView/components/ExportSvgDialog.js +6 -2
  9. package/esm/LinearGenomeView/components/GetSequenceDialog.js +2 -2
  10. package/esm/LinearGenomeView/components/Header.js +11 -1
  11. package/esm/LinearGenomeView/components/HeaderClearHighlightButton.js +2 -2
  12. package/esm/LinearGenomeView/components/HeaderPanControls.js +2 -1
  13. package/esm/LinearGenomeView/components/HeaderZoomControls.js +4 -34
  14. package/esm/LinearGenomeView/components/Highlight.js +7 -7
  15. package/esm/LinearGenomeView/components/HighlightBand.d.ts +9 -1
  16. package/esm/LinearGenomeView/components/HighlightBand.js +15 -3
  17. package/esm/LinearGenomeView/components/HighlightChip.d.ts +1 -2
  18. package/esm/LinearGenomeView/components/HighlightChip.js +5 -7
  19. package/esm/LinearGenomeView/components/HoverPositionHighlight.js +3 -3
  20. package/esm/LinearGenomeView/components/ImportForm.js +2 -2
  21. package/esm/LinearGenomeView/components/LinearGenomeView.js +3 -3
  22. package/esm/LinearGenomeView/components/LinearGenomeViewContainer.js +3 -4
  23. package/esm/LinearGenomeView/components/MiniControls.js +3 -2
  24. package/esm/LinearGenomeView/components/OverviewHighlight.js +3 -3
  25. package/esm/LinearGenomeView/components/OverviewHighlightBand.js +2 -3
  26. package/esm/LinearGenomeView/components/OverviewRubberband.js +20 -45
  27. package/esm/LinearGenomeView/components/OverviewScalebar.js +4 -5
  28. package/esm/LinearGenomeView/components/OverviewScalebarPolygon.js +5 -3
  29. package/esm/LinearGenomeView/components/PaddingBlocks.d.ts +1 -1
  30. package/esm/LinearGenomeView/components/PaddingBlocks.js +14 -9
  31. package/esm/LinearGenomeView/components/RangeSelectOverlay.js +5 -6
  32. package/esm/LinearGenomeView/components/ResizeAllTracksHandle.d.ts +5 -0
  33. package/esm/LinearGenomeView/components/ResizeAllTracksHandle.js +71 -0
  34. package/esm/LinearGenomeView/components/Rubberband.d.ts +1 -2
  35. package/esm/LinearGenomeView/components/Rubberband.js +3 -2
  36. package/esm/LinearGenomeView/components/SVGHighlightBand.js +2 -3
  37. package/esm/LinearGenomeView/components/Scalebar.d.ts +2 -6
  38. package/esm/LinearGenomeView/components/Scalebar.js +8 -5
  39. package/esm/LinearGenomeView/components/ScalebarRefNameLabels.js +49 -34
  40. package/esm/LinearGenomeView/components/SearchBox.js +8 -7
  41. package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +2 -1
  42. package/esm/LinearGenomeView/components/SearchResultsDialog.js +2 -2
  43. package/esm/LinearGenomeView/components/SearchResultsTable.d.ts +2 -1
  44. package/esm/LinearGenomeView/components/SearchResultsTable.js +12 -29
  45. package/esm/LinearGenomeView/components/SequenceSearchDialog.d.ts +2 -4
  46. package/esm/LinearGenomeView/components/TrackContainer.js +63 -9
  47. package/esm/LinearGenomeView/components/TrackLabel.js +10 -3
  48. package/esm/LinearGenomeView/components/TrackLabelButtons.js +2 -2
  49. package/esm/LinearGenomeView/components/TrackLabelDragHandle.js +2 -2
  50. package/esm/LinearGenomeView/components/TrackLabelMenu.js +3 -2
  51. package/esm/LinearGenomeView/components/TrackRenderingContainer.d.ts +4 -1
  52. package/esm/LinearGenomeView/components/TrackRenderingContainer.js +11 -23
  53. package/esm/LinearGenomeView/components/TracksContainer.js +10 -22
  54. package/esm/LinearGenomeView/components/VerticalGuide.d.ts +1 -2
  55. package/esm/LinearGenomeView/components/VerticalGuide.js +3 -16
  56. package/esm/LinearGenomeView/components/ZoomButton.js +6 -1
  57. package/esm/LinearGenomeView/components/ZoomTransform.js +4 -0
  58. package/esm/LinearGenomeView/components/fetchSequence.d.ts +1 -2
  59. package/esm/LinearGenomeView/components/recentLocationsMenu.js +10 -0
  60. package/esm/LinearGenomeView/components/searchModes.d.ts +1 -1
  61. package/esm/LinearGenomeView/components/searchModes.js +1 -1
  62. package/esm/LinearGenomeView/components/useRangeSelect.d.ts +0 -3
  63. package/esm/LinearGenomeView/components/useRangeSelect.js +20 -59
  64. package/esm/LinearGenomeView/components/useSideScroll.d.ts +16 -2
  65. package/esm/LinearGenomeView/components/useSideScroll.js +153 -103
  66. package/esm/LinearGenomeView/components/util.d.ts +4 -0
  67. package/esm/LinearGenomeView/components/util.js +4 -2
  68. package/esm/LinearGenomeView/consts.d.ts +2 -0
  69. package/esm/LinearGenomeView/consts.js +3 -1
  70. package/esm/LinearGenomeView/containingLgv.d.ts +21 -0
  71. package/esm/LinearGenomeView/containingLgv.js +23 -0
  72. package/esm/LinearGenomeView/headerFit.d.ts +4 -2
  73. package/esm/LinearGenomeView/headerFit.js +20 -7
  74. package/esm/LinearGenomeView/index.d.ts +1 -5
  75. package/esm/LinearGenomeView/index.js +10 -7
  76. package/esm/LinearGenomeView/keyboardHandler.d.ts +2 -0
  77. package/esm/LinearGenomeView/keyboardHandler.js +15 -1
  78. package/esm/LinearGenomeView/launchKeys.d.ts +2 -0
  79. package/esm/LinearGenomeView/launchKeys.js +27 -0
  80. package/esm/LinearGenomeView/lazyDialogs.d.ts +2 -4
  81. package/esm/LinearGenomeView/lazyDialogs.js +1 -0
  82. package/esm/LinearGenomeView/linkedViewSync.d.ts +3 -11
  83. package/esm/LinearGenomeView/linkedViewSync.js +27 -43
  84. package/esm/LinearGenomeView/menuItems.d.ts +16 -18
  85. package/esm/LinearGenomeView/menuItems.js +242 -151
  86. package/esm/LinearGenomeView/model.d.ts +2027 -200
  87. package/esm/LinearGenomeView/model.js +560 -395
  88. package/esm/LinearGenomeView/sharedScaleContainer.d.ts +1 -1
  89. package/esm/LinearGenomeView/showRegionsWithUndo.js +7 -1
  90. package/esm/LinearGenomeView/stickyChrome.d.ts +5 -9
  91. package/esm/LinearGenomeView/stickyChrome.js +5 -9
  92. package/esm/LinearGenomeView/svgcomponents/SVGGridlines.js +4 -4
  93. package/esm/LinearGenomeView/svgcomponents/SVGHeader.d.ts +4 -1
  94. package/esm/LinearGenomeView/svgcomponents/SVGHeader.js +8 -21
  95. package/esm/LinearGenomeView/svgcomponents/SVGHighlights.js +8 -8
  96. package/esm/LinearGenomeView/svgcomponents/SVGHighlightsOverlay.js +3 -3
  97. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +7 -11
  98. package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.js +2 -5
  99. package/esm/LinearGenomeView/svgcomponents/SVGRowHeader.js +5 -6
  100. package/esm/LinearGenomeView/svgcomponents/SVGRuler.js +9 -10
  101. package/esm/LinearGenomeView/svgcomponents/SVGScalebar.js +3 -3
  102. package/esm/LinearGenomeView/svgcomponents/SVGStackedRow.d.ts +27 -0
  103. package/esm/LinearGenomeView/svgcomponents/SVGStackedRow.js +12 -0
  104. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +2 -1
  105. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.js +29 -16
  106. package/esm/LinearGenomeView/svgcomponents/SVGTracks.d.ts +4 -4
  107. package/esm/LinearGenomeView/svgcomponents/SVGTracks.js +6 -5
  108. package/esm/LinearGenomeView/svgcomponents/SVGView.d.ts +1 -1
  109. package/esm/LinearGenomeView/svgcomponents/SVGView.js +1 -1
  110. package/esm/LinearGenomeView/svgcomponents/figureContract.js +14 -14
  111. package/esm/LinearGenomeView/svgcomponents/renderViewTracks.d.ts +1 -0
  112. package/esm/LinearGenomeView/svgcomponents/renderViewTracks.js +1 -1
  113. package/esm/LinearGenomeView/svgcomponents/useViewSvgFigure.js +50 -68
  114. package/esm/LinearGenomeView/svgcomponents/util.d.ts +20 -8
  115. package/esm/LinearGenomeView/svgcomponents/util.js +50 -29
  116. package/esm/LinearGenomeView/types.d.ts +8 -11
  117. package/esm/LinearGenomeView/util.d.ts +60 -45
  118. package/esm/LinearGenomeView/util.js +131 -160
  119. package/esm/MultiLevelRubberband/MultiLevelRubberband.js +7 -4
  120. package/esm/MultiLevelRubberband/index.d.ts +2 -0
  121. package/esm/MultiLevelRubberband/index.js +2 -0
  122. package/esm/MultiLevelRubberband/menuItems.d.ts +34 -0
  123. package/esm/MultiLevelRubberband/menuItems.js +52 -0
  124. package/esm/MultiLevelRubberband/rowLabel.d.ts +22 -0
  125. package/esm/MultiLevelRubberband/rowLabel.js +27 -0
  126. package/esm/MultiLevelRubberband/types.d.ts +1 -0
  127. package/esm/MultiLevelRubberband/useRangeSelect.d.ts +2 -1
  128. package/esm/MultiLevelRubberband/useRangeSelect.js +31 -47
  129. package/esm/displayKitTests/perRegionTestEnv.d.ts +244 -86
  130. package/esm/displayKitTests/perRegionTestEnv.js +30 -29
  131. package/esm/index.d.ts +15 -85
  132. package/esm/index.js +13 -36
  133. package/esm/searchUtils.d.ts +18 -9
  134. package/esm/searchUtils.js +85 -69
  135. package/esm/shared/RubberbandSpan.js +2 -1
  136. package/esm/shared/coordLabels.d.ts +7 -0
  137. package/esm/shared/coordLabels.js +15 -1
  138. package/esm/shared/useWindowDrag.d.ts +18 -0
  139. package/esm/shared/useWindowDrag.js +45 -0
  140. package/package.json +10 -10
  141. package/esm/LinearGenomeView/FloatingSvgOverlay.d.ts +0 -5
  142. package/esm/LinearGenomeView/FloatingSvgOverlay.js +0 -25
  143. package/esm/LinearGenomeView/initKeys.d.ts +0 -13
  144. package/esm/LinearGenomeView/initKeys.js +0 -104
  145. package/esm/MultiLevelRubberband/VerticalGuide.d.ts +0 -6
  146. package/esm/MultiLevelRubberband/VerticalGuide.js +0 -21
  147. package/esm/lazyPluginExports.d.ts +0 -23
  148. package/esm/lazyPluginExports.js +0 -36
@@ -33,6 +33,11 @@ export interface PerRegionTestControl {
33
33
  estimateCalls: number;
34
34
  /** the display's own density verdict, canvas's second too-large axis */
35
35
  densityTooLarge: boolean;
36
+ /**
37
+ * What the next fetch stores, so a test can tell the payload a refetch
38
+ * replaced from the one that replaced it.
39
+ */
40
+ payloadTag: string;
36
41
  }
37
42
  /**
38
43
  * The smallest possible display on `MultiRegionDisplayMixin`: it fetches, it
@@ -45,7 +50,6 @@ export interface PerRegionTestControl {
45
50
  /** Which of the gate's opt-in hooks this display overrides. */
46
51
  export interface GateOptIns {
47
52
  gateEnabled?: boolean;
48
- densityGateEnabled?: boolean;
49
53
  }
50
54
  declare function makeStateModel(control: PerRegionTestControl, gate: GateOptIns, configSchema: AnyConfigurationSchemaType): import("@jbrowse/mobx-state-tree").IModelType<Omit<Omit<Omit<{
51
55
  id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
@@ -246,11 +250,34 @@ declare function makeStateModel(control: PerRegionTestControl, gate: GateOptIns,
246
250
  setError(error?: unknown): void;
247
251
  clearHoveredFeature(): void;
248
252
  reload(): void;
253
+ applyDisplaySettings(settings: Record<string, unknown>, options?: {
254
+ allowSetters?: boolean;
255
+ }): {
256
+ applied: string[];
257
+ unapplied: import("@jbrowse/core/util/unknownSnapshotKeys").UnappliedSetting[];
258
+ failed: {
259
+ key: string;
260
+ error: string;
261
+ }[];
262
+ };
263
+ } & {
264
+ readonly plotKeys: string[];
265
+ readonly plot: import("@jbrowse/core/configuration").Plot;
266
+ readonly plotExamples: readonly import("@jbrowse/core/configuration").PlotExample[];
267
+ readonly configDocsUrl: string;
268
+ liftPlot(draft: import("@jbrowse/core/configuration").Plot): import("@jbrowse/core/configuration").AnyConfigurationModel;
269
+ plotProblems(draft: import("@jbrowse/core/configuration").Plot): string[];
270
+ plotWrites(draft: import("@jbrowse/core/configuration").Plot): Record<string, unknown>;
271
+ } & {
272
+ applyPlot(draft: import("@jbrowse/core/configuration").Plot): void;
249
273
  } & {
250
274
  scrollTop: number;
251
275
  } & {
252
276
  readonly height: number;
253
277
  readonly resizing: boolean;
278
+ readonly scrollContentHeight: number;
279
+ readonly scrollViewportHeight: number;
280
+ } & {
254
281
  readonly scrollableHeight: number;
255
282
  } & {
256
283
  setScrollTop(scrollTop: number): void;
@@ -262,19 +289,18 @@ declare function makeStateModel(control: PerRegionTestControl, gate: GateOptIns,
262
289
  } & {
263
290
  forceLoadTrack: boolean;
264
291
  byteEstimate: import("@jbrowse/display-kit/regionTooLargeUtils").ByteEstimate | undefined;
265
- gateMeasuredViewportKey: string | undefined;
292
+ gateMeasuredViewportKey: unknown;
266
293
  } & {
267
294
  readonly gateEnabled: boolean;
268
- readonly densityGateEnabled: boolean;
269
295
  readonly byteGateAdapterConfig: Record<string, unknown>;
270
296
  readonly configuredFetchSizeLimit: number | undefined;
271
297
  readonly densityTooLarge: boolean;
272
- readonly byteGateAdapterPath: string[];
298
+ readonly byteGateAdapterPath: import("@jbrowse/display-kit/RegionTooLargeMixin").ByteGateAdapterPath;
273
299
  readonly adapterFetchSizeLimit: number | undefined;
274
300
  readonly configForceLoad: boolean;
301
+ readonly gateViewportSpanBp: number | undefined;
275
302
  readonly gateViewport: import("@jbrowse/display-kit/regionTooLargeUtils").GateViewport | undefined;
276
303
  } & {
277
- readonly byteGateAdapterKey: string;
278
304
  readonly aboveForceLoadFloor: boolean;
279
305
  readonly gateExempt: boolean;
280
306
  readonly estimatedFetchBytes: number | undefined;
@@ -295,29 +321,28 @@ declare function makeStateModel(control: PerRegionTestControl, gate: GateOptIns,
295
321
  } & {
296
322
  readonly gateSkipsMeasuredViewport: boolean;
297
323
  } & {
298
- setByteEstimate(measurement: {
299
- bytes: number;
300
- viewport: import("@jbrowse/display-kit/regionTooLargeUtils").GateViewport;
301
- }): void;
302
324
  clearByteEstimate(): void;
325
+ clearGateMeasurements(): void;
303
326
  setForceLoadTrack(flag: boolean): void;
304
- reload(): void;
305
327
  } & {
306
- commitFetchBytes(perRegionBytes: (number | undefined)[], issued: import("@jbrowse/display-kit/regionTooLargeUtils").GateFetchState): void;
328
+ commitFetchBytes(perRegionBytes: (number | undefined)[], issued: import("@jbrowse/display-kit/regionTooLargeUtils").GateFetchState, partial?: boolean): void;
307
329
  } & {
308
330
  forceLoad(): void;
309
331
  } & {
310
332
  afterAttach(): void;
311
333
  } & {
312
334
  canvasDrawn: boolean;
335
+ paintCount: number;
313
336
  currentRenderingBackend: unknown;
314
337
  renderTick: number;
315
338
  autorunsInstalled: boolean;
316
339
  renderError: unknown;
340
+ offScreen: boolean;
317
341
  } & {
318
342
  readonly canRender: boolean;
319
343
  readonly rendersCanvas: boolean;
320
344
  readonly paintInert: boolean;
345
+ readonly paintSuperseded: boolean;
321
346
  } & {
322
347
  readonly painted: boolean;
323
348
  } & {
@@ -325,11 +350,12 @@ declare function makeStateModel(control: PerRegionTestControl, gate: GateOptIns,
325
350
  resetCanvasDrawn(): void;
326
351
  stopRenderingBackend(): void;
327
352
  renderNow(): void;
353
+ setOffScreen(offScreen: boolean): void;
328
354
  setRenderError(error: unknown): void;
329
355
  } & {
330
356
  attachRenderingBackend<B>(backend: B, setup: () => import("@jbrowse/render-core/RenderLifecycleMixin").RenderingBackendCallbacks<B>): void;
331
357
  } & {
332
- activeStopToken: import("@jbrowse/core/util").StopToken | undefined;
358
+ activeSignal: AbortSignal | undefined;
333
359
  fetchGeneration: number;
334
360
  reloadCounter: number;
335
361
  statusWindow: import("@jbrowse/core/util").StatusWindow;
@@ -349,7 +375,9 @@ declare function makeStateModel(control: PerRegionTestControl, gate: GateOptIns,
349
375
  readonly isLoadingOrCanceled: boolean;
350
376
  readonly fetchInert: boolean;
351
377
  readonly awaitingPrerequisite: boolean;
352
- readonly rpcPropsCacheKey: string;
378
+ readonly awaitingDependentData: boolean;
379
+ } & {
380
+ readonly settingsFetchInputs: unknown;
353
381
  } & {
354
382
  setError(error?: unknown): void;
355
383
  setStatusMessage(status?: import("@jbrowse/core/util").RpcStatus): void;
@@ -359,8 +387,10 @@ declare function makeStateModel(control: PerRegionTestControl, gate: GateOptIns,
359
387
  } & {
360
388
  cancelFetch(): void;
361
389
  cancelFetchByUser(): void;
390
+ reload(): void;
362
391
  beforeDestroy(): void;
363
- endFetch(current: boolean, stopToken: import("@jbrowse/core/util").StopToken): void;
392
+ beginFetch(signal: AbortSignal): void;
393
+ endFetch(current: boolean): void;
364
394
  } & {
365
395
  runFetch: (work: (ctx: import("@jbrowse/display-kit/FetchMixin").FetchContext) => Promise<void>) => Promise<void>;
366
396
  } & {
@@ -368,29 +398,44 @@ declare function makeStateModel(control: PerRegionTestControl, gate: GateOptIns,
368
398
  } & {
369
399
  readonly host: import("@jbrowse/display-kit/regionHost").RegionHost;
370
400
  readonly canvasWidthPx: number;
401
+ readonly settledSubPixelBinBp: number;
371
402
  readonly canRender: boolean;
403
+ readonly rendersCanvas: boolean;
404
+ readonly trackVisibleRegions: import("@jbrowse/display-kit/regionHost").VisibleRegion[];
372
405
  readonly viewportWithinLoadedData: boolean;
373
406
  readonly viewportEmpty: boolean;
407
+ readonly fetchSuspended: boolean;
374
408
  readonly layoutReady: boolean;
375
- readonly regionFetchKey: string;
376
- regionHasData(_displayedRegionIndex: number): boolean;
409
+ regionHasData(displayedRegionIndex: number): boolean;
377
410
  readonly dataSuperseded: boolean;
378
411
  readonly renderBlocks: import("@jbrowse/render-core/renderBlock").RenderBlock[];
412
+ } & {
413
+ readonly fetchInputs: import("@jbrowse/display-kit/fetchInputs").FetchInputs;
414
+ } & {
415
+ readonly regionPayloads: ReadonlyMap<number, unknown>;
416
+ readonly hasRegionData: boolean;
379
417
  } & {
380
418
  isCacheValid(displayedRegionIndex: number): boolean;
381
419
  } & {
420
+ readonly staleSettingsDrawn: boolean;
382
421
  readonly dataCurrent: boolean;
383
422
  readonly loadedAssembly: import("@jbrowse/core/assemblyManager/assembly").Assembly | undefined;
423
+ } & {
424
+ readonly phaseViewportCurrent: boolean;
384
425
  } & {
385
426
  readonly svgReady: boolean;
386
427
  readonly paintInert: boolean;
428
+ readonly paintSuperseded: boolean;
387
429
  readonly displayPhase: import("@jbrowse/render-core/displayPhase").DisplayPhase;
388
430
  } & {
389
- setLoadedRegion(displayedRegionIndex: number, region: import("@jbrowse/core/util").Region, fetchKey?: string): void;
431
+ setLoadedRegion(displayedRegionIndex: number, region: import("@jbrowse/core/util").Region, payload: import("@jbrowse/display-kit/regionCommit").RegionPayload | undefined, fetchInputs?: import("@jbrowse/display-kit/fetchInputs").FetchInputs): void;
432
+ evictRegionStore(keep: ReadonlySet<number>): void;
390
433
  dropLoadedRegion(displayedRegionIndex: number): void;
391
434
  clearDisplaySpecificData(): void;
435
+ clearSettingsBakedData(): void;
392
436
  } & {
393
437
  clearAllRpcData(): void;
438
+ invalidateSettings(): void;
394
439
  reload(): void;
395
440
  } & {
396
441
  fetchNeeded(_needed: IndexedRegion[]): void;
@@ -401,24 +446,25 @@ declare function makeStateModel(control: PerRegionTestControl, gate: GateOptIns,
401
446
  } & {
402
447
  /** every `fetchNeeded` call, as the region list it was handed */
403
448
  fetchLog: IndexedRegion[][];
404
- loadedData: Map<number, string>;
405
449
  /**
406
- * What `regionFetchKey` answers. A volatile, not a `control` knob, and
407
- * that is the point: a real display's key reads view state, so the
408
- * autorun re-runs when it moves. A plain closure value would be memoized
409
- * by the computed and never invalidate.
450
+ * What `zoomFetchArgs` answers. A volatile, not a `control` knob, and
451
+ * that is the point: a real display's args read view state, so the
452
+ * autorun re-runs when they move. A plain closure value would be
453
+ * memoized by the computed and never invalidate.
410
454
  */
411
455
  fetchKey: string;
412
456
  } & {
457
+ regionHasData(displayedRegionIndex: number): boolean;
458
+ } & {
459
+ /** the fetched payloads, off the foundation's store */
460
+ readonly loadedData: ReadonlyMap<number, string>;
413
461
  readonly gateEnabled: boolean;
414
- readonly densityGateEnabled: boolean;
415
462
  readonly densityTooLarge: boolean;
416
- readonly regionFetchKey: string;
417
- regionHasData(_displayedRegionIndex: number): boolean;
463
+ zoomFetchArgs(): {
464
+ key: string;
465
+ };
418
466
  } & {
419
467
  setFetchKey(key: string): void;
420
- setLoaded(displayedRegionIndex: number, value: string): void;
421
- clearDisplaySpecificData(): void;
422
468
  } & {
423
469
  fetchNeeded(needed: IndexedRegion[]): Promise<void>;
424
470
  }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>;
@@ -451,12 +497,12 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
451
497
  name: import("@jbrowse/mobx-state-tree").IType<string | undefined, string, string>;
452
498
  view: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IAnyModelType>;
453
499
  configuration: import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").IType<any, any, any>>;
454
- displayTypeDefaults: import("@jbrowse/mobx-state-tree").IType<Record<string, Record<string, unknown>> | null | undefined, Record<string, Record<string, unknown>>, Record<string, Record<string, unknown>>>;
455
500
  }> & {
456
501
  rpcManager: unknown;
457
502
  assemblyManager: unknown;
458
503
  theme: import("@mui/material").Theme;
459
504
  palette: import("@jbrowse/core/ui/palette").JBrowsePalette;
505
+ animationMode: import("@jbrowse/core/util").AnimationMode;
460
506
  queuedDialogs: import("@jbrowse/display-test-utils").QueuedDialog[];
461
507
  selection: unknown;
462
508
  notifications: {
@@ -464,26 +510,40 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
464
510
  level?: string;
465
511
  actions: import("@jbrowse/core/util").SnackAction[];
466
512
  }[];
513
+ widgets: Map<string, unknown>;
514
+ openedWidgets: Record<string, unknown>[];
467
515
  } & {
468
516
  getTrackById: (id: string) => unknown;
469
- getDisplayTypeDefault(displayType: string, slot: string): unknown;
517
+ baseTrackConfig: (id: string) => {
518
+ trackId: string;
519
+ [key: string]: unknown;
520
+ } | undefined;
470
521
  } & {
471
522
  setView(view: any): any;
472
523
  notify(message: string, level?: string, action?: import("@jbrowse/core/util").SnackAction | import("@jbrowse/core/util").SnackAction[]): void;
473
524
  notifyError(message: string): void;
474
525
  queueDialog(cb: (handleClose: () => void) => import("@jbrowse/display-test-utils").QueuedDialog): void;
475
526
  setSelection(thing: unknown): void;
476
- setDisplayTypeDefault(displayType: string, slot: string, value: unknown): void;
527
+ addWidget(type: string, id: string, initialState?: Record<string, unknown>): {
528
+ type: string;
529
+ id: string;
530
+ };
531
+ showWidget(_widget: unknown): void;
532
+ } & {
533
+ openWidget(type: string, id: string, initialState?: Record<string, unknown>): {
534
+ type: string;
535
+ id: string;
536
+ };
477
537
  } & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IModelType<{
478
538
  name: import("@jbrowse/mobx-state-tree").IType<string | undefined, string, string>;
479
539
  view: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").IAnyModelType>;
480
540
  configuration: import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").IType<any, any, any>>;
481
- displayTypeDefaults: import("@jbrowse/mobx-state-tree").IType<Record<string, Record<string, unknown>> | null | undefined, Record<string, Record<string, unknown>>, Record<string, Record<string, unknown>>>;
482
541
  }, {
483
542
  rpcManager: unknown;
484
543
  assemblyManager: unknown;
485
544
  theme: import("@mui/material").Theme;
486
545
  palette: import("@jbrowse/core/ui/palette").JBrowsePalette;
546
+ animationMode: import("@jbrowse/core/util").AnimationMode;
487
547
  queuedDialogs: import("@jbrowse/display-test-utils").QueuedDialog[];
488
548
  selection: unknown;
489
549
  notifications: {
@@ -491,16 +551,30 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
491
551
  level?: string;
492
552
  actions: import("@jbrowse/core/util").SnackAction[];
493
553
  }[];
554
+ widgets: Map<string, unknown>;
555
+ openedWidgets: Record<string, unknown>[];
494
556
  } & {
495
557
  getTrackById: (id: string) => unknown;
496
- getDisplayTypeDefault(displayType: string, slot: string): unknown;
558
+ baseTrackConfig: (id: string) => {
559
+ trackId: string;
560
+ [key: string]: unknown;
561
+ } | undefined;
497
562
  } & {
498
563
  setView(view: any): any;
499
564
  notify(message: string, level?: string, action?: import("@jbrowse/core/util").SnackAction | import("@jbrowse/core/util").SnackAction[]): void;
500
565
  notifyError(message: string): void;
501
566
  queueDialog(cb: (handleClose: () => void) => import("@jbrowse/display-test-utils").QueuedDialog): void;
502
567
  setSelection(thing: unknown): void;
503
- setDisplayTypeDefault(displayType: string, slot: string, value: unknown): void;
568
+ addWidget(type: string, id: string, initialState?: Record<string, unknown>): {
569
+ type: string;
570
+ id: string;
571
+ };
572
+ showWidget(_widget: unknown): void;
573
+ } & {
574
+ openWidget(type: string, id: string, initialState?: Record<string, unknown>): {
575
+ type: string;
576
+ id: string;
577
+ };
504
578
  }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
505
579
  view: any;
506
580
  track: any;
@@ -703,11 +777,34 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
703
777
  setError(error?: unknown): void;
704
778
  clearHoveredFeature(): void;
705
779
  reload(): void;
780
+ applyDisplaySettings(settings: Record<string, unknown>, options?: {
781
+ allowSetters?: boolean;
782
+ }): {
783
+ applied: string[];
784
+ unapplied: import("@jbrowse/core/util/unknownSnapshotKeys").UnappliedSetting[];
785
+ failed: {
786
+ key: string;
787
+ error: string;
788
+ }[];
789
+ };
790
+ } & {
791
+ readonly plotKeys: string[];
792
+ readonly plot: import("@jbrowse/core/configuration").Plot;
793
+ readonly plotExamples: readonly import("@jbrowse/core/configuration").PlotExample[];
794
+ readonly configDocsUrl: string;
795
+ liftPlot(draft: import("@jbrowse/core/configuration").Plot): import("@jbrowse/core/configuration").AnyConfigurationModel;
796
+ plotProblems(draft: import("@jbrowse/core/configuration").Plot): string[];
797
+ plotWrites(draft: import("@jbrowse/core/configuration").Plot): Record<string, unknown>;
798
+ } & {
799
+ applyPlot(draft: import("@jbrowse/core/configuration").Plot): void;
706
800
  } & {
707
801
  scrollTop: number;
708
802
  } & {
709
803
  readonly height: number;
710
804
  readonly resizing: boolean;
805
+ readonly scrollContentHeight: number;
806
+ readonly scrollViewportHeight: number;
807
+ } & {
711
808
  readonly scrollableHeight: number;
712
809
  } & {
713
810
  setScrollTop(scrollTop: number): void;
@@ -719,19 +816,18 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
719
816
  } & {
720
817
  forceLoadTrack: boolean;
721
818
  byteEstimate: import("@jbrowse/display-kit/regionTooLargeUtils").ByteEstimate | undefined;
722
- gateMeasuredViewportKey: string | undefined;
819
+ gateMeasuredViewportKey: unknown;
723
820
  } & {
724
821
  readonly gateEnabled: boolean;
725
- readonly densityGateEnabled: boolean;
726
822
  readonly byteGateAdapterConfig: Record<string, unknown>;
727
823
  readonly configuredFetchSizeLimit: number | undefined;
728
824
  readonly densityTooLarge: boolean;
729
- readonly byteGateAdapterPath: string[];
825
+ readonly byteGateAdapterPath: import("@jbrowse/display-kit/RegionTooLargeMixin").ByteGateAdapterPath;
730
826
  readonly adapterFetchSizeLimit: number | undefined;
731
827
  readonly configForceLoad: boolean;
828
+ readonly gateViewportSpanBp: number | undefined;
732
829
  readonly gateViewport: import("@jbrowse/display-kit/regionTooLargeUtils").GateViewport | undefined;
733
830
  } & {
734
- readonly byteGateAdapterKey: string;
735
831
  readonly aboveForceLoadFloor: boolean;
736
832
  readonly gateExempt: boolean;
737
833
  readonly estimatedFetchBytes: number | undefined;
@@ -752,29 +848,28 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
752
848
  } & {
753
849
  readonly gateSkipsMeasuredViewport: boolean;
754
850
  } & {
755
- setByteEstimate(measurement: {
756
- bytes: number;
757
- viewport: import("@jbrowse/display-kit/regionTooLargeUtils").GateViewport;
758
- }): void;
759
851
  clearByteEstimate(): void;
852
+ clearGateMeasurements(): void;
760
853
  setForceLoadTrack(flag: boolean): void;
761
- reload(): void;
762
854
  } & {
763
- commitFetchBytes(perRegionBytes: (number | undefined)[], issued: import("@jbrowse/display-kit/regionTooLargeUtils").GateFetchState): void;
855
+ commitFetchBytes(perRegionBytes: (number | undefined)[], issued: import("@jbrowse/display-kit/regionTooLargeUtils").GateFetchState, partial?: boolean): void;
764
856
  } & {
765
857
  forceLoad(): void;
766
858
  } & {
767
859
  afterAttach(): void;
768
860
  } & {
769
861
  canvasDrawn: boolean;
862
+ paintCount: number;
770
863
  currentRenderingBackend: unknown;
771
864
  renderTick: number;
772
865
  autorunsInstalled: boolean;
773
866
  renderError: unknown;
867
+ offScreen: boolean;
774
868
  } & {
775
869
  readonly canRender: boolean;
776
870
  readonly rendersCanvas: boolean;
777
871
  readonly paintInert: boolean;
872
+ readonly paintSuperseded: boolean;
778
873
  } & {
779
874
  readonly painted: boolean;
780
875
  } & {
@@ -782,11 +877,12 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
782
877
  resetCanvasDrawn(): void;
783
878
  stopRenderingBackend(): void;
784
879
  renderNow(): void;
880
+ setOffScreen(offScreen: boolean): void;
785
881
  setRenderError(error: unknown): void;
786
882
  } & {
787
883
  attachRenderingBackend<B>(backend: B, setup: () => import("@jbrowse/render-core/RenderLifecycleMixin").RenderingBackendCallbacks<B>): void;
788
884
  } & {
789
- activeStopToken: import("@jbrowse/core/util").StopToken | undefined;
885
+ activeSignal: AbortSignal | undefined;
790
886
  fetchGeneration: number;
791
887
  reloadCounter: number;
792
888
  statusWindow: import("@jbrowse/core/util").StatusWindow;
@@ -806,7 +902,9 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
806
902
  readonly isLoadingOrCanceled: boolean;
807
903
  readonly fetchInert: boolean;
808
904
  readonly awaitingPrerequisite: boolean;
809
- readonly rpcPropsCacheKey: string;
905
+ readonly awaitingDependentData: boolean;
906
+ } & {
907
+ readonly settingsFetchInputs: unknown;
810
908
  } & {
811
909
  setError(error?: unknown): void;
812
910
  setStatusMessage(status?: import("@jbrowse/core/util").RpcStatus): void;
@@ -816,8 +914,10 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
816
914
  } & {
817
915
  cancelFetch(): void;
818
916
  cancelFetchByUser(): void;
917
+ reload(): void;
819
918
  beforeDestroy(): void;
820
- endFetch(current: boolean, stopToken: import("@jbrowse/core/util").StopToken): void;
919
+ beginFetch(signal: AbortSignal): void;
920
+ endFetch(current: boolean): void;
821
921
  } & {
822
922
  runFetch: (work: (ctx: import("@jbrowse/display-kit/FetchMixin").FetchContext) => Promise<void>) => Promise<void>;
823
923
  } & {
@@ -825,29 +925,44 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
825
925
  } & {
826
926
  readonly host: import("@jbrowse/display-kit/regionHost").RegionHost;
827
927
  readonly canvasWidthPx: number;
928
+ readonly settledSubPixelBinBp: number;
828
929
  readonly canRender: boolean;
930
+ readonly rendersCanvas: boolean;
931
+ readonly trackVisibleRegions: import("@jbrowse/display-kit/regionHost").VisibleRegion[];
829
932
  readonly viewportWithinLoadedData: boolean;
830
933
  readonly viewportEmpty: boolean;
934
+ readonly fetchSuspended: boolean;
831
935
  readonly layoutReady: boolean;
832
- readonly regionFetchKey: string;
833
- regionHasData(_displayedRegionIndex: number): boolean;
936
+ regionHasData(displayedRegionIndex: number): boolean;
834
937
  readonly dataSuperseded: boolean;
835
938
  readonly renderBlocks: import("@jbrowse/render-core/renderBlock").RenderBlock[];
939
+ } & {
940
+ readonly fetchInputs: import("@jbrowse/display-kit/fetchInputs").FetchInputs;
941
+ } & {
942
+ readonly regionPayloads: ReadonlyMap<number, unknown>;
943
+ readonly hasRegionData: boolean;
836
944
  } & {
837
945
  isCacheValid(displayedRegionIndex: number): boolean;
838
946
  } & {
947
+ readonly staleSettingsDrawn: boolean;
839
948
  readonly dataCurrent: boolean;
840
949
  readonly loadedAssembly: import("@jbrowse/core/assemblyManager/assembly").Assembly | undefined;
950
+ } & {
951
+ readonly phaseViewportCurrent: boolean;
841
952
  } & {
842
953
  readonly svgReady: boolean;
843
954
  readonly paintInert: boolean;
955
+ readonly paintSuperseded: boolean;
844
956
  readonly displayPhase: import("@jbrowse/render-core/displayPhase").DisplayPhase;
845
957
  } & {
846
- setLoadedRegion(displayedRegionIndex: number, region: import("@jbrowse/core/util").Region, fetchKey?: string): void;
958
+ setLoadedRegion(displayedRegionIndex: number, region: import("@jbrowse/core/util").Region, payload: import("@jbrowse/display-kit/regionCommit").RegionPayload | undefined, fetchInputs?: import("@jbrowse/display-kit/fetchInputs").FetchInputs): void;
959
+ evictRegionStore(keep: ReadonlySet<number>): void;
847
960
  dropLoadedRegion(displayedRegionIndex: number): void;
848
961
  clearDisplaySpecificData(): void;
962
+ clearSettingsBakedData(): void;
849
963
  } & {
850
964
  clearAllRpcData(): void;
965
+ invalidateSettings(): void;
851
966
  reload(): void;
852
967
  } & {
853
968
  fetchNeeded(_needed: IndexedRegion[]): void;
@@ -858,24 +973,25 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
858
973
  } & {
859
974
  /** every `fetchNeeded` call, as the region list it was handed */
860
975
  fetchLog: IndexedRegion[][];
861
- loadedData: Map<number, string>;
862
976
  /**
863
- * What `regionFetchKey` answers. A volatile, not a `control` knob, and
864
- * that is the point: a real display's key reads view state, so the
865
- * autorun re-runs when it moves. A plain closure value would be memoized
866
- * by the computed and never invalidate.
977
+ * What `zoomFetchArgs` answers. A volatile, not a `control` knob, and
978
+ * that is the point: a real display's args read view state, so the
979
+ * autorun re-runs when they move. A plain closure value would be
980
+ * memoized by the computed and never invalidate.
867
981
  */
868
982
  fetchKey: string;
869
983
  } & {
984
+ regionHasData(displayedRegionIndex: number): boolean;
985
+ } & {
986
+ /** the fetched payloads, off the foundation's store */
987
+ readonly loadedData: ReadonlyMap<number, string>;
870
988
  readonly gateEnabled: boolean;
871
- readonly densityGateEnabled: boolean;
872
989
  readonly densityTooLarge: boolean;
873
- readonly regionFetchKey: string;
874
- regionHasData(_displayedRegionIndex: number): boolean;
990
+ zoomFetchArgs(): {
991
+ key: string;
992
+ };
875
993
  } & {
876
994
  setFetchKey(key: string): void;
877
- setLoaded(displayedRegionIndex: number, value: string): void;
878
- clearDisplaySpecificData(): void;
879
995
  } & {
880
996
  fetchNeeded(needed: IndexedRegion[]): Promise<void>;
881
997
  } & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/mobx-state-tree").IModelType<Omit<Omit<Omit<{
@@ -1077,11 +1193,34 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
1077
1193
  setError(error?: unknown): void;
1078
1194
  clearHoveredFeature(): void;
1079
1195
  reload(): void;
1196
+ applyDisplaySettings(settings: Record<string, unknown>, options?: {
1197
+ allowSetters?: boolean;
1198
+ }): {
1199
+ applied: string[];
1200
+ unapplied: import("@jbrowse/core/util/unknownSnapshotKeys").UnappliedSetting[];
1201
+ failed: {
1202
+ key: string;
1203
+ error: string;
1204
+ }[];
1205
+ };
1206
+ } & {
1207
+ readonly plotKeys: string[];
1208
+ readonly plot: import("@jbrowse/core/configuration").Plot;
1209
+ readonly plotExamples: readonly import("@jbrowse/core/configuration").PlotExample[];
1210
+ readonly configDocsUrl: string;
1211
+ liftPlot(draft: import("@jbrowse/core/configuration").Plot): import("@jbrowse/core/configuration").AnyConfigurationModel;
1212
+ plotProblems(draft: import("@jbrowse/core/configuration").Plot): string[];
1213
+ plotWrites(draft: import("@jbrowse/core/configuration").Plot): Record<string, unknown>;
1214
+ } & {
1215
+ applyPlot(draft: import("@jbrowse/core/configuration").Plot): void;
1080
1216
  } & {
1081
1217
  scrollTop: number;
1082
1218
  } & {
1083
1219
  readonly height: number;
1084
1220
  readonly resizing: boolean;
1221
+ readonly scrollContentHeight: number;
1222
+ readonly scrollViewportHeight: number;
1223
+ } & {
1085
1224
  readonly scrollableHeight: number;
1086
1225
  } & {
1087
1226
  setScrollTop(scrollTop: number): void;
@@ -1093,19 +1232,18 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
1093
1232
  } & {
1094
1233
  forceLoadTrack: boolean;
1095
1234
  byteEstimate: import("@jbrowse/display-kit/regionTooLargeUtils").ByteEstimate | undefined;
1096
- gateMeasuredViewportKey: string | undefined;
1235
+ gateMeasuredViewportKey: unknown;
1097
1236
  } & {
1098
1237
  readonly gateEnabled: boolean;
1099
- readonly densityGateEnabled: boolean;
1100
1238
  readonly byteGateAdapterConfig: Record<string, unknown>;
1101
1239
  readonly configuredFetchSizeLimit: number | undefined;
1102
1240
  readonly densityTooLarge: boolean;
1103
- readonly byteGateAdapterPath: string[];
1241
+ readonly byteGateAdapterPath: import("@jbrowse/display-kit/RegionTooLargeMixin").ByteGateAdapterPath;
1104
1242
  readonly adapterFetchSizeLimit: number | undefined;
1105
1243
  readonly configForceLoad: boolean;
1244
+ readonly gateViewportSpanBp: number | undefined;
1106
1245
  readonly gateViewport: import("@jbrowse/display-kit/regionTooLargeUtils").GateViewport | undefined;
1107
1246
  } & {
1108
- readonly byteGateAdapterKey: string;
1109
1247
  readonly aboveForceLoadFloor: boolean;
1110
1248
  readonly gateExempt: boolean;
1111
1249
  readonly estimatedFetchBytes: number | undefined;
@@ -1126,29 +1264,28 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
1126
1264
  } & {
1127
1265
  readonly gateSkipsMeasuredViewport: boolean;
1128
1266
  } & {
1129
- setByteEstimate(measurement: {
1130
- bytes: number;
1131
- viewport: import("@jbrowse/display-kit/regionTooLargeUtils").GateViewport;
1132
- }): void;
1133
1267
  clearByteEstimate(): void;
1268
+ clearGateMeasurements(): void;
1134
1269
  setForceLoadTrack(flag: boolean): void;
1135
- reload(): void;
1136
1270
  } & {
1137
- commitFetchBytes(perRegionBytes: (number | undefined)[], issued: import("@jbrowse/display-kit/regionTooLargeUtils").GateFetchState): void;
1271
+ commitFetchBytes(perRegionBytes: (number | undefined)[], issued: import("@jbrowse/display-kit/regionTooLargeUtils").GateFetchState, partial?: boolean): void;
1138
1272
  } & {
1139
1273
  forceLoad(): void;
1140
1274
  } & {
1141
1275
  afterAttach(): void;
1142
1276
  } & {
1143
1277
  canvasDrawn: boolean;
1278
+ paintCount: number;
1144
1279
  currentRenderingBackend: unknown;
1145
1280
  renderTick: number;
1146
1281
  autorunsInstalled: boolean;
1147
1282
  renderError: unknown;
1283
+ offScreen: boolean;
1148
1284
  } & {
1149
1285
  readonly canRender: boolean;
1150
1286
  readonly rendersCanvas: boolean;
1151
1287
  readonly paintInert: boolean;
1288
+ readonly paintSuperseded: boolean;
1152
1289
  } & {
1153
1290
  readonly painted: boolean;
1154
1291
  } & {
@@ -1156,11 +1293,12 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
1156
1293
  resetCanvasDrawn(): void;
1157
1294
  stopRenderingBackend(): void;
1158
1295
  renderNow(): void;
1296
+ setOffScreen(offScreen: boolean): void;
1159
1297
  setRenderError(error: unknown): void;
1160
1298
  } & {
1161
1299
  attachRenderingBackend<B>(backend: B, setup: () => import("@jbrowse/render-core/RenderLifecycleMixin").RenderingBackendCallbacks<B>): void;
1162
1300
  } & {
1163
- activeStopToken: import("@jbrowse/core/util").StopToken | undefined;
1301
+ activeSignal: AbortSignal | undefined;
1164
1302
  fetchGeneration: number;
1165
1303
  reloadCounter: number;
1166
1304
  statusWindow: import("@jbrowse/core/util").StatusWindow;
@@ -1180,7 +1318,9 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
1180
1318
  readonly isLoadingOrCanceled: boolean;
1181
1319
  readonly fetchInert: boolean;
1182
1320
  readonly awaitingPrerequisite: boolean;
1183
- readonly rpcPropsCacheKey: string;
1321
+ readonly awaitingDependentData: boolean;
1322
+ } & {
1323
+ readonly settingsFetchInputs: unknown;
1184
1324
  } & {
1185
1325
  setError(error?: unknown): void;
1186
1326
  setStatusMessage(status?: import("@jbrowse/core/util").RpcStatus): void;
@@ -1190,8 +1330,10 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
1190
1330
  } & {
1191
1331
  cancelFetch(): void;
1192
1332
  cancelFetchByUser(): void;
1333
+ reload(): void;
1193
1334
  beforeDestroy(): void;
1194
- endFetch(current: boolean, stopToken: import("@jbrowse/core/util").StopToken): void;
1335
+ beginFetch(signal: AbortSignal): void;
1336
+ endFetch(current: boolean): void;
1195
1337
  } & {
1196
1338
  runFetch: (work: (ctx: import("@jbrowse/display-kit/FetchMixin").FetchContext) => Promise<void>) => Promise<void>;
1197
1339
  } & {
@@ -1199,29 +1341,44 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
1199
1341
  } & {
1200
1342
  readonly host: import("@jbrowse/display-kit/regionHost").RegionHost;
1201
1343
  readonly canvasWidthPx: number;
1344
+ readonly settledSubPixelBinBp: number;
1202
1345
  readonly canRender: boolean;
1346
+ readonly rendersCanvas: boolean;
1347
+ readonly trackVisibleRegions: import("@jbrowse/display-kit/regionHost").VisibleRegion[];
1203
1348
  readonly viewportWithinLoadedData: boolean;
1204
1349
  readonly viewportEmpty: boolean;
1350
+ readonly fetchSuspended: boolean;
1205
1351
  readonly layoutReady: boolean;
1206
- readonly regionFetchKey: string;
1207
- regionHasData(_displayedRegionIndex: number): boolean;
1352
+ regionHasData(displayedRegionIndex: number): boolean;
1208
1353
  readonly dataSuperseded: boolean;
1209
1354
  readonly renderBlocks: import("@jbrowse/render-core/renderBlock").RenderBlock[];
1355
+ } & {
1356
+ readonly fetchInputs: import("@jbrowse/display-kit/fetchInputs").FetchInputs;
1357
+ } & {
1358
+ readonly regionPayloads: ReadonlyMap<number, unknown>;
1359
+ readonly hasRegionData: boolean;
1210
1360
  } & {
1211
1361
  isCacheValid(displayedRegionIndex: number): boolean;
1212
1362
  } & {
1363
+ readonly staleSettingsDrawn: boolean;
1213
1364
  readonly dataCurrent: boolean;
1214
1365
  readonly loadedAssembly: import("@jbrowse/core/assemblyManager/assembly").Assembly | undefined;
1366
+ } & {
1367
+ readonly phaseViewportCurrent: boolean;
1215
1368
  } & {
1216
1369
  readonly svgReady: boolean;
1217
1370
  readonly paintInert: boolean;
1371
+ readonly paintSuperseded: boolean;
1218
1372
  readonly displayPhase: import("@jbrowse/render-core/displayPhase").DisplayPhase;
1219
1373
  } & {
1220
- setLoadedRegion(displayedRegionIndex: number, region: import("@jbrowse/core/util").Region, fetchKey?: string): void;
1374
+ setLoadedRegion(displayedRegionIndex: number, region: import("@jbrowse/core/util").Region, payload: import("@jbrowse/display-kit/regionCommit").RegionPayload | undefined, fetchInputs?: import("@jbrowse/display-kit/fetchInputs").FetchInputs): void;
1375
+ evictRegionStore(keep: ReadonlySet<number>): void;
1221
1376
  dropLoadedRegion(displayedRegionIndex: number): void;
1222
1377
  clearDisplaySpecificData(): void;
1378
+ clearSettingsBakedData(): void;
1223
1379
  } & {
1224
1380
  clearAllRpcData(): void;
1381
+ invalidateSettings(): void;
1225
1382
  reload(): void;
1226
1383
  } & {
1227
1384
  fetchNeeded(_needed: IndexedRegion[]): void;
@@ -1232,24 +1389,25 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
1232
1389
  } & {
1233
1390
  /** every `fetchNeeded` call, as the region list it was handed */
1234
1391
  fetchLog: IndexedRegion[][];
1235
- loadedData: Map<number, string>;
1236
1392
  /**
1237
- * What `regionFetchKey` answers. A volatile, not a `control` knob, and
1238
- * that is the point: a real display's key reads view state, so the
1239
- * autorun re-runs when it moves. A plain closure value would be memoized
1240
- * by the computed and never invalidate.
1393
+ * What `zoomFetchArgs` answers. A volatile, not a `control` knob, and
1394
+ * that is the point: a real display's args read view state, so the
1395
+ * autorun re-runs when they move. A plain closure value would be
1396
+ * memoized by the computed and never invalidate.
1241
1397
  */
1242
1398
  fetchKey: string;
1243
1399
  } & {
1400
+ regionHasData(displayedRegionIndex: number): boolean;
1401
+ } & {
1402
+ /** the fetched payloads, off the foundation's store */
1403
+ readonly loadedData: ReadonlyMap<number, string>;
1244
1404
  readonly gateEnabled: boolean;
1245
- readonly densityGateEnabled: boolean;
1246
1405
  readonly densityTooLarge: boolean;
1247
- readonly regionFetchKey: string;
1248
- regionHasData(_displayedRegionIndex: number): boolean;
1406
+ zoomFetchArgs(): {
1407
+ key: string;
1408
+ };
1249
1409
  } & {
1250
1410
  setFetchKey(key: string): void;
1251
- setLoaded(displayedRegionIndex: number, value: string): void;
1252
- clearDisplaySpecificData(): void;
1253
1411
  } & {
1254
1412
  fetchNeeded(needed: IndexedRegion[]): Promise<void>;
1255
1413
  }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>>;
@@ -1257,7 +1415,7 @@ export declare function createPerRegionTestEnvironment({ measuresBytes, gate, es
1257
1415
  };
1258
1416
  mockRpcCall: jest.Mock<any, any, any>;
1259
1417
  pluginManager: import("@jbrowse/core/PluginManager").default;
1260
- trackConfig: any;
1418
+ trackConfig: import("@jbrowse/core/configuration").PluggableConfigNode & import("@jbrowse/mobx-state-tree").IStateTreeNode<import("@jbrowse/core/PluginManager").PluggableConfigSchemaType>;
1261
1419
  control: PerRegionTestControl;
1262
1420
  };
1263
1421
  export {};