Make frame-wide pass inspection the default and fix pass navigation
Replace the one-pass-only workflow with default bounded inventory and pipeline statistics for every recorded render pass. Keep extra draw-group timestamps opt-in and restricted to an explicit timing target; selecting a pass must not require another capture for its basic details. Continue on main and preserve the existing uncommitted implementation and ASCII glyph fixes. Acceptance: normal capture includes summaries/inventory for every pass and real statistics for all eligible passes; unsupported/counter-off/budget cases remain explicit, never fake zero. Query and metadata limits must not silently starve later passes; use per-pass/fair recording budgets, deduplicated state, and bounded serialization rather than only increasing a single global cap. Retain optional lower-overhead capture mode and backward reading of v1-v3 traces. Viewer must have an explicit pass/instance selector, preserve an already-selected pass when switching views and across frames where possible, distinguish repeated uses, and explain missing detail in older captures. Reuse current query safety and state tracking. Verify multiple different passes, repeated passes beyond the old eight-query limit, a heavy early pass followed by small passes, targeted timing with all-pass details retained, navigation, legacy captures and real PRK login-screen captures. No authentication, client installation edits, automated reviewer, vendor counters, replay, or automatic commits. Implemented default all-pass capture with --passes off for baseline and --pass-statistics off for inventory-only. --time-pass (legacy --profile-pass alias) selects extra group timestamps only; basic inventory/statistics remain available for every pass even on a target mismatch. Statistics pools now cover all structural pass slots rather than the old eight-pass cap. Draw inventory uses up to 512 entries per pass and a 2,048-entry recording budget balanced among draw-bearing passes, with state interning and background record-size trimming that preserves summaries/counters. Trace v4 retains v1-v3 reading. Verified so far: compiler/unit checks and 30 real-GPU graphics cases passed synchronization validation and pixel-output assertions, including three different passes, ten repeated uses beyond the old query cap, heavy-first and fair-share cases, timing-target-only behavior with other pass data retained, safe unavailable paths and existing query conflicts. UI regression tests verify dropdown clicks, selected-pass retention when switching views, repeated-use identity and rotating command buffers. Final validation passed: formatting/check/build, 47 unit/interaction tests, strict Clippy, all 16 transfer/compute GPU cases plus 30 graphics/all-pass cases with synchronization validation, native baseline/all-pass/limited/unavailable views, actual v1/v2/v3 captures and converted backward-compatibility fixtures, and git whitespace checks. State interning round-trip and oversized-record trimming are covered; subsequent trace events continue after trimming. UI tests cover actual dropdown interaction, missing legacy detail, view-switch retention, repeated use, rotating command buffers and differently sized probe/main uses. Documentation and --pass startup selection are updated. No reviewer was run. PRK default capture (no pass-selection flags) produced 124 command-buffer samples over 120 presentation intervals, with 974 render-pass uses: every one had a profile and measured statistics. No validation errors or synchronization hazards were reported. The final interval retained complete inventory for all eight passes with no draw omissions and no extra group timestamps. Trace size was ~13.23 MiB; bounded startup operation-metadata omissions remained explicitly reported. Native screenshots captures/prk-all-passes.png and captures/prk-all-pass-2.png were visually inspected, including inspection of a different pass from the same recording. No authentication or manual client installation edits. Changes remain uncommitted on main.
Checklist
4 of 4 complete- Default to all-pass inventory/statistics with an explicit off mode and targeted fine timing, preserving query safety and old trace reading.
- Verify multi-pass/repeat/limit cases, target-only fine timers, viewer navigation and backward compatibility; run compiler/unit/GPU validation and PRK login visual checks.
- Bound and fairly distribute draw metadata, intern graphics state, and trim oversized records without losing pass summaries/counters or stopping the trace.
- Implement pass/instance selection, view-switch retention, cross-frame selection, legacy missing-detail states, and updated documentation.
- Area
- Personal tooling
- Project
- Wayrender
- Kind
- Feature
- Task ID
tsk_9zq46ptnac- Updated