Commit Graph

183 Commits

Author SHA1 Message Date
Isaiah Odhner
cc0bdf0973 Implement Text tool 2023-04-21 22:12:16 -04:00
Isaiah Odhner
61d3db4714 Fix undo/redo handling for the Select tool 2023-04-21 16:34:38 -04:00
Isaiah Odhner
68d069fa8d Implement View > Zoom > Large Size / Normal Size 2023-04-21 01:40:26 -04:00
Isaiah Odhner
9120d49546 Implement the magnifier tool 2023-04-19 19:44:57 -04:00
Isaiah Odhner
3c2ff7b3d8 Note textual console devtool (and slowness) 2023-04-19 14:27:12 -04:00
Isaiah Odhner
140ff15ff1 Restart the app on changes 2023-04-19 14:27:12 -04:00
Isaiah Odhner
34aa35ec8b Update dependencies
I'm new to python package management, so I don't really know when these
packages got updated, but I'm updating this file with this command:

    python3 -m pipreqs.pipreqs --ignore .history --force
2023-04-19 02:42:54 -04:00
Isaiah Odhner
c5f7c9f387 Rename "Rectangular Select" to "Select" to match MS Paint and for localization 2023-04-18 18:55:45 -04:00
Isaiah Odhner
11817904bb Not just several — twenty six, to be precise 2023-04-18 04:11:50 -04:00
Isaiah Odhner
b2645337bd Update readme 2023-04-18 03:47:02 -04:00
Isaiah Odhner
87f8faf956 Use choices option for expressing --theme 2023-04-18 01:06:45 -04:00
Isaiah Odhner
a948d7d945 Note parallelogram candidates for eraser icon 2023-04-17 01:57:27 -04:00
Isaiah Odhner
5c289e05a8 Add dev helper to inspect layout 2023-04-17 01:21:19 -04:00
Isaiah Odhner
a02431d19e Add --theme option to CLI 2023-04-16 20:34:56 -04:00
Isaiah Odhner
650584d4b2 Add usage section to readme 2023-04-16 19:38:53 -04:00
Isaiah Odhner
59c289eaee Update development section 2023-04-16 19:23:00 -04:00
Isaiah Odhner
c2e86d5eae Implement Save As dialog 2023-04-15 00:57:43 -04:00
Isaiah Odhner
66d2f79e0c Tweak readme 2023-04-14 21:32:02 -04:00
Isaiah Odhner
ba646f7cdb Add textual screenshot to readme
This took a lot of trial and error to get this working.
- First I had to figure out how to copy the terminal output as HTML.
  I had to configure keybindings for Select All and Copy As HTML in
  the Ubuntu terminal.
- GitHub doesn't support line-height in markdown, so I came up with
  using an SVG with <foreignObject> to contain the screenshot HTML.
- GitHub doesn't support inline SVG, so I had to use <img>, that's fine.
  An external file is cleaner anyways.
- I spent a long time trying to fix the seams between rows of text.
  `line-height: <font-size>` is not `line-height: 1`!
  I think I tried `line-height: 1` first, but it wasn't working for some
  reason so I tried a bajillion things, having mentally discounted it,
  before circling back to it and trying it again and it actually worked.
- I spent a long time futzing about with SVG viewports and units.
- The text was staggered due to some of the Unicode characters, so I
  developed a script to fix that up. I managed to achieve a nice
  development cycle for this, but only near the end of developing it.
  Most of the time while working on it I was copying and pasting
  the updated code into the console after hitting up up enter to
  re-run grapheme-splitter's JS.
  The next commit will apply this script.
- All in all, getting this screenshot working took basically all day!
  Compare that to my first day of progress on this project, having
  never used the Textual framework before, and also having not used
  Python for a while. In summary, coding is a land of contrasts.
- VS Code's markdown rendering isn't working with the ch/lh units.
2023-04-14 19:15:45 -04:00
Isaiah Odhner
fda94c31f8 Implement brush previews 2023-04-13 23:07:46 -04:00
Isaiah Odhner
44fe270463 Note some alternate selection tool icons using Braille
These are pretty good candidates, paired together.
For the Free-Form Select icon (⢼⠮), I'm specifically imitating the
asymmetrical star shape from MS Paint.
2023-04-13 23:07:46 -04:00
Isaiah Odhner
611e7f10c9 Implement Pick Color tool 2023-04-13 18:54:51 -04:00
Isaiah Odhner
b805d9a488 Implement eraser and airbrush tools 2023-04-13 18:48:24 -04:00
Isaiah Odhner
ef41cb53e7 Add features section to readme 2023-04-13 10:06:39 -04:00
Isaiah Odhner
155df6a998 Collect more symbols 2023-04-13 10:02:31 -04:00
Isaiah Odhner
50c3278264 Use tool names from MS Paint, consistently 2023-04-13 00:35:49 -04:00
Isaiah Odhner
5b1c16ddc3 Use wide A character for text tool icon, centering it 2023-04-13 00:32:03 -04:00
Isaiah Odhner
30cddbbde5 Save and load ANSI files 2023-04-11 21:18:11 -04:00
Isaiah Odhner
1f3809999e Remove some garbage unrelated symbols
I mean, let's be honest, most of these symbols are garbage candidates.
But these ones I accidentally left from trying to get ChatGPT to find
emoji for me.
More helpful were https://emojidb.org/ and http://shapecatcher.com/
2023-04-11 12:13:50 -04:00
Isaiah Odhner
3b3950cc0b Sync symbols list with code comment 2023-04-11 12:09:08 -04:00
Isaiah Odhner
78e326377d Add to prior art (See Also) section 2023-04-10 18:44:31 -04:00
Isaiah Odhner
f79ebcd7d0 Fix missing URLs 2023-04-10 18:31:41 -04:00
Isaiah Odhner
787dc676db Initial commit 2023-04-10 16:51:39 -04:00