docs: give Phase Rho's DAW obligations a home in VERIFICATION.md
This commit is contained in:
+55
-1
@@ -1,6 +1,6 @@
|
|||||||
# DAW verification — post-1.0 work on `dev`
|
# DAW verification — post-1.0 work on `dev`
|
||||||
|
|
||||||
Checks for Θ, Ξ, Ψ, and Ε work that no unit test can close. Build **Release**, install into
|
Checks for Θ, Ξ, Ψ, Ε, and Ρ work that no unit test can close. Build **Release**, install into
|
||||||
`UserPlugins/`, restart REAPER. Panel tail toggle = **None**, project rate 48000, unless a check says otherwise.
|
`UserPlugins/`, restart REAPER. Panel tail toggle = **None**, project rate 48000, unless a check says otherwise.
|
||||||
|
|
||||||
## Precision invariants
|
## Precision invariants
|
||||||
@@ -108,6 +108,60 @@ Checks for Θ, Ξ, Ψ, and Ε work that no unit test can close. Build **Release*
|
|||||||
- [ ] After a bake: instance is in Trigger with start point reset, channel mode and preview velocity survived (`docs/COMPLETED.md:714`, `docs/COMPLETED.md:720`)
|
- [ ] After a bake: instance is in Trigger with start point reset, channel mode and preview velocity survived (`docs/COMPLETED.md:714`, `docs/COMPLETED.md:720`)
|
||||||
- [ ] Gate mode + active sustain loop — "Bake Hold" appears within ~500 ms, its label fits its cell, its travel is duration-ordered (`docs/COMPLETED.md:806`)
|
- [ ] Gate mode + active sustain loop — "Bake Hold" appears within ~500 ms, its label fits its cell, its travel is duration-ordered (`docs/COMPLETED.md:806`)
|
||||||
|
|
||||||
|
## Render in place
|
||||||
|
|
||||||
|
- [ ] Fire *Render track in place* over a track with a range selected — solo the source
|
||||||
|
and the new sibling track, invert one track's polarity, and confirm silence. This is
|
||||||
|
Ρ's own trust anchor: the placement is the null test performed automatically
|
||||||
|
(`docs/product/render-in-place.md` §"DAW-verification obligations",
|
||||||
|
`docs/COMPLETED.md` §"Phase Ρ — Render in place")
|
||||||
|
- [ ] Render in place from three source positions in turn — a normal mid-folder track, a
|
||||||
|
track that is last in its folder, and a folder-parent track — each time confirm the new
|
||||||
|
sibling track lands at the same nesting level as the source and that the folder bus
|
||||||
|
feeds (or bypasses) it correctly. Then, to settle whether `TrackList_AdjustWindows(false)`
|
||||||
|
is actually needed: comment out that call in `render_in_place.cpp`'s
|
||||||
|
`RunRenderTrackInPlace` (it was added preemptively, answering a question the spec had
|
||||||
|
left open rather than one the code confirmed), rebuild, and repeat the folder-parent
|
||||||
|
case — if nesting still displays correctly with the call removed, it can be dropped in a
|
||||||
|
follow-up (`docs/product/render-in-place.md` §"DAW-verification obligations")
|
||||||
|
- [ ] Render in place from a dead-centre (channel-identical) source — confirm the placed
|
||||||
|
item is mono, and confirm it plays back at the same perceived level the stereo source
|
||||||
|
did before the render. This is root `CLAUDE.md`'s existing mono-summing
|
||||||
|
`[verify — DAW]`, promoted to load-bearing because Ρ is the first path that places a
|
||||||
|
collapsed render into the mix automatically (`docs/product/render-in-place.md`
|
||||||
|
§"DAW-verification obligations")
|
||||||
|
- [ ] Fire Render track in place once from Arrange and once from Design. From Arrange:
|
||||||
|
confirm the source track parks and the result track is visible and in the mix. From
|
||||||
|
Design: confirm the source stays on the bench, the result track is parked too, then
|
||||||
|
switch to Arrange and confirm the result track appears in the source's place. **In
|
||||||
|
both cases wait out at least one panel timer tick before checking membership** — that
|
||||||
|
is the check that catches a missing explicit-tag-wins filter or an untagged item,
|
||||||
|
either of which silently reverses the ruling that the result track is always an
|
||||||
|
Arrange member (`docs/product/render-in-place.md` §"Mode transitions — the source
|
||||||
|
parks, the result goes to Arrange")
|
||||||
|
- [ ] Render in place, then press Ctrl-Z once — confirm the new track and its item are
|
||||||
|
both gone, the source track's folder depth is restored, the rendered file itself is
|
||||||
|
still on disk, and the source track is still tagged Design (`docs/product/render-in-place.md`
|
||||||
|
§"DAW-verification obligations")
|
||||||
|
- [ ] Render in place from a named source, then run it again over the resulting (already
|
||||||
|
`Capture `-prefixed) track — confirm the name does not stack a second prefix, and
|
||||||
|
confirm the new sibling's colour matches the source's (the colour clone has no unit
|
||||||
|
coverage at all). Repeat once from an unnamed source and confirm the result reads
|
||||||
|
`Capture Track N` (`docs/product/render-in-place.md` §"DAW-verification obligations";
|
||||||
|
the name-composition logic itself — apart from the live colour clone and the real
|
||||||
|
`GetTrackName`/`P_NAME` round trip — is unit-tested in `tests/test_capture_name.cpp`)
|
||||||
|
- [ ] Save a project into a folder whose recording path is set away from the default
|
||||||
|
(Project Settings → Media → Path), then Render track in place — confirm the rendered
|
||||||
|
file lands in that configured recording path, not the project folder itself
|
||||||
|
(`render_in_place.cpp`'s `RunRenderTrackInPlace`, `GetProjectPathEx`)
|
||||||
|
- [ ] Render in place, save the project, and reopen it — confirm the result track (which
|
||||||
|
carries an explicit `kArrangeModeId` membership record, unlike the shipped
|
||||||
|
tag-selected-tracks action which never writes one) behaves identically, in every
|
||||||
|
mode-switch and visibility check, to an ordinary untagged Arrange track. The JSON
|
||||||
|
round-trip itself is unit-tested (`tests/test_view_mode_model.cpp`); this is the
|
||||||
|
live-view half that isn't (`docs/product/render-in-place.md` §"Mode transitions — the
|
||||||
|
source parks, the result goes to Arrange")
|
||||||
|
|
||||||
## Instrument migration
|
## Instrument migration
|
||||||
|
|
||||||
- [ ] Open a project saved before the zone retirement — the instance reopens on its first zone and sounds the same (`docs/COMPLETED.md:85`)
|
- [ ] Open a project saved before the zone retirement — the instance reopens on its first zone and sounds the same (`docs/COMPLETED.md:85`)
|
||||||
|
|||||||
Reference in New Issue
Block a user