d89b294 | Willem Sonke | 18 May 2022, 09:53:44 UTC | Remove stub for unit tests | 18 May 2022, 09:53:44 UTC |
a4b0dc3 | Willem Sonke | 09 May 2022, 15:18:25 UTC | Run G&C a second time when not xy-monotone yet This fixes an issue where the root branch would not be properly gathered. | 09 May 2022, 15:18:25 UTC |
24d1a6e | Willem Sonke | 09 May 2022, 11:09:09 UTC | Update the README | 09 May 2022, 11:09:09 UTC |
54285b5 | Willem Sonke | 04 May 2022, 13:52:51 UTC | Final cleanup of the code for CG:MME final version | 04 May 2022, 13:52:51 UTC |
b15f550 | Willem Sonke | 03 May 2022, 12:30:04 UTC | Fix fonts in the dialogs | 03 May 2022, 12:30:04 UTC |
3dab2b5 | Willem Sonke | 03 May 2022, 09:53:15 UTC | Make text smaller for people with wide fonts | 03 May 2022, 09:53:15 UTC |
ab9f6a4 | Willem Sonke | 03 May 2022, 09:52:04 UTC | Add more fallback fonts | 03 May 2022, 09:52:04 UTC |
d86f142 | Willem Sonke | 03 May 2022, 09:46:07 UTC | Catch JSON parsing exceptions | 03 May 2022, 09:46:07 UTC |
2604c90 | Willem Sonke | 03 May 2022, 09:45:47 UTC | Fix overly big icon in the welcome dialog | 03 May 2022, 09:45:47 UTC |
e1bedcc | Willem Sonke | 02 May 2022, 14:14:34 UTC | Merge branch 'master' of ssh://gitaga.win.tue.nl:13490/willem/cubes-simulator | 02 May 2022, 14:14:34 UTC |
afc0b1b | Willem Sonke | 02 May 2022, 14:14:25 UTC | Add pan icon | 02 May 2022, 14:14:25 UTC |
ec1fa81 | Jules Wulms | 29 April 2022, 09:01:27 UTC | Updated help panel (multiple selection) | 29 April 2022, 09:01:27 UTC |
98419ac | Jules Wulms | 28 April 2022, 16:19:11 UTC | Updated help panel | 28 April 2022, 16:19:11 UTC |
ba463af | Willem Sonke | 28 April 2022, 10:23:19 UTC | Put the background grid back | 28 April 2022, 10:23:19 UTC |
4396227 | Willem Sonke | 28 April 2022, 10:21:53 UTC | Restore check to avoid infinite loop in gathering We somehow removed this in commit 832f0a1a but it is still necessary. | 28 April 2022, 10:21:53 UTC |
cecf6bc | Willem Sonke | 18 March 2022, 09:55:40 UTC | Changes for the final version of the paper | 18 March 2022, 09:55:56 UTC |
57d61ee | Willem Sonke | 15 March 2022, 13:53:09 UTC | Add a color dot to the color button | 15 March 2022, 13:53:09 UTC |
6c5aa90 | Willem Sonke | 17 February 2022, 21:24:10 UTC | Merge branch 'master' of ssh://gitaga.win.tue.nl:13490/willem/cubes-simulator | 17 February 2022, 21:24:10 UTC |
0dfe300 | Willem Sonke | 17 February 2022, 21:22:32 UTC | Use pointer mouse cursor for buttons | 17 February 2022, 21:22:32 UTC |
0054224 | Jules Wulms | 17 February 2022, 21:21:51 UTC | Help section fixes. | 17 February 2022, 21:21:51 UTC |
5b2e1ff | Jules Wulms | 17 February 2022, 20:02:18 UTC | Merge branch 'master' of ssh://gitaga.win.tue.nl:13490/willem/cubes-simulator | 17 February 2022, 20:02:18 UTC |
1c0af69 | Jules Wulms | 17 February 2022, 20:01:36 UTC | Help section polished. | 17 February 2022, 20:01:36 UTC |
e249788 | Willem Sonke | 17 February 2022, 19:58:37 UTC | Add gather and compact as separate algorithms | 17 February 2022, 19:58:37 UTC |
0ac79be | Willem Sonke | 17 February 2022, 19:54:57 UTC | Make the algorithm toggle work | 17 February 2022, 19:54:57 UTC |
68989fe | Willem Sonke | 17 February 2022, 19:16:28 UTC | Use proper font for the help text | 17 February 2022, 19:16:28 UTC |
409daa9 | Willem Sonke | 17 February 2022, 19:12:17 UTC | Add new icons and an algorithm toggle | 17 February 2022, 19:12:17 UTC |
ac8043f | Willem Sonke | 17 February 2022, 15:26:06 UTC | Make NPM dependencies work | 17 February 2022, 15:26:06 UTC |
0c74644 | Willem Sonke | 16 February 2022, 12:15:49 UTC | Also use ‘squares’ instead of ‘cubes’ in the HTML | 16 February 2022, 12:15:49 UTC |
2246218 | Willem Sonke | 16 February 2022, 11:51:06 UTC | Rename cube to square everywhere | 16 February 2022, 11:51:06 UTC |
bdeedfc | Willem Sonke | 16 February 2022, 11:27:55 UTC | Fix problems with resetting | 16 February 2022, 11:27:55 UTC |
6114ebf | Willem Sonke | 15 February 2022, 13:33:48 UTC | Add fallback fonts | 15 February 2022, 13:33:48 UTC |
32d6e21 | Willem Sonke | 15 February 2022, 13:30:53 UTC | Add missing icons | 15 February 2022, 13:30:53 UTC |
538c6da | Willem Sonke | 15 February 2022, 13:29:45 UTC | Bump TypeScript version | 15 February 2022, 13:29:45 UTC |
d86b3f6 | Willem Sonke | 15 February 2022, 11:15:02 UTC | Fix (mostly) tooltips staying behind | 15 February 2022, 11:15:02 UTC |
ecb7f18 | Willem Sonke | 15 February 2022, 11:12:04 UTC | Show move descriptions in the GUI | 15 February 2022, 11:12:04 UTC |
c3cd783 | Willem Sonke | 08 February 2022, 16:04:04 UTC | Add xy-monotonicity check to gathering This avoids an infinite loop in some cases. | 08 February 2022, 16:04:04 UTC |
5694ad5 | Willem Sonke | 08 February 2022, 15:25:46 UTC | Remove unnecessary test ignoring valid chain moves | 08 February 2022, 15:25:46 UTC |
2ae20cc | Willem Sonke | 04 May 2021, 07:42:41 UTC | Enable the conversion again | 04 May 2021, 07:42:41 UTC |
6ff788f | Willem Sonke | 03 May 2021, 20:14:45 UTC | Disable coordinate conversion | 03 May 2021, 20:14:45 UTC |
6a203c0 | Willem Sonke | 03 May 2021, 19:00:07 UTC | Fix component status being shown incorrectly | 03 May 2021, 19:00:07 UTC |
2816da3 | Willem Sonke | 03 May 2021, 18:22:05 UTC | Hide non-functioning buttons | 03 May 2021, 18:22:05 UTC |
9f4aca1 | Willem Sonke | 03 May 2021, 18:21:40 UTC | Add chunkiness check to chain moves | 03 May 2021, 18:21:40 UTC |
bb3ba9a | Willem Sonke | 30 April 2021, 19:13:45 UTC | Check for xy-monotonicity during compaction Also, fix the heuristic regarding chain moves (it would take the first move of the move sequence, but in the case of chain moves that could be the one that removes a loose square). | 30 April 2021, 19:13:45 UTC |
02e32d6 | Willem Sonke | 30 April 2021, 18:35:33 UTC | Fix finding gathering paths to the origin | 30 April 2021, 18:35:33 UTC |
6d951ca | Willem Sonke | 30 April 2021, 18:18:22 UTC | Fix bug that could crash gathering It would sometimes pick an incorrect gather target, because cubes not on the boundary have chunk ID -1, causing the ‘do the 4-neighbors have the same chunk ID’ check to fail. | 30 April 2021, 18:18:22 UTC |
0366e27 | Willem Sonke | 30 April 2021, 09:35:48 UTC | Don't compute irrelevant move types For example, if there is a free move, don't even try to compute a semi-free move. For some reason, this is a massive performance increase. I don't really know why, but it makes a 32x32 instance run like 20 times faster. | 30 April 2021, 09:35:48 UTC |
9a18900 | Willem Sonke | 30 April 2021, 09:23:06 UTC | Check cubes on distance order | 30 April 2021, 09:31:32 UTC |
5697abe | Willem Sonke | 29 April 2021, 18:03:31 UTC | Implement custom moves to run comparisons | 29 April 2021, 18:03:31 UTC |
f822352 | Willem Sonke | 27 April 2021, 21:39:32 UTC | Fix bug in the bridge capacity computation I hate JavaScript sometimes. This is not even the first time this happens: see commit 736db64cbeb66c759bcbe003ec5ea86ecfa67e09. | 27 April 2021, 21:39:32 UTC |
590a1ca | Willem Sonke | 27 April 2021, 21:22:42 UTC | Fix bug in the gathering path computation The concave corner handling would also kick in on spikes where p1 === p3. | 27 April 2021, 21:22:42 UTC |
832f0a1 | Willem Sonke | 27 April 2021, 13:38:45 UTC | Do gathering in a smarter way Determine beforehand where the cube will move to, and pick counter-clockwise or clockwise movement depending on which one will not pass along the origin. This allows us to avoid leaving the configuration bounding box. We also updated compaction not to leave the bounding box, and disabled canonicalization. This way, we now ensure (hopefully) that the bounding box is respected. | 27 April 2021, 13:38:45 UTC |
f14965b | Willem Sonke | 27 April 2021, 09:48:34 UTC | Implement Bettina heuristics | 27 April 2021, 09:48:34 UTC |
4890752 | Willem Sonke | 23 April 2021, 13:28:28 UTC | Add option to avoid corner moves on the inside | 23 April 2021, 13:28:28 UTC |
6d26c4b | Willem Sonke | 23 April 2021, 13:11:06 UTC | Implement chain moves | 23 April 2021, 13:11:06 UTC |
47857c3 | Willem Sonke | 23 April 2021, 13:10:32 UTC | Fix bug in canonicalization | 23 April 2021, 13:10:32 UTC |
4c6bdc2 | Willem Sonke | 23 April 2021, 09:21:24 UTC | Implement canonicalization | 23 April 2021, 09:21:24 UTC |
4c21144 | Willem Sonke | 19 April 2021, 09:57:07 UTC | First do top, then bottom corner moves | 19 April 2021, 09:57:07 UTC |
e9204a6 | Willem Sonke | 19 April 2021, 09:46:25 UTC | Fix bridge capacity computation When computing the capacity of a connector, it would also include the rest of the chunk even though that is not how it is described in the paper. Also, removed the default configuration (because it also gets added when loading a JSON string, and is generally useless), and fixed the components computation when the configuration is empty. | 19 April 2021, 09:46:25 UTC |
62674e3 | Willem Sonke | 15 April 2021, 11:23:17 UTC | Use linear-time cut vertex finding Instead of the quadratic-time solution we were using until now (just check each vertex individually by running BFS). | 15 April 2021, 11:23:17 UTC |
926cfc3 | Willem Sonke | 11 April 2021, 23:33:20 UTC | Output message when starting the compaction phase | 11 April 2021, 23:33:20 UTC |
736db64 | Willem Sonke | 11 April 2021, 23:31:45 UTC | Fix bug with skipping the cube with ID 0 That's a nice duck typing bug right here. The special case in this if statement was not executed because of this incorrect check for null-ness. | 11 April 2021, 23:31:45 UTC |
24762ea | Willem Sonke | 11 April 2021, 22:55:46 UTC | Don't linear search for cube IDs | 11 April 2021, 22:55:46 UTC |
a272dde | Willem Sonke | 11 April 2021, 22:20:53 UTC | Maintain cube IDs to avoid linear searching Now only need to get rid of the linear searching :) | 11 April 2021, 22:20:53 UTC |
58c487b | Willem Sonke | 11 April 2021, 20:53:30 UTC | Implement limiting free moves to the boundary box | 11 April 2021, 20:53:30 UTC |
3ed8906 | Willem Sonke | 22 March 2021, 11:12:33 UTC | Merge gathering and compaction steps | 22 March 2021, 11:12:33 UTC |
449c661 | Willem Sonke | 15 March 2021, 16:20:38 UTC | Implement corner moves | 15 March 2021, 16:20:38 UTC |
c179e4b | Willem Sonke | 15 March 2021, 12:31:57 UTC | Fix preserves chunkiness check Need to check if the same chunk is on both sides of the removed source cube. | 15 March 2021, 12:31:57 UTC |
53948ea | Willem Sonke | 15 March 2021, 12:00:59 UTC | Start implementing compaction Also implement returning chunk IDs in the component tree construction. | 15 March 2021, 12:00:59 UTC |
249c78a | Willem Sonke | 15 March 2021, 10:07:09 UTC | Various fixes | 15 March 2021, 10:07:09 UTC |
89ebb04 | Willem Sonke | 08 March 2021, 12:13:17 UTC | Fix component detection to handle loose squares This also fixes the parity square issue in the gathering procedure. | 08 March 2021, 12:13:17 UTC |
b33747b | Willem Sonke | 01 March 2021, 17:43:27 UTC | Implement actually working gathering ... well, mostly. Joint work with Jules. | 01 March 2021, 17:43:27 UTC |
11110f1 | Willem Sonke | 01 March 2021, 15:39:59 UTC | Implement first version of gathering | 01 March 2021, 15:39:59 UTC |
133a680 | Willem Sonke | 20 February 2021, 12:51:10 UTC | Fix crash without a square on the origin | 20 February 2021, 12:51:10 UTC |
cf5731d | Willem Sonke | 17 February 2021, 17:22:29 UTC | Make siphoning work This fixes two bugs in the siphoning code. Also, start work on the sliming / gathering. | 17 February 2021, 17:22:29 UTC |
250042d | Willem Sonke | 11 February 2021, 19:11:55 UTC | Implement Ipe export | 11 February 2021, 19:11:55 UTC |
e0ea4af | Willem Sonke | 11 February 2021, 18:23:00 UTC | Draw 1-component marks as circles | 11 February 2021, 18:23:00 UTC |
c61ef14 | Willem Sonke | 11 February 2021, 13:04:05 UTC | Finally make the component computation bug-free I hope... | 11 February 2021, 13:04:05 UTC |
f302fde | Willem Sonke | 11 February 2021, 11:41:23 UTC | Always keep component marks up to date | 11 February 2021, 11:41:23 UTC |
5a3ea21 | Willem Sonke | 11 February 2021, 11:33:55 UTC | Mark components like in the paper figures | 11 February 2021, 11:33:55 UTC |
89de0c6 | Willem Sonke | 11 February 2021, 11:00:43 UTC | Fix outside computation | 11 February 2021, 11:00:43 UTC |
7889103 | Willem Sonke | 10 February 2021, 13:32:25 UTC | Rename balls -> cubes The name balls was a remnant of this tool originating from a billiard-ball computer simulator. | 10 February 2021, 13:32:25 UTC |
dd1441d | Willem Sonke | 10 February 2021, 12:52:28 UTC | Do a sequence of free moves instead of only one | 10 February 2021, 12:52:28 UTC |
d1025d0 | Willem Sonke | 20 December 2020, 00:06:40 UTC | Add option to skip siphon steps | 20 December 2020, 00:06:40 UTC |
3e3e3c2 | Willem Sonke | 19 December 2020, 23:42:12 UTC | Implement siphoning in both directions I mostly believe that this works for all input shapes without a parity cube. I know of at least one bug when a parity cube is present: the input shape x x x x x x x still crashes because it doesn't move the parity cube away. I guess this should be fixed by doing a siphon in the other direction instead. | 19 December 2020, 23:42:12 UTC |
2e08f1c | Willem Sonke | 19 December 2020, 22:54:18 UTC | Implement bottom siphoning This *should* cover all cover cases but the code (and algorithm) is a bit messy so this needs to be tested more. Left siphoning could be implemented easily by copy-pasting the code and changing all coordinates (x, y) <-> (y, x), but I want to try and do it in a bit more of a generic manner. | 19 December 2020, 22:54:18 UTC |
56e8b3d | Willem Sonke | 19 December 2020, 15:48:51 UTC | Implement expansions, and refactor the code | 19 December 2020, 15:48:51 UTC |
bd23be5 | Willem Sonke | 11 November 2020, 11:49:34 UTC | Implement bridge building | 11 November 2020, 11:49:34 UTC |
89b2106 | Willem Sonke | 04 November 2020, 10:26:15 UTC | Implement bubbling algorithm | 04 November 2020, 10:26:15 UTC |
e019382 | Willem Sonke | 23 September 2020, 23:30:47 UTC | First version of the cubes simulator Built upon BBCS, but with cubes instead of balls :) | 23 September 2020, 23:30:47 UTC |
7b05775 | Willem Sonke | 03 September 2020, 17:22:35 UTC | Draw the background grid with a shader | 03 September 2020, 17:22:35 UTC |
ef67a83 | Willem Sonke | 02 June 2020, 18:08:17 UTC | Add balls with ‘sticky’ color and direction So if we edit a ball's color, we'll remember the set color and apply it to any new balls. And the same for the direction. | 02 June 2020, 18:08:17 UTC |
051b442 | Willem Sonke | 02 June 2020, 18:01:47 UTC | Add shortcut keys to frequently-used buttons | 02 June 2020, 18:01:47 UTC |
33c6b40 | Willem Sonke | 02 June 2020, 17:28:01 UTC | Implement ball colors | 02 June 2020, 17:28:01 UTC |
26aa3ab | Willem Sonke | 30 April 2020, 01:01:15 UTC | Disable saving / loading when simulation has ran This throws errors and I'm not sure why... but it is not really necessary to save before resetting anyway. | 30 April 2020, 01:01:15 UTC |
ea5288c | Willem Sonke | 30 April 2020, 00:54:19 UTC | Fix loading causing multiple ticker handlers | 30 April 2020, 00:54:19 UTC |
1f0624c | Willem Sonke | 30 April 2020, 00:52:36 UTC | Implement loading Now it's time to go to sleep :) | 30 April 2020, 00:52:36 UTC |
5745fa5 | Willem Sonke | 29 April 2020, 22:15:36 UTC | Fix frame delta compensation | 29 April 2020, 22:15:36 UTC |
41893b9 | Willem Sonke | 29 April 2020, 22:09:24 UTC | Implement save button Currently the save output ends up in the console, which should probably be improved. | 29 April 2020, 22:09:24 UTC |
966e63e | Willem Sonke | 29 April 2020, 21:42:57 UTC | Fix step button staying disabled after resetting | 29 April 2020, 21:42:57 UTC |
b34b4ac | Willem Sonke | 29 April 2020, 21:26:19 UTC | Implement wall selection | 29 April 2020, 21:26:19 UTC |