How shadowhedgehog76/pulsekeys works
PULSE//KEYS is a browser-based rhythm game: players choose a song or an endless mode, play timed note charts, and view results or continue a run. Song composition and chart generation are procedural; gameplay handles timing, judgement, scoring, and rendering, while Web Audio synthesizes the music and effects. The excerpts are partial, so the graph shows only supported runtime connections and omits uncertain wiring.
Main entry points: main.js App controller · game.js Game session · audio.js Audio engine · endless.js Endless runs
Components 14
Game experience
- Game screens
index.html - App controller
js/main.js - Results and scores
js/main.js - Endless runs
js/endless.js
Music and charts
- Songs and charts
js/songs.js
Play runtime
- Game session
js/game.js - Input calibration
js/main.js - Audio engine
js/audio.js - Animated backgrounds
js/bg.js - Shared utilities
js/util.js
Browser services
- Browser storage
- Web Audio API
- Canvas rendering
Other components
- Player
Connections 23
- Player → Game screens: uses
- Game screens → App controller: dispatches input
- App controller → Songs and charts: lists songs
- App controller → Game session: starts session
- App controller → Endless runs: starts run
- App controller → Input calibration: opens calibration
- App controller → Browser storage: reads/writes settings
- App controller → Results and scores: records results
- Game session → Songs and charts: builds chart
- Game session → Audio engine: plays music
- Game session → Animated backgrounds: draws background
- Game session → Canvas rendering: renders session
- Game session → App controller: reports completion
- Endless runs → Game session: starts segments
- Endless runs → App controller: updates run screens
- Endless runs → Browser storage: saves records
- Input calibration → Audio engine: starts metronome
- Audio engine → Web Audio API: synthesizes sound
- Audio engine → Shared utilities: uses helpers
- Songs and charts → Shared utilities: uses seeded generation
- Animated backgrounds → Canvas rendering: draws effects
- App controller → Audio engine: plays menu audio
- App controller → Animated backgrounds: draws menu background