Commit Graph

9 Commits

Author SHA1 Message Date
Jose Luis
00c4ec8e00 feat: double-click knobs to type exact values
Double-clicking a knob opens an inline text input for precise value
entry. Enter confirms, Escape cancels, blur auto-commits. Value is
clamped to the knob's min/max range. Styled to match the synth theme.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 02:17:07 +01:00
Jose Luis
e077e7f553 fix: wire connections + hint system with star penalty
- Replace elementFromPoint with bounding rect distance search for port
  detection. The SVG wire overlay was intercepting pointer events,
  requiring users to wait for animations before connecting. Now finds
  the closest port-dot within 18px radius regardless of z-index.
- Add hint system: concept text hidden behind "Mostrar Pista" button.
  Using the hint permanently caps the level at 2 stars max. Reiniciar
  resets the penalty. Visual feedback in objectives and completion screen.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 02:15:07 +01:00
Jose Luis
08206e996e feat: add SynthQuest game mode with World 1 (Waves) — 8 puzzle levels
Gamified synth learning inspired by Turing Complete. Progressive puzzle
system teaches oscillators, waveforms, frequency, and mixing through
hands-on module patching. Includes world map, level progression with
3-star rating, target audio playback, solution validation, and
localStorage persistence. Sandbox mode still accessible via button.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 02:04:26 +01:00
Jose Luis
d0755413f3 fix: piano roll playback now uses musical time instead of absolute seconds
The Part events were pre-converted to seconds via Tone.Time().toSeconds(),
making the BPM setting ineffective. Now uses bars:quarters:sixteenths
notation so the Transport BPM actually controls playback speed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 01:51:43 +01:00
Jose Luis
9d61adb064 fix: piano roll click accuracy on zoom + Super Mario chiptune preset
- Fix mouse coordinate scaling in piano roll when canvas is zoomed
  (getBoundingClientRect returns visual size, now dividing by scale ratio)
- Replace Megaman melody with Super Mario Bros overworld theme
- Tune chiptune preset: faster BPM (200), snappier envelopes, brighter
  filter, less delay/distortion for cleaner NES sound

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 01:46:06 +01:00
Jose Luis
48d4a24c1b fix: wire positions on zoom, MIDI import, envelope release min
- Fix wires not recalculating positions on zoom until panning
- Add MIDI file import button to Piano Roll (parses .mid files)
- Allow envelope release to go to 0 (was clamped at 0.001)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 01:38:12 +01:00
Jose Luis
65a89e2b59 feat: add sequencer, piano roll modules with pre-composed chiptune melody
Add step sequencer (16-step with note/gate editing) and piano roll
(canvas-based MIDI editor with draw/erase tools). Includes a Megaman-style
melody in C minor. Chiptune preset now uses piano roll instead of keyboard.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 01:30:03 +01:00
Jose Luis
4a003f2af2 fix: robust wire connections via data attributes + chiptune demo preset
- Replace fragile DOM position matching in finishConnection with
  data-module-id/data-port-name/data-port-direction attributes
- Add nearby port detection (8px radius) for easier connections
- Wire glow effects with drop-shadow filters
- Port dots z-index above wires for reliable click targeting
- Chiptune demo preset: 2x square osc, envelopes, VCAs, mixer,
  filter, delay, distortion, scope — full 8-bit signal chain
- "Chiptune Demo" toolbar button to load the example

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 01:17:56 +01:00
Jose Luis
95054a70df feat: initial Reaktor modular synth app
React + Tone.js modular synthesizer with visual node editor.
Includes: Oscillator, Filter, Envelope, LFO, VCA, Delay, Reverb,
Distortion, Mixer, Scope, Output, and Keyboard modules.
SVG wire connections, knob controls, preset save/load system.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 01:02:41 +01:00