diff options
Diffstat (limited to 'TODO.txt')
| -rw-r--r-- | TODO.txt | 58 |
1 files changed, 25 insertions, 33 deletions
| @@ -1,43 +1,30 @@ | |||
| 1 | ## Big change | 1 | ## Roadmap |
| 2 | 2 | ||
| 3 | * Add tests for multiple moves | 3 | See the sections below for details |
| 4 | 4 | ||
| 5 | ### More for moves | 5 | * Implement some simple solver |
| 6 | 6 | * Extend cube and moves to include centers | |
| 7 | * define macro to loop over moves e.g. #define FOREACHMOVE(action) | 7 | * More complex optimal solvers, pruning tables |
| 8 | 8 | * Benchmarks | |
| 9 | ### API goals: | 9 | * Multithreading (build-time option number of threads) |
| 10 | 10 | * Other optimizations | |
| 11 | * manipulate move sequences (invert, unniss, cleanup, mirror / transform...) | 11 | * NISS |
| 12 | * solvers (optimal, generic, coordinates) | 12 | * Move manipulation utilities |
| 13 | * print cube (in various formats) | 13 | * Coordinate solvers and other steps |
| 14 | * print ptables (or layout data in such a way that can be printed | 14 | * More output formats |
| 15 | easily, e.g. first bytes are null-terminated strig and can be | 15 | * Adapters for other languages (at least python) |
| 16 | printed by user) | 16 | * More documentation (or keep all in cube.h?) |
| 17 | 17 | * Rename to libnissy | |
| 18 | ### Solvers | 18 | * Release 1.0 |
| 19 | |||
| 20 | * Actually do A*, no fixed depth | ||
| 21 | * Use threading (see below) | ||
| 22 | * Return strings, newline separated (see nissy_ffi) | ||
| 23 | * Instead of depth, I need the following parameters: | ||
| 24 | int minmoves | ||
| 25 | int maxmoves | ||
| 26 | a parameter for all solutions / nmax / optimal / -O n | ||
| 27 | * How to make the above nicer? can it be done with a minimal | ||
| 28 | amount of parameters (e.g. at most 2)? | ||
| 29 | |||
| 30 | ### Rename to libnissy | ||
| 31 | |||
| 32 | * prefix public functions with libnissy_ or something similar | ||
| 33 | * move() that takes a string (alg) as input | ||
| 34 | 19 | ||
| 35 | ## Solving | 20 | ## Solving |
| 36 | 21 | ||
| 37 | ### Generic solver | 22 | ### Simple (slow, light) solver |
| 38 | 23 | ||
| 24 | * Decide on API for solve() (see above) | ||
| 25 | * solve generic becomes private, use cube_fast_t instead of cube_t | ||
| 26 | * write simple solver based on generic | ||
| 39 | * tests: solve full cube (max 7-8 moves?) | 27 | * tests: solve full cube (max 7-8 moves?) |
| 40 | * more tests: eo and other stuff | ||
| 41 | * benchmarks | 28 | * benchmarks |
| 42 | 29 | ||
| 43 | ### Coordinates | 30 | ### Coordinates |
| @@ -110,8 +97,10 @@ What about symcoord? | |||
| 110 | 97 | ||
| 111 | ## Improvements and other things | 98 | ## Improvements and other things |
| 112 | 99 | ||
| 100 | * Rename to libnissy (prefix public functions with nissy_?) | ||
| 113 | * add centers (and moves...) | 101 | * add centers (and moves...) |
| 114 | * for CO: move to bits 5 and 6, no need for padding bit | 102 | * for CO: move to bits 5 and 6, no need for padding bit |
| 103 | * manipulate move sequences (invert, unniss, cleanup, mirror / transform...) | ||
| 115 | * NISS: Add mask to moves (e.g. U | NISS where NISS = 32 or something); | 104 | * NISS: Add mask to moves (e.g. U | NISS where NISS = 32 or something); |
| 116 | adapt readmoves and writemoves. | 105 | adapt readmoves and writemoves. |
| 117 | * Consider adding centers and other moves (for avx2: centers in the | 106 | * Consider adding centers and other moves (for avx2: centers in the |
| @@ -121,6 +110,9 @@ What about symcoord? | |||
| 121 | ascii art (color = 1 letter) | 110 | ascii art (color = 1 letter) |
| 122 | twizzle binary https://www.experiments.cubing.net/cubing.js/spec/binary/ | 111 | twizzle binary https://www.experiments.cubing.net/cubing.js/spec/binary/ |
| 123 | reid? | 112 | reid? |
| 113 | * print ptables (or layout data in such a way that can be printed | ||
| 114 | easily, e.g. first bytes are null-terminated strig and can be | ||
| 115 | printed by user) | ||
| 124 | 116 | ||
| 125 | ## "Front-end" | 117 | ## "Front-end" |
| 126 | 118 | ||
