100 Commits
Author SHA1 Message Date
christoph 768d26aa3f update flake to use new direnv mechanism 2026-04-20 11:34:49 +02:00
christoph 6248c10a25 update tracy to v0.13.1 2026-03-12 20:18:36 +01:00
christoph 3230d806f7 restructure puzzle space generation (for boards up to 5x5)
- uses a huge global seen-states-cache. Not scalable without more
filtering
2026-03-07 23:33:55 +01:00
christoph 51723353fd update physics parameters 2026-03-06 22:49:37 +01:00
christoph 5289c8407a update screenshot 2026-03-06 22:25:37 +01:00
christoph 1b6f597cd5 fix windows build (requires glew built for windows) 2026-03-06 22:03:40 +01:00
christoph e482adbb76 draw graph edges much faster (using raw vertex array) 2026-03-06 21:16:57 +01:00
christoph 591f018685 enable asynchronous octree building (somehow this is stable with morton octree) 2026-03-06 20:04:27 +01:00
christoph fe9a54a8da implement graph node mouse collisions (unoptimized iterating over all masses for now) 2026-03-06 13:25:35 +01:00
christoph 6bfe217fee update color scheme 2026-03-06 12:52:47 +01:00
christoph 836b42f425 color nodes based on target distance 2026-03-06 03:30:31 +01:00
christoph 6ab935c9be pre-calculate morton codes in threadpool 2026-03-06 02:51:07 +01:00
christoph c060cfd35d replace recursive octree implementation with morton code version (FML) 2026-03-06 02:20:28 +01:00
christoph 9f31d4e6ef add libmorton library dependency 2026-03-05 22:28:09 +01:00
christoph 9de0d06806 reformat 2026-03-05 22:00:28 +01:00
christoph c8d6541221 add hashset benchmarks 2026-03-05 20:03:26 +01:00
christoph 950da499f0 reorder puzzle functions 2026-03-05 20:03:16 +01:00
christoph 025cbfdf3b move bits functions to separate file + fix missing defaults with disabled program_options on windows 2026-03-05 19:13:44 +01:00
christoph d4f83e11db add .desktop icon to package 2026-03-05 02:05:02 +01:00
christoph db588bd57b fix conditional threadpool include 2026-03-05 02:04:48 +01:00
christoph 49e5ed6906 fix windows build 2026-03-04 21:39:39 +01:00
christoph 08352dd997 don't pass a reference to a temporary to physics_thread 2026-03-04 21:31:01 +01:00
christoph 4e5ca6be6c fix nix build error 2026-03-04 20:47:34 +01:00
christoph a9c102298a enable/disable threadpool from cmake 2026-03-04 20:45:25 +01:00
christoph cc2aee3af4 dummy commit 2026-03-04 20:33:29 +01:00
christoph e0f128f693 dummy commit 2026-03-04 20:29:33 +01:00
christoph 3b6919944c add some abbrs to flake + wrap package to set the working dir 2026-03-04 20:28:38 +01:00
christoph c9915852db implement very slow puzzle space exploration 2026-03-04 20:23:16 +01:00
christoph 2d111f58da add single state space benchmark + some tests 2026-03-04 19:08:00 +01:00
christoph 0a2788c1b4 update flake 2026-03-04 19:07:40 +01:00
christoph 7a5013295e fix cross compilation for windows (disable boost.stacktrace + use sqrt instead of rsqrt) 2026-03-02 20:09:49 +01:00
christoph 9c48954a78 build octree async and reuse tree from last frame (disabled as it breaks physics) 2026-03-02 18:52:06 +01:00
christoph d62d5c78bf fix bug where interactive movement was using the fast move implementation instead of the interactive one 2026-03-02 14:38:03 +01:00
christoph 2a5f1b2ffd update default camera settings 2026-03-02 14:37:41 +01:00
christoph 2ef2a29601 squash merge efficient-puzzle into main 2026-03-02 14:37:34 +01:00
christoph 846ff72d1f fix bug where starting index was set incorrectly when populating graph 2026-02-28 23:16:00 +01:00
christoph 9ab96c5903 rename files based on their classes 2026-02-28 22:30:00 +01:00
christoph 809fbf1b93 add popups to certain user actions 2026-02-28 21:49:41 +01:00
christoph bc8dd423be fix bug in preset validation and clear_goal (board repr wasn't updated correctly) 2026-02-28 18:58:42 +01:00
christoph ce05dd504a small refactor 2026-02-28 18:37:47 +01:00
christoph 3f71603961 improve gui elements styling when disabled 2026-02-27 14:27:33 +01:00
christoph b01cfdecfe implement option to lock camera to graph's center of mass 2026-02-27 14:06:30 +01:00
christoph e8bd90911d reset selection when resetting state 2026-02-27 13:26:14 +01:00
christoph db694838a7 fix compiler warnings 2026-02-27 13:17:18 +01:00
christoph 9d8b364330 simplify cmake file 2026-02-27 12:43:19 +01:00
christoph 85ed3a758a make windows-compliant
- fix BS_thread_pool include error (pulls in windows.h, symbols were
redefined)
- remove all std::println uses :(, seems like mingw doesn't like those
- allow to disable backward from cmake
2026-02-27 12:31:08 +01:00
christoph 16df3b7d51 add windows cross-compile package target to flake 2026-02-27 12:30:13 +01:00
christoph 0cc62009c5 fix crash when resetting the state after clearing the graph 2026-02-27 11:35:30 +01:00
christoph f512306109 prevent zooming when in orthographic perspective 2026-02-27 03:35:54 +01:00
christoph 2517a9d33b complete rework of the user interface (using raygui) 2026-02-27 03:01:43 +01:00
christoph bd1bd79825 patch raygui to allow prefixing the number spinner values 2026-02-27 00:06:44 +01:00
christoph a879357437 add fonts 2026-02-27 00:06:29 +01:00
christoph 0a55996df3 add raygui patch - adds a prefix label to valuebox/spinner 2026-02-26 21:54:26 +01:00
christoph 330fe694a7 remove non-goal presets 2026-02-26 03:56:21 +01:00
christoph 1195716369 add raygui library dependency 2026-02-26 03:56:14 +01:00
christoph 4a37e93b98 implement immovable blocks (walls) and add two presets 2026-02-25 17:21:54 +01:00
christoph 81620d8709 add more puzzles 2026-02-25 16:53:24 +01:00
christoph 5e3d007a9d display puzzle title 2026-02-25 16:53:13 +01:00
christoph 5a2172cb00 fix crash when resetting an edited board 2026-02-25 16:06:13 +01:00
christoph dc894d1c38 add a second tracy target instead of modifying the main target 2026-02-25 15:24:12 +01:00
christoph 79f088d10e disable tracy in flake instead of CMakeList.txt 2026-02-25 15:14:49 +01:00
christoph a3a8c2f31a add fat klotski 2026-02-25 14:13:33 +01:00
christoph 58235ac52e some valgrind bullshit 2026-02-25 13:34:52 +01:00
christoph 82d618f692 update menu + block placing visualization + add move history 2026-02-25 12:45:06 +01:00
christoph 3f8274f1d9 add button to move to a state farthest from any win condition 2026-02-25 03:20:40 +01:00
christoph 271902ab1f implement automatic graph traversal along shortest path to solution 2026-02-25 02:58:30 +01:00
christoph fd58f217c6 implement bfs multi-target distance calculation to nearest winning state 2026-02-25 01:15:47 +01:00
christoph b9e3ab8d2d implement editing the board win condition 2026-02-24 22:43:53 +01:00
christoph d8534cacdd store winning condition in state + remove presets 2026-02-24 22:08:00 +01:00
christoph f31f9557b3 update flags again 2026-02-24 20:53:27 +01:00
christoph 349d614611 add flag to toggle tracy (disabled for now) 2026-02-24 20:42:38 +01:00
christoph d88b66c058 capture stack traces on new/delete 2026-02-24 19:00:36 +01:00
christoph 8a4e5c1ebf squash merge threaded-physics into main 2026-02-24 19:00:25 +01:00
christoph 3e87bbb6a5 remove timings print 2026-02-24 00:12:04 +01:00
christoph 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
christoph 404a76654c update compiler flags, fix tracy allocation profiling, fix compiler warnings 2026-02-23 23:01:30 +01:00
christoph 59a4303d62 mark visited and starting states 2026-02-23 14:41:20 +01:00
christoph 6698ace0c6 implement smooth camera 2026-02-23 14:27:56 +01:00
christoph 861fb34d39 fix octree corruption bug because of node vector reallocation 2026-02-23 13:46:00 +01:00
christoph 30b02c13ed add vertices draw limit after I accidentally removed it 2026-02-23 00:27:51 +01:00
christoph f5bb155b5c fix physics animation jitter 2026-02-23 00:15:25 +01:00
christoph 443069f597 replace openmp with thread-pool library bc openmp has larger fork boundary overhead 2026-02-23 00:14:09 +01:00
christoph 73b01f6af3 add thread-pool library dependency 2026-02-22 23:32:33 +01:00
christoph 21a18443e9 add tracy profiler dependency 2026-02-22 23:32:24 +01:00
christoph e43e505110 implement barnes-hut particle repulsion using octree 2026-02-22 23:29:56 +01:00
christoph f07f2772c4 remove octree library dependency (it doesn't store center of mass per node) 2026-02-22 20:29:01 +01:00
christoph bdb4242076 remove useless manual move/copy constructors/assignment operators (pls stop killing my hands bjarne) 2026-02-22 20:28:42 +01:00
christoph 6a86324f53 add octree library dependency 2026-02-22 19:42:57 +01:00
christoph 768a7eaf82 implement operator<< for ryalib vectors 2026-02-22 19:42:48 +01:00
christoph 9726d5fecc cleanup repulsion force calculation 2026-02-22 19:19:06 +01:00
christoph 2580d6d527 remove unused inputs from instancing vertex shader 2026-02-22 14:33:22 +01:00
christoph 157985df6b extract orbital camera into separate file 2026-02-22 14:30:55 +01:00
christoph 7bc1eaae75 move shaders to separate directory 2026-02-22 14:18:49 +01:00
christoph f06afc210f make naming more consistent + rename some files 2026-02-22 14:17:55 +01:00
christoph fe6bbe9bbb remove batched rendering code 2026-02-22 14:04:11 +01:00
christoph 0083143268 cleanup flake 2026-02-22 13:57:04 +01:00
christoph 9446e1b86c improve rendering performance even more by using instanced rendering 2026-02-22 12:31:58 +01:00
christoph 12a96cba66 decrease special mass size + add hjkl movement bindings 2026-02-22 01:49:54 +01:00
christoph 35de23e865 improve rendering performance by batching edge and cube draws 2026-02-22 01:41:39 +01:00
christoph 05172d0d8f replace physics loop with fixed-step loop 2026-02-22 00:27:56 +01:00