Zones: the rings

Curling sheetDrawn as: a curling sheet, 45.72 by 4.75 metres, with a house at each end (the 12-, 8- and 4-foot circles round the button), the tee, back, hog and centre lines and the hacks. Data: Zone chart of 80 stones. Count in 4 zones, from 1 to 69. Highest: Free guard zone (69), 12-foot ring (6), 4-foot ring (2). 2 outside the grid or the zones.Zone chart of 80 stonesCount in 4 zones, from 1 to 69. Highest: Free guard zone (69), 12-foot ring (6), 4-foot ring (2). 2 outside the grid or the zones.Free guard zone: 69 (69)12-foot ring: 6 (6)8-foot ring: 1 (1)4-foot ring: 2 (2)Button (0)6961Legend: CountCount204060

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

import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums";

const stones = Array.from({ length: 80 }, (_, i) => ({ x: 8.5 * Math.cos(i * 2.4) * Math.sqrt((i % 40) / 40), y: 8 * Math.sin(i * 2.4) * Math.sqrt((i % 40) / 40) - 14 + (i % 3) * 3, outcome: i % 4 ? "stone" : "counting" }));
const svg = drawKyogijo({ sport: "curling", sheet: { show: "half", end: "left" }, layers: [{ kind: "zones", name: "stones", zones: "curling-house", from: "curling", attacking: "left", end: "left", data: stones, labels: { show: ["value"] }, legend: true }] });

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.