Web source: crop to the WIDGET rect (visible-element union excluding full-viewport wrappers) — kills the ghost-boundary dead space

- scrollWidth/scrollHeight returns the whole 1920x1080 canvas for widgets whose body/background
  spans it, so the crop kept massive transparent margins and the content floated in the Fill box.
- ContentBoundsScript now unions every visible element's getBoundingClientRect, excluding elements
  that span >=98% of the viewport (bodies, full-canvas background layers); full-bleed widgets fall
  back to the full rect. Crop taken AT the rect's top-left (l,t) — content pins to bitmap (0,0).
- Web Image explicitly Margin=0 + Left/Top alignment so the frame and widget coincide at the origin.
- Canvas-size render untouched.
This commit is contained in:
2026-08-28 11:45:31 -07:00
parent b862a0fb04
commit a5b9952cbd
4 changed files with 82 additions and 36 deletions
+6
View File
@@ -857,6 +857,12 @@
<DataTrigger Binding="{Binding IsWebSource}" Value="True">
<Setter Property="Visibility" Value="Visible"/>
<Setter Property="Stretch" Value="Fill"/>
<!-- Content pins to the element's top-left (0,0): the crop
already removed leading dead space, so the frame and the
rendered widget coincide with no offset. -->
<Setter Property="Margin" Value="0"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="VerticalAlignment" Value="Top"/>
</DataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>