wzrdbrain
wzrdbrain is a physics-aware combo generator for wizard skating. It models moves as state transitions — each trick transforms the skater's physical state (direction, edge, stance, weight point) so generated combinations are actually executable, not just random names.
If you're a wizard skater, the best way to use this project is through the Rocker'd Magic Moves app!
The app is powered by this library and works on your phone, even offline.
Logic makes magic.
How it works
Every move in the library defines an entry state (what the skater needs to be doing) and an exit state (what the skater ends up doing). The combo generator chains moves by matching exit states to entry states across all four physical dimensions (direction, edge, stance, weight point), producing sequences that flow naturally.
Matching uses a three-tier cascade: it prefers a fully continuous link (direction + point + edge + stance), falls back to matching direction + point, then to direction alone — so it never dead-ends. Each trick reports how continuous its link is via a transition field (start, linked, edge_shift, or reset), so the output is honest about where the skater makes an implicit adjustment.
Move names follow the Front/Back [Open|Closed] Move convention (e.g. Front Open Gazelle), and the whole library is validated against the move schema at load time — a typo in the data fails at import instead of silently generating broken combos.
The move library (moves.json) contains 68 move variants across 7 categories:
| Category | Examples | Count |
|---|---|---|
| Base | Predator, Predator One | 4 |
| Turn | Parallel, Tree (front and back entries) | 8 |
| Transition | Gazelle, Lion, Lion S, Gazelle S, 180, 360, 540 | 22 |
| Pivot | Toe Pivot, Heel Pivot (all direction/stance combos) | 8 |
| Swivel | Stunami, UFO Swivel | 4 |
| Manual | Toe/Heel Press, Toe/Heel Roll | 8 |
| Slide | Parallel, Soul, Acid, Mizu, Star, Fast, Back | 14 |
Contributing
We welcome contributions! wzrdbrain is an open-source project, and we encourage the community to help in many ways.
Want to add a new trick?
This is the most common way for skaters to contribute! Add a new move entry to src/wzrdbrain/moves.json with its entry/exit states. Name it following the Front/Back [Open|Closed] Move convention — the library is validated at load time, so any invalid state value is caught the moment the tests run. See the research doc for the state model and edge conventions.
To get started, please read our contributing guide which will walk you through the process.
Other ways to contribute
- Report bugs and suggest features
- Improve documentation
- Submit code improvements for the library
For developers
Python usage
Install the package from PyPI:
pip install wzrdbrain
Use generate_combo to get a list of trick dictionaries with full state information.
from wzrdbrain import generate_combo
combo = generate_combo(3)
for trick in combo:
print(f"{trick['name']}: {trick['entry']['direction']} → {trick['exit']['direction']}")
# Example output:
# Front Predator: front → front
# Front Open Gazelle: front → back
# Back Open Lion: back → front
Each trick dict contains id, name, category, stage, a transition annotation describing its link to the previous trick (start/linked/edge_shift/reset), and entry/exit state objects. The exit object includes direction, edge, stance, point, plus lead_foot and feet.
Skaters who prefer "fakie"/"forward" wording can switch the display style with terminology="fakie" — trick names render as Forward Open Gazelle / Fakie Open Lion while ids and state values stay unchanged:
combo = generate_combo(3, terminology="fakie")
To practice a specific move, pass trick= and the combo is guaranteed to include it — matching is case-insensitive, understands fakie wording, and forgives small typos:
combo = generate_combo(3, trick="Front Open Gazelle")
JavaScript
Earlier releases shipped an auto-generated JavaScript port. It was removed to cut maintenance; if you need it, pin the last release that included it via JSDelivr:
https://cdn.jsdelivr.net/gh/nazroll/wzrdbrain@v0.4.1/src/wzrdbrain/wzrdbrain.js
Credits
Many thanks to the wizard skating community for their valuable feedback and support. Special thanks to:
- Billy Arlew: for being a reliable source of inspiration and as a domain knowledge expert on the wizard skating tricks dictionary.
- Eelco Soesman: for being a supportive Slightly Rockerd crew and early tester.
- Bas Bavinck: for being the beacon of wizardry with his book and supporting this project.
License
This project is licensed under the Apache-2.0 Open Source Software License. See the LICENSE file for details.
Metadata
Release files for wzrdbrain 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| wzrdbrain-0.6.0.tar.gz | 24.3 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wzrdbrain-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.5 kB
Release files / wzrdbrain-0.6.0.tar.gz
| Download URL | wzrdbrain-0.6.0.tar.gz |
|---|---|
| Size | 24.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bad124ba9b24093efbd1566e316052fe5eded7a572bdb5494e288713051c71ec
|
|
BLAKE2b-256 checksum How to use checksums |
2e9e04a23a142836edcc727e731fa00877e9200e6379afb2363cbe04dee543be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 10, 2026.
Transparency logRelease files / wzrdbrain-0.6.0-py3-none-any.whl
| Download URL | wzrdbrain-0.6.0-py3-none-any.whl |
|---|---|
| Size | 16.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
61bfd181e51a26a7a9a696a2b312dac18e17cfbc79c5b38de51a3dce5e186eee
|
|
BLAKE2b-256 checksum How to use checksums |
19d15b5ea27319150a90d27e54ae80451a035245cabc270db14ac653c815210f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 10, 2026.
Transparency logSecurity for wzrdbrain 0.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for wzrdbrain-0.6.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 10, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.