From 74af847bf031020695d094e3b5ac2d4b90c1937c Mon Sep 17 00:00:00 2001 From: Kelsi Date: Sat, 1 Aug 2026 19:03:28 -0700 Subject: [PATCH] diag: WOWEE_WIDGET_DUMP=3 outlines every widget where it thinks it is MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Everything says the main bar should be on screen — laid out centred at the bottom, the right size, its art resident on the GPU, alpha 1, visible — and it is not there. Text and filled rectangles from this same layer have been visible all along; no texture from it ever has. Outlining each widget tells the two remaining possibilities apart by looking: outlines but no art means the images are the problem, and no outlines means the layer is being covered or discarded. Either beats another round of inference from a downscaled screenshot. --- src/ui/widget_renderer.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/ui/widget_renderer.cpp b/src/ui/widget_renderer.cpp index c1a36cb1..b9ef1025 100644 --- a/src/ui/widget_renderer.cpp +++ b/src/ui/widget_renderer.cpp @@ -375,6 +375,15 @@ void WidgetRenderer::render(WidgetTree& tree, float screenW, float screenH) { continue; } + // Level 3 outlines every widget where it believes it is. If the + // outlines appear and the art does not, the images are the problem; if + // neither appears, the whole layer is being covered or discarded. That + // is two possibilities told apart by looking, rather than inferred from + // a screenshot. + if (dumpWidgets >= 3) { + dl->AddRect(ImVec2(x0, y0), ImVec2(x1, y1), IM_COL32(255, 0, 255, 200)); + } + if (w->kind == WidgetKind::Texture) { // A colour set with SetTexture(r,g,b) fills; a texture with no // file at all draws nothing. Treating the second as the first