* [9front] Blie - blended layers image editor
@ 2024-08-09 16:25 sirjofri
2024-08-11 3:40 ` sl
0 siblings, 1 reply; 14+ messages in thread
From: sirjofri @ 2024-08-09 16:25 UTC (permalink / raw)
To: 9front
Hello all (especially sl),
I have a rough implementation of blie, which should be something like a small photoshop for plan 9. The rough plan is that we can have different layers for different sub-editors.
One of these (sub-)editors is for plan 9 images, another one could be for vector data. The important point is that they all output raster images, so the possibilities are nearly endless.
Using the layer image and a layer mask, the full image is composed. It will be possible to edit masks and images individually, everything else is in the responsibility of the layer editor.
The current state is by far not complete. It's only the basic graphical layout with the option to paint a bit. The zooming functionality is very slow (using resample in a pipe) and it's not possible to manage the layers besides changing the filesystem directly.
The code is on shithub and sourcehut.
shithub.us/sirjofri/blie
https://git.sr.ht/~sirjofri/blie
Installation is currently not recommended, but if you want to try it out, you can clone the repo, mk it, and then open the test image like this:
6.out test/img
It is planned to support individual brushes from image files, some brush variations (rotation etc), a color wheel (or slider) for color selection in the future.
As I'm actively working on that project, there will be frequent updates.
sirjofri
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [9front] Blie - blended layers image editor
2024-08-09 16:25 [9front] Blie - blended layers image editor sirjofri
@ 2024-08-11 3:40 ` sl
2024-08-11 9:18 ` sirjofri
0 siblings, 1 reply; 14+ messages in thread
From: sl @ 2024-08-11 3:40 UTC (permalink / raw)
To: 9front
hey, this puts pixels on the screen!
sl
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [9front] Blie - blended layers image editor
2024-08-11 3:40 ` sl
@ 2024-08-11 9:18 ` sirjofri
2024-08-11 14:01 ` Willow Liquorice
0 siblings, 1 reply; 14+ messages in thread
From: sirjofri @ 2024-08-11 9:18 UTC (permalink / raw)
To: 9front
11.08.2024 05:41:56 sl@stanleylieber.com:
> hey, this puts pixels on the screen!
Sadly, only on the screen, yet :)
Directly after announcing I also added the first tool buttons for better visibility. Just in case, a short introduction for users:
Each layer has a type, and each type has its own editor. Bitmap p9images are one type, others aren't implemented yet, but planned.
When clicking on one layer, the editor for that layer will "open". That means that input is directed to that editor, and visualizations will be drawn from that editor. Also, the tools panel will open with the controls for this editor.
The p9image editor currently only has three buttons, more will follow for brush settings and color palette. Button "C" will change the drawing to display the final composited image (which is the standard), button "S" (solo) will display only the image of that layer, and button "M" will display the mask for that layer (if available). When displaying the mask, you can only draw on the mask. (I want more control over this so you can paint on the mask while displaying the full composited image).
The layers window currently has a weird ordering, because it's from top to bottom. That will change to the standard well-known stack (from bottom to top) in the future. Also, I want to include some micro-toolbar into the layers window for the editor to fill, so the buttons that are in the standard tool right now will probably be there at some point.
In general, there are a few points that are more important right now:
- zooming is slow. That should be improved.
- saving is not yet possible, but is important, obviously.
- adding and moving layers, as well as deleting.
sirjofri
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [9front] Blie - blended layers image editor
2024-08-11 9:18 ` sirjofri
@ 2024-08-11 14:01 ` Willow Liquorice
2024-08-11 17:49 ` sirjofri
0 siblings, 1 reply; 14+ messages in thread
From: Willow Liquorice @ 2024-08-11 14:01 UTC (permalink / raw)
To: 9front
May I make a suggestion? Take after, or somehow integrate this with, acme.
One thing I've found profoundly frustrating with featureful image
editors (looking at you, Krita and GIMP) is the amount of menu diving
one has to do to twiddle things, and the sheer quantity of "magic" in
play. Nothing feels particularly obvious or consistent.
Just being able to draw/type a brush into existence would be a breath of
fresh air.
- Willow
On 11/08/2024 10:18, sirjofri wrote:
> 11.08.2024 05:41:56 sl@stanleylieber.com:
>> hey, this puts pixels on the screen!
>
> Sadly, only on the screen, yet :)
>
> Directly after announcing I also added the first tool buttons for better visibility. Just in case, a short introduction for users:
>
> Each layer has a type, and each type has its own editor. Bitmap p9images are one type, others aren't implemented yet, but planned.
>
> When clicking on one layer, the editor for that layer will "open". That means that input is directed to that editor, and visualizations will be drawn from that editor. Also, the tools panel will open with the controls for this editor.
>
> The p9image editor currently only has three buttons, more will follow for brush settings and color palette. Button "C" will change the drawing to display the final composited image (which is the standard), button "S" (solo) will display only the image of that layer, and button "M" will display the mask for that layer (if available). When displaying the mask, you can only draw on the mask. (I want more control over this so you can paint on the mask while displaying the full composited image).
>
> The layers window currently has a weird ordering, because it's from top to bottom. That will change to the standard well-known stack (from bottom to top) in the future. Also, I want to include some micro-toolbar into the layers window for the editor to fill, so the buttons that are in the standard tool right now will probably be there at some point.
>
> In general, there are a few points that are more important right now:
>
> - zooming is slow. That should be improved.
> - saving is not yet possible, but is important, obviously.
> - adding and moving layers, as well as deleting.
>
> sirjofri
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [9front] Blie - blended layers image editor
2024-08-11 14:01 ` Willow Liquorice
@ 2024-08-11 17:49 ` sirjofri
2024-08-11 18:10 ` Frank D. Engel, Jr.
2024-08-12 2:52 ` ori
0 siblings, 2 replies; 14+ messages in thread
From: sirjofri @ 2024-08-11 17:49 UTC (permalink / raw)
To: 9front
11.08.2024 16:03:18 Willow Liquorice <willow@howhill.com>:
> May I make a suggestion? Take after, or somehow integrate this with, acme.
I won't integrate this with acme, and I think it shouldn't be the same as acme. A few things will have some inspiration from it.
> One thing I've found profoundly frustrating with featureful image editors (looking at you, Krita and GIMP) is the amount of menu diving one has to do to twiddle things, and the sheer quantity of "magic" in play. Nothing feels particularly obvious or consistent.
Yeah, that's horrible indeed. I plan to do it as simple as possible, and also file-driven.
Initially, I wanted to have all the data in a zip and you open the zip file for editing, but now I think it's probably better to just leave it as individual files. Those can still be zipped, and you can use source control more easily.
> Just being able to draw/type a brush into existence would be a breath of fresh air.
My current idea is to have "slots" for the brushes/colors and right-clicking them opens some kinda edit mode where you can just change its parameters (size, opacity, ...). For the colors you would get a color wheel or sliders. I'm also thinking about having shortcuts for a few parameters, so you can easily change the size of the brush without clicking around. In the end, I'll see where the project will lead.
When there is something fully working (with saving etc) testers and feedback are welcome, as well as suggestions.
sirjofri
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [9front] Blie - blended layers image editor
2024-08-11 17:49 ` sirjofri
@ 2024-08-11 18:10 ` Frank D. Engel, Jr.
2024-08-11 18:43 ` sirjofri
2024-08-12 2:52 ` ori
1 sibling, 1 reply; 14+ messages in thread
From: Frank D. Engel, Jr. @ 2024-08-11 18:10 UTC (permalink / raw)
To: 9front
It might be interesting to turn the core of the editor into a file
server (in addition to its on-screen interface).
Have a directory with files representing the individual layers so they
can be edited directly using outside tools and scripts.
Have another for brushes (categories of brushes as subdirectories under
the "brushes" directory, etc.).
Find some way to represent tools as files you can write commands to or
something perhaps...
Just a thought.
On 8/11/24 13:49, sirjofri wrote:
> 11.08.2024 16:03:18 Willow Liquorice <willow@howhill.com>:
>> May I make a suggestion? Take after, or somehow integrate this with, acme.
> I won't integrate this with acme, and I think it shouldn't be the same as acme. A few things will have some inspiration from it.
>
>> One thing I've found profoundly frustrating with featureful image editors (looking at you, Krita and GIMP) is the amount of menu diving one has to do to twiddle things, and the sheer quantity of "magic" in play. Nothing feels particularly obvious or consistent.
> Yeah, that's horrible indeed. I plan to do it as simple as possible, and also file-driven.
>
> Initially, I wanted to have all the data in a zip and you open the zip file for editing, but now I think it's probably better to just leave it as individual files. Those can still be zipped, and you can use source control more easily.
>
>> Just being able to draw/type a brush into existence would be a breath of fresh air.
> My current idea is to have "slots" for the brushes/colors and right-clicking them opens some kinda edit mode where you can just change its parameters (size, opacity, ...). For the colors you would get a color wheel or sliders. I'm also thinking about having shortcuts for a few parameters, so you can easily change the size of the brush without clicking around. In the end, I'll see where the project will lead.
>
> When there is something fully working (with saving etc) testers and feedback are welcome, as well as suggestions.
>
> sirjofri
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [9front] Blie - blended layers image editor
2024-08-11 18:10 ` Frank D. Engel, Jr.
@ 2024-08-11 18:43 ` sirjofri
2024-08-11 18:49 ` sl
2024-08-12 2:53 ` ori
0 siblings, 2 replies; 14+ messages in thread
From: sirjofri @ 2024-08-11 18:43 UTC (permalink / raw)
To: 9front
11.08.2024 20:13:18 Frank D. Engel, Jr. <fde101@fjrhome.net>:
> It might be interesting to turn the core of the editor into a file server (in addition to its on-screen interface).
Interesting thought.
> Have a directory with files representing the individual layers so they can be edited directly using outside tools and scripts.
Actually, that's what it looks like in the on-disk file format. Nothing prevents you from editing the individual layers in these folders, that's what I do for testing.
> Have another for brushes (categories of brushes as subdirectories under the "brushes" directory, etc.).
That's also planned. It's possible I'll have to change the current layout a bit though.
> Find some way to represent tools as files you can write commands to or something perhaps...
Interesting idea. The question is, do we need that? At the moment I can just edit all the files as they are: the layer files, the layer config, in the future also the brushes and the brush settings. You just can't change that on the fly.
sirjofri
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [9front] Blie - blended layers image editor
2024-08-11 18:43 ` sirjofri
@ 2024-08-11 18:49 ` sl
2024-08-11 21:25 ` sirjofri
2024-08-12 2:53 ` ori
1 sibling, 1 reply; 14+ messages in thread
From: sl @ 2024-08-11 18:49 UTC (permalink / raw)
To: 9front
paint(1) has some nice design choices. following programs like sam
and acme, you can do things like this:
<command
Executes command and reads the canvas from its standard
output.
>command
Executes command and writes the canvas to its standard
input.
|command
Transforms the canvas by piping it through command.
this allows a lot of features to be towed outside the layer-compositing
program entirely, and any such tools can also be reused for other
applications.
sl
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [9front] Blie - blended layers image editor
2024-08-11 18:49 ` sl
@ 2024-08-11 21:25 ` sirjofri
0 siblings, 0 replies; 14+ messages in thread
From: sirjofri @ 2024-08-11 21:25 UTC (permalink / raw)
To: 9front
11.08.2024 20:50:22 sl@stanleylieber.com:
> paint(1) has some nice design choices. following programs like sam
> and acme, you can do things like this:
>
> <command
> Executes command and reads the canvas from its standard
> output.
>
> >command
> Executes command and writes the canvas to its standard
> input.
>
> |command
> Transforms the canvas by piping it through command.
>
> this allows a lot of features to be towed outside the layer-compositing
> program entirely, and any such tools can also be reused for other
> applications.
Yes, exactly.
In blie, that should be easily doable as an effect/pipe layer, which would be a separate layer type that doesn't have any bitmap data itself, but pipes the image through any command (or commands) you'd like, for example a bloom filter.
The bonus would be that this is non-destructive, so you can adjust the base layers and still get the same effect added on it. You can also move that layer around, which changes the image, but you don't lose any data.
That's also the idea behind farbfeld (if you want to look at it): have an image format that's as simple as possible so you can send the data in a pipe. Farbfeld is not primarily designed as a storage format, more like an intermediate format: png2ff <src.png | filterA | filterB | ff2png >dst.png. (I don't plan to add farbfeld support as it's not a plan 9 thing. I built some ff to plan 9 image converter a while ago though.)
sirjofri
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [9front] Blie - blended layers image editor
2024-08-11 18:43 ` sirjofri
2024-08-11 18:49 ` sl
@ 2024-08-12 2:53 ` ori
1 sibling, 0 replies; 14+ messages in thread
From: ori @ 2024-08-12 2:53 UTC (permalink / raw)
To: 9front
Quoth sirjofri <sirjofri+ml-9front@sirjofri.de>:
>
>
> > Have a directory with files representing the individual layers so they can be edited directly using outside tools and scripts.
>
> Actually, that's what it looks like in the on-disk file format. Nothing prevents you from editing the individual layers in these folders, that's what I do for testing.
also lets you nest edits; pop up a blie within blie,
edit the layer, and pop back out.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [9front] Blie - blended layers image editor
2024-08-11 17:49 ` sirjofri
2024-08-11 18:10 ` Frank D. Engel, Jr.
@ 2024-08-12 2:52 ` ori
2024-08-12 7:53 ` sirjofri
1 sibling, 1 reply; 14+ messages in thread
From: ori @ 2024-08-12 2:52 UTC (permalink / raw)
To: 9front
Quoth sirjofri <sirjofri+ml-9front@sirjofri.de>:
> Initially, I wanted to have all the data in a zip and you open the zip
> file for editing, but now I think it's probably better to just leave
> it as individual files. Those can still be zipped, and you can use
> source control more easily.
Yes, this kind of thing can be layered.
$ zip/fs $imgfile
$ blie
<do your edits on a file by file basis>
see also how vmx handles qcow2 images: it
doesn't, qcowfs provides a virtual raw disk
image instead, and *all* the tools we have
know how to handle it.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [9front] Blie - blended layers image editor
2024-08-12 2:52 ` ori
@ 2024-08-12 7:53 ` sirjofri
2024-08-12 8:37 ` ori
0 siblings, 1 reply; 14+ messages in thread
From: sirjofri @ 2024-08-12 7:53 UTC (permalink / raw)
To: 9front
12.08.2024 04:56:14 ori@eigenstate.org:
> Quoth sirjofri <sirjofri+ml-9front@sirjofri.de>:
>> Initially, I wanted to have all the data in a zip and you open the zip
>> file for editing, but now I think it's probably better to just leave
>> it as individual files. Those can still be zipped, and you can use
>> source control more easily.
>
> Yes, this kind of thing can be layered.
>
> $ zip/fs $imgfile
> $ blie
> <do your edits on a file by file basis>
Is zipfs writable? The man page isn't so clear about that. I thought it was read-only.
sirjofri
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [9front] Blie - blended layers image editor
2024-08-12 7:53 ` sirjofri
@ 2024-08-12 8:37 ` ori
2024-08-15 21:19 ` sirjofri
0 siblings, 1 reply; 14+ messages in thread
From: ori @ 2024-08-12 8:37 UTC (permalink / raw)
To: 9front
Quoth sirjofri <sirjofri+ml-9front@sirjofri.de>:
> 12.08.2024 04:56:14 ori@eigenstate.org:
> > Quoth sirjofri <sirjofri+ml-9front@sirjofri.de>:
> >> Initially, I wanted to have all the data in a zip and you open the zip
> >> file for editing, but now I think it's probably better to just leave
> >> it as individual files. Those can still be zipped, and you can use
> >> source control more easily.
> >
> > Yes, this kind of thing can be layered.
> >
> > $ zip/fs $imgfile
> > $ blie
> > <do your edits on a file by file basis>
>
> Is zipfs writable? The man page isn't so clear about that. I thought it was read-only.
>
> sirjofri
if it isn't, code could be written; or some other
format with a file server better suited could be
used. The point is that you can layer file servers
if you want a single file format, instead of putting
it all into one program.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [9front] Blie - blended layers image editor
2024-08-12 8:37 ` ori
@ 2024-08-15 21:19 ` sirjofri
0 siblings, 0 replies; 14+ messages in thread
From: sirjofri @ 2024-08-15 21:19 UTC (permalink / raw)
To: 9front
Hello to all who follow along,
The most recent update to blie adds fundamental functionality that's needed to call it an editor: it can now save[1]!
That is, you get a few commands for saving different data. Please see the "words" file for more info on that[2].
This version also includes a new file "eentercolor.c" (with its main function eentercolor) which is similar to eenter, but contains a color selection window in HSV format (though you can also enter color values manually). It has no further dependencies, so it could theoretically be included in libdraw.
With that, the editor is "usable", but for layer management etc, you still have to manage the files on disk manually.
sirjofri
[1] p9image tool save only saves the color palette for now.
[2] When I have more, there will be a proper documentation/manual.
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2024-08-15 21:21 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-08-09 16:25 [9front] Blie - blended layers image editor sirjofri
2024-08-11 3:40 ` sl
2024-08-11 9:18 ` sirjofri
2024-08-11 14:01 ` Willow Liquorice
2024-08-11 17:49 ` sirjofri
2024-08-11 18:10 ` Frank D. Engel, Jr.
2024-08-11 18:43 ` sirjofri
2024-08-11 18:49 ` sl
2024-08-11 21:25 ` sirjofri
2024-08-12 2:53 ` ori
2024-08-12 2:52 ` ori
2024-08-12 7:53 ` sirjofri
2024-08-12 8:37 ` ori
2024-08-15 21:19 ` sirjofri
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).