Commit Graph

55 Commits

Author SHA1 Message Date
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
1dad350f7d add winning states to menu panel 2026-02-18 21:43:13 +01:00
d92391271f add winning conditions and ability to mark them in the graph 2026-02-18 20:27:22 +01:00
47628d06ad add menu pane at the top 2026-02-18 13:30:59 +01:00
7faa8ecdb7 allow to restrict block movement to principal block directions + add more samples 2026-02-18 03:16:13 +01:00
e2e75204ef parallelize repulsion forces using openmp 2026-02-18 02:08:46 +01:00
43c9a5b715 implement uniform grid for repulsion forces 2026-02-18 01:21:22 +01:00
47fcea6bcb implement klotski graph closure solving + improve camera controls (panning) 2026-02-18 00:53:42 +01:00
039d96eee3 replace manual 3d-2d projection with orbital camera 2026-02-17 22:17:19 +01:00
8d5a6a827c add basic input handling for klotski board/graph + populate graph based on klotski moves 2026-02-17 15:12:32 +01:00
9d0afffb57 render klotski board 2026-02-17 13:27:12 +01:00
017d11245c begin implementing klotski logic 2026-02-17 13:27:05 +01:00
fba493ea93 render vertices in addition to edges 2026-02-17 00:56:01 +01:00
d6ce1a94f5 implement verlet integration - much more stable 2026-02-16 00:37:37 +01:00
d1b115a7c3 implement numerically unstable mass spring system 2026-02-16 00:21:29 +01:00
be7dcf8ae5 implement hash-based deduplication + avx512 transformation 2026-02-15 16:33:41 +01:00
558b201b6f add large obj file 2026-02-15 16:33:20 +01:00
801ddafd66 add profiler dependencies 2026-02-15 16:33:08 +01:00
f622014a26 implement objrenderer 2026-02-13 01:33:30 +01:00