Skip to content

Fix #1007: local-source graphics, transparent PNGs and logo upload - #1008

Merged
iamfatness merged 36 commits into
mainfrom
codex/graphics-local-sources
Oct 23, 2026
Merged

iamfatness merged 36 commits into
mainfrom
codex/graphics-local-sources

Conversation

@iamfatness

@iamfatness iamfatness commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner

Webcam and screen-capture lower thirds were blocked by Zoom-only source catalog/binding assumptions. Graphics now projects existing source-bus incarnations and accepted capture labels, qualifies exact actual draws, and chooses incoming rendered subjects during a Take instead of the outgoing sticky subject. Existing generation, budget, Cue/Program and authority guards remain intact.

Graphics Library supports standalone transparent PNG/JPEG artwork through the verified immutable package workflow. The connected logo gap (#1012) is also repaired: Content exposes Upload logo PNG / JPEG for declared logo slots, and native cached declarative raster inputs accept the verified image reference. Upload stays private, preserves newer edits, alpha and aspect ratio, and pins the image with saved cues/Studio looks. The advanced image-source selector now permits its asset binding. Workspace commands consume current native readiness before checking guards, fixing an installed Cue -> Show observation race.

Validation

  • 1,831 production native tests; 4,425 managed tests (MediaCore 2,601, WinUI 1,722, Control 102); 55 compiled Studio/Graphics/settings checks and bundled runtime probe.
  • Final installed engineering candidate beta-2026-10-21-g1012906d769, code 906d76972824887a7ff4d8b4854a0b97961137e0: all 864 installed file hashes match; normal desktop shortcut, shell/native paths, desktop-user camera registration and no diagnostic video overrides verified.
  • Installed logo upload -> hidden cue -> workspace Cue/Show, transparent/half-alpha/aspect pixels, private replacement retaining the full Program frame, explicit Update, saved template/image pins, restore hidden after native-core restart, and explicit Show all pass. Logo-accent also passes; invalid replacement retains Program. Use in Studio -> LT in retains the uploaded logo over the actual webcam with source text.
  • Seven independent ordinary registered Windows-camera captures, 180 frames each (1,260 total), with decoded output inspected. Original profile restored and app left running; webcam/Program progress verified.
  • Earlier installed source qualification: webcam/screen Studio Create/Assign/Show; eight immediate alternating Takes begun during active fades; local-screen suppression/opt-out, real offline/online generation change and stale-text rejection; actual operator Unassign/reassign through the API. Details retain exact candidate scope.

The initial failed installed Cue/Show run and all failed fixture/analysis trials are retained. The preliminary direct-native logo Show was excluded from final workspace acceptance; the final sequence uses the real workspace commands. Uploader visibility/reachability is covered by compiled controls and import by the installed service; no manual Windows file-picker click is claimed.

Audit/evidence: source and PNG QA, logo QA.

Remaining boundaries

No public beta published. Full-workload, per-frame cadence and physical-display/stuttering acceptance remain unpassed. #1009 (local recording gated on a Zoom meeting) remains open. These checks do not qualify nested/Tiles or media-file bindings, or future NDI/AJA/Blackmagic hardware. Hosted CI status must be checked independently.

Fixes #1007
Fixes #1010
Fixes #1011
Fixes #1012

Full-workload follow-up (#1013, #1014)

Merge and publication remain held until the full workload passes. The original head and 8f2e9928 each passed all eighteen hosted checks. Current head 971e5ecb is undergoing fresh CI and local verification.

The encoder capacity probe now measures Program plus eight ISO sessions. The installed candidate verified nine actual hardware sessions and positive encoded frames; the complete native suite passed 1,834 tests. This reduced native recording CPU from 8.44 to 6.51 logical cores but left source holds.

A controlled GPU screen-capture comparison reduced native recording CPU to 4.87 cores while all eight remotes stayed actual 1080p. Raw per-frame inspection still found 88 webcam holds among 2,077 Program selections. The first prototype restored the wrong Program scene and is retained as invalid. Short comparisons are not full-workload qualification.

The current change defaults compatible WGC ingress to the existing bounded GPU owner, retains explicit CPU rollback and independent CPU/ISO consumers, records exact WGC GPU completion, and registers CPU preparation with the existing bounded video scheduling class. Scheduling improvement remains unproven pending live measurement. Native monitor diagnostics now identify the exact leased swap chain for PresentMon correlation.

The stricter raw gate requires a declared source inventory and rejects held/substituted requested images on every delivered Program frame, despite advancing output counters. Native lower-cadence repetition remains valid when the requested identity itself is unchanged. Fourteen trace-judge regressions pass, including stale-source false-pass fixtures. The A/B harness invokes the stricter gate when source preparation is enabled.

See retained full-workload evidence. No public beta is published; performance acceptance remains false.

@iamfatness
iamfatness marked this pull request as ready for review October 21, 2026 21:00
@iamfatness
iamfatness marked this pull request as draft October 21, 2026 21:07
@iamfatness iamfatness changed the title Fix #1007: local-source lower thirds and transparent PNG graphics Fix #1007: local-source graphics, transparent PNGs and logo upload Oct 21, 2026
@iamfatness
iamfatness marked this pull request as ready for review October 21, 2026 21:45
@iamfatness

Copy link
Copy Markdown
Owner Author

The release candidate now includes the graphics changes and the full-workload dependencies from #1018 at e2f6052. The branch update is a fast-forward; no PR has been merged and no beta published.

The installed dcfb36d short check passed all eight actual-1080p ISO picture checks, registered OS-camera and Program picture continuity, original GPU deadlines, and actual webcam/screen source freshness. Studio still failed actual desktop freshness. A controlled three-buffer one/two/one-credit comparison found 19/0/11 long native commit intervals; the two-credit run accepted all 2,040 source frames. The next installed candidate includes this bounded native display configuration, an actual-configuration compiled probe, and the WGC deferred-copy repair. All 1,862 native tests passed; its native source tree and binaries remain identical to that tested build.

The compiled layout checks passed 55/55. An initial presentation fixture lacked the native DLL normally staged by packaging and correctly failed; the retained rerun with the packaged DLL passed functional changing-pixel and blocked-control checks while still marking physical display delivery unverified. Live workload/source-picture/display qualification is still required. CI must pass this exact updated head before merge; no full-workload pass is claimed.

@iamfatness

Copy link
Copy Markdown
Owner Author

The installed e2f6052b short full-output comparison failed; publication remains blocked. Eight actual 1080p Zoom feeds and all nine hardware recording writers stayed active, and ISO arrival-pixel checks passed. Correct Program counter continuity concealed 15 held camera selections in both recording and the registered OS camera consumer (14 omitted capture identities; 17 repeats versus six allowed at 60000/1001). Desktop picture freshness also failed.

Trace correlation shows the requested camera uploads completing shortly after composition held the preceding image. d3875d34 corrects fractional-rate source selection: sample the 59.94 Hz source clock with floor rather than requesting the next future capture. The two-frame output deadline, five-slot capacity, composition reserve and actual-picture acceptance gates remain unchanged. Eight focused capture-clock tests passed, including a phase-sensitive jitter/preparation regression exposing the old rule. Full native tests and a fresh installed candidate comparison are underway. This is not a full-workload or display pass; do not merge or publish yet.

@iamfatness

Copy link
Copy Markdown
Owner Author

Publication remains blocked; no full-workload pass has been awarded.

The installed 8768bbd2 short run held eight actual 1080p remote feeds throughout its 65.938-second interval. Program recording, all eight ISO pixel-arrival checks, registered OS-camera pixels, exact local-source pictures and original GPU deadlines passed. Both recording and OS camera had zero omitted camera identities, zero substitutions and zero invalid markers; four repeats were within the six permitted for 60000/1001 conversion.

Actual Studio pixels still failed: Preview and the webcam input tile omitted 171 camera identities, and Program omitted 36 with the one-credit display setting. The earlier two-credit comparison omitted three Program identities. Counter continuity did not qualify those pictures. The one-credit setting was rejected and two credits restored.

453d7544 adds independent monitor capture cadence over the existing bounded CPU history, anchors each source clock to the capture owner's published head, and prevents optional selection from advancing or retaining production GPU demand/views. New regressions cover sampling jitter, ownership and independently read Preview GPU pixels. The full native suite passed 1,867 tests; the stricter workload gate passed 25 tests and now requires Studio camera identity continuity as well as recording/OS-camera proof. The packaged candidate passed all 55 compiled layout checks and its functional native presentation probe. It is installed but is not a published beta.

Installed live qualification is still pending. Studio is currently obscured by a Chrome YouTube window; its failed visibility preflight is retained. The existing PresentMon collection also failed its native-call completeness audit and cannot establish physical display delivery. A display-only collector with a larger event capacity and overlapping short files is prepared but needs its administrator launch and its own completeness audit. No physical-display, 30-minute workload, merge or release acceptance is implied by the component results above.

@iamfatness

Copy link
Copy Markdown
Owner Author

Controlled comparison update — release remains blocked.

The installed 453d754 candidate completed a 65.305-second interval with all eight actual 1080p remote feeds, webcam and screen capture, local Program/eight-ISO hardware recording, and the registered Windows virtual-camera consumer. ISO pixels, Program recording pixels, OS-camera source pictures and Program GPU deadlines passed that short component interval. It is not a full-workload pass.

Studio failed: Preview, Program and the camera input each omitted 16 camera identities; all 14 omission events coincided across the cells. Desktop observation had no accumulated updates or invalid marker pixels in the interval. Program camera picture age reached 126.773 ms. The monitor worker reported no superseded jobs.

A known-source observer calibration detected an injected two-identity omission and five-tick hold at 10 Hz, with no unexpected missing identities or invalid/accumulated samples. This does not validate physical scanout or 60 Hz capture. The checked-in cadence audit reproduces the retained failed workload and has seven regression cases; the source-picture judge has seven more.

Isolated controls reproduced periodic native presentation gaps without the media core. Output restriction and HWND attachment did not fix them. Removing the extra refresh wait eliminated native commit gaps in the 80-second control and reduced observed age, but an actual omission with complete desktop coverage remained, so this setting is still unqualified. The new ecd2749 candidate adds exporter unread/prepared replacement observations and tries that presentation correction. Twelve exporter and six native presenter tests passed; the full native suite is running before engineering packaging/installation and another short comparison.

The old PresentMon captures still fail reconciliation with native accepted calls. A non-elevated capability check returned access denied. No physical display pass is claimed, no beta is published, and no PR is merged. A fresh 30-minute combined run remains required after the short picture comparison and measurement checks pass.

@iamfatness

Copy link
Copy Markdown
Owner Author

The installed interval-zero candidate is rejected. Its 65.214-second picture comparison omitted 541 Preview/input camera identities and 538 Program identities with complete desktop observation and no invalid marker pixels. The active multiview exporter had no new unread/prepared replacements or drops, and native ingest/present counts looked nearly perfect. Recording and registered OS-camera source pictures still passed their short component checks.

This is why counters cannot qualify Studio. Source a1e79e1 restores refresh retention while keeping the exporter observations and checked-in picture audit. The rejected app is closed; no merge or publication occurred.

All four isolated swap-chain variants reported a DXGI synchronization reference near 59.9497 Hz, while output-specific VBlank phase observations align DISPLAY3 near 59.9991 Hz. That difference is a useful lead for the periodic beat, not a proven display-path root cause: Microsoft documents multi-monitor limitations on frame statistics.

A bounded three-minute display collector pilot is prepared. It uses a known producer, separately counts S_OK/other-success/failure Present results, and includes a middle phase with desktop-pixel observation to check the observer's effect. Elevated execution still requires the owner's manual launch; the normal-user capability check returned access denied. The old incomplete trace reconciliations cannot establish physical display acceptance. The full workload remains blocked until these measurements and actual Studio pictures pass.

@iamfatness
iamfatness merged commit 1f188fb into main Oct 23, 2026
35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant