feat(timeline): hold back unstarted events, and say where they begin
Two halves of one reading. The board answers "how does the time I am in lay out?", and plotting every lane's next patch stretched the window weeks past today and squeezed the running bars down to nothing — so it holds them back, and holds them back itself rather than being handed a shorter list, because the control has to say *how many*. A board that quietly withheld a third of the schedule is indistinguishable from a quiet fortnight, which is the wrong thing for this app to imply by accident. A board with nothing left running says so and points at the control instead of reading as an empty calendar. Switched on, a bar drawn right of the now rule is only implicitly in the future, and implicitly is not a standard we hold anywhere else a date is involved. Gacha schedules are not a smooth stream of starts either — a patch ships six things at once — so the unit is the clump: a dashed rule per group of starts, labelled in words. Clumps merge by distance on screen rather than by calendar, since a week apart is one mark at six pixels a day and two at a hundred and eight, and a merged one states the span it covers rather than claiming a date the board is not ruling at. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
329902d7d8
commit
7a3588fbf6
@@ -548,6 +548,10 @@ export function App() {
|
||||
onZoom={(timelineDayWidth) => update({ timelineDayWidth })}
|
||||
group={prefs.timelineGroup}
|
||||
onGroup={(timelineGroup) => update({ timelineGroup })}
|
||||
// The board holds these back itself rather than being handed a
|
||||
// shorter list, so its own control can say how many are waiting.
|
||||
showUpcoming={prefs.timelineUpcoming}
|
||||
onShowUpcoming={(timelineUpcoming) => update({ timelineUpcoming })}
|
||||
onOpen={setOpenId}
|
||||
isDone={isDone}
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user