Goal
Rework the text math renderer/editor so the app only stores and renders math through a LaTeX renderer, while preserving an intuitive typing experience for users.
Desired behavior
- Users should type math/text through the same natural editing UI everywhere math input is supported.
- User-typed math should be automatically converted into proper LaTeX as it is entered or committed.
- Generated LaTeX and user-entered math should share the same normalized representation.
- Rendering should rely on the LaTeX renderer only, avoiding parallel/custom math rendering paths.
- Existing generated content and manually edited content should display consistently.
Why
Generated math already uses LaTeX-style output, but user input can diverge from that format. Normalizing user input to LaTeX keeps generated content and edited content compatible, reduces renderer complexity, and makes math behavior more predictable across notes, quizzes, flashcards, and any other text surfaces.
Acceptance criteria
- There is one canonical math representation: valid LaTeX.
- User-edited math is converted to that representation without requiring users to manually write perfect LaTeX.
- Generated LaTeX and converted user input render identically through the same renderer.
- Editing remains intuitive and does not expose raw implementation errors to the user.
- Invalid or ambiguous input has a visible, user-friendly error or fallback state.
- Existing async/error/loading UI conventions are followed where conversion requires async work.
Goal
Rework the text math renderer/editor so the app only stores and renders math through a LaTeX renderer, while preserving an intuitive typing experience for users.
Desired behavior
Why
Generated math already uses LaTeX-style output, but user input can diverge from that format. Normalizing user input to LaTeX keeps generated content and edited content compatible, reduces renderer complexity, and makes math behavior more predictable across notes, quizzes, flashcards, and any other text surfaces.
Acceptance criteria