Implementation
This sketch refuses to be a single rule. Inside a Manhattan diamond carved out of the grid, the top band mostly copies what happened one row north; the apex row carries a single lit pixel; everything between plays a parity game on the full neighbor count. Dead boundaries and an apex-top seed hook into the component's initializer so the first frame already agrees with the geometry. It feels less like "Life" and more like a little ritual unfolding in a gem-shaped viewport.
Breakdown
The fun is entirely in how space is partitioned: outside the diamond is forced dead, inside the diamond the update depends on which horizontal band you're in. There are 3 key components:
Diamond mask
Manhattan distance from the center must stay within radius R; otherwise the cell is cleared. That gives a rotated-square silhouette that reads crisp against the black margin.
const man = abs(cellX.sub(float(cx))).add(abs(cellY.sub(float(cy))))
If(man.greaterThan(float(R)), () => next.assign(0)).Else(() => {
If(cellY.greaterThan(float(ySplit)), () => next.assign(north))
.ElseIf(cellY.equal(float(ySeed)), () => {
/* single apex cell */
})
.Else(() => next.assign(mod(neighborActiveCount, float(2))))
})North-copy band
Above ySplit, the cell simply takes the north neighbor's value from the read buffer—so information tends to drift downward through that band like a stacked elementary CA.
Parity interior
In the remaining interior rows, the next state is neighborActiveCount mod 2, which is brutally simple but produces noisy, checkerboard-leaning texture against the smoother stripes above.
boundary: 'dead' means out-of-range neighbors read as zero, so the diamond edge is a real cliff, not a wrap—very different mood from Emerge 1's torus.






