Skip to content

Commit 7fd594e

Browse files
authored
fix: corrected framing survey + marginal camera-nudge sweep (7 examples) (#109)
* fix: target the passed scene in gallery_framing matte renders _matte_render called bpy.ops.render.render(write_still=True) bare, which renders the ACTIVE context scene — silently wrong for any example that stills from a non-context scene (vse-cut-list renders its gallery hero from a dedicated Bay scene via the operator's scene= kwarg). The matte now renders the scene it was handed, matching that idiom. Both current callers use the context scene and measure unchanged (0.803/0.733 on 5.1.2 and 4.5.11); the corrected survey that exposed this now captures each example's rendered scene via a persistent render_pre handler and re-measured all 38 examples against the scene and camera each actually renders from. Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com> * fix: nudge curve-bevel-arc framing into the band and gate it Right cap sat 0.012 from the right edge, under the 0.02 floor. Camera moves from (2.4,-3.4,1.7) to (2.55,-3.62,1.78) — a pure pull-back, no restage — landing fill 0.738x/0.633y with margins L0.219 R0.044 B0.083 T0.283. The render path now calls gallery_framing.check_framing before the beauty render (exit 10); check code and closed forms untouched (eval_verts=1044, eval_faces=1028, x_span=3.292 all print unchanged). Gate falsified at lens 65 (margins FAIL, exit 10, no artifact) and restored. Identical framing numbers on 4.5.11. Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com> * fix: nudge driver-wave framing into the band and gate it Sixteen-column skyline over-filled the frame at 0.969x with side margins 0.016. Camera pulls back from (0,-13.5,2.0) to (0,-15.0,2.0) — pure distance, no restage — landing fill 0.869x/0.333y with margins L0.066 R0.066 B0.367 T0.300. Render path gated with check_framing (exit 10); check values unchanged (driven_range 0.404..2.399, flushed_to_original). Gate falsified at lens 55 (fill 0.994 FAIL, exit 10) and restored. Identical numbers on 4.5.11. Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com> * fix: nudge shader-node-group framing into the band and gate it Sphere pair over-filled the frame at 0.969x with side margins 0.016. Camera pulls back from (0,-7.8,2.6) to (0,-8.7,2.6) — pure distance, no restage — landing fill 0.869x/0.650y with margins L0.066 R0.066 B0.256 T0.094. Render path gated with check_framing (exit 10); check values unchanged (group users=2, distinct instance tints). Gate falsified at lens 72 (fill 1.000 FAIL, exit 10) and restored. Identical numbers on 4.5.11. Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com> * fix: nudge swatch-grid framing into the band and gate it The ortho grid over-filled vertically at 0.944y. ortho_scale 7.8 -> 8.4 (height 4.39 -> 4.73 for the 4.14-unit grid) lands fill 0.769x/0.878y with margins L0.116 R0.116 B0.061 T0.061. verify_png's third/half cell-center sampling tolerates the scale change — distinct_regions=6 and max_pixel=1.000 confirmed at 1280 default and at the smoke invocation (640, cycles, 8 samples) on 5.1.2 and 4.5.11. Render path gated with check_framing (exit 10); falsified at ortho_scale 6.5 (fill 1.000 FAIL, exit 10) and restored. Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com> * fix: lift png-exr-alpha plinth off the bottom edge and gate it The shared display plinth touched the bottom frame edge (margin 0.000). A pull-back first overshot (fill 0.672 under-band), so the fix is an aim drop instead: aim z 1.65 -> 1.38 at unchanged camera distance pitches the composition up, landing fill 0.725x/0.628y with margins L0.122 R0.056 B0.028 T0.150 — distance and composition otherwise untouched. Render path gated with check_framing (exit 10); falsified at lens 64 (fill 0.916 FAIL, exit 10) and restored. Identical numbers on 4.5.11. Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com> * fix: nudge gp-lineart-contour framing into the band and gate it The neon vessel over-filled vertically at 0.978y with its base cropped by the bottom edge. Camera pulls back from (3.4,-4.2,2.4) to (3.95,-4.9,2.62) — pure distance, no restage — landing fill 0.463x/0.867y with margins L0.272 R0.266 B0.044 T0.089 (an intermediate stop landed y at exactly 0.900, on the band ceiling, so the pull-back goes one step further for cross-version slack). Render path gated with check_framing (exit 10); check values unchanged (strokes=10, points=34, restore recovers both). Gate falsified at lens 62 (fill 1.000 FAIL, exit 10) and restored. 4.5.11 matches (0.469x/0.867y). Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com> * fix: reframe vse-cut-list bay into the band and gate the Bay scene The corrected survey (render_pre capture) measured this hero for the first time: the monitor top was cropped and the desk bled the bottom edge (fill 1.000y, touch B+T) — the #107 survey had read bpy.context.scene, which is the cut-list scene, not the Bay the still renders from. BayCam pulls back from (2.0,-5.2,1.72) to (3.05,-7.9,2.0) with aim z 1.28 -> 1.20, landing fill 0.506x/0.850y with margins L0.247 R0.247 B0.067 T0.083. This was the most-broken of the seven (frame-filling before), so the composition change is correspondingly larger; the bezel, stand, desk, and on-screen cut list are all fully in frame now. The gate runs on the Bay scene (the helper's scene-targeted matte from the previous commit), falsified at lens 66 (fill 1.000 FAIL, exit 10) and restored. check and --check-pixels both exit 0 on 5.1.2 and 4.5.11 with identical pixel witnesses. Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com> * docs: reduce the framing worklist to the recomposition remainder The corrected survey plus the marginal sweep leaves four examples that need real reframing rather than a camera nudge: depsgraph-export (cube amputated), vertex-weight-limit (off-center, base cropped), text-version-stamp (dead lower third), triangulate-tangents (2x-class move-in). The seven marginal cases are marked swept and gated; deviations and the sky-texture artifact stay as documented in #108. Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com> --------- Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com>
1 parent 5fe41d2 commit 7fd594e

44 files changed

Lines changed: 396 additions & 67 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎ROADMAP.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ Not committed; target list for the next content version. (v0.3.0 shipped the smo
129129
- UV atlas pack witness — lightmap/unique UV island packing with non-overlap + utilization closed forms (deferred behind hygiene/origin; overlaps `uv-layer-grid` / `triangulate-tangents` / `gltf-export-roundtrip` UV arc)
130130
- Attribute domain witness: writing a POINT-domain color attribute and reading it as if it were CORNER (or vice versa) silently shears colors across shared verts — companion to `color-attribute-wheel`
131131

132-
- Gallery framing defect worklist (from the #107 survey; restage + re-render into the 0.70–0.90 band with all margins ≥ 0.02, then wire `examples/gallery_framing.py`'s `check_framing`): **depsgraph-export** (fill 0.984x over; left cube clipped by left+bottom edges), **driver-wave** (0.969x over; side margins 0.016), **shader-node-group** (0.969x over; side margins 0.016), **swatch-grid** (0.944y over, marginal), **gp-lineart-contour** (0.978y over; glass base cropped at bottom edge), **png-exr-alpha** (display plinth touches bottom edge, minor), **vertex-weight-limit** (base cropped at bottom edge; x-fill 0.247 with dead space), **text-version-stamp** (max fill 0.663 under; dead lower third), **triangulate-tangents** (0.334x/0.661y under; dead space both sides), **curve-bevel-arc** (right cap margin 0.012 < 0.02, marginal). Triaged as documented deviations instead (README `Framing deviation` notes, no restage): damped-track-aim (radiating composition, calibration member) and wave-displace (edge-to-edge field); sky-texture-sun-elevation is a measurement artifact (world-contract subject — report-only if wired); vse-cut-list is in scope via its `Bay` scene/camera pair.
132+
- Gallery framing recomposition worklist (corrected survey after the survey scene-capture fix; these need real reframing, not a camera nudge — the seven marginal cases were swept mechanically and wired to `check_framing`): **depsgraph-export** (fill 0.984x over; left cube amputated by left+bottom edges — unclipping it changes the composition substantially), **vertex-weight-limit** (fill 0.247x/0.861y; base cropped at bottom edge, off-center with dead space left), **text-version-stamp** (max fill 0.663 under; dead lower third — needs vertical rebalance), **triangulate-tangents** (fill 0.334x/0.661y under; buckler small in a large stage, needs a 2x-class move-in). Already handled: the seven marginal cases (curve-bevel-arc, png-exr-alpha, swatch-grid, driver-wave, shader-node-group, gp-lineart-contour, vse-cut-list) were camera-nudged into the band and gated; deviations documented in #108 (damped-track-aim, wave-displace); sky-texture-sun-elevation is a measurement artifact (world subject — report-only if wired).
133133

134134
## Future (uncommitted)
135135

-92 Bytes
Loading
-812 Bytes
Loading
-1.95 KB
Loading
162 Bytes
Loading
-4.47 KB
Loading
-1.33 KB
Loading
-2.59 KB
Loading
35.1 KB
Loading
36.8 KB
Loading

0 commit comments

Comments
 (0)