mirror of
https://github.com/hex248/tsos.git
synced 2026-02-07 18:23:05 +00:00
updated development plan progres
This commit is contained in:
@@ -153,10 +153,10 @@ src/
|
|||||||
- [x] Create `lib/noise.ts` - export shared simplex instance
|
- [x] Create `lib/noise.ts` - export shared simplex instance
|
||||||
- [x] Create `lib/shapes/wobble.ts`:
|
- [x] Create `lib/shapes/wobble.ts`:
|
||||||
- `applyWobble(points, time, amount, noiseScale)` - displace points using noise
|
- `applyWobble(points, time, amount, noiseScale)` - displace points using noise
|
||||||
- [ ] Create `useWobbleAnimation.ts` - RAF loop, tracks elapsed time
|
- [x] Create `useWobbleAnimation.ts` - RAF loop, tracks elapsed time
|
||||||
- [ ] Update `MorphableShape.tsx` to apply wobble each frame
|
- [x] Update `MorphableShape.tsx` to apply wobble each frame
|
||||||
- [ ] Add wobble amount slider to sidebar
|
- [x] Add wobble amount slider to sidebar
|
||||||
- [ ] Add wobble speed slider to sidebar
|
- [x] Add wobble speed slider to sidebar
|
||||||
|
|
||||||
### Deliverables
|
### Deliverables
|
||||||
|
|
||||||
@@ -172,23 +172,22 @@ src/
|
|||||||
|
|
||||||
### Tasks
|
### Tasks
|
||||||
|
|
||||||
- [ ] Create `lib/audio/synth.ts`:
|
- [x] Create `lib/audio/synth.ts`:
|
||||||
- Dual oscillators (A = preset type, B = sine)
|
- Dual oscillators (A = preset type, B = sine)
|
||||||
- CrossFade node between them
|
- CrossFade node between them
|
||||||
- Noise generator for grain
|
- Noise generator for grain
|
||||||
- Master gain node
|
- Master gain node
|
||||||
- `createSynth()`, `disposeSynth()` functions
|
- `createSynth()`, `disposeSynth()` functions
|
||||||
- [ ] Create `useSynth.ts` - lifecycle management, returns synth controls
|
- [x] Create `useSynth.ts` - lifecycle management, returns synth controls
|
||||||
- [ ] Create `useAudioContext.ts` - handles mute/unmute and Tone.start()
|
- [x] Create `useAudioContext.ts` - handles mute/unmute and Tone.start()
|
||||||
- [ ] Create `lib/audio/mapping.ts`:
|
- [x] Create `lib/audio/mapping.ts`:
|
||||||
- `mapPresetToOscType(preset)` → 'sawtooth' | 'square' | 'sine'
|
- `mapPresetToOscType(preset)` → 'sawtooth' | 'square' | 'sine'
|
||||||
- `mapRoundnessToFade(roundness)` → 0-1
|
- `mapRoundnessToFade(roundness)` → 0-1
|
||||||
- `mapSizeToGain(size)` → decibels
|
- `mapSizeToGain(size)` → decibels
|
||||||
- `mapGrainToNoise(grain)` → 0-1
|
- `mapGrainToNoise(grain)` → 0-1
|
||||||
- [ ] Add mute/unmute toggle button to sidebar (or top bar)
|
- [x] Wire `preset` → oscillator A type
|
||||||
- [ ] Wire `preset` → oscillator A type
|
- [x] Wire `roundness` → crossfade
|
||||||
- [ ] Wire `roundness` → crossfade
|
- [x] Wire `size` → gain
|
||||||
- [ ] Wire `size` → gain
|
|
||||||
|
|
||||||
### Deliverables
|
### Deliverables
|
||||||
|
|
||||||
@@ -205,20 +204,20 @@ src/
|
|||||||
|
|
||||||
### Tasks
|
### Tasks
|
||||||
|
|
||||||
- [ ] Create `constants/colorScale.ts`:
|
- [x] Create `constants/colorScale.ts`:
|
||||||
- Scriabin's color-note mapping (or custom)
|
- Scriabin's color-note mapping (or custom)
|
||||||
- Array of 12 `{ note, color, label }` objects
|
- Array of 12 `{ note, color, label }` objects
|
||||||
- [ ] Create `lib/audio/colorToFrequency.ts`:
|
- [x] Create `lib/audio/colorToFrequency.ts`:
|
||||||
- `noteToFrequency(note, octave)` → Hz
|
- `noteToFrequency(note, octave)` → Hz
|
||||||
- `colorToNote(hue)` → nearest note
|
- `colorToNote(hue)` → nearest note
|
||||||
- [ ] Create `ColorKeyboard.tsx`:
|
- [x] Create `ColorKeyboard.tsx`:
|
||||||
- 12 colored keys in a row
|
- 12 colored keys in a row
|
||||||
- Click to select, shows current selection
|
- Click to select, shows current selection
|
||||||
- [ ] Create `OctaveSelector.tsx`:
|
- [x] Create `OctaveSelector.tsx`:
|
||||||
- "-" button, octave number, "+" button
|
- "-" button, octave number, "+" button
|
||||||
- Range 1-8
|
- Range 1-8
|
||||||
- [ ] Wire color + octave → oscillator frequency
|
- [x] Wire color + octave → oscillator frequency
|
||||||
- [ ] Update shape fill color to match selected color
|
- [x] Update shape fill color to match selected color
|
||||||
|
|
||||||
### Deliverables
|
### Deliverables
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user