Additional human work was done by fleshing out a "level structure" that
can be used to actually create levels.
>>> Prompt:
give me a structure that enables me to serialize gradients like this:
var grd = ctx.createLinearGradient(0, 0, 800, 600);
grd.addColorStop(0, "black");
grd.addColorStop(1, "red");
ctx.fillStyle = grd;
ctx.fillRect(0, 0, 800, 600);