Commit Graph

276 Commits (500a0373cede8fe2549621c5531cc8d759ef3457)
 

Author SHA1 Message Date
Claude 500a0373ce Gitignore debug audio and offset comparison outputs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 23:04:33 +00:00
Claude a72c52edf5 Fix Get Lucky offset and improve alignment tool
Correct offset from 66.389 to 0.207 (was matching repeated section).
The tool now generates stereo comparison WAV files (left=local,
right=YouTube) for each candidate so you can verify by ear.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 23:01:27 +00:00
Claude c673b3e746 Show YouTube player visibly in game UI (ToS compliance)
YouTube ToS requires the embedded player to be visible (min 200x200px).
Place it in the top-left corner at 240x135 with rounded corners and a
subtle border. Player fills its container and is non-interactive
(pointer-events: none) so it doesn't interfere with gameplay.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 22:52:28 +00:00
Claude 279de08433 Add keyboard mode toggle for testing without camera
Pause menu now has a KB button next to LOG. When enabled:
- Arrow keys feed steps directly into the game
- Calibration is bypassed so the game starts immediately
- Camera-based step detection and auto-pause are disabled

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 22:47:28 +00:00
Claude ce258e86bd Add YouTube audio source support with auto offset detection
Replace direct HTML5 Audio usage with an AudioPlayer abstraction that
supports both local audio files and YouTube IFrame Player API. Songs
can now specify a youtubeVideoId and youtubeOffset to stream audio
from YouTube instead of hosting audio files.

- AudioPlayer interface with LocalAudioPlayer and YouTubeAudioPlayer
- YouTube IFrame API type declarations and script loader
- Cross-correlation offset detection tool (tools/audio-offset/)
- Get Lucky configured with YouTube video 5NV6Rdv1a3I, offset 66.389s

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 22:38:01 +00:00
name 2b6ca91d47 high impact: add missing sponsor logo 2026-04-12 12:04:58 -07:00
name 13ae210d49 critical fix: support inline SSC note charts 2026-04-12 10:55:00 -07:00
name ec397ee226 critical fix: enable mouse clicks on home menu 2026-04-12 10:47:12 -07:00
name 62ee6a180d Clarify tutorial pause gesture copy 2026-04-12 10:34:33 -07:00
name 53861aad9d Add Devpost CTA to credits page 2026-04-12 10:29:13 -07:00
name 40d7de4db8 Merge branch 'worktree-record-animation' 2026-04-12 10:17:32 -07:00
name 723b1a9886 add Chop Suey! by System of a Down
128 BPM, 2:09, from Oakridge ITG Cab 2011 Songpack 3.
Placed after Meet Me Halfway in the front section.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 10:13:23 -07:00
name 172159cda8 add Beat It, Meet Me Halfway, and Horsestyle; reorder song list
Beat It (Michael Jackson, 139 BPM) and Meet Me Halfway (Black Eyed
Peas, 130 BPM) added after Just Dance at the front. Horsestyle
(Unicorn On Ketamine, 200 BPM) and Heroine moved to the middle.
25 songs total.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 10:03:50 -07:00
name 87a5109294 Merge branch 'worktree-tutorial' 2026-04-12 09:55:18 -07:00
name 5e1623f172 hide target arrow borders on touch devices
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 09:55:06 -07:00
name c07afb89c7 Merge branch 'record-page' 2026-04-12 09:53:28 -07:00
name f58f4a87fc mobile tutorial shows one tip at a time with next button
Desktop unchanged (side-by-side layout). On mobile (<600px), shows
player + single tip with step counter and Next/Got It button.
Removed overflow scroll from overlay.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 09:52:20 -07:00
name b961bc32c1 lay out tutorial player and tips side by side on desktop
Player sits left, tips right. Stacks vertically on mobile (<600px).
Card wider (680px) to fit both comfortably.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 09:47:29 -07:00
name 5251e7ed02 add exaggerate steps tip to tutorial
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 09:46:01 -07:00
name c98a9e71e0 add looping recording playback to tutorial
RecordingPlayer gains autoPlay, loop, showControls props.
Tutorial shows the stick figure demo on loop above the tips.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 09:44:41 -07:00
name 07e7276470 merge feature/mobile-home-ui-improvement: better mobile menu interaction
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 09:44:15 -07:00
name f032139b7c record all 33 landmarks, add simplifyRecording util
Recording now captures full MediaPipe data. simplifyRecording() picks
the 13 stick-figure landmarks with optional movement dedup and end trim.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 09:43:43 -07:00
name 7f0f2c0180 simplify stick figure to head circle + 12 joints, bundle recording
Recording now captures only 13 landmarks (nose + shoulders/elbows/wrists
+ hips/knees/ankles). Player draws circle head, no palms/feet.
Test page loads bundled recording on mount.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 09:43:43 -07:00
name eb98af56d3 add RecordingPlayer component and /recording-test page
RecordingPlayer draws 2D skeleton from recorded frames with play/pause
and scrub controls. Test page at /recording-test loads JSON via file picker.
Also added download button to /record results.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 09:43:43 -07:00
name b8134b4fbe add /record page for capturing MediaPipe landmark data
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>
2026-04-12 09:41:59 -07:00
Max a339289a3a removed navigation guide 2026-04-12 09:38:02 -07:00
name ff54f97527 spread arrow lanes apart on mobile
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>
2026-04-12 09:35:54 -07:00
name 0afe72ebab change Just Dance difficulty to 5
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 09:34:46 -07:00
name a6a8fe829b show full skeleton when game is paused
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>
2026-04-12 09:32:19 -07:00
name f1c1c007a5 Merge branch 'worktree-tutorial'
# Conflicts:
#	src/app/AppLayout.tsx
2026-04-12 09:19:10 -07:00
name 50d873c421 add tutorial test page at /test/tutorial
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 09:09:42 -07:00
name ae3ff99492 merge credits-improve: tech tooltips and remove fullscreen overlay
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 09:08:03 -07:00
name 48e763a480 improve credits page with tech tooltips and remove fullscreen overlay
- 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>
2026-04-12 09:05:03 -07:00
name a36b3f8e3e show tutorial before first play, update escape menu
- 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>
2026-04-12 09:03:28 -07:00
name a5da08ce3a add tutorial overlay component with tips for new players
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>
2026-04-12 09:03:28 -07:00
name 1df016b2b1 show tutorial before first play, update escape menu
- 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>
2026-04-12 08:59:36 -07:00
name eefd54c4a9 add tutorial overlay component with tips for new players
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>
2026-04-12 08:59:30 -07:00
Max 744a35dbf5 much better mobile home screen ui 2026-04-12 05:20:23 -07:00
name e4076c790b add Heroine (Uptempo Edit) by Dutch Disorder with generated chart
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>
2026-04-12 02:20:59 -07:00
name d7a3641ab0 add Just Dance by Lady Gaga as second song
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>
2026-04-12 02:10:10 -07:00
name e5552e72f7 hide fullscreen controls on iOS/devices without Fullscreen API
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>
2026-04-12 01:55:57 -07:00
name 3190891d6e remove special chars from hacker text to prevent vertical jump
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>
2026-04-12 01:43:26 -07:00
name 3cbf756002 show keyboard nav hints and menu highlights on laptop/desktop
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>
2026-04-12 01:42:40 -07:00
name 1a99f866eb add left margin to title block to clear corner HUD lines
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 01:40:15 -07:00
name ec4b92590b add top margin to title block to clear corner HUD lines
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 01:39:55 -07:00
name 966bd727a4 fix home page vertical scrollbar on desktop
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>
2026-04-12 01:39:18 -07:00
name e474e4d59b show global score on desktop, hide only on mobile
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 01:38:38 -07:00
name 0bc4d4cf08 show floor, scanlines, corners on desktop, hide only on mobile
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 01:38:16 -07:00
name 64944bdc5d only hide dancing guy on mobile (max-width 480px)
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>
2026-04-12 01:37:41 -07:00
name 2beb53e58d arms sway side to side with elbows staying low
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>
2026-04-12 01:35:13 -07:00