great look, decent code.
examples at https://penrose.cs.cmu.edu/try/?examples each example has three tabs:
.substance => data
.style => low level 2d vector art
.domain => data ranges
heavy lifting done by .style, random fragment: forall repeatable Element a; Element b; Element c
where IsProduct( a, b, c )
{
shape productShape = Rectangle {
center: ( b.u, c.v )
width: a.width - global.boxPadding
height: a.height - global.boxPadding
cornerRadius: 2.0
fillColor: a.boxColor
}
shape productText = Equation {
string: a.label
center: productShape.center
fontSize: "8px"
fillColor: a.labelColor
}
}