Merge render-bounds channel experiment: hand the window over on a switchable channel, and print a verdict that is proof only when no floored model fits

This commit is contained in:
2026-08-02 16:23:51 -04:00
14 changed files with 887 additions and 81 deletions
+8 -1
View File
@@ -36,7 +36,14 @@ detail not covered there:
- **`renderOffline` is the one seam both a fresh capture and a recipe replay
cross**, which is why the refusal and both transient guards live there rather
than in the action bodies — anything placed in `ResolveScopeSource` alone would
miss `RunRecaptureFromSource` entirely.
miss `RunRecaptureFromSource` entirely. The bounds channel is inside the backend
that seam calls, for the same reason: a replay must hand its window over exactly
the way a fresh capture does.
- **The bounds channel is under live experiment**, and `capture.cpp`'s
`kBoundsChannel` is its single switch. On the time-selection channel the render
window travels in the project's own time selection, so `capture` snapshots and
restores that selection like any other state it borrows. Why there are two
channels: `src/core/capture/render_settings.h`'s `RenderBoundsChannel`.
- **FX-bypass guard ordering.** `scope_resolve` reads the M10 provenance-assembly
inputs (track/item selection, FX-chain identity) BEFORE the FX-bypass guard
neutralizes the in-scope chain — provenance must see the chain as it really is,