A simple library to generate trick combinations and moves for wizard style inline skating.
Project description
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, producing sequences that flow naturally.
The move library (moves.json) contains 64 move variants across 7 categories:
| Category | Examples | Count |
|---|---|---|
| Base | Predator, Predator One | 4 |
| Turn | Parallel Turn, Tree Turn | 4 |
| 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. 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 Python or JavaScript libraries
For developers
This library is available in both Python and JavaScript.
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 (Open): front → front
# Front Gazelle (Open): front → back
# Back Lion (Open): back → front
Each trick dict contains id, name, category, stage, entry and exit state objects.
JavaScript usage
You can use the ES6 module directly from the JSDelivr CDN.
import { generateCombo } from 'https://cdn.jsdelivr.net/gh/nazroll/wzrdbrain@v0.4.0/src/wzrdbrain/wzrdbrain.js';
const combo = generateCombo(3);
combo.forEach(trick => {
console.log(`${trick.name}: ${trick.entry.direction} → ${trick.exit.direction}`);
});
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wzrdbrain-0.4.0.tar.gz.
File metadata
- Download URL: wzrdbrain-0.4.0.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11b4d1ae0eb41b809979eead75bc8a2463e4ae3975f4234a8f43c05943bf06c2
|
|
| MD5 |
27704ce29af9b337e103679122edcbc3
|
|
| BLAKE2b-256 |
882eac9868fe510cc0595b9090726942ab7ab5fa35d85cd77ce7f9b84e56412f
|
Provenance
The following attestation bundles were made for wzrdbrain-0.4.0.tar.gz:
Publisher:
release.yml on nazroll/wzrdbrain
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wzrdbrain-0.4.0.tar.gz -
Subject digest:
11b4d1ae0eb41b809979eead75bc8a2463e4ae3975f4234a8f43c05943bf06c2 - Sigstore transparency entry: 1109338517
- Sigstore integration time:
-
Permalink:
nazroll/wzrdbrain@9ba0298f6fa2d69450b24c321aa5aeff5417fa7c -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/nazroll
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9ba0298f6fa2d69450b24c321aa5aeff5417fa7c -
Trigger Event:
release
-
Statement type:
File details
Details for the file wzrdbrain-0.4.0-py3-none-any.whl.
File metadata
- Download URL: wzrdbrain-0.4.0-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
caf90df7f397289fca4252919531913496a181128a28f001b1d8582df4b3f5f6
|
|
| MD5 |
ae74d0f3dd5633d58cea489fcceb32a4
|
|
| BLAKE2b-256 |
d0eb777084415db3a7c73c92fff7ce690254a2df822df0bcd225c3d77592a11f
|
Provenance
The following attestation bundles were made for wzrdbrain-0.4.0-py3-none-any.whl:
Publisher:
release.yml on nazroll/wzrdbrain
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
wzrdbrain-0.4.0-py3-none-any.whl -
Subject digest:
caf90df7f397289fca4252919531913496a181128a28f001b1d8582df4b3f5f6 - Sigstore transparency entry: 1109338520
- Sigstore integration time:
-
Permalink:
nazroll/wzrdbrain@9ba0298f6fa2d69450b24c321aa5aeff5417fa7c -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/nazroll
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9ba0298f6fa2d69450b24c321aa5aeff5417fa7c -
Trigger Event:
release
-
Statement type: