pad =
(primer) =>
(lightness) =>
{
const µ = (n = 1) => 40 * n;
const wide = 16;
const tall = 9;
const width = µ(wide);
const height = width / wide * tall;
const xmid = width / 2;
const ymid = height / 2;
const w = width;
const h = w / 2;
const q = w / 4;
const r = w / 6;
const pad = sheet(width, height, primer);
pad
.append("text")
.text(primer)
.attr("fill", contrast(primer))
.attr("x", h)
.attr("y", h / 5)
;
const dot = ((pad) => (x, light) => {
const fill = lighten(primer)(light);
pad
.append("circle")
.attr("fill", fill)
.attr("r", r)
.attr("cx", x)
.attr("cy", ymid)
;
pad
.append("text")
.text(fill.formatHex())
.attr("fill", contrast(fill))
.attr("alignment-baseline", "middle")
.attr("x", x)
.attr("y", ymid)
;
})(pad)
dot(1 * q, -lightness);
dot(3 * q, +lightness);
return pad.node();
}