summaryrefslogtreecommitdiff
path: root/tools/editor/index.html
AgeCommit message (Collapse)Author
2026-02-06feat(spectral_editor): Add cursor-centered zoom and pan with mouse wheelskal
Implemented zoom and pan system for the spectral editor: Core Features: - Viewport offset system (viewportOffsetX, viewportOffsetY) for panning - Three wheel interaction modes: * Ctrl/Cmd + wheel: Cursor-centered zoom (both axes) * Shift + wheel: Horizontal pan * Normal wheel: Vertical pan - Zoom range: 0.5-20.0x horizontal, 0.1-5.0x vertical - Zoom factor: 0.9/1.1 per wheel notch (10% change) Technical Implementation: - Calculate data position under cursor before zoom - Apply zoom to pixelsPerFrame and pixelsPerBin - Adjust viewport offsets to keep cursor position stable - Clamp offsets to valid ranges (0 to max content size) - Updated all coordinate conversion functions (screenToSpectrogram, spectrogramToScreen) - Updated playhead rendering with visibility check - Reset viewport offsets on file load Algorithm (cursor-centered zoom): 1. Calculate frame and frequency under cursor: pos = (screen + offset) / scale 2. Apply zoom: scale *= zoomFactor 3. Adjust offset: offset = pos * scale - screen 4. Clamp offset to [0, maxOffset] This matches the zoom behavior of the timeline editor, adapted for 2D spectrogram display. handoff(Claude): Spectral editor zoom implementation complete
2026-01-31Chore: Remove trailing whitespaces across the codebaseskal
2026-01-28fix the spec editor a bitskal
2026-01-28feat(editor): Add audio playback and redo functionalityskal
Enhances the spectrogram editor with audio playback capabilities and a redo button. - : Added 'Listen Original' and 'Listen Generated' buttons, and a 'Redo' button. - : Added styling for the new buttons. - : Implemented JavaScript IDCT, Hanning window, and for audio synthesis. - Connected playback buttons to audio functionality. - Fully implemented logic.
2026-01-28feat(editor): Implement drawing tools and advanced undo/redoskal
This commit significantly enhances the web spectrogram editor by implementing core drawing tools (line, ellipse, noise) and a robust undo/redo system. - and : Added redo button and styling. - : Implemented canvas event handling, dynamic shape previews, and the logic for lines and noise rectangles. - : Now reconstructs the spectrogram from a clean base, allowing proper undo/redo. - : Uses an improved color gradient for better visualization. - : Stores original spectrogram data for persistent state management.
2026-01-28docs: Finalize project state synchronizationskal
Updates all relevant Markdown files to reflect the completed asset system and build pipeline. - Updates PROJECT_CONTEXT.md with latest architectural decisions. - Updates GEMINI.md with the full list of relevant files. - Adds initial scaffolding for the web editor. - Cleans up any lingering issues with asset generation paths.
2026-01-28feat(editor): Scaffold web spectrogram editorskal
Initial setup for the spectrogram editor tool. - Created tools/editor/index.html, script.js, and style.css. - Added basic structure for WAV loading, visualization, and tool controls.