C.W.K.
Stream
Lesson 01 of 04 · published

Several Infinite Timelines, Side by Side

~10 min · journals, shelf, day-one, categorical

Level 0Cold Hearth
0 XP0/34 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"Vesta is Waystone with exactly one journey whose bounds are ±∞ — and the journal shelf is several such infinite timelines side by side."

The Shelf Dad Already Keeps

Open Day One and you don't find one undifferentiated stream — you find a shelf. Dad keeps a daily journal beside a Quotes journal beside a Twits journal. They're separate books on the same shelf, each holding a different kind of entry. Vesta takes that exact shape: a default journal plus any number of user journals, each an independent collection. This is the one structure Vesta adds on top of the bare date axis, and it's worth being precise about what kind of structure it is.

A journal is categorical. It sorts crumbs by kind — the daily record here, quotes there, ideas in a third — and it says nothing about time. Within every single journal, the date axis is exactly as unbounded as it was before: past scatter and future scatter both work, with no first date and no last. Dad's framing nails it: Vesta is Waystone with one journey whose bounds are plus and minus infinity, and the shelf is several of those infinite timelines standing next to each other.

A partition beside the axis is not a boundary across it. The forbidden structure is a fence that scopes which dates exist (a bounded journey). The allowed structure is a shelf that sorts crumbs by category while leaving each timeline endless. Same word people might reach for — 'container' — two completely different shapes. One re-grows the thing Vesta removed; the other is orthogonal to it.

Why This Doesn't Undo the Divergence

It's fair to worry that adding journals sneaks the container back in. It doesn't, and the reason is the axis of the cut. A journey bounded time — it fenced off a stretch of dates. A journal bounds category — it separates kinds of entry — and leaves time untouched in each one. You can hold ten journals and every one of them still runs from negative infinity to positive infinity. The divergence from Waystone was 'no bounded time container', and a categorical shelf respects that completely: it never puts ends on a timeline; it just lets you keep more than one endless timeline at once.

Identity, Name, and the Modest v0

Each journal has an immutable ULID identity; its name and color are presentation, changeable without touching what the journal is — the same identity-versus-presentation split that governs crumbs. The first version stays deliberately modest: create and rename only. Journal deletion is deferred on purpose, because deleting a journal is deleting a stretch of a lifetime, and the safe path (move the crumbs out, then remove the empty shelf) deserves its own careful design rather than a hasty destructive button. Start with the shelf you can add to and relabel; earn the ability to remove.

Code

The shelf: categorical partition, each timeline endless·text
the shelf (categorical — sorts by KIND):

  Journal: Daily    <-- -inf ....|....|....|.... +inf -->
  Journal: Quotes   <-- -inf .......|.........|... +inf -->
  Journal: Ideas    <-- -inf ..|..........|....... +inf -->
     |          |
   identity   presentation
   (ULID)     (name + color, changeable)

# every journal's date axis is still unbounded both ways
# the shelf separates categories; it never fences time
# v0: create + rename only (deletion is deferred, on purpose)

External links

Exercise

Look at how you currently separate kinds of notes — folders, notebooks, tags, separate apps. For each separation, decide whether it bounds time (a '2025 notes' folder) or bounds category (a 'recipes' notebook). Then reshape any time-bounded ones into categorical shelves that leave each timeline endless. Notice which of your groupings was quietly fencing time when it only needed to sort by kind.
Hint
The test is whether the grouping decides which dates belong to it. A 'recipes' or 'quotes' shelf sorts by kind and lets any date in. A '2025' or 'Q3' folder fences time — that's the container Vesta refuses. Convert the time-fences into either categorical shelves or plain date-range views.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.