Skip to content

Measure and center full multiline equation bounds - #299

Open
Happypig375 wants to merge 1 commit into
fix/issue-174-centered-text-boundsfrom
fix/issue-239-multiline-bounds
Open

Measure and center full multiline equation bounds#299
Happypig375 wants to merge 1 commit into
fix/issue-174-centered-text-boundsfrom
fix/issue-239-multiline-bounds

Conversation

@Happypig375

Copy link
Copy Markdown
Collaborator

Summary

  • compute recursive ink bounds for multiline displays whose rows extend beyond the root advance
  • use aggregate bounds for measurement, alignment, highlighting, and Skia image export only when required
  • preserve the historical relayout and highlight path for ordinary single-line displays
  • keep constrained and unbounded text centering within the actual multiline ink bounds
  • add focused coordinate/bounds tests and reviewed cross-frontend goldens

Stack

This is based on fix/issue-174-centered-text-bounds / #287 because it extends that constrained-text placement work. GitHub's diff for this PR contains only the #239 commit.

Validation

  • TestMultilineBounds: 17/17
  • TestTextBounds: 9/9
  • TestMeasure: 3/3
  • complete Rendering suite, all frontends: 1,256/1,256
  • scoped format verification and git diff --check
  • independent senior review: approved
  • independent post-rebase validation: passed

updateBaselines remains disabled; exactly 12 intentional multiline goldens changed. The legacy Magnification baseline is unchanged.

Fixes #239.
Also covers the centered multiline scenario previously reported in #172.

@Happypig375 Happypig375 added Type/Bug A reproducible defect in CSharpMath. Area/Rendering Typesetting, measurement, fonts, text layout, and drawing. labels Aug 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area/Rendering Typesetting, measurement, fonts, text layout, and drawing. Type/Bug A reproducible defect in CSharpMath.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant