Timeline
A filterable timeline, compiled from axis + window + event model.
The wiring ∘ feeds ⊗ parallel
This is the compiler’s reading of how the gifts compose into one app. Read left to right: each stage feeds the next (∘). A bracketed group (⊗) is parallel — its parts don’t depend on each other.
event model- ∘
window filter- ∘
render axis
Composition term: render-axis ∘ window-filter ∘ event-model
1 declared gap — named below, not hidden.
constructible-with-gap: 3 pipe primitives fully witnessed (timeline, range-filter, gantt-sink); 1 declared pure-kernel gap (time-scale). One interactive sub-lane (pan-zoom / input-handling).
The declared gaps 1
A gap is a piece the compiler knows it needs but doesn’t yet have a witnessed gift for — honest derive-first work, declared rather than hidden. The app is constructible; these are the parts you’d build.
-
tl.time-scalepure-kerneltime -> pixel-position: a deterministic linear map, a pure fold off the main pipe flow. Reclassified pipe->pure-kernel by the S13.1752 D1 ruling (drift 8251ecec). Declared derive-first gap; the time-scale witness gift (path b) is open gifts-8-reference-apps work.
Witness gifts 3
These shipped gifts witness stages of the pipeline — the real, downloadable parts the proof stands on.
The gifts are real and free; the wiring is a plan. Take the parts and build the app — as the schematic reads it, a variation, or something we’d never have compiled.
Built it, found a gap we missed, or think the wiring is wrong? Shea wants to hear it — success stories, questions, and corrections all land in the same inbox: