Skip to content

v0.2.3 — text-aware placement

Choose a tag to compare

@jbenhart44 jbenhart44 released this 30 May 00:10
· 4 commits to main since this release

Captions are now guaranteed never to cover text.

  • Every text frame (title, body, plain text boxes / auto-shapes) is a 2D obstacle, narrowed to its estimated visible-text region (anchor-aware).
  • Auto-sized caption height is accounted for, so a multi-line caption never spills onto a neighbour.
  • The own picture is matched by geometry (not the non-unique pic_id), so a caption never lands inside a different stacked picture.
  • New inside-bottom fallback: when no text-clear external slot exists, the caption goes in the picture's own bottom strip rather than over text or skipped.
  • verify.py is now a five-pattern gate (text-overlap, footer, in-picture, caption-caption, missing-caption).

Verified across a 49-deck corpus: 0 text-overlap / in-picture / caption-caption / off-slide / footer defects, confirmed by an independent adversarial cross-check. See CHANGELOG.md.