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
Evaluate specific designs from SummaticLtd/ModeMath that could simplify or improve CSharpMath. This is a bounded architecture study, not approval for a wholesale rewrite.
Use ModeMath commit 1ba976e as the comparison baseline. ModeMath is an MIT-licensed F#/.NET library using SkiaSharp; its bundled fonts retain their separate GUST and SIL OFL licenses.
Core size and maintainability. The initial estimate is about 4,925 lines across 11 F# core files including generated data; remeasure generated and handwritten code separately rather than treating line count alone as a design result.
Deliverables / acceptance criteria
Build both libraries at the pinned revisions and record the exact commands and environment.
Produce a feature matrix for parsing, LaTeX round trips, layout/rendering, bracket completion, navigation, decorated-atom editing, undo/redo, and public API compatibility.
Compare cold font initialization, parse/layout/render time, editor-update time, allocations, and package size on a small shared corpus.
Separate generated from handwritten code when comparing size and complexity.
For each design above, record one decision: adapt incrementally, prototype further, or reject, with compatibility and maintenance rationale.
Record code and font licensing obligations before copying any implementation or asset.
Link existing issues where they already cover accepted work and create narrowly scoped follow-up issues only for genuinely new work.
The result may be posted as a structured comment or repository design note; production changes are not part of this investigation issue.
Goal
Evaluate specific designs from SummaticLtd/ModeMath that could simplify or improve CSharpMath. This is a bounded architecture study, not approval for a wholesale rewrite.
Use ModeMath commit
1ba976eas the comparison baseline. ModeMath is an MIT-licensed F#/.NET library using SkiaSharp; its bundled fonts retain their separate GUST and SIL OFL licenses.Designs to evaluate
MathFontData.g.fs, compared with Precompute bundled math-font data instead of parsing it at runtime #191 and CSharpMath's runtime Typography dependency.MathAtom.fsand parallel cursor tree inCursor.fs, compared with CSharpMath'sAtomandEditormodels.Editor.fs, compared with Create and edit automatically sized bracket pairs #82.Placed.fs, compared with Size the editor caret to the surrounding expression #158 and the current inability to edit some accented/decorated structures.Deliverables / acceptance criteria
The result may be posted as a structured comment or repository design note; production changes are not part of this investigation issue.