Shows webcam with full skeleton overlay, record button with 5s countdown,
records all 2D + 3D landmark frames, and provides copy-to-clipboard JSON export.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Use CSS custom properties for lane positions so they can be adjusted
via media query. On screens under 600px, lanes spread from 12.5%-87.5%
instead of 30%-70%. Switch lane color selectors to data-dir attributes.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Make drawMode reactive via ref so it can change without restarting
the pose loop. Switch from toes-only to full skeleton when paused
or autoPaused, so the user can see exactly what MediaPipe is
tracking and debug positioning.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Split tech list into individual items with hover tooltips explaining usage
- Add Zustand and Vercel to the tech list
- Remove fullscreen button overlay from AppLayout
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Show tutorial overlay on first /game visit (localStorage flag)
- Add TUTORIAL button to escape menu to re-show tips
- Move LOG and fullscreen into escape menu corners (subtle placement)
- Change menu button from II to three dots for better mobile UX
- Hide AppLayout fullscreen button on /game (now in escape menu)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Shows 4 gameplay tips (return foot to center, stay in one spot,
face camera, stay fully visible). Stores dismissal in localStorage.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Show tutorial overlay on first /game visit (localStorage flag)
- Add TUTORIAL button to escape menu to re-show tips
- Move LOG and fullscreen into escape menu corners (subtle placement)
- Change menu button from II to three dots for better mobile UX
- Hide AppLayout fullscreen button on /game (now in escape menu)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Shows 4 gameplay tips (return foot to center, stay in one spot,
face camera, stay fully visible). Stores dismissal in localStorage.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
200 BPM uptempo hardcore. Chart auto-generated with Beginner (quarter
notes) and Hard (every beat with varied patterns) difficulties.
Audio downloaded from YouTube.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Simfile from zenius-i-vanisher.com (iamthek3n Selections).
119 BPM, 2:05 duration, Beginner through Hard difficulties.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
iOS Safari doesn't support requestFullscreen. Detect support and:
- Intro page: show single START button instead of FULLSCREEN/WINDOWED
- AppLayout: hide the global fullscreen button entirely
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Only use uppercase letters and numbers which have consistent
baseline height. Removes @#$%&*! that caused layout shifts.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move navHint, menuTriangle, and pink selection highlight hiding
to 480px mobile-only query. Previously hidden at 640px/700px height
which affected laptops.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Use fixed height 100vh/dvh instead of min-height, add overflow
hidden to layout container.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Was hidden at 640px or height < 700px which caught desktop windows.
Now only hides on truly mobile-sized screens.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace vertical pumping with horizontal swaying. Elbows stay near
shoulder height with only a small vertical bob. Wrists follow with
amplified swing.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Precompute arm and leg segment lengths from the base skeleton, then
enforce them after animation so elbows/wrists and knees/ankles stay
at natural distances from their parent joints.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Bigger body bounce, pumping arms that alternate up/down, side-to-side
leg stepping with knee bends, head bobbing and tilting. Faster tempo.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
All paths serve index.html so React Router handles routing.
Fixes 404 on page refresh for routes like /home, /game, etc.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Swipe left/right on the carousel viewport to navigate songs.
50px threshold prevents accidental triggers.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Give actions and actionsRow a fixed min-height so the sponsors
section stays in place when switching between camera/fullscreen.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Speed up hacker effect (2x frames at 25ms instead of 3x at 40ms).
Team members randomly reorder every 3 seconds with a fade-in
animation. No member is ranked above another.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Letters scramble randomly then converge left-to-right to the final
text. Each element has a staggered delay for a cascade reveal
effect: title → hackathon name → section headers → members/tech.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Show 'BIGGEST LITTLE HACKATHON 2026' under the title. Replace
generic 'special thanks' with a sponsors section showing all
six logos (UNR, Bently Nevada, Microsoft, Ridgeline, Coffee n
Comics, Type III) with links and hover effects.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Reduce padding, gaps, score font size, and margins so the full
page fits within 100vh without overflow.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>