You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(core,renderer): bake group scale at parse time
Resolve OOXML group chOff/chExt → ext scale into each descendant's
absolute position and size during parsing, then normalize the group
so childOffset=(0,0) and childExtent=size. Rendering becomes a pure
pass-through: the group emits only its own translate/rotate/flip,
and child elements render at their final stretched dimensions.
Matches the model OnlyOffice uses in CGroupShape.getResultScaleCoefficients
+ Shape.recalculateTransform. Removes the AccumScale plumbing and
foreignObject inverse-scale wrappers that were introduced to
preserve glyph isotropy under a non-uniform group transform;
neither is needed once scale no longer crosses the SVG tree.
Verified against slide 10 of the group-test fixture: stretched
frames render identically while glyphs stay isotropic, and all 148
unit tests pass.
Refs #20, #21
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
0 commit comments