Даже при смене режима документ остаётся единым
Когда вы открываете предпросмотр, окно делится надвое, а при смене режима возникает ощущение, будто документ открывается заново? В mote режимы Live, Source и Reading — это три взгляда на один и тот же буфер, поэтому при переключении нет ни преобразования, ни сохранения, ни повторного синтаксического анализа.

Редакторы Markdown обычно делят экран надвое. Слева вы пишете, а справа смотрите на результат. Поскольку один и тот же документ отрисовывается дважды, приходится постоянно синхронизировать прокрутку и положение выделения.
mote устроен иначе. Документ остаётся один, меняется только способ его отображения.
Один документ, три представления
В mote есть три режима.
- Live: скрывает символы и сразу показывает форматирование.
- Source: показывает содержимое в точности так, как оно сохранено в файле.
- Reading: показывает результат, из которого полностью удалены символы Markdown.
Ядро читает документ и создаёт список декораций. Их всего три вида: к какому фрагменту применить стиль, какой фрагмент скрыть и какой фрагмент заменить виджетом.
Три режима — это результат применения разных фильтров к этому списку. При смене режима документ не открывается и не анализируется заново. Дерево блоков и результаты обработки встроенных элементов остаются прежними, меняется только фильтр.
Именно так это записано и в бюджете производительности. Переключение режима должно завершаться в пределах одного кадра и анимации перехода. Если происходит повторный синтаксический анализ, это считается нарушением. Стоимость переключения не зависит от размера документа, поэтому даже большие документы переключаются с той же скоростью.
Положение каретки и область выделения тоже сохраняются. Символ, на котором вы остановились в режиме Source, находится на том же месте и в режиме Live, а предложение, выделенное в режиме Live, остаётся выделенным и в режиме Source.
Вы не переходите к другой копии документа, а смотрите на тот же документ с другой точки зрения.
Пишите, проверяйте и читайте
Для написания текста удобен режим Live. На экране остаётся только содержимое, а символы Markdown появляются, когда к ним приближается каретка. Таблицы, формулы и изображения отрисовываются на своих местах в виде виджетов. Можно видеть сетку и редактировать содержимое ячеек.
Когда нужно точно проверить и сами символы, используйте режим Source. В нём удобно проверять, не сместились ли вертикальные черты в таблице, закрыт ли блок кода и нет ли пробелов в конце строки.
Режим Reading предназначен для просмотра итогового результата. Он не просто скрывает символы, а полностью убирает их с экрана. Печать и PDF также создаются на основе этого представления. Редактировать в нём нельзя, но можно выделять и копировать текст, а также открывать ссылки.

Создать режим Reading оказалось непросто. После удаления символов позиции на экране перестали совпадать с позициями в файле. Результаты поиска смещались в сторону, а место щелчка не совпадало с положением каретки.
Теперь ядро также записывает позиции и длину удалённых символов. Благодаря этому место щелчка на экране можно точно сопоставить с соответствующей позицией в файле.
Переключайтесь прямо с того места, где читали
Нажмите нужный режим в заголовке окна или используйте Ctrl+Shift+1, 2, 3.
При переключении первая строка на экране и положение каретки сохраняются. Перекрёстное затухание — это конечная анимация длительностью 160 мс, поэтому после её завершения не остаётся запланированных задач. Режим, в котором будут открываться новые окна, можно выбрать на вкладке редактирования в настройках.
С сочетаниями клавиш возникла небольшая путаница. Некоторое время в справке было написано, что Ctrl+1/2/3 переключает режимы, хотя на самом деле эти сочетания создавали заголовки. Окно первым перехватывало нажатия клавиш, поэтому код переключения режимов не выполнялся.
Теперь роли чётко разделены. Ctrl+Shift+1/2/3 переключает режимы, а сочетания от Ctrl+1 до Ctrl+6 создают заголовки. Палитра команд, список сочетаний клавиш и документация на сайте также приведены в соответствие.
Режим фокусировки слегка накладывается поверх экрана
Нажмите F8, чтобы чётко видеть только блок, в котором находится каретка. У остальных строк лишь снижается альфа-канал чернил до 32%.
Меняется только цвет, а положение символов остаётся прежним. Размытия и анимации тоже нет, поэтому при переходе между абзацами не нужно заново рассчитывать весь экран.
Режим фокусировки — не четвёртый режим. Это опция, которая накладывается поверх представления Live, поэтому её можно оставить включённой и перейти в другой режим.

Почему экран не делится надвое
В mote нет разделённого предпросмотра.
Если дважды отрисовывать один и тот же документ, приходится синхронизировать прокрутку, переносить выделение и управлять состоянием двух представлений. В mote с самого начала решили не создавать эту проблему.
История отмены одна, выделение одно и прокрутка тоже одна.
Три режима существуют не потому, что документов три. А потому, что один и тот же документ приходится видеть в трёх разных ситуациях.