Dokument pozostaje jeden, nawet gdy zmieniasz tryb
Po otwarciu podglądu okno dzieli się na dwie części, a po zmianie trybu masz wrażenie, że dokument otwiera się ponownie? Tryby Live, Source i Reading w mote to trzy perspektywy tego samego bufora, dlatego przełączanie nie wymaga konwersji, zapisywania ani ponownego parsowania.

Edytory Markdown zazwyczaj dzielą ekran na dwie części. Po lewej piszesz, a po prawej oglądasz rezultat. Ponieważ ten sam dokument jest renderowany dwukrotnie, trzeba stale synchronizować przewijanie i położenie zaznaczenia.
mote zaprojektowaliśmy inaczej. Dokument pozostaje jeden, zmienia się tylko sposób jego wyświetlania.
Jeden dokument, trzy widoki
mote ma trzy tryby.
- Live: ukrywa symbole i od razu pokazuje formatowanie.
- Source: pokazuje dokładnie tę zawartość, która jest zapisana w pliku.
- Reading: pokazuje rezultat całkowicie pozbawiony symboli Markdown.
Rdzeń odczytuje dokument i tworzy listę dekoracji. Są tylko trzy ich rodzaje. Określają, który fragment należy ostylować, który ukryć, a który zastąpić widżetem.
Trzy tryby są wynikiem zastosowania różnych filtrów do tej listy. Zmiana trybu nie powoduje ponownego otwarcia ani analizy dokumentu. Drzewo bloków i wyniki analizy elementów wbudowanych pozostają bez zmian — zmienia się tylko filtr.
Tak samo zapisano to w budżecie wydajnościowym. Przełączenie trybu musi zakończyć się w obrębie jednej klatki i animacji przejścia. Ponowne parsowanie oznaczałoby naruszenie tego założenia. Koszt przejścia nie jest proporcjonalny do rozmiaru dokumentu, dlatego nawet duże dokumenty przełączają się z taką samą szybkością.
Położenie kursora i zaznaczenie również pozostają bez zmian. Znak edytowany w trybie Source znajduje się w tym samym miejscu także w trybie Live, a zdanie zaznaczone w trybie Live pozostaje zaznaczone również w trybie Source.
Nie przechodzisz do innej kopii dokumentu, lecz patrzysz na ten sam dokument z innej perspektywy.
Pisz, sprawdzaj i czytaj
Podczas pisania wygodny jest tryb Live. Na ekranie pozostaje tylko treść, a symbole Markdown pojawiają się, gdy dotknie ich kursor. Tabele, wzory i obrazy są renderowane na miejscu jako widżety. Możesz patrzeć na siatkę i jednocześnie poprawiać zawartość komórek.
Gdy musisz dokładnie sprawdzić również symbole, użyj trybu Source. Łatwo w nim sprawdzić, czy pionowe kreski tabeli są prawidłowo ustawione, czy blok kodu został zamknięty i czy na końcu wiersza znajdują się spacje.
Tryb Reading służy do oglądania końcowego rezultatu. Nie tylko ukrywa symbole, ale całkowicie usuwa je z ekranu. Drukowanie i pliki PDF również powstają na podstawie tego widoku. Nie można w nim edytować, ale można zaznaczać i kopiować tekst oraz otwierać linki.

Stworzenie trybu Reading nie było proste. Po usunięciu symboli pozycje na ekranie przestały odpowiadać pozycjom w pliku. Wyniki wyszukiwania przesuwały się na bok, a kliknięte miejsce nie pokrywało się z położeniem kursora.
Teraz rdzeń zapisuje także położenie i długość usuniętych znaków. Dzięki temu pozycję klikniętą na ekranie można dokładnie odwzorować na jej odpowiednik w pliku.
Przełączaj bezpośrednio w miejscu, w którym czytasz
Wystarczy wybrać odpowiedni tryb w nagłówku albo użyć Ctrl+Shift+1, 2, 3.
Po przełączeniu pierwszy widoczny wiersz i położenie kursora pozostają bez zmian. Przenikanie jest skończoną animacją trwającą 160 ms, więc po jej zakończeniu nie pozostają żadne zaplanowane zadania. Tryb, w którym mają otwierać się nowe okna, można wybrać na karcie edycji w ustawieniach.
Ze skrótami klawiszowymi wiązała się drobna pomyłka. Przez pewien czas instrukcja podawała, że Ctrl+1/2/3 służy do przełączania trybów, ale w rzeczywistości były to skróty do tworzenia nagłówków. Okno przechwytywało naciśnięcia klawiszy jako pierwsze, więc kod przełączający tryby nie był wykonywany.
Teraz role są jasno rozdzielone. Ctrl+Shift+1/2/3 przełącza tryby, a skróty od Ctrl+1 do Ctrl+6 tworzą nagłówki. Paleta poleceń, lista skrótów klawiszowych i dokumentacja na stronie również zostały poprawione, aby wszędzie zawierały te same informacje.
Tryb skupienia delikatnie nakłada się na ekran
Po naciśnięciu F8 wyraźnie widoczny pozostaje tylko blok, w którym znajduje się kursor. W pozostałych wierszach wartość alfa tekstu zostaje zmniejszona do 32%.
Zmienia się wyłącznie kolor — położenie znaków pozostaje bez zmian. Nie ma też efektu rozmycia ani animacji, więc podczas przechodzenia między akapitami nie trzeba ponownie obliczać całego ekranu.
Tryb skupienia nie jest czwartym trybem. To opcja nakładana na widok Live, dlatego można pozostawić ją włączoną podczas przechodzenia do innych trybów.

Dlaczego nie dzielimy ekranu na dwie części
mote nie ma podzielonego podglądu.
Dwukrotne renderowanie tego samego dokumentu wymaga synchronizowania przewijania, przenoszenia zaznaczenia i zarządzania stanem dwóch widoków. W mote od początku postanowiliśmy nie tworzyć tego problemu.
Historia cofania, zaznaczenie i przewijanie również są pojedyncze.
Trzy tryby nie wynikają z tego, że istnieją trzy dokumenty. Istnieją dlatego, że są trzy rodzaje chwil, w których trzeba spojrzeć na ten sam dokument.