Skip to content
/ sketshy Public

plaintext charts and drawings from your terminal!

License

Notifications You must be signed in to change notification settings

exa04/sketshy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

   _______  ____ ___  ________  ________  _______  _________  ________ 
  ╱       ╲╱    ╱   ╲╱        ╲╱        ╲╱       ╲╱     ╱   ╲╱    ╱   ╲
 ╱       _╱         ╱         ╱        _╱       _╱          ╱         ╱
╱-       ╱        _╱        _╱╱       ╱╱-       ╱          ╱╲__      ╱ 
╲_______╱╲____╱___╱╲________╱ ╲______╱ ╲_______╱╲____╱____╱   ╲_____╱
══════════════════ plaintext charts and drawings from your terminal! ══

  [ version | 0.1.0 ]  [ rust ]

  sketshy is a TUI tool for designing "ASCII art", plaintext diagrams
  and more. It's like if Excalidraw and Vim had a kid that grew up to
  run a late-90s aesthetic Tumblr blog.

  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  ┃ Layers       │                                                  ┃
  ┃ Box 1        │           ▄                    ▄                 ┃
  ┃ Box 2        │            ┌──────────────────┐                  ┃
  ┃ Text "sketshy│            │ sketshy:         │                  ┃
  ┃              │            │ plaintext charts │                  ┃
  ┃              │            │ and drawings     │                  ┃
  ┃              │            │ from your terminal!                 ┃
  ┃              │            └──────────────────┘                  ┃
  ┃              │           ▀      │         │   ▀                 ┃
  ┃              │                  └─────────┘                     ┃
  ┃              │                                                  ┃
  ┃              │  ┌Tools───────────────────────────────────────┐  ┃
  ┃              │  │ [v] Cursor │ [b] Box │ [i] Text │ [l] Line │  ┃
  ┃              │  └────────────────────────────────────────────┘  ┃
  ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

╱╱    ╱╱╱    ╱╱╱    ╱╱╱    ╱╱╱    ╱╱╱    ╱╱╱    ╱╱╱    ╱╱╱    ╱╱╱    ╱╱

  ██  WARNING
  ██  This app is in early development, very feature-incomplete, even
  ▄▄  this README may be inaccurate. Just FYI :3

╱╱    ╱╱╱    ╱╱╱    ╱╱╱    ╱╱╱    ╱╱╱    ╱╱╱    ╱╱╱    ╱╱╱    ╱╱╱    ╱╱


──[ FEATURES ]─────────────────────────────────────────────────────────

  ┌─────────────────────────────┐     ┌─────────────────────────────┐
  │ Layers        ┆             │     │      ▄               ▄      │
  │ Box 1         ┆             │     │       ┌─────────────┐       │
  │ Box 2         ┆   █████     │     │       │             │       │
  │ T "Layer Exam…┆   █████▒▒   │     │       │             │       │
  │               ┆     ▒▒▒▒▒   │     │       │             │       │
  │               ┆             │     │       └─────────────┘       │
  │               ┆             │     │      ▀               ▀      │
  └─────────────────────────────┘     └─────────────────────────────┘

  Layers                              Non-destructive Editing

  Each element lives on its own       You can adjust everything about
  layer. You can bring things to      your elements after creating
  the front, or push them into        them. sketshy even gives you
  the background.                     Photoshop-esque resize handles!


──[ HOW TO USE ]───────────────────────────────────────────────────────

  To add elements, such as a box or a text element, first switch to
  the appropriate tool. Then, drag anywhere on the canvas to add a
  new element. You can select elements by clicking on them, or
  dragging over them with the mouse. Move them by dragging them
  around or resize them by dragging their resize handles.


──[ KEYMAP ]───────────────────────────────────────────────────────────

  sketshy's keymap is inspired by Vim, as well as popular design
  tools. You will, in the near future, be able to define your own
  keymap using a config file.

  Navigation
  
    [w] Switch Focus      [:] Command palette   [?] Show Keybinds

  Canvas
  
    [v] Cursor tool       [%] Select all           [↑]
    [b] Box tool          [d] Delete            [←][↓][→] Move around
    [l] Line tool         [y] Copy
    [t] Text tool         [p] Paste


──[ COMMANDS ]─────────────────────────────────────────────────────────

  sketshy uses a command system similar to vim or other modal text
  editors. It's also got completions and aliases.

    :quit                 Quits sketshy
        :q

    :export <file>        Exports the current canvas to plain UTF-8
        :e <file>


──[ TO-DO ]────────────────────────────────────────────────────────────

  Move over, Jira :P


  0.1.0

      Tools
          [x] Cursor tool
          [x] Box tool
          [x] Text tool
          [x] Line tool

      [x] Scrolling

      [x] Command palette
          [x] Quit
          [x] Export to unicode txt file

      [x] Layers panel
          [x] Element list

      [x] Config
          [x] Keymap


  0.2.0

      Tools
          [ ] Paint tool
          [ ] Circle tool
		  [ ] Diamond tool

      [ ] Ctrl-drag for even scaling
      [ ] Ruler and guides
      
      [ ] Clipboard

      Commands
          [ ] New
          [ ] Save
          [ ] Load
          [ ] Export selected
          [ ] Plaintext import


  0.3.0

      Layers panel
          [ ] Selection
          [ ] Moving
	      [ ] Navigation
          [ ] Grouping
          [ ] Flattening

	  [ ] "Show keybinds" by pressing [?] or sth

      [ ] Undo / Redo

      Config
          [ ] Theming
		  [ ] Other options
	          - Select Cursor after adding shape
			  - Show / hide toolbar


  0.4.0

      [ ] Styling panel
          [ ] Style panel navigation
          [ ] Translation
          [ ] Box styling: Border, Shadow
          [ ] Text styling: Border, Shadow
          [ ] Line styling: Arrowheads, Thickness

      [ ] Context menu


  Backlog

	  Tools
	      [ ] Big Text: "Word Art"-esque UX for FIGlet-esque fonts
	          with variable size... something like that

	  Commands
	      [ ] Export to ASCII

	  [ ] Menu bar

About

plaintext charts and drawings from your terminal!

Resources

License

Stars

Watchers

Forks

Packages

No packages published