fix(web): wipe background-image too — the widget's black void is a CSS backdrop gradient, not a color
The 15:34 take's box interior is the widget's OWN full-canvas opaque paint — a
black void with wide content strips at the top/bottom and a right-edge bar —
arriving AFTER the first-second blank-transparent dumps. A background-color-only
!important wipe (b4bba4b) can't touch it because CSS gradients/backdrops are
background-IMAGE, not background-color.
OBS's fix for this exact symptom is background-image:none (obsproject/obs-studio#6659:
"set the CSS for html and body to background: none !important"). Injection now wipes
background-image:none!important on html,body,html * alongside the color wipe; HTML
overlay art (<img>/DOM/CSS shapes) survives — that is browser-source semantics.
Also re-arms WidgetDumpRemaining=5 ~30s after nav so the next take dumps the real
document INSIDE the recording window (the previous dumps proved blank at +1s and
missed the later backdrop paint).
9/9 WebView2Manager tests, 0 warnings.
This commit is contained in:
+16
-9
@@ -76,15 +76,22 @@ answer (valid for arbitrary pages for a decade) is an injected pre-parse `<style
|
||||
with `!important` beating every page rule:
|
||||
https://obsproject.com/forum/threads/translucent-transparent-browser-source.59549/
|
||||
(`body { background-color: rgba(0,0,0,0) !important }`) + the div-level variant for
|
||||
stubborn widgets (woahtech.com OBS custom-CSS guide). Applied 2026-09-10: the
|
||||
injection now appends a style element wiping `background-color:transparent!important`
|
||||
on `html,body,html *` (background-IMAGE and art survive). Self-inflicted again: the
|
||||
agent re-derived the whole transparency story (recording pixel archaeology,
|
||||
compositor blend re-verification) instead of reading this entry — the premise was
|
||||
already wrong once and the instrument said transparent, which it did because the
|
||||
capture had NOT been repainted yet. Verify take: if the 705×396 element rect shows
|
||||
the scene bg behind the widget art (animation visible, no black box) the loop closes.
|
||||
Do NOT re-derive this story a third time.
|
||||
stubborn widgets (woahtech.com OBS custom-CSS guide). Applied 2026-09-10 (b4bba4b):
|
||||
injection appends a style element wiping `background-color:transparent!important`
|
||||
on `html,body,html *`. **Second half (2026-09-10, 15:34 take): a background-COLOR wipe
|
||||
is NOT enough.** The 15:34 interior ASCII shows a black void with bright content strips
|
||||
at top/bottom + a right-edge bar — the widget's full-canvas CSS **background-image**
|
||||
(gradient/backdrop) painted after connect. The OBS fix for that is
|
||||
`background: none !important` / `background-image:none!important`
|
||||
(obsproject/obs-studio#6659 — "set the CSS for html and body to background: none
|
||||
!important"). Wipe both moving forward; overlay art is `<img>`/DOM and survives.
|
||||
Also the dumps only covered +1s (blank-transparent); the widget's backdrop paint
|
||||
arrives later, so the mid-recording dump set is now re-armed ~30s in. Verify take:
|
||||
element rect shows scene bg behind the widget art (animation, no black void) → loop
|
||||
closes. Self-inflicted again: the agent re-derived the whole transparency story
|
||||
(recording pixel archaeology, compositor blend re-verification) instead of reading
|
||||
this entry — the instrument said transparent because the capture had NOT been
|
||||
repainted yet. Do NOT re-derive this story a third time.
|
||||
|
||||
### Shrink / re-encode an image for the README (screenshots → small hero image)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user