c4222c783c
wip: implement a smaller data model to reduce copying from physics to main thread
2026-02-24 17:05:24 +01:00
1347abad34
add backward-cpp library dependency + tracy abbr
2026-02-24 17:04:58 +01:00
e7d4170b77
wip: wait until data is ready and has been consumed (couples physics and rendering thread again)
2026-02-24 13:16:00 +01:00
74065b7ea2
wip: don't lock command mutex for each mass/spring in FillGraph()
2026-02-24 12:13:56 +01:00
550970f8a1
wip: integrating threaded decoupled physics
...
Current Issues:
- HUGE memory leak
- HUGE amount of needles copying
- FillGraph() does thousands of lock_guards instead of one
- Can no longer rely on new states appearing immediately - have to check
each access
- Physics run as fast as possible, no constant sim speed`
- Irregular long freezes
2026-02-24 02:05:09 +01:00
39c0b58f3f
implement threaded physics (decoupled from rendering thread) - not yet integrated
2026-02-24 01:02:53 +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
d7ed12f6f9
move board state presets to separate file
2026-02-19 21:20:13 +01:00
0f131e2504
fix incorrectly added state transition on board reset
2026-02-19 21:19:17 +01:00
55ff0f3490
rebuild the repulsion force grid every n frames
2026-02-18 23:12:02 +01:00