[{"route":"2048","url":"/vite-labs/2048","title":"2048","description":null,"tags":["game"],"image":"/vite-labs/assets/screen-CWqs2RC2.png","git":{"lastModified":1778349773000,"firstAdded":1778349773000}},{"route":"boid-gpu","url":"/vite-labs/boid-gpu","title":"Boids GPU","description":null,"tags":["simulation","webgpu","particles"],"image":"/vite-labs/assets/screen-BeuGLXRK.png","git":{"lastModified":1769521345000,"firstAdded":1769520297000}},{"route":"imperative-geometry","url":"/vite-labs/imperative-geometry","title":"Imperative Geometry","description":null,"tags":["canvas"],"image":"/vite-labs/assets/screen-CBF2FWXc.png","git":{"lastModified":1766751668000,"firstAdded":1766507709000}},{"route":"suika","url":"/vite-labs/suika","title":"Suika Game","description":null,"tags":["game"],"image":"/vite-labs/assets/screen-CW8ab2cJ.png","git":{"lastModified":1765121872000,"firstAdded":1764878117000}},{"route":"silky-modal","url":"/vite-labs/silky-modal","title":"Silky Modal","description":null,"tags":["css"],"image":null,"git":{"lastModified":1765641786000,"firstAdded":1764198910000}},{"route":"particle-life-gpu","url":"/vite-labs/particle-life-gpu","title":"Particle Life GPU","description":null,"tags":["simulation","webgpu","particles"],"image":"/vite-labs/assets/screen-C9d4ysUD.png","git":{"lastModified":1764972333000,"firstAdded":1762551884000}},{"route":"tinkerbell-map","url":"/vite-labs/tinkerbell-map","title":"Tinkerbell Map","description":null,"tags":["math","chaos","attractor"],"image":"/vite-labs/assets/screen-DfgIVwvO.png","git":{"lastModified":1764972333000,"firstAdded":1761778472000}},{"route":"snakebird","url":"/vite-labs/snakebird","title":"Snakebird","description":null,"tags":["game"],"image":"/vite-labs/assets/screen-QXOFxvZy.png","git":{"lastModified":1764972333000,"firstAdded":1761415795000}},{"route":"fireflies","url":"/vite-labs/fireflies","title":"Fireflies","description":null,"tags":[],"image":"/vite-labs/assets/screen-BfRIsurs.png","git":{"lastModified":1764972333000,"firstAdded":1761222754000}},{"route":"polka-fireflies","url":"/vite-labs/polka-fireflies","title":"Polka Fireflies","description":null,"tags":[],"image":"/vite-labs/assets/screen-Dnl8crzt.png","git":{"lastModified":1764972333000,"firstAdded":1761173482000}},{"route":"visual-exec","url":"/vite-labs/visual-exec","title":"Visual Exec","description":null,"tags":[],"image":"/vite-labs/assets/screen-CTAsa6j3.png","git":{"lastModified":1764972333000,"firstAdded":1760983403000}},{"route":"particle-life","url":"/vite-labs/particle-life","title":"Particle Life","description":null,"tags":["simulation","canvas","particles"],"image":"/vite-labs/assets/screen-lF1UHx3M.png","git":{"lastModified":1764972333000,"firstAdded":1760880322000}},{"route":"maze-generation","url":"/vite-labs/maze-generation","title":"Maze Generation","description":null,"tags":["algorithm","procedural"],"image":"/vite-labs/assets/screen-BNTct4IM.png","git":{"lastModified":1764972333000,"firstAdded":1760825464000}},{"route":"deterministic-plinko","url":"/vite-labs/deterministic-plinko","title":"Deterministic Plinko","description":null,"tags":["game","physics","simulation"],"image":"/vite-labs/assets/screen-DlgwzE9r.png","git":{"lastModified":1764972333000,"firstAdded":1760809990000}},{"route":"spring-fluid","url":"/vite-labs/spring-fluid","title":"Spring fluid","description":"A fluid simulation based on a spring-mass system, on the GPU. Click and drag to introduce disturbances. Warning: flashing lights.","tags":["webgl","fluid","shader","physics"],"image":"/vite-labs/assets/screen-Brg4TEz1.png","git":{"lastModified":1764972333000,"firstAdded":1760259852000}},{"route":"cursor-projection","url":"/vite-labs/cursor-projection","title":"3D Cursor Projection","description":null,"tags":["perspective","css","projection"],"image":"/vite-labs/assets/screen-C_qJtRi0.png","git":{"lastModified":1764972333000,"firstAdded":1759672720000}},{"route":"intl-tuesday","url":"/vite-labs/intl-tuesday","title":"Intl Tuesday","description":null,"tags":["Intl","locales"],"image":"/vite-labs/assets/screen-D3gdPbxL.png","git":{"lastModified":1764972333000,"firstAdded":1759672364000}},{"route":"fourrier-series","url":"/vite-labs/fourrier-series","title":"Fourrier Series","description":null,"tags":["animation","music"],"image":"/vite-labs/assets/screen-CTmFLxR9.png","git":{"lastModified":1764972333000,"firstAdded":1752508497000}},{"route":"boids","url":"/vite-labs/boids","title":"Boids","description":"\n\t\tBoids is an artificial life program which simulates the flocking behaviour of birds.\n\t\tIt is an example of emergent behavior; that is, the complexity of Boids arises from the interaction of individual agents adhering to a set of simple rules.\n\t","tags":["simulation","animation","performance"],"image":"/vite-labs/assets/screen-DrpbWEHj.png","git":{"lastModified":1764972333000,"firstAdded":1752336310000}},{"route":"ants-shader","url":"/vite-labs/ants-shader","title":"Ants on shader","description":null,"tags":["simulation","performance","webgl","shader"],"image":"/vite-labs/assets/screen-BP-W6IyG.png","git":{"lastModified":1764972333000,"firstAdded":1742739684000}},{"route":"normal-map","url":"/vite-labs/normal-map","title":"Normal Map","description":null,"tags":["webgl","lighting"],"image":"/vite-labs/assets/screen-DxCZ8Bca.png","git":{"lastModified":1764972333000,"firstAdded":1742666916000}},{"route":"neat","url":"/vite-labs/neat","title":"N.E.A.T","description":"\n\t\tNeuroEvolution of Augmenting Topologies. A genetic algorithm that evolves neural networks to solve a task\n\t\t(here: collect as many orange dots as possible). Every generation, we simulate 2000 entities,\n\t\teach with a genome (a neural network). After a time, we select the best 1% of entities and create\n\t\ta new generation by copying them and mutating them.\n\t","tags":["simulation","genetic algorithm","neural network"],"image":"/vite-labs/assets/screen-C7KZ0I5S.png","git":{"lastModified":1764972333000,"firstAdded":1741456619000}},{"route":"swarm-pathfinding","url":"/vite-labs/swarm-pathfinding","title":"Swarm Pathfinding","description":null,"tags":["pathfinding","performance"],"image":"/vite-labs/assets/screen-qQxtpa96.png","git":{"lastModified":1764972333000,"firstAdded":1741025883000}},{"route":"flow-field","url":"/vite-labs/flow-field","title":"Flow Field","description":null,"tags":["pathfinding","performance"],"image":"/vite-labs/assets/screen-TEmfrq-W.png","git":{"lastModified":1764972333000,"firstAdded":1740833468000}},{"route":"collision-threads","url":"/vite-labs/collision-threads","title":"Collision Threads","description":null,"tags":["simulation","performance","physics"],"image":"/vite-labs/assets/screen-DjJ2qxOD.png","git":{"lastModified":1764972333000,"firstAdded":1740501679000}},{"route":"hex-a-star","url":"/vite-labs/hex-a-star","title":"Hexagonal A*","description":null,"tags":["pathfinding","data structures"],"image":"/vite-labs/assets/screen-B--XbCO8.png","git":{"lastModified":1764972333000,"firstAdded":1740491184000}},{"route":"wave-function-collapse-ascii","url":"/vite-labs/wave-function-collapse-ascii","title":"Ascii wave function collapse","description":null,"tags":["procedural","random","ascii"],"image":"/vite-labs/assets/screen-BquBvrZD.png","git":{"lastModified":1764972333000,"firstAdded":1740479450000}},{"route":"a-star","url":"/vite-labs/a-star","title":"A*","description":null,"tags":["pathfinding","101"],"image":"/vite-labs/assets/screen-WiaAkf41.png","git":{"lastModified":1764972333000,"firstAdded":1740478315000}},{"route":"quad-tree-collisions","url":"/vite-labs/quad-tree-collisions","title":"Quad Tree Collisions","description":null,"tags":["data structures","performance"],"image":"/vite-labs/assets/screen-BnX2DuSE.png","git":{"lastModified":1764972333000,"firstAdded":1740318342000}},{"route":"hacker-background","url":"/vite-labs/hacker-background","title":"Hacker Background","description":null,"tags":["animation","ascii"],"image":"/vite-labs/assets/screen-CLrvEf61.png","git":{"lastModified":1764972333000,"firstAdded":1739742825000}},{"route":"minesweeper","url":"/vite-labs/minesweeper","title":"Minesweeper","description":null,"tags":["game"],"image":"/vite-labs/assets/screen-BT1C0UL5.png","git":{"lastModified":1764972333000,"firstAdded":1738530954000}},{"route":"flask","url":"/vite-labs/flask","title":"Flask","description":null,"tags":["animation","css"],"image":"/vite-labs/assets/screen-C22lKW4D.png","git":{"lastModified":1764972333000,"firstAdded":1737497494000}},{"route":"ants","url":"/vite-labs/ants","title":"Ants","description":null,"tags":["simulation","performance"],"image":"/vite-labs/assets/screen-C-IflkB1.png","git":{"lastModified":1764972333000,"firstAdded":1728081821000}},{"route":"wave-function-collapse","url":"/vite-labs/wave-function-collapse","title":"Wave Function Collapse","description":null,"tags":["procedural","random"],"image":"/vite-labs/assets/screen-CGhM_ayV.png","git":{"lastModified":1764972333000,"firstAdded":1727995709000}},{"route":"perlin-ripples","url":"/vite-labs/perlin-ripples","title":"Perlin ripples","description":null,"tags":["random","animation"],"image":"/vite-labs/assets/screen-D6kMXT6u.png","git":{"lastModified":1764972333000,"firstAdded":1721823247000}},{"route":"modern-modal","url":"/vite-labs/modern-modal","title":"Modern Modal","description":null,"tags":["html","components"],"image":null,"git":{"lastModified":1764972333000,"firstAdded":1717538613000}},{"route":"bird-inverse-kinematics","url":"/vite-labs/bird-inverse-kinematics","title":"Bird Inverse Kinematics","description":null,"tags":["animation","procedural"],"image":"/vite-labs/assets/screen-CFSd-eo3.png","git":{"lastModified":1765121196000,"firstAdded":1717365547000}},{"route":"spider-inverse-kinematics","url":"/vite-labs/spider-inverse-kinematics","title":"Spider Inverse Kinematics","description":null,"tags":["animation","procedural"],"image":"/vite-labs/assets/screen-WXSnSZRc.png","git":{"lastModified":1764972333000,"firstAdded":1717364036000}},{"route":"fragment-portal","url":"/vite-labs/fragment-portal","title":"Fragment Portal","description":null,"tags":["react"],"image":null,"git":{"lastModified":1764972333000,"firstAdded":1717340075000}},{"route":"quad-tree","url":"/vite-labs/quad-tree","title":"Quad Tree","description":null,"tags":["data structures","101"],"image":"/vite-labs/assets/screen-C4DYg6_o.png","git":{"lastModified":1764973199000,"firstAdded":1717339261000}},{"route":"pong-pang","url":"/vite-labs/pong-pang","title":"Pong Pang","description":null,"tags":["game"],"image":"/vite-labs/assets/screen-DjedXnvF.png","git":{"lastModified":1764972333000,"firstAdded":1717337533000}},{"route":"lightning","url":"/vite-labs/lightning","title":"Lightning","description":null,"tags":["animation"],"image":"/vite-labs/assets/screen-BpMKFOeq.png","git":{"lastModified":1764972333000,"firstAdded":1717331001000}},{"route":"paint-worklet","url":"/vite-labs/paint-worklet","title":"Paint Worklet","description":null,"tags":["css"],"image":"/vite-labs/assets/screen-CoaSQnYs.png","git":{"lastModified":1764972333000,"firstAdded":1717321960000}}]