Skip to main content

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 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.

The move library (moves.json) contains 68 move variants across 7 categories:

Category Examples Count
Base Predator, Predator One 4
Turn Parallel Turn, Tree Turn (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. 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 (Open): front → front
# Front Gazelle (Open): front → back
# Back Lion (Open): 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.

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:

License

This project is licensed under the Apache-2.0 Open Source Software License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wzrdbrain-0.5.0.tar.gz (20.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wzrdbrain-0.5.0-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file wzrdbrain-0.5.0.tar.gz.

File metadata

  • Download URL: wzrdbrain-0.5.0.tar.gz
  • Upload date:
  • Size: 20.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for wzrdbrain-0.5.0.tar.gz
Algorithm Hash digest
SHA256 6e2cbcfb2c64e8e59400bafa9b4a3938d0b52501cdd7c9147622b13b1c6b9e4a
MD5 27cc2bd5573cf8f794562ddf7397504a
BLAKE2b-256 0a8aef8d8196c33cf751fa6610eafe38ad195e27522ae56db1cbbe5ff3754b77

See more details on using hashes here.

Provenance

The following attestation bundles were made for wzrdbrain-0.5.0.tar.gz:

Publisher: release.yml on nazroll/wzrdbrain

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wzrdbrain-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: wzrdbrain-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for wzrdbrain-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e6129fc8f1c52fc9034beadb934fb5a2f3645b10f1b1258c2d063803172fa544
MD5 185b9e01e0923cdbed36f211c2ee2743
BLAKE2b-256 9328a8de4e752df58348b9b33fe3a464b441ac00cb75785c0c040d30484b3953

See more details on using hashes here.

Provenance

The following attestation bundles were made for wzrdbrain-0.5.0-py3-none-any.whl:

Publisher: release.yml on nazroll/wzrdbrain

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page