Settle the render window on the time selection and delete the experiment that proved it
The millisecond floor lives in the custom-bounds field, not the engine, so RENDER_BOUNDSFLAG=2 is now the only bounds mode: the two-position type, the console verdict and the STARTPOS/ENDPOS drift probe all go. capture.cpp 697 -> 622.
This commit is contained in:
+18
-12
@@ -765,20 +765,26 @@ these refusals — but it means a future one- or two-frame refusal may be ours,
|
||||
the tolerance was not widened on speculation. Widening it is a precision-invariant
|
||||
decision, not a bug fix.
|
||||
|
||||
## `capture.cpp` is over the ~600-line ceiling — documented, not split mid-experiment
|
||||
## `capture.cpp` is over the ~600-line ceiling — the seam is identified, taking it is blocked
|
||||
|
||||
**Context.** The bounds-channel live experiment (`RenderBoundsChannel`, this same
|
||||
section above) added the time-selection guard/read-back plumbing and the always-on
|
||||
verdict print to `OfflineRenderBackend::capture`, landing the file at 697 lines against
|
||||
root `CLAUDE.md`'s ~600-line ceiling. The named seam: the drift/verdict instrumentation
|
||||
block (`ScopedTimeSelection`/read-back/drift-report/verdict-print, roughly
|
||||
`capture.cpp:449-655`).
|
||||
**Context.** Removing the settled bounds experiment's instrumentation (the console
|
||||
verdict and the three-checkpoint `RENDER_STARTPOS`/`ENDPOS` read-back) brought the file
|
||||
from 697 to **622 measured lines**, against root `CLAUDE.md`'s ~600-line ceiling. The
|
||||
seam that entry originally named is gone with the instrumentation; nothing left in the
|
||||
file is bisectable without cutting load-bearing why.
|
||||
|
||||
**Deferred, not silent.** ≈60 of the added lines are temporary probe instrumentation
|
||||
with a known removal date (the experiment closes when `docs/VERIFICATION.md` §Capture
|
||||
range and bounds comes back), and splitting the file mid-experiment risks moving the
|
||||
exact code the smoke run is measuring. Split after the experiment closes, onto the seam
|
||||
named above.
|
||||
**The remaining seam is a real responsibility boundary**, and the file header already
|
||||
names it as two things: `OfflineRenderBackend::capture` (the offline render driver)
|
||||
versus the four helpers BOTH backends share — `makeUniqueTag`, `captureNameFor`,
|
||||
`collapseCapturedFileToMono`, `stampCaptureSample` — consumed by `capture_batch`,
|
||||
`capture_orchestrator`, `capture_realtime_shell`, `capture_realtime_finalize` and
|
||||
`render_in_place`. Lifting those four into their own TU takes the driver under the
|
||||
ceiling and gives the cross-backend steps their own home.
|
||||
|
||||
**Why not taken.** `src/shell/capture/` has no `CMakeLists.txt` of its own — its sources
|
||||
are listed in `src/app/CMakeLists.txt`, so a new TU needs an edit there. Forcing the
|
||||
four helpers into an existing TU instead (orchestrator, realtime finalize) would put
|
||||
them in a wrong home to dodge one build-file line, which is worse than the overshoot.
|
||||
|
||||
## bext TimeReference read-back is not a floor detector (dead end, recorded so it is not re-litigated)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user