Commit Graph

126 Commits

Author SHA1 Message Date
3f8274f1d9 add button to move to a state farthest from any win condition 2026-02-25 03:20:40 +01:00
271902ab1f implement automatic graph traversal along shortest path to solution 2026-02-25 02:58:30 +01:00
fd58f217c6 implement bfs multi-target distance calculation to nearest winning state 2026-02-25 01:15:47 +01:00
b9e3ab8d2d implement editing the board win condition 2026-02-24 22:43:53 +01:00
d8534cacdd store winning condition in state + remove presets 2026-02-24 22:08:00 +01:00
f31f9557b3 update flags again 2026-02-24 20:53:27 +01:00
349d614611 add flag to toggle tracy (disabled for now) 2026-02-24 20:42:38 +01:00
d88b66c058 capture stack traces on new/delete 2026-02-24 19:00:36 +01:00
8a4e5c1ebf squash merge threaded-physics into main 2026-02-24 19:00:25 +01:00
3e87bbb6a5 remove timings print 2026-02-24 00:12:04 +01:00
bfe8c6d572 store masses/springs inside vector and manage unordered_maps for a state<->index mapping
this reduces the time required to iterate over all masses/springs
because data is stored in contiguous memory
2026-02-24 00:01:04 +01:00
404a76654c update compiler flags, fix tracy allocation profiling, fix compiler warnings 2026-02-23 23:01:30 +01:00
59a4303d62 mark visited and starting states 2026-02-23 14:41:20 +01:00
6698ace0c6 implement smooth camera 2026-02-23 14:27:56 +01:00
861fb34d39 fix octree corruption bug because of node vector reallocation 2026-02-23 13:46:00 +01:00
30b02c13ed add vertices draw limit after I accidentally removed it 2026-02-23 00:27:51 +01:00
f5bb155b5c fix physics animation jitter 2026-02-23 00:15:25 +01:00
443069f597 replace openmp with thread-pool library bc openmp has larger fork boundary overhead 2026-02-23 00:14:09 +01:00
73b01f6af3 add thread-pool library dependency 2026-02-22 23:32:33 +01:00
21a18443e9 add tracy profiler dependency 2026-02-22 23:32:24 +01:00
e43e505110 implement barnes-hut particle repulsion using octree 2026-02-22 23:29:56 +01:00
f07f2772c4 remove octree library dependency (it doesn't store center of mass per node) 2026-02-22 20:29:01 +01:00
bdb4242076 remove useless manual move/copy constructors/assignment operators (pls stop killing my hands bjarne) 2026-02-22 20:28:42 +01:00
6a86324f53 add octree library dependency 2026-02-22 19:42:57 +01:00
768a7eaf82 implement operator<< for ryalib vectors 2026-02-22 19:42:48 +01:00
9726d5fecc cleanup repulsion force calculation 2026-02-22 19:19:06 +01:00
2580d6d527 remove unused inputs from instancing vertex shader 2026-02-22 14:33:22 +01:00
157985df6b extract orbital camera into separate file 2026-02-22 14:30:55 +01:00
7bc1eaae75 move shaders to separate directory 2026-02-22 14:18:49 +01:00
f06afc210f make naming more consistent + rename some files 2026-02-22 14:17:55 +01:00
fe6bbe9bbb remove batched rendering code 2026-02-22 14:04:11 +01:00
0083143268 cleanup flake 2026-02-22 13:57:04 +01:00
9446e1b86c improve rendering performance even more by using instanced rendering 2026-02-22 12:31:58 +01:00
12a96cba66 decrease special mass size + add hjkl movement bindings 2026-02-22 01:49:54 +01:00
35de23e865 improve rendering performance by batching edge and cube draws 2026-02-22 01:41:39 +01:00
05172d0d8f replace physics loop with fixed-step loop 2026-02-22 00:27:56 +01:00
cc4f8ce865 refactor usage of std::string to refer to states + improve initial mass positioning 2026-02-22 00:12:47 +01:00
0d3913e27e refactor state management and input handling into separate classes 2026-02-21 22:09:42 +01:00
f8fe9e35d6 add more presets (century, super_century, new_century) 2026-02-20 02:15:46 +01:00
71e1dd4f32 fix state representation not being updated when toggling restricted movement 2026-02-20 02:15:13 +01:00
7860963fcb only clear the graph on board reset if necessary 2026-02-20 01:41:03 +01:00
6e5a4acdd0 tint the board if a winning state is reached 2026-02-20 01:36:48 +01:00
d87df74834 add another preset 2026-02-20 01:36:24 +01:00
199646cae9 allow changing the target block 2026-02-20 01:26:59 +01:00
11ae406073 add another preset 2026-02-20 01:22:06 +01:00
f8ac60f6a6 implement state editing 2026-02-20 00:58:01 +01:00
ca83d5724f fix BlockIterator always starting at pos 0 (even if there's no Block there) 2026-02-20 00:07:42 +01:00
a48a6caefc make window resizable 2026-02-19 23:10:16 +01:00
53a38e9cf3 update physics engine parameters 2026-02-19 22:05:46 +01:00
b873a1e9d7 enable parallel build 2026-02-19 22:05:07 +01:00