tinytools: tinytools is a monospace unicode diagram editor

[ bsd3, library, user-interfaces ] [ Propose Tags ] [ Report a vulnerability ]

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.


[Skip to Readme]

Modules

[Last Documentation]

  • Potato
    • Data
      • Text
        • Potato.Data.Text.Unicode
        • Potato.Data.Text.Zipper
        • Potato.Data.Text.Zipper2
    • Potato.Flow
      • Potato.Flow.Attachments
      • Potato.Flow.BroadPhase
      • Potato.Flow.Cmd
      • Potato.Flow.Configuration
      • Potato.Flow.Controller
        • Potato.Flow.Controller.Goat
        • Potato.Flow.Controller.Handler
        • Potato.Flow.Controller.Input
        • Manipulator
          • Potato.Flow.Controller.Manipulator.Box
          • Potato.Flow.Controller.Manipulator.BoxText
          • Potato.Flow.Controller.Manipulator.Common
          • Potato.Flow.Controller.Manipulator.Layers
          • Potato.Flow.Controller.Manipulator.Line
          • Potato.Flow.Controller.Manipulator.Pan
          • Potato.Flow.Controller.Manipulator.Select
          • Potato.Flow.Controller.Manipulator.TextArea
          • Potato.Flow.Controller.Manipulator.TextInputState
        • Potato.Flow.Controller.OwlLayers
        • Potato.Flow.Controller.Types
      • Potato.Flow.DebugHelpers
      • Deprecated
        • Potato.Flow.Deprecated.Layers
        • Potato.Flow.Deprecated.State
        • Potato.Flow.Deprecated.TestStates
      • Potato.Flow.Llama
      • Potato.Flow.Math
      • Methods
        • Potato.Flow.Methods.LineDrawer
        • Potato.Flow.Methods.LineTypes
        • Potato.Flow.Methods.LlamaWorks
        • Potato.Flow.Methods.SEltMethods
        • Potato.Flow.Methods.TextCommon
        • Potato.Flow.Methods.Types
      • Potato.Flow.Owl
      • Potato.Flow.OwlHelpers
      • Potato.Flow.OwlItem
      • Potato.Flow.OwlState
      • Potato.Flow.OwlWorkspace
      • Potato.Flow.Preview
      • Potato.Flow.Reflex
        • Potato.Flow.Reflex.GoatSwitcher
        • Potato.Flow.Reflex.GoatWidget
      • Potato.Flow.Render
      • Potato.Flow.RenderCache
      • Serialization
        • Potato.Flow.Serialization.Snake
        • Potato.Flow.Serialization.SnakeWrangler
        • Versions
          • V1
            • Potato.Flow.Serialization.Versions.V1.SElts
      • Potato.Flow.TestStates
      • Potato.Flow.Types

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.0.3, 0.1.0.4, 0.1.0.5, 0.1.0.6, 0.1.0.7
Change log ChangeLog.md
Dependencies aeson (>=2.1.2 && <2.2), aeson-pretty (>=0.8.10 && <0.9), base (>=4.7 && <5), bimap (>=0.5.0 && <0.6), binary (>=0.8.9 && <0.9), bytestring (>=0.11.4 && <0.12), constraints-extras (>=0.4.0 && <0.5), containers (>=0.6.7 && <0.7), data-default (>=0.7.1 && <0.8), data-ordlist (>=0.4.7 && <0.5), deepseq (>=1.4.8 && <1.5), dependent-map (>=0.4.0 && <0.5), dependent-sum (>=0.7.2 && <0.8), dependent-sum-template (>=0.2.0 && <0.3), extra (>=1.7.14 && <1.8), filepath (>=1.4.100 && <1.5), ilist (>=0.4.0 && <0.5), lens (>=5.2.3 && <5.3), linear (>=1.22 && <1.23), mtl (>=2.3.1 && <2.4), pretty-simple (>=4.1.2 && <4.2), ref-tf (>=0.5.0 && <0.6), reflex (>=0.9.2 && <1), reflex-potatoes (>=0.1.0 && <0.2), reflex-test-host (>=0.1.2.3 && <0.2), relude (>=1.2.1 && <1.3), semialign (>=1.3 && <1.4), text (>=2.0.2 && <2.1), text-icu (>=0.8.0 && <0.9), these (>=1.2 && <1.3), vector (>=0.13.1 && <0.14), vty (>=5.28 && <5.39) [details]
Tested with ghc ==9.2.5 || ==9.6.2
License BSD-3-Clause
Copyright 2023 minimaple (Peter Lu)
Author minimaple
Maintainer minimapletinytools@gmail.com
Category User Interfaces
Home page https://github.com/minimapletinytools/tinytools#readme
Bug tracker https://github.com/minimapletinytools/tinytools/issues
Source repo head: git clone https://github.com/minimapletinytools/tinytools
Uploaded by minimaple at 2023-12-26T01:34:36Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 273 total (8 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2023-12-26 [all 2 reports]

Readme for tinytools-0.1.0.7

[back to package description]

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