[{"data":1,"prerenderedAt":85},["ShallowReactive",2],{"$Vf0kl9Q6W0":3},{"id":4,"title":5,"body":6,"description":67,"extension":68,"meta":69,"navigation":70,"path":71,"pubDate":72,"seo":73,"stem":74,"tags":75,"tech":80,"__hash__":84},"experiments\u002Fexperiments\u002Fgame-of-life.md","Game of Life",{"type":7,"value":8,"toc":60},"minimark",[9,13,18,31,35,38,50,53,57],[10,11,12],"p",{},"Conway's Game of Life is a cellular automaton devised by mathematician John Conway. It's a zero-player game where the evolution is determined by its initial state.",[14,15,17],"h2",{"id":16},"the-rules","The Rules",[19,20,21,25,28],"ol",{},[22,23,24],"li",{},"Any live cell with 2 or 3 live neighbors survives",[22,26,27],{},"Any dead cell with exactly 3 live neighbors becomes a live cell",[22,29,30],{},"All other cells die or stay dead",[14,32,34],{"id":33},"how-it-works","How It Works",[10,36,37],{},"This implementation uses Rust compiled to WebAssembly for the game logic. The Rust code handles:",[39,40,41,44,47],"ul",{},[22,42,43],{},"Grid state management",[22,45,46],{},"Neighbor counting with wraparound edges",[22,48,49],{},"State transitions each generation",[10,51,52],{},"The canvas rendering happens in JavaScript, receiving the cell data directly from WASM memory.",[14,54,56],{"id":55},"try-it","Try It",[10,58,59],{},"Click cells to toggle them, or use the randomize button to generate a random pattern. Press play to watch generations evolve.",{"title":61,"searchDepth":62,"depth":62,"links":63},"",2,[64,65,66],{"id":16,"depth":62,"text":17},{"id":33,"depth":62,"text":34},{"id":55,"depth":62,"text":56},"Conway's Game of Life implemented in Rust and WebAssembly. Watch patterns evolve and create your own cellular automata.","md",{},true,"\u002Fexperiments\u002Fgame-of-life","2026-03-19",{"title":5,"description":67},"experiments\u002Fgame-of-life",[76,77,78,79],"wasm","rust","canvas","simulation",[81,82,83],"Rust","WebAssembly","Canvas API","99v0cuLdc77piK_mmMVJFBNx3MbENhdnIgWtOpjxRa8",1775933922658]