Parent: #320
Blocked by the glyph-record extraction child.
Extract all OpenType MATH data needed by CSharpMath for every bundled face.
Acceptance criteria:
- emit every MathConstants value
- emit glyph italic corrections and top-accent attachments
- emit vertical/horizontal variants, advances, assemblies, parts, connector lengths, and extender flags
- preserve missing/default semantics exactly
- exhaustive parity tests compare all records with Typography/OpenFontReader for all three faces
- deterministic ordering and schema validation remain green
- production rendering remains unchanged
Parent: #320
Blocked by the glyph-record extraction child.
Extract all OpenType MATH data needed by CSharpMath for every bundled face.
Acceptance criteria: