{
const size = 800;
const vector = d3.range(5);
const matrix = d3.cross(vector, vector);
const grid = d3.scaleBand(vector, [0, size]).padding(0.4);
const length = grid.bandwidth() / 2;
const x = (d) => grid(d) + length;
const I = [0, 1, 2];
const C = ["#FD9DB9", "#FFD7E2", "#FFF"];
const L = [length, length / 1.38, length / 2.25].map((d) => d | 0);
const app = cm.app({
width: size,
height: size,
styleBackground: "rgb(255, 64, 119)",
loop: true,
draw: ({ time }) => [
cm.svg("g", matrix, {
transform: ([m, n]) => `translate(${x(m)}, ${x(n)})`,
children: I.map((i) => ([m, n]) => star({
length: L[i],
stroke: C[i],
time,
x: x(m),
y: x(n)
}))
})
]
});
invalidation.then(() => app.dispose());
return app.render();
}