Predict the next view state and dispatch a chunk-boundary-aware transition,
falling back to prefetchChunks(predicted). Returns true when a prefetch
was dispatched, false when the predictor decided no axis moved.
The dispatcher itself is synchronous (returns after calling each
loader's prefetch method once); the underlying prefetch is async
and not awaited — that's the point of prefetch. Every warm-up runs under
signal, tagged 'speculative' here; the caller aborts it once two newer
predictions for the same node supersede it (ViewStateQueue).
Errors from either prefetch method are caught and silently swallowed —
prefetch is best-effort cache warming, not a demand fetch, so a
failed prefetch must never block the next updateView.
Predict the next view state and dispatch a chunk-boundary-aware transition, falling back to
prefetchChunks(predicted). Returnstruewhen a prefetch was dispatched,falsewhen the predictor decided no axis moved.The dispatcher itself is synchronous (returns after calling each loader's prefetch method once); the underlying prefetch is async and not awaited — that's the point of prefetch. Every warm-up runs under
signal, tagged'speculative'here; the caller aborts it once two newer predictions for the same node supersede it (ViewStateQueue).Errors from either prefetch method are caught and silently swallowed — prefetch is best-effort cache warming, not a demand fetch, so a failed prefetch must never block the next updateView.