The twelve pitch classes round a dial with the sounding ones in the value fill, joined into a polygon, so a chord becomes a recognisable shape. Order the ring by semitone, fifth or whole tone. size is pixels or "fill" (scales to its container). With onToggle the dial becomes an input: twelve named checkboxes in one roving Tab stop (arrows walk the ring, Home and End), toggled by click, Enter or Space; labelOf respells node text; note names from music-theory.
pnpm dlx shadcn@latest add "https://pluginui.com/r/core-pitch-class-clock.json"