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).