This crate contains the core crossword-solving code used in the Ingrid construction app, as well as a standalone binary that can be used to solve grids from the command line.
After setting up Rust, you can install the Ingrid Core CLI
tool with cargo
:
$ cargo install ingrid_core
Then you just need to provide a grid as an input file:
``` $ cat example_grid.txt ....#.....#.... ....#.....#.... ............... ......##.......
............### .....#.....#... ....#.....#.... ...#.....#.....
......#.....### .......##...... ............... ....#.....#.... ....#.....#.... $ ingridcore examplegrid.txt bile#seeit#slaw room#lasso#pone intimateapparel garret##whirred
wisterialane### aloes#nuevo#tnt ssns#betty#ciao pas#wipes#pelts
dealin#deere### imgonna##aesops goingintodetail utne#anise#atta pegs#lemur#shay ```
You can also use a custom word list (the default is Spread the Wordlist) or customize various other options: ``` $ ingridcore --help ingridcore: Command-line crossword generation tool
Usage: ingrid_core [OPTIONS]
Arguments:
Options:
--wordlist
The backtracking search implementation in this library owes a lot to "Adaptive Strategies for Solving Constraint Satisfaction Problems" by Thanasis Balafoutis, which was helpful both as an overview of the CSP space and a source of specific implementation ideas.
The CLI tool includes a copy of the free Spread the Wordlist dictionary published by Brooke Husic and Enrique Henestroza Anguiano.