Clone this repository
For self-hosted knots, clone URLs may differ based on your setup.
Dribbling: replace the push-collider + heavy-damping control with a
spring-seek. While controlled, the ball steers toward a "socket" point
that leads ahead of the player (scaled by run speed, collapsing to the
feet at a standstill), giving a loose "leading" feel that a sharp
reversal can strip. Drops the player push fixture, CAT_PUSH, and
DRIBBLE_DAMPING in favor of DRIBBLE_OFFSET / STIFFNESS / MAX_SPEED.
Progress: record the furthest level reached to a soccer.chaos.progress
record via a granular `repo:` OAuth scope — new lexicon, lazy-loaded
writer, and session plumbing through Intro/GameCanvas/App. Plus a
give-items script and soccer-shirt sprites.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
These walk + death sheets existed only in the project root, so Vite
never copied them into the build output. Moving them into public/ so
they ship in dist/ and load at runtime from /skeleton-<type>.png.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Use the character-select screenshot as the social share image, with
absolute URLs driven by VITE_PUBLIC_URL so they resolve to the deployed
origin at build time.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Deployment-ready build driven by VITE_PUBLIC_URL: hosted atproto OAuth
client with client-metadata.json emitted at the site root, falling back
to a loopback client in local dev.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>