Pourquoi cet éditeur
La plupart des éditeurs riches vous rendent du HTML. Le HTML est un format de présentation : il décrit à quoi ressemble un document, pas ce qu'il est. Dès que vous voulez interroger vos contenus, les rendre ailleurs, ou les relire dans dix ans, cette confusion vous coûte.
Le schéma intermédiaire
Ici le document est une structure de données : un bloc a untype, des props, éventuellement du texte enrichi et des enfants. Le DOM est une projection de cette structure, reconstruite à volonté et jamais consultée comme source de vérité — à une exception documentée près, le caret, que seul le navigateur connaît vraiment.
Cette séparation est ce qui rend possible le rendu statique sans instance d'éditeur, la projection markdown, un futur éditeur natif Swift sur le même schéma, et la synchronisation collaborative — sans réécrire l'éditeur.
Le stockage vous appartient
Un document se projette en markdown lisible, une base en CSV, l'index en SQLite dérivé et reconstructible. Le test d'acceptation est brutal et volontairement simple : supprimez l'application, vos fichiers doivent rester utilisables.
Ce que ce n'est pas
- Pas un framework d'édition générique : le jeu de blocs est ouvert, le modèle ne l'est pas.
- Pas un service : aucune dépendance réseau, aucun compte, aucun cloud.
- Pas un clone de Notion : les bases de données existent, mais l'objectif est l'éditeur.