|
| 1 | +# 🌸 Bloom Space |
| 2 | + |
| 3 | +> Creative studio workspace — all active development tracks |
| 4 | +
|
| 5 | +**Kanban Board:** Add all issues below to the *Bloom Space* GitHub Project |
| 6 | +**Columns:** `Backlog` → `In Progress` → `Review` → `Done` |
| 7 | + |
| 8 | +--- |
| 9 | + |
| 10 | +## 🎵 Track 1 — Music / Audio Visualizer |
| 11 | + |
| 12 | +| # | Task | Priority | Status | |
| 13 | +|---|------|----------|--------| |
| 14 | +| 1 | Core Web Audio API engine (FFT + waveform) | 🔴 High | Backlog | |
| 15 | +| 2 | BPM detection + beat-sync animations | 🔴 High | Backlog | |
| 16 | +| 3 | Visual themes: Vapor / Cosmic / Neon Grid / Void | 🟡 Med | Backlog | |
| 17 | +| 4 | Frequency spectrum 3D waterfall view | 🟡 Med | Backlog | |
| 18 | +| 5 | MIDI controller input support | 🟢 Low | Backlog | |
| 19 | +| 6 | Export visualizer session as WebM video | 🟡 Med | Backlog | |
| 20 | + |
| 21 | +### Task Details |
| 22 | + |
| 23 | +#### #1 — Core Web Audio API Engine |
| 24 | +- `AudioContext` + `AnalyserNode` → mic or file input |
| 25 | +- Real-time FFT at 60fps (`getByteFrequencyData`) |
| 26 | +- Waveform oscilloscope (`getByteTimeDomainData`) |
| 27 | +- File drag-and-drop (MP3 / WAV / OGG / FLAC) |
| 28 | +- Canvas 854×480 render loop |
| 29 | + |
| 30 | +#### #2 — BPM Detection + Beat Sync |
| 31 | +- Peak energy detection on bass bins (20–200 Hz) |
| 32 | +- Rolling threshold crossing = beat event |
| 33 | +- `onBeat(bpm, energy)` callback |
| 34 | +- Reuse tap-tempo logic from `datamosh-editor.html` |
| 35 | +- Beat flash overlay + color palette pulses |
| 36 | + |
| 37 | +#### #3 — Visual Themes |
| 38 | +- **VAPOR** — mirrored bars, pink/cyan, CRT scanlines |
| 39 | +- **COSMIC** — circular polar FFT, star field, nova burst on beat |
| 40 | +- **NEON GRID** — 3D perspective floor, bloom glow bar peaks |
| 41 | +- **VOID** — minimal black/white waveform only |
| 42 | +- Theme switcher pill buttons, persists in `localStorage` |
| 43 | + |
| 44 | +#### #4 — Frequency Waterfall |
| 45 | +- Scrolling 2D heat-map: X = frequency, Y = time, color = amplitude |
| 46 | +- Color scale: deep blue (quiet) → hot pink (loud) |
| 47 | +- Toggle between bar chart / waterfall / oscilloscope views |
| 48 | + |
| 49 | +#### #5 — MIDI Input |
| 50 | +- Web MIDI API device enumeration |
| 51 | +- Map CC knobs to: gain, FFT size, theme parameters |
| 52 | +- Visual MIDI learn mode (click param → wiggle knob) |
| 53 | + |
| 54 | +#### #6 — WebM Export |
| 55 | +- `canvas.captureStream(30)` + `MediaRecorder` |
| 56 | +- Same pipeline as datamosh editor recording system |
| 57 | +- Merges audio + canvas into final file |
| 58 | + |
| 59 | +--- |
| 60 | + |
| 61 | +## 🎨 Track 2 — Visual Art / Generative Graphics |
| 62 | + |
| 63 | +| # | Task | Priority | Status | |
| 64 | +|---|------|----------|--------| |
| 65 | +| 1 | Particle system engine with physics | 🔴 High | Backlog | |
| 66 | +| 2 | Perlin noise flow field visualizer | 🔴 High | Backlog | |
| 67 | +| 3 | Generative kaleidoscope / symmetry tool | 🟡 Med | Backlog | |
| 68 | +| 4 | Reaction-diffusion (Turing patterns) | 🟡 Med | Backlog | |
| 69 | +| 5 | WebGL shader playground | 🟡 Med | Backlog | |
| 70 | +| 6 | Export artwork as PNG / SVG | 🔴 High | Backlog | |
| 71 | + |
| 72 | +### Task Details |
| 73 | + |
| 74 | +#### #1 — Particle System Engine |
| 75 | +- N-body system: position, velocity, acceleration per particle |
| 76 | +- Forces: gravity, wind, mouse attraction/repulsion, vortex |
| 77 | +- Particle birth/death lifecycle with fade |
| 78 | +- Render modes: dots / trails / connected-graph / blobs |
| 79 | +- Up to 50,000 particles at 60fps (typed arrays) |
| 80 | + |
| 81 | +#### #2 — Perlin Noise Flow Field |
| 82 | +- Classic Perlin noise (or simplex) grid |
| 83 | +- Particles follow noise gradient vectors |
| 84 | +- Time-animated field evolution |
| 85 | +- Controls: noise scale, speed, color palette, trail length |
| 86 | +- "Freeze" mode for still export |
| 87 | + |
| 88 | +#### #3 — Kaleidoscope Tool |
| 89 | +- N-fold radial symmetry (3–12 segments) |
| 90 | +- Real-time drawing input mirrored across all segments |
| 91 | +- Zoom + rotation animation |
| 92 | +- Color cycle mode (HSL shift over time) |
| 93 | + |
| 94 | +#### #4 — Reaction Diffusion |
| 95 | +- Gray-Scott model: U/V chemical diffusion |
| 96 | +- Feed/kill rate sliders → different pattern regimes |
| 97 | +- GPU-accelerated via WebGL ping-pong framebuffers |
| 98 | +- Color map overlay (VOID / HEAT / VAPOR palettes from datamosh) |
| 99 | + |
| 100 | +#### #5 — WebGL Shader Playground |
| 101 | +- GLSL fragment shader editor (CodeMirror or textarea) |
| 102 | +- Live-reload on edit |
| 103 | +- Built-in uniforms: `time`, `mouse`, `resolution` |
| 104 | +- 10 starter shaders included |
| 105 | + |
| 106 | +#### #6 — Export |
| 107 | +- PNG snapshot at any resolution (2x/4x canvas scale) |
| 108 | +- SVG trace for particle/vector art |
| 109 | +- Animated GIF export (via gif.js or similar) |
| 110 | + |
| 111 | +--- |
| 112 | + |
| 113 | +## 🎬 Track 3 — Video / Media Tools |
| 114 | + |
| 115 | +| # | Task | Priority | Status | |
| 116 | +|---|------|----------|--------| |
| 117 | +| 1 | Datamosh Editor v2 — multi-clip timeline | 🔴 High | In Progress | |
| 118 | +| 2 | Real-time webcam glitch effects | 🟡 Med | Backlog | |
| 119 | +| 3 | Video color grading tool | 🟡 Med | Backlog | |
| 120 | +| 4 | Frame interpolation / slow-motion | 🟢 Low | Backlog | |
| 121 | +| 5 | Live stream overlay generator | 🟢 Low | Backlog | |
| 122 | + |
| 123 | +### Task Details |
| 124 | + |
| 125 | +#### #1 — Datamosh Editor v2 |
| 126 | +- Current v1: `datamosh-editor.html` (PR #1 — In Progress) |
| 127 | +- v2 adds: multi-clip timeline (drag to reorder), per-clip effect chains |
| 128 | +- Clip in/out points with scrubbing |
| 129 | +- Effect automation curves (keyframe parameters over time) |
| 130 | + |
| 131 | +#### #2 — Webcam Glitch Effects |
| 132 | +- `getUserMedia` → live canvas pipeline |
| 133 | +- Apply any datamosh effect in real-time to webcam feed |
| 134 | +- Snapshot to PNG, record to WebM |
| 135 | +- Mirror/virtual-camera mode |
| 136 | + |
| 137 | +#### #3 — Color Grading Tool |
| 138 | +- Curves editor (R/G/B/Luma) |
| 139 | +- HSL selective color adjustments |
| 140 | +- LUT import/export (.cube format) |
| 141 | +- Before/after split-screen compare |
| 142 | +- Apply to video file or webcam |
| 143 | + |
| 144 | +#### #4 — Frame Interpolation |
| 145 | +- Canvas optical flow between N frames |
| 146 | +- Blend intermediate frames (slow-motion effect) |
| 147 | +- Configurable interpolation factor (2x / 4x / 8x) |
| 148 | + |
| 149 | +#### #5 — Stream Overlay Generator |
| 150 | +- Drag-and-drop overlay layout builder |
| 151 | +- Animated elements: clocks, alerts, audio meter, now-playing |
| 152 | +- OBS browser source compatible |
| 153 | +- Export as self-contained HTML |
| 154 | + |
| 155 | +--- |
| 156 | + |
| 157 | +## 📋 Project Setup Checklist |
| 158 | + |
| 159 | +- [ ] Enable Issues in `dylusive/docs` repo (Settings → Features → Issues ✓) |
| 160 | +- [ ] Create labels: `audio-visualizer`, `visual-art`, `video-tools`, `bloom-space`, `backlog`, `in-progress`, `review` |
| 161 | +- [ ] Open one GitHub Issue per task above |
| 162 | +- [ ] Add all issues to the **Bloom Space** GitHub Project |
| 163 | +- [ ] Set up columns: `Backlog` / `In Progress` / `Review` / `Done` |
| 164 | +- [ ] Enable GitHub Pages (Settings → Pages → branch: `main`, folder: `/`) so tools are live at `https://dylusive.github.io/docs/` |
0 commit comments