5 Commits

Author SHA1 Message Date
Jose Luis Montañes
75ee19f8a3 feat: modular synth, sandbox, code editor, pixel editor, Docker deployment
Synth:
- Modular synth with Tone.js: oscillator, LFO, noise, filter, envelope, VCA, mixer, delay, reverb, distortion, output
- Keyboard widget (mini SVG + fullscreen piano + computer keys Z-M/Q-I)
- Drum pad (4x4 grid, 16 pads with MIDI notes, matching reaktor)
- Sequencer (SVG bar grid with pitch/gate editing, matching reaktor)
- Live modulation visualization (LFO waveform simulation, envelope, noise)
- Knob with drag, wheel, double-click inline edit, modulation glow ring
- Pan/zoom viewport, bezier wires colored by port type
- Play/Stop audio lifecycle, stereo output with Tone.Merge

Sandbox:
- New /sandbox page with all editors in freeform mode
- Synth fills full viewport height

Workbenches:
- Code Editor (Monaco) with test cases
- Signal Playground (Web Audio oscillator + filter + visualizer)
- Pixel Editor (grid canvas with palette and match mode)

Deployment:
- Dockerfile (multi-stage Next.js standalone build)
- .dockerignore
- next.config.ts output: standalone
- Gitea remote configured

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 14:09:14 +01:00
Jose Luis Montañes
8d8a811ede feat: circuit builder, electronics lab, SPICE simulator, expanded skill tree
Workbenches:
- Circuit Builder: drag-and-drop logic gates, wire connections, truth table verification, fullscreen mode
- Electronics Lab: SPICE-like DC simulator with MNA solver, voltage sources, resistors, capacitors, LEDs, switches, NMOS/PMOS transistors, voltmeter, ammeter, play/pause simulation, fullscreen mode
- Explanation renderer: auto-detects ASCII truth tables and renders them as styled HTML

Skill tree:
- 65+ nodes across 19 groups spanning math → electronics → CPU → ASM → OS → networking → web
- Groups: Aritmética, Álgebra, Lógica, Electrónica, Circuitos Digitales, Secuenciales, Tu CPU, Verilog/HDL, Arquitectura Extendida, Sistemas Operativos, Programación en C, Redes, La Web, Señales, Síntesis Audio, Gráficos, Tu Consola
- Dependency highlighting: clicking a node dims all others and highlights the full path
- Group boxes with colored borders around related nodes
- Dependency chain audit: fixed illogical prerequisites throughout the tree

Content:
- 24 electronics challenges (basics, series/parallel, capacitors, diodes, transistors, op-amps, power supplies)
- 12 circuit builder challenges (logic gates, NAND universality, combinational circuits)
- Fixed all explanation spoilers: examples now use different numbers than the challenge questions
- Probe system now requires voltmeter/ammeter instruments instead of checking arbitrary node IDs

UX:
- Custom dark-themed scrollbars
- Fullscreen mode for circuit/electronics editors (portal-based, Esc to exit)
- SVG coordinate fix using getScreenCTM for accurate wire placement in fullscreen
- Meter reading labels positioned correctly regardless of component rotation
- Scratchpad defaults to closed, persists open/close state in localStorage
- Empty placeholder nodes show "Próximamente" instead of appearing completed

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 03:50:07 +01:00
Jose Luis Montañes
f9f74d3f19 feat: implement MathTree MVP — skill tree, workbench, and progress system
- Interactive skill tree with dagre auto-layout and React Flow (15 math+logic nodes)
- Workbench with math input (LTR/RTL toggle), multiple choice, keyboard shortcuts
- Challenge verification engine with retry-based flow (no answer reveal until 3 failures)
- Scratchpad canvas with freehand drawing, text boxes, eraser, colors, and stroke sizes
- "Aprende primero" collapsible explanations on introductory challenges
- XP/level system, daily streaks, 7 achievements, progress persistence via Zustand
- Profile page with stats and achievement gallery
- Sidebar navigation with XP bar and streak badge

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 01:53:45 +01:00
Jose Luis Montañes
a2846420a3 feat: initial commit 2026-03-26 01:01:41 +01:00
Jose Luis Montañes
1776b8f004 Initial commit from Create Next App 2026-03-26 00:58:05 +01:00