svg`<svg width="${size}" height="${size}" viewBox="${-size/2} ${-size/2} ${size} ${size}">
${repeat(tick(radius, 5, '#434343'), numMinorTicks * 4 * numMajorTicks)}
${repeat(tick(radius, 8), numMajorTicks * 4)}
${repeat(`<path d="M 0,-${radius+14} l 3,10 l -6,0 z" fill="black" stroke="black" stroke-width="1"/>`, 4, 0)}
${repeat(`<path d="M 0,-${radius+14} l 3,10 l -6,0 z" fill="white" stroke="black" stroke-width="1"/>`, 4, 45)}
<circle r="${radius}" fill="#d3d3d3" stroke="#434343" stroke-width="3" />
${repeat(directionMarker(radius+14, 17), 4, 0)}
${repeat(directionMarker(radius+12, 12), 4, 45)}
${repeat(angleMarker(84, 7), 24)}
${repeat(pie(radius-margin/2, 2 * Math.PI * (radius-margin/2) / colors.length / 2, 1, colors), colors.length, 360/colors.length/2)}
</svg>
`