GlobalFetchMixin
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 foundation for a display holding a single global (non-regional) dataset: HiC's contact matrix, the LD triangle, multi-way synteny's lanes.
Composes:
- RegionTooLargeMixin (regionTooLarge, force-load, …)
- RenderLifecycleMixin (attachRenderingBackend, renderNow, renderError, …)
- KeyedFetchMixin (FetchMixin's runFetch, cancelFetch, isLoading, error,
statusMessage, fetchGeneration, plus the
currentFetchKey/loadedFetchKeyfreshness pair the comparative family composes too)
What is left here is what only an LGV display can say: the hosting
RegionHost, the static-block signature every viewSignature in this family
starts from, and the readiness getters that read the view — viewportEmpty,
canRender, paintInert, svgReady, displayPhase.
Installs no autoruns — each display owns its fetch trigger, sharing the
installGlobalFetchAutorun skeleton, to which it supplies only its own
prepare / run / commit phases.
Each section ends with the members a composed model contributes, linked to the page that documents them.
Volatiles
20 inherited volatiles from 4 models
From RegionTooLargeMixin: forceLoadTrack, byteEstimate, gateMeasuredViewportKey
From RenderLifecycleMixin: canvasDrawn, paintCount, currentRenderingBackend, renderTick, autorunsInstalled, renderError, offScreen
From KeyedFetchMixin: loadedFetchKey
From FetchMixin: activeSignal, fetchGeneration, reloadCounter, statusWindow, error, statusMessage, statusProgress, fetchCanceled, fetchRotation
Getters
| Member | Description |
|---|---|
hostRegionHost | The hosting view as the RegionHost contract — see containingHost for the cast it owns, why the name is host and not view, and why both foundations still declare the name over one body. |
staticBlockSignaturestring | undefined | The static-block set as a signature, or undefined before the view is measured — the building block every viewSignature in this family starts from. Multi-way synteny is exactly this; HiC appends its resolution. Declared here so the initialized gate is spelled once. |
dynamicBlockSignaturestring | undefined | The same over dynamicBlocks, for a display whose fetch window is the live viewport rather than the snapped block set (LD). |
viewportEmptyboolean | No content block is on screen, so this display has nothing to fetch and nothing to paint — see viewportEmpty.ts for the one viewport that reaches it, how narrow that is, and why the state still has to be terminal rather than a permanent scrim. Both foundations declare it over that one expression, the same way they each declare host and paintInert. |
canRenderboolean | Overrides RenderLifecycleMixin's default-true hook with the LGV precondition both foundations share — see foundationCanRender. |
rendersCanvasboolean | Fills RenderLifecycleMixin's hook off fetchInert: a display that will never fetch here shows a placeholder where its canvas would be, so painted and the pre-first-paint scrim term stop waiting on a paint that cannot come. Sequence and LD each carried this as a second override beside fetchInert, always its negation. |
paintInertboolean | Fills RenderLifecycleMixin's paintInert hook — see there for why a failed fetch has to read as finished to the consumers outside the display, and foundationPaintInert for the second such state and why both fetch families answer it through one function. Overridable, as the hook is: a display with a third inert state of its own says so here. |
svgReadyboolean | Policy single-sourced in computeSvgReady; this family supplies only the freshness half, which foundationSvgReady reads as dataCurrent or the vacuous currency of viewportEmpty. Note it requires the dataset to actually be current, NOT merely "not currently fetching": the fetch trigger is a debounced afterAttach autorun, so at export time isLoading can still be false with no data yet — a displayPhase !== 'loading' test would then capture an empty render. Never gates on canvasDrawn, which an off-screen export never sets. Off-screen renderers gate on it via awaitSvgReady(model). |
displayPhaseDisplayPhase | The display's mutually-exclusive visual state, mapped in foundationDisplayPhase — every foundation calls it and supplies only its staleness argument, so a term added to computeActivityPhase reaches all of them without being wired twice.This family's argument is the constant true, deliberately: a global display keeps the last frame up through a refetch (worker output is genomic, so the stale frame draws correctly under the live view transform), so a pan or zoom shows no scrim beyond the isLoading window. The pre-first-paint scrim it does want — the gap between mount and isLoading going true, which on HiC is the CoreGetInfo round trip its first fetch waits on — is computeActivityPhase's shared rendersCanvas && !canvasDrawn term, not anything this family spells out. |
33 inherited getters from 4 models
From RegionTooLargeMixin: gateEnabled, byteGateAdapterConfig, configuredFetchSizeLimit, densityTooLarge, byteGateAdapterPath, adapterFetchSizeLimit, configForceLoad, gateViewportSpanBp, gateViewport, aboveForceLoadFloor, gateExempt, estimatedFetchBytes, gateMeasurementStale, gateByteLimit, gateActive, densityGateActive, tooLargeStatus, regionTooLarge, regionTooLargeReason, zoomCanReleaseGate, gateSkipsMeasuredViewport
From RenderLifecycleMixin: paintSuperseded, painted
From KeyedFetchMixin: viewSignature, dataSuperseded, currentFetchKey, dataCurrent
From FetchMixin: isLoading, isLoadingOrCanceled, fetchInert, awaitingPrerequisite, awaitingDependentData, settingsFetchInputs
Methods
2 inherited methods from one model
Actions
24 inherited actions from 4 models
From RegionTooLargeMixin: clearByteEstimate, clearGateMeasurements, setForceLoadTrack, commitFetchBytes, forceLoad
From RenderLifecycleMixin: markCanvasDrawn, resetCanvasDrawn, stopRenderingBackend, renderNow, setOffScreen, setRenderError, attachRenderingBackend
From KeyedFetchMixin: commitFetchResult, reload
From FetchMixin: setError, setStatusMessage, stopActiveFetch, openStatusStream, cancelFetch, cancelFetchByUser, beforeDestroy, beginFetch, endFetch, runFetch