Repository navigation
#517 Isolate render work and trace camera delivery failures - #780
Merged
Merged
Conversation
# Conflicts: # docs/BACKLOG.md # package.json
iamfatness
marked this pull request as ready for review
October 4, 2026 11:50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related to #517. Monitor source exports and WGC CPU conversion occupied the production path during the October 3 show. This draft separates optional work and adds identity-based camera diagnosis. Default rollout flags remain off; the full specification and installed acceptance are still open.
COREVIDEO_ISOLATE_MONITORS=1moves Preview, multiview and requested source exports to a bounded worker on a separate same-adapter device. Metadata follows the exported image; the Program tile uses the buffered Program export. Monitor capture copies have independent three-image leases and a 256 MiB ingress cap, while source ingress has a separate 512 MiB cap.COREVIDEO_GPU_CAPTURE=1publishes completed WGC GPU images through prepared consumer views. ISO readback uses private images, a separate D3D device/context and an ordered, bounded conversion branch. CPU arrivals retain their original pixels, frame IDs, epochs and capture times; they are drained independently rather than relabelled with newer production frames. CPU device creation and session start/stop/join run off production commands. Pool preparation runs on its own worker; cancellation cannot publish an old session into a reconnect. All preparation, capacity and conversion refusals are counted. ISO admission is extracted into a focused type, reducing MediaCore rather than adding another ingest path.Camera diagnostics correlate buffered Program identity with publication and reader emission through a separate versioned sidecar, preserving the pixel ABI. An OS Media Foundation receiver decodes actual NV12 identities and rejects loss, repetition, reordering, tears, wrong rates and partial captures. Retry remains experimental and off in the shipping DLL. Separate isolated QA targets deliberately exercise publication contention.
Validation
Failed trials are retained. The newly added WGC OS-frame retention fence initially caused repeated retirement refusals when ended after the earlier production GPU wait. Moving it into the source-copy submission batch resolved that regression and repeated real-capture trials pass. This does not establish the original show's sole root cause. A cold reconnect smoke recorded one 8.474 ms render with 7.986 ms in the source texture stage; sustained latency and resource destruction remain unqualified.
The last previously qualified #517 CI checkpoint passed 17 checks. Current stacked heads have no checks because workflows filter PRs to main; do not treat local tests as complete CI. Installation dependency #781 is separately reviewed in draft #783, which has its own green checks. This PR is based on that branch so installer changes remain in their own review.
The obsolete development camera registration remains removed. Installed HKLM/HKCU registration points to the current beta. Tests use isolated SHM or native capture; production preferences and the production mapping are preserved. No public release was created. Raw successful/failed evidence and exact binary hashes are retained locally under preserved-local-evidence/camera-publication-qa and preserved-local-evidence/iso-cpu-isolation-517.
Acceptance still open
Production/monitor resource preparation and destruction, full visibility demand, prepared CPU fallback uploads, complete monitor-memory accounting, ISO arm/readiness behavior, color/device-loss/window-resize qualification, bounded fixed-event tracing and native/C#/Swift deliveryEvidence remain open. So do camera phase/lifecycle/independent-receiver qualification, installer lifecycle gates, matched latency/audio, the controlled 30-minute soak, installed 90-minute workload and lower-tier hardware evidence.
Follow docs/reference/render-delivery-spec.md and the owner-approved docs/reference/render-delivery-completion-plan.md. Keep #517 open, this PR draft and rollout flags off until the required evidence and operator release acceptance are complete.