tinytools-0.1.0.4: 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](https://github.com/reflex-frp/reflex) interface defined by `GoatWidget`.
[tinytools-vty](https://github.com/minimapletinytools/tinytools-vty) is currently the only view implementation. It is written in [reflex-vty](https://github.com/reflex-frp/reflex-vty) and runs in a terminal yay. Please see [tinytools-vty](https://github.com/minimapletinytools/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