Skip to main content

Module optimise

Module optimise 

Source
Expand description

Makes a plan from your own typing: scores layouts on what you type, searches for a good one with simulated annealing, splits the move from QWERTY into small stages, and picks drill words from your vocabulary.

Finding the true best layout is a quadratic assignment problem, and “best” depends on how the scoring is weighted anyway. Many layouts tie, so each restart of the search lands somewhere slightly different; the summary says how much they agreed.

Structs§

Counts
How often each key, and each pair of keys in a row, was typed.
Made
What making a plan produced.
Metrics
Options
Rng
SplitMix64: small, seedable, and good enough for a search.

Constants§

DEFAULT_LOCK
ENOUGH
Fewer messages than this is too little to optimise for.
LONGEST_LINK
Browsers and GitHub cope with links up to about this long.
QWERTY
USAGE

Functions§

gather
Reads your writing according to the options: what was found, and where from.
make
Makes a plan and its summary, and writes both. Progress goes to stderr.
pretty
The layout as three rows split into two hands.
share_url
A link that opens a new issue on very-normal with your summary filled in. You see it, and can change it, before anything is posted.