Archive Milestone 2 in docs
Move completed M2 (peaks module) from PLAN.md to COMPLETED.md; add peaks_tests to the CLAUDE.md targets table and update the pure-core status to M0-M2 done.
This commit is contained in:
@@ -53,3 +53,17 @@ only** invariant enforced at the model boundary (no absolute path accepted/store
|
||||
- [x] Tests: full-field round-trip lossless; dedup collapses equal-hash adds;
|
||||
tier filter/move correct; relative-path invariant rejects absolute paths;
|
||||
empty-index and malformed-JSON edge cases.
|
||||
|
||||
---
|
||||
|
||||
## Milestone 2 — peaks (pure)
|
||||
**Goal:** Compute waveform min/max bins from raw PCM, dependency-free (not
|
||||
REAPER's peak API). CONTEXT.md §Module architecture, §Non-goals.
|
||||
**Verify:** CTest green. Fed a known signal (full-scale sine, ramp), asserted
|
||||
min/max envelope per bin matches expected within tolerance; channel count
|
||||
preserved; bin count honored for arbitrary sample lengths (incl. remainder bin).
|
||||
|
||||
- [x] Min/max bin computation from interleaved PCM given a target bin count.
|
||||
- [x] Multi-channel handling (per-channel envelope; no silent fold).
|
||||
- [x] Tests: sine envelope ≈ ±amplitude; ramp envelope monotonic; DC/silence →
|
||||
zero envelope; short-buffer and non-divisible-length edge cases.
|
||||
|
||||
Reference in New Issue
Block a user