CoarseTierMixin
Auto-generated from the @jbrowse/mobx-state-tree model in the source — see the developer guide for concepts. Built into JBrowse core. View source.
The zoomed-out tier a display draws in place of its detail past its own threshold: MAF's summary bars. This mixin adds the swap decision, the per-region payloads and the read that fills them, through the shared fetch skeleton on its own rotation so the detail fetch's cancel never reaches it. While the tier is up the byte gate measures the coarse read, so its refusal is the banner and the detail fetch stands down.
The payloads live beside the foundation's per-region store, never in it,
and the read records its own span: the two tiers fetch different widths of
the same displayedRegionIndex, so one loadedRegions entry stamped by
both narrowed the coarse span to the detail's on every zoom in and re-read
the coarse adapter about an octave back out. The detail store keeps its
entries under the tier — a display masks them where it draws, and zooming
back in draws what it held.
A display states its tier through the hooks below: the adapter slot the
source sits on, its own threshold, what its read depends on beyond the span,
and the read itself. Composed after MultiRegionDisplayMixin, so its
displayPhase and svgReady are the ones types.compose keeps.
Volatiles
| Member | Description |
|---|---|
coarseTierObservableMap<number, P> | The coarse payload by displayedRegionIndex, over the regions the last read was issued for. Cleared on chromosome navigation. |
coarseTierReadCoarseTierRead | undefined | What the held payloads were read over — the buffered regions and the read key — so a pan or a zoom inside them re-reads nothing. Undefined until a read lands. |
coarseTierLoadingboolean |
Getters
| Member | Description |
|---|---|
coarseAdapterSlotstring | undefined | Overridable hook (default none): the slot on the track's adapter the coarse source sits in — summaryAdapter on MAF. With no slot there is no source and the tier never stands in. |
coarseTierPastThresholdboolean | Overridable hook (default false): the display's own line past which the tier stands in — a bp/px slot, a span floor. |
coarseReadKeyunknown | Overridable hook (default ''): what the read depends on beyond its span and its adapter — a zoom bucket, the settings axis. A value compared structurally, so a held read whose key differs re-reads. |
coarseSourceConfigunknown | The coarse source's config, read off the live track config so a re-pointed adapter follows. |
hasCoarseSourceboolean | |
coarseTierActiveboolean | Whether the coarse tier stands in for the detail right now. |
coarseTierStandsInboolean | Whether the tier is standing in for the detail on screen right now: the tier's verdict over a measured view. |
byteGateAdapterPathByteGateAdapterPath | RegionTooLargeMixin's hook: measure the adapter of the fetch that is about to run, so the estimate and the budget describe one file. |
| coarseTierIssueKey | The whole key a read is held under: the coarse adapter and the display's own term. |
fetchSuspendedboolean | MultiRegionDisplayMixin's hook: the coarse read is the measurement pass while the tier stands in, so the detail fetch has nothing to do. |
displayPhaseDisplayPhase | The foundation's phase with the too-large banner swapped for the tier — see coarseTierDisplayPhase. |
svgReadyboolean | The export gate under the same swap — see coarseTierSvgReady. |
Actions
| Member | Description |
|---|---|
setCoarseTier(entries: CoarseTierEntry<P>[], read: CoarseTierRead) => void | |
clearCoarseTier() => void | |
setCoarseTierLoading(loading: boolean) => void | |
| fetchCoarseTier | Overridable hook (no-op base): the coarse read over read.regions, answering one payload per region it covered or a refusal. ctx is the skeleton's — its callRpc carries the signal and the status slot, and isStale guards any write the read makes for itself before it returns. |