Description
tinytools is a monospace unicode diagram editor.
Description
tinytools is a mono-space unicode diagram editor library, tinytools is only the model and controller. See tinytools-vty for a terminal based view frontend.
README.md
tinytools
tinytools
is a mono-space unicode diagram editor written in Haskell.
architecture
tinytools
follows a strict MVC architecture. This repository contains the model and controller. The view/controller is connected to the model using a reflex interface defined by GoatWidget
.
tinytools-vty is currently the only view implementation. It is written in reflex-vty and runs in a terminal yay. Please see tinytools-vty.
features
- modern and intuitive UI/UX
- several highly configurable primitives including boxes, lines and text boxes
- sophisticated hierarchical layer system
- transactional operations and change history
- basic document save/load/export functionality
roadmap
v1
- UNICODE wide character support (currently blocked by issues in TextZipper)
- UNICODE glyph widget
v2
- multi-document support
- refactor to handle non-linear action do/undo operations in preparation for multi-user mode
v3
- grapheme clusters support (blocked by terminal support which is currently extremely inconsistent or non-existent)
- multi-user mode
- ordering service interface
- basic single client authoritative implementation of ordering service interface (for now)
- scriptable command interface.