Commit Graph

11 Commits

Author SHA1 Message Date
Aryadev Chavali
bd2d51b57c main: parallelise mutation and iteration
Construct threads which mutate and iterate the simulation.  This makes
them not dependent on the Target FPS of the main thread.
2026-03-18 09:53:44 +00:00
Aryadev Chavali
07a47952c3 main: true primordial soup 2026-03-18 09:33:58 +00:00
Aryadev Chavali
eebe39c241 simulation done 2026-03-18 01:02:07 +00:00
Aryadev Chavali
23add2c55f added simulation file for actually performing sim 2026-03-17 23:22:18 +00:00
Aryadev Chavali
146921bdef main: adjustments 2026-03-17 21:22:26 +00:00
Aryadev Chavali
0bba1894dc neighbour based algorithm for threads
It does seem to affect since sim falls into a "stable" configuration
where cells rarely change quite quickly.  I'm thinking of making a
better colouring algorithm to see if I can get better images.
2026-03-10 22:50:38 +00:00
Aryadev Chavali
fabd593eff main: threaded simulation
The actual computation is embarrassingly parallelised - the only part
that requires a mutex is the picking of any two programs due to the
fact that both programs may be affected following a compute block.
This is why we do a uniqueness check in thread_pick.
2026-03-10 22:19:34 +00:00
Aryadev Chavali
30f8e65cc2 main: added pause (KEY_SPACE) and "inspect this cell" (MOUSE_BUTTON_LEFT) 2026-03-10 21:37:00 +00:00
Aryadev Chavali
6039ab720f simulation split out from main 2026-03-10 21:20:25 +00:00
Aryadev Chavali
2b8a3cbda2 main: split off program iteration to its own unit 2026-03-10 21:12:10 +00:00
Aryadev Chavali
07d9de99d7 move to src folder 2026-03-10 21:09:10 +00:00