A timeline stores 3 main things: events, ranged events, and tags.
Events can point to external refs (URIs, UUIDs, etc; a ref is an arbitrary string) and also contain arbitrary JSON attributes. The idea is that the .til file works as a temporal index, where payloads, notes etc live wherever you already keep them.
I've wanted to build this for a while, mostly for keeping track of and viewing timelines that I find interesting (music, roman empire stuff, etc). This project has 3 main elements, which are all independent: the file format itself (binary, built with postcard), a rust CLI, and a web viewer + editor (react, with the parser compiled to WASM so the FE shares the same implementation).
Source: https://github.com/rellfy/til