Function
A stable map of lesson id to seconds; empty before hydration
One synchronous snapshot for a whole list: a module overview with thirty rows reads it once rather than awaiting one promise per row. It is the same map every surface reads, so a position written by the player reaches every progress bar on the page without a reload.
Browser-side only — do NOT call from a Server Component.
Every playback position the signed-in learner has saved, keyed by lesson id.