A frame of the race replay, 75 seconds after the signal

The marks are the swimmers, numbered by lane, moving from the splits; the clock and the controls are the replay's own.

Swimming poolDrawn as: a swimming pool, 50 by 25 metres, with 8 lanes, lane ropes, the lane markings on the floor, starting blocks, touch panels, backstroke flags and a false start rope. Men's 200 m freestyle, final (made up). Lane 8: Jonas Berg (HEL). Lane 7: Pavel Novak (FEN). Lane 6: Ren Takahashi (DOR). Lane 5: Mateo Varga (CAL). Lane 4: Ivo Lindqvist (AUR). Lane 3: Oskar Dahl (BOR). Lane 2: Callum Rhodes (EST). Lane 1: Daniel Okoro (GAR). Data: Replay, 1:53. 8 tracked objects. By team: home 8. 33 events.8877665544332211Jonas BergHEL8Pavel NovakFEN7Ren TakahashiDOR6Mateo VargaCAL5Ivo LindqvistAUR4Oskar DahlBOR3Callum RhodesEST2Daniel OkoroGAR1Men's 200 m freestyle, final (made up)Trail of the last 3 secondsBy team: home 8.PlayersBy team: home 8.Jonas Berg 8Pavel Novak 7Ren Takahashi 6Mateo Varga 5Ivo Lindqvist 4Oskar Dahl 3Callum Rhodes 2Daniel Okoro 1Shirt numbers87654321

The picture above was drawn when the docs were built. The script below draws it again with the published package.

import { drawFrame, raceTimeline } from "@johnmorrisdotca/kyogijo-stadiums/replay";

const flag = (a, b) => '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 20"><rect width="30" height="20" fill="' + a + '"/><rect y="7" width="30" height="6" fill="' + b + '"/></svg>';
const swimmers = [
  [4, "Ivo Lindqvist", "AUR", "#0f7a7a", "#f4f0e4", 0.64, [25.31, 52.28, 79.6, 106.12]],
  [5, "Mateo Varga", "CAL", "#6b2d5c", "#f2c230", 0.67, [25.55, 52.6, 79.95, 106.48]],
  [3, "Oskar Dahl", "BOR", "#8a2d4b", "#e8e2cf", 0.61, [25.12, 52.3, 79.98, 106.92]],
  [6, "Ren Takahashi", "DOR", "#c2410c", "#14233f", 0.7, [25.8, 53.02, 80.4, 107.15]],
  [2, "Callum Rhodes", "EST", "#3a2d6b", "#e8e2cf", 0.66, [25.7, 52.95, 80.66, 107.8]],
  [7, "Pavel Novak", "FEN", "#1f6b3c", "#f2c230", 0.69, [26.01, 53.4, 81.02, 108.21]],
  [8, "Jonas Berg", "HEL", "#7a2a8c", "#f2c230", 0.72, [26.1, 53.55, 81.38, 108.77]],
  [1, "Daniel Okoro", "GAR", "#14233f", "#f2a900", 0.74, [26.2, 53.71, 81.45, 108.9]],
].map(([lane, name, abbr, a, b, reaction, splits]) => ({ lane, name, abbr, flag: flag(a, b), reaction, splits }));
const pool = { look: "water", race: { event: "Men's 200 m freestyle, final (made up)", distance: 200, swimmers, show: { results: false } } };
const timeline = raceTimeline({ pool });
const svg = drawFrame({ sport: "swimming", pool }, timeline, 75, { trail: 3, trailOf: ["home"] });

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.