I built a canvas-based timeline visualisation library with virtualised rendering in Typescript