The timeline bar rendered whole seconds but rebuilt on every ~250ms position emission, so three of four rebuilds produced identical output. It now derives a distinct position-seconds stream, the same pattern ContentStrip uses for its chapter index, and rebinds only when the player changes; streamStartEpoch changes still apply on the next build.