aboutsummaryrefslogtreecommitdiff
path: root/TODO.md
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano.tronto@gmail.com>2021-11-11 21:37:34 +0100
committerSebastiano Tronto <sebastiano.tronto@gmail.com>2021-11-11 21:37:34 +0100
commit3568412f8f230774d0d11d7ed1c897424f95d3ef (patch)
tree77223792d8c925a9b1fc32b3f4341e943b5f8209 /TODO.md
parent67e1b5e6e6a2c917a2fe58a37a1382c982b1e5c5 (diff)
downloadnissy-3568412f8f230774d0d11d7ed1c897424f95d3ef.tar.gz
nissy-3568412f8f230774d0d11d7ed1c897424f95d3ef.zip
Rewritten from scratch. Welocme nissy 2.0!
Diffstat (limited to '')
-rw-r--r--TODO.md53
1 files changed, 53 insertions, 0 deletions
diff --git a/TODO.md b/TODO.md
new file mode 100644
index 0000000..9873547
--- /dev/null
+++ b/TODO.md
@@ -0,0 +1,53 @@
1# TODO list
2
3This is a list of things that I would like to add or change at some point.
4It's more of a personal reminder than anything else.
5
6## Commands
7
8### Commands that are available in nissy 1.0, but not in this version (yet):
9* drcorners (solve corners after dr)
10* search and improve non-optimal subsequences
11* unniss (rewrite A (B) -> B' A)
12* scramble [dr, corners only, edges only, htr, ...]
13* save and edit algs as "variables"
14* invert an alg
15
16### More steps for `solve`
17* QTM optimal solving
18* Block-building steps (cross, roux blocks, ...)
19* Other common steps (LSE, ...)
20
21### Improvements to currently implemented commands
22* solve should re-orient first if needed and not just give up if centers are off
23* solve should try up to a small bound without loading the large pruning table
24* drfin for HTR scrambles should try all 3 axis and pick the best solutions;
25 in general every step that automatically detects orientation should do this
26
27### New features
28* cleanup: translate an alg to the standard HTM moveset + reorient at the end
29* batch mode: read list of commands from stdin or a file and exec them
30 one after the other non-interactively
31* configurability: add an `alias` command, run config file at startup
32
33## Distribution
34
35* make env.c compatible with Windows (and check that it works with
36 BSD/MacOS)
37* better internal help page for each command (take it from man page)
38* better man page
39* find a better way to distribute the large tables, especially khuge
40
41## Technical stuff
42
43### Memory management
44* fail gracefully when there is not enough memory to load a large table
45* free tables from memory when not used
46* optionally run in low-memory friendly version (no tables above a few Mb);
47 this can be useful e.g. for embedded devices
48
49### Structural changes
50* client/server architecture: run a server process in the background so that
51 multiple client processess can send it queries and get results; this would
52 open up the door for a web-based version or graphical clients
53* use multiple threads to search for solutions in parallel

Generated with cgit - Back to sebastiano.tronto.net