Each skater is on his own way: the first straight of the 1000 m in one lane, then a lane changed on every crossing.
The picture above was drawn when the docs were built. The script below draws it again with the published package.
import { skatingReplay } from "@johnmorrisdotca/kyogijo-stadiums/skating";
import { drawFrame } from "@johnmorrisdotca/kyogijo-stadiums/replay";
const replay = skatingReplay([{ name: "A", lane: "inner", time: 68 }, { name: "B", lane: "outer", time: 69 }], { race: "1000m" });
const svg = drawFrame(replay.options, replay.timeline, 30, replay.look);
This page imports the package from jsDelivr (major version 0), which serves only versions that have been published to npm. A feature added after the last release is not in it: the page then keeps the picture above and says why. The docs were built from version 0.6.1.