The delay intro

Home

Day 3

Not a lot of progress, I halted (a.k.a. commented out the code of) filesystem work to focus on the UI of pain. Actually, I should probably write down what pain even is.

The idea is to make a paint program like paint(1) for 9front (ideally it should work on plan9legacy as well), but that uses a filesystem to extend its functionality. At its core, it should let the user:

- Draw by clicking on a canvas

- Move the canvas around with the mouse

- Zoom in on the canvas

- Switch layers

- Move layers

- Open images

- Save images

Everything else, like selecting brushes, adding a Ctrl-Z buffer and so on, should be added by writing applications that interact with its filesystem. In the end, I should end up with a suit of programs that together are called painless. I still haven't decided on the name of the other programs, but for now said programs should be:

- pain(1) itself

- a color palette selector (tentative name: syrup(1))

- a brush selector (tentative name: pills(1))

- a Ctrl-Z daemon that uses ramfs(4) (tentative name: rest(1))

As for what I did today, I basically just added a task system that runs on the main loop so I can schedule events (like "zoom in x amounts of seconds after the user last moved the scroll wheel"), so I don't constantly ask drawterm to render the canvas many times per second (sometimes I forget just how taxing unoptimized software rendering can be) when I move it. It's shit, but it's also 1:52 A.M. as I'm writing this and I have to go to work tomorrow.

Also I fixed this silly little mistake of mine ...

thank god this is a personal project

... thank god this is a personal project.