The concept of "normalizing" a puzzle state is no longer hidden away inside of Puzzle subclass (MegaminxPuzzle and CubePuzzle). PuzzleState's that are rotations of each other are no longer equals(), and have different hash codes. While it can be a little more work to work with this api, I believe it's better because everything is more explicit.
Wide turn suport added for cube puzzles. Created NoInspectionFiveByFiveCubePuzzle and NoInspectionThreeByThreeCubePuzzle (not yet truly implemented) to make use of it.
Bumping skewb's MIN_SCRAMBLE_DISTANCE to 11 in order to address #156. I'm not convinced this actually is a safe thing to do though, so I'm leaving #156 open for now.
Attempt to fix the massive speed regression introduced in random turn CubePuzzles. Looks like this doesn't help much (or at all), though =(.
Tweaked min2phase to allow us to specify a face that solutions may not start with. This will be useful for doing #148 without introducing any redundant moves at the end.
Added tests for AlgorithmBuilder.
555ni written, and it seems to be working! I would still like to add a test to verify that the tricky stuff is working.
Added "./tmt jython" command. Jython looks like a pretty cool way to rapidly develop java code. I'd also like to start writing tests with it.
Testing can (and should!) now be done in jython.
Found a bug with 555ni scrambles. Turns out you sometimes need to discard more than just the last turn in order to ensure that the reorientation isn't redudnant with the scramble. I still believe this is okay to do from a randomness standpoint.
Fixed problem with getJarFileOrDirectory()/getCallerClass() when running from a jar file.
Better fix for removing redundant turns in 555ni.
Cleaned up jython script a bit.
Fixed use of cgitb in tntdebug.py
NoInspectionThreeByThreeCubePuzzle finished for #148.
Check that we're enforcing axis restrictions, not just faces.
Fixed some bugs in NoInspectionFiveByFiveTest.jy.
Forgot to reset firstAxisRestriction for each search.
Keep track of which side is up on clock. fixes #154
As Lucas said, 2014 is the Year of the TNoodle. See #134.