Enhancements for Text Rendering while Editing in Live Preview

Usecase

Live Preview is essential!
I wouldnt use Obsidian if everything would look the same because then i would need more time to identify which parts to edit for easy visual recognition.

Displaying the same Note in source and editing mode at the same time is not an option even with my 2 monitor ultrawide monitor setup!

Most important is Live Preview while editing:

1. LaTeX Math



.

2. or Callouts



.

___Solution Alpha: Render Distance

To enhance editing in live preview i would like two modes:

  1. (already existing) Normal Live Preview Mode that renders:
    a) only the currently active line
    b) The whole Callout/LaTeX Formula
    …in Source Mode

  2. Live Preview: Render Distance Mode that renders
    a) the currently active line
    b) +n lines above & below of the currently active line
    … in Source mode.

We then have a Section in the Settings where we can set any Value for n between 0-10. With an information that higher values decrease performance.
Standard Value would be: 1

You can then choose between 3 Options in the Settings for saving CPU performance and further increasing readability:

  1. Instantly +n displays changes for rendering every time you move a line up/down
  2. Consecutively +n displays changes for rendering every x consecutive lines youve moved up/ down to save resources.
  3. Semantically n+ displays changes for rendering semantically for every y parts above/below your currently active line.

x and y can be changed by the User from Values between 0-5
Standard Values would be: 1

___Solution Beta: Edit in Graphic

For LaTex

  • Blocks: there would be 2 Cursors at the same time that have the same position inside the Equation. The second cursor only needs to be visual and LaTeX renders instantly so this should be easy to implement. If there is no working cursor icon just use any other symbol and render it with a custom color.
  • Inline: the Graphic should render to the left or below depending on the available free space.

    .

For Callouts

Also a second cursor that is only visually there however all symbols need to be rendered. While also the colors, boxes, icons of the Callouts are rendered.


.

You can then choose between 2 Options in the Settings:

  • Absolute: renders +z Symbols to the left & right of the current cursor position
  • Semantically: renders +v Semantical Parts to the left & right of the current cursor position
    …in Source mode.

Vales can be set between 0-10
Standard Values would be: 1

___Solution Gamma: Conceal/ Hide user defined parts of LaTeX

Instead of rendering everything beautifully we could also just hide parts when Text is Displayed in Source Mode. This is the ugly solution but some plugins do stuff like this already for some things. The issue here is that its not always possible to customize which LaTeX commands should be hidden and they only render when your cursor position is right beside them which can sabotage your editing instead of helping especially when youre an beginner. I suggest:

  1. Hide parts of LaTeX or Code
    a) All: Hide all user defined Parts (for example: only \huge, \left,)
    b) Foolproof: Only hide parts that currently dont result in an rendering error of the graphic
    c) Details: Only hide Symbols farther away than +w of your active cursor position.

W can be a Values between 0-20

These features could also be plugins but theyre so essential that it should not interfere while using multiple plugins which could occur.

Plugins to Gamma:

  • Double Colon Conceal
  • Dynamic Text Concealer
  • LaTeX Suite