OVERSCANUI KIT
no button at all a worn bezel with weight channels do not converge zero depth instrumented, full of smoke a field of real characters a camera looking out additive, so no shadow hairlines, no new shader no raster, so no scanlines

A layer is never shown as present at a time it has no data for. Each lane rests on hatched NO DATA, and only recorded spans are drawn over it, so VISUAL's dropout from 0:12 to 0:18 is a gap and not blank track, while AUDIO's recorded silence from 0:24 to 0:30 is a flat line. The readout at the playhead gives a reading or NO DATA and never carries one across a gap. Tap a layer name to solo it: the playhead does not move, and a soloed layer with nothing at the playhead says so. Drag a lane or use the slider to scrub.

Fill styles

demo/timeline.html, from this page
import 'overscan'
import 'overscan/overscan.css'

<ov-timeline
  layers="VISUAL,AUDIO,THERMAL"
  duration="40"
  at="21"
  fill="line"
  label="Recording"
  style="--ov-timeline-track-w:56ch"
></ov-timeline>
fill: line
variation: fill="area"
import 'overscan'
import 'overscan/overscan.css'

<ov-timeline
  layers="VISUAL,AUDIO,THERMAL"
  duration="40"
  at="21"
  fill="area"
  label="Recording"
  style="--ov-timeline-track-w:56ch"
></ov-timeline>
fill: area
variation: fill="gradient"
import 'overscan'
import 'overscan/overscan.css'

<ov-timeline
  layers="VISUAL,AUDIO,THERMAL"
  duration="40"
  at="21"
  fill="gradient"
  label="Recording"
  style="--ov-timeline-track-w:56ch"
></ov-timeline>
fill: gradient
variation: fill="bars"
import 'overscan'
import 'overscan/overscan.css'

<ov-timeline
  layers="VISUAL,AUDIO,THERMAL"
  duration="40"
  at="21"
  fill="bars"
  label="Recording"
  style="--ov-timeline-track-w:56ch"
></ov-timeline>
fill: bars

Every theme (fill: line)

terminal
industrial
cyber
antiseptic
esper
neo
machina
holo
aegis
vector