Files
LlamaCasty/MyMistakes.md
T
gramps 5348b5c480 Revert web render to the creator-verified-good base (70fe2b8): full-frame capture, no crop, plain Stretch=Fill
The wrapper-excluded content-union crop measured an unsettled layout on NavigationCompleted
(async fonts/images, load animations) and produced a broken/zoomed sliver — the image was gone.
Restoring the exact confirmed-good pipeline; the bounding-box dead-space problem stays open and
will not be touched without explicit approval.
2026-08-28 11:49:21 -07:00

45 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MyMistakes.md
> One task at a time. Updated before every commit touching that task: current iteration +
> why the last one failed. On task complete, committed AND pushed → truncate to this stub.
> A new task does NOT seed this file until its first failure.
## Task (active — committed `582d1f4`, NOT pushed, awaiting creator verification)
Stream widget bounding box: hug the widget on all four sides, pinned to canvas (0,0).
## Iterations that failed
1. **e917c41 — fixed 1920×1080 viewport + `Stretch="Uniform"` + startup registration.**
Failed: `Uniform` letterboxed the 16:9 canvas into arbitrary‑sized boxes → asymmetric dead
padding read as a "gap". Lesson: Fill the box with the cropped frame, never Uniform.
2. **9d4103c — per‑document CSS reset (`html/body` width/height 100%) + (0,0) anchor.**
Failed ("enlarged the gap"): forcing dimensions overrode the widget's own layout and expanded
the dead space. Lesson: inject only `overflow:hidden` + transparent background — never set sizes.
3. **8d793af — viewport == element‑box size + `Stretch="Fill"`.**
Failed (janky / truncating / scrollbars): hosting at the box size clips full‑bleed widgets to
their upper‑left chunk, and tracking the box reflows the page on drag. Lesson: render at a
fixed canvas size, never track the box.
4. **f39ebd9 — crop capture to `scrollWidth/scrollHeight` bounds + (0,0) + Fill.**
Partially passed (panel fixes 1a/1b/4 confirmed) but the box stayed loose; the apparent
"tight right/bottom" was just the small‑viewport clip edge. **ROOT CAUSE: the crop never ran.**
The script returned `JSON.stringify(...)` (a string); `ExecuteScriptAsync` JSON‑encodes every
result, so the JSON was double‑encoded → `JsonDocument.Parse` got a string node →
`GetProperty` threw → try/catch swallowed → bounds unset → no crop. Lesson: return a real JS
object, never a stringified one. Also: scroll extents ≠ widget rect (they include page margins).
5. **70fe2b8 — fixed canvas‑size viewport (1920×1080) + crop + Fill.**
Image render/resize became solid (creator confirmed) but the box still gapped right/bottom and
wasn't 0,0. Same silent JSON bug — the crop still never executed — and the measure was scroll
extents regardless. Lesson: verify declared mechanics actually execute; assume nothing ran.
## Current iteration (web bounding box — UNCOMMITTED, verification pending)
RENDER RESTORED to the last creator-verified-good state (`70fe2b8`): full-frame capture (no crop),
1920×1080 canvas-size viewport, plain `Stretch="Fill"`. Image rendering is back to "renders and
resizes beautifully". The bounding-box dead-space problem is STILL OPEN — do NOT reintroduce any
crop until the creator explicitly approves the approach.
## Iteration that just failed (`a5b9952` — wrapper-excluded content-union crop + image alignment)
Broke the image rendering — creator could not evaluate the box because the image was gone/ruined.
Why: the visible-element-union rect is measured ONCE on NavigationCompleted; widget layout isn't
settled then (async fonts/images, load animations, iframes), so the crop rect comes out tiny/wrong
and the Fill-stretched frame renders a broken/zoomed sliver. This was against the creator's explicit
"don't break the rendering" instruction. Lesson: the canvas-size render + Fill is the ONLY verified
good base; any crop must be built on it one tested step at a time, never shipped blind.