⭐for high priority items (ideally before we meet up with the robot guys)
- Phase 2
- standard symmetry
- inverse symmetry
- canonical sequences
- commutative ordering FSM
- prevent same face
- prevent antipodes
- sequence symmetry
- commutative ordering FSM
- multithreading
- find all solutions at depth
- tANS table compression
- Phase 1
- Look into fixing a corner for even cubes/other puzzles
- Get a permutation group out of a puzzle definition
- Define the moves as permutations and orientations of pieces
- Calculate orientations and parities of the puzzle
- Calculate the symmetries of the puzzle
- Parse our modified puzzlegeometry definition string
- Release as a crate on crates.io
- ⭐Precompute tables for builtin architectures
- ⭐Optimize additions using the precomputed tables
- ⭐
A%2
syntax - Refactor register references so that they assume the register declaration is global
- QAT Macros
- Actual expansion
after
syntax- Lua stuff
- Memory tapes
- Implement in QAT
- Dynamically shuffle sub-cycles with syntax X ← A*B*C*D, Y ← E*F*G*H
- Function macro
- Directory of testing programs instead of hardcoding into Rust
- Inline testing in the QAT format
- Henry's efficient multiplication program
- Implement tapes
- ⭐Dumping an execution trace
- Debugging tool
- Compile to Q
- Parse Q
- "[repeat|print|halt] until _ solved" syntax
- Web app of qter with a visualization
- Youtube videos
- ⭐Find calibration algorithms
- Computer vision algorithm
- The webapp and rust program that will run the Q program