Show the timeline only while a layer with time to show is on

The bar now needs more than the world clock being away from live: a layer
that moves with the clock must be on with time to show. In Core that is
weather radar, satellite or lightning with frames; a host adds layers by
following them. Turning the last one off hides the bar; turning it back
on brings it back.

The world clock reports this as `supported` in its state. Weather products
register their frames as coverage one by one, suspended or not, so the way
back to live stays on screen with reduced motion. Weather refreshes and
satellite catalog changes tell the clock their coverage may have changed.
A coverage that throws counts as none, and the clock reads its state once
per notification round.
This commit is contained in:
Sameh Khamis committed 2026-11-01 22:36:45 -08:00
1 parent 434fc9602d
commit 690a6637e2
12 files changed
+205 -25

No files matched your search

+4 -1
View File
@@ -3,7 +3,9 @@ import { onScopeDispose, shallowRef } from 'vue';
import { worldClock } from '../../time/worldClock.js';
/**
* The world clock as the timeline shows it: `{live, playing, timeMs}`. It
* The world clock as the timeline shows it: `{live, playing, timeMs,
* supported}`, where `supported` says a layer that moves with the clock has
* time to show. It
* follows the page's world clock, which tells it of every move, and of the
* time a few times a second while it plays on its own.
*/
@@ -13,6 +15,7 @@ export const useWorldTimeStore = defineStore('gev-world-time', () => {
live: state.live,
playing: state.playing,
timeMs: state.timeMs,
supported: state.supported,
});
const time = shallowRef(read());
onScopeDispose(