CPPN morph scrubbing—does it run fast enough in the browser?

Real lineage from the canonical run. Drag the slider to morph across every parent→child edge. Both renderers draw the same interpolated genome so you can compare quality and speed.

JS—cppn.js scalar engine
WebGL—CPPN compiled to GLSL

The JS engine is the same renderGenome() the breeder uses. WebGL compiles the genome's feed-forward graph into a fragment shader once per edge; scrubbing only updates weight + activation-blend uniforms, so the GPU redraws every pixel in parallel. Interpolation logic is a direct port of render_lineage_animation.py (superset of parent∪child genes, lerp weights, fade appearing/disappearing connections, blend activations).