Showcase Demos
Classic Crossword (AI opponent)
The WASM demo above mirrors the classic 15×15 experience: commit moves with drag-and-drop, let the CPU respond, and use Undo/Redo to scrub the event log.
- Unity scene:
bindings/unity/Samples~/BoardDemo(toggle “Hex Geometry”, use the Difficulty switch, and fire the new CPU Move button).- Build the native plugin with
make unity-libs, then open the sample scene and hit Play; the script exposes the same drag-and-drop flow showcased here.
- Build the native plugin with
- Godot project:
bindings/godot/examples(scenescenes/Main.tscn). The top bar toggles free-word mode, stacking, hex adjacency, and now exposes Difficulty/ CPU Move buttons mirroring the WASM demo logic.
Hex Board Variant (web)
Hex adjacency uses graph-based move generation. Try placing letters around the origin and notice that perpendicular checks follow the six-direction neighbourhood.
Upwords-style Stacking (web)
Enable stacking to layer tiles on existing words. The demo defaults to SumStack scoring so previously
covered letters still contribute—toggle back to TopOnly to emulate Upwords.
Emoji Crossword (web)
Free-word mode is active and the rack starts with a blank (✨). Drop pieces to paint emoji words without
worrying about dictionary enforcement. On the CLI side, run python examples/python/emoji_freeplay.py to
seed the same rack, commit a colourful horizontal, and dump the resulting board snapshot.
3D Board (Godot)
The Godot sample now ships with an overlay that lets you scrub through vertical slices and trigger a
pre-baked 3D move. Open bindings/godot/examples, move the Layer slider to fade between stacks, and
hit Play sample vertical word to watch a column placed across layers. (3D move validation still flows
through CrosswordRules::validate, so Unity/Python bindings can drive the exact same configuration.)
Solver Tool (web + Python)
python examples/python/top_moves.py and edit the rack_lettersvariable to mirror the rack above.Pair the UI above with the Python helper for automation:
python examples/python/top_moves.py --rack AEIRST?
The CLI prints parity results with the WASM tool, proving that solver logic stays consistent across bindings.
Source links
- Web demos (Playground & Classic):
docs/src/components/ - Unity wrapper & samples:
bindings/unity/ - Godot addon & project:
bindings/godot/ - Python examples:
examples/python/
Use these as starting points for your own variants—each demo relies exclusively on the public bindings.