Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggestions (improvements and bugs) #516

Closed
dasbard opened this issue Nov 19, 2024 · 10 comments
Closed

Suggestions (improvements and bugs) #516

dasbard opened this issue Nov 19, 2024 · 10 comments

Comments

@dasbard
Copy link

dasbard commented Nov 19, 2024

I have used the program for like 10 minutes to test it out and while this is pretty amazing and I will most likely use it on multiple occaissions, there are quite a few things which I think need to be improved/fixed:

Improvements

  • A button/shortcut to zoom the image to the window's size (or also double clicking the image, similarly to other image viewer programs) | This might only be an issue when the image is smaller than the window's size
  • An option to disable button 1 to 5 zooming in where the cursor is but rather doing the centered zoom that the + and - shortcuts does
  • The pixel value selector would be a bit easier to use when it does not show the edge colors extrapolated outside of the image but rather the checker image to see where the image ends
  • A linear zoom while holding ctrl/shift and left click then moving the mouse up/right or down/left to zoom in/out similarly to the zoom tool in photoshop can help with more accurate zooming
  • A shortcut to disable/enable the "draw frame around the image" setting
  • The ability to move the popup windows (i.e. Preferences Window) around
  • When hovering over the shortcut action it should show a tooltip containing the description of the action to make it easier to understand what it does (i.e. EditMode -> Opens up the Edit side-panel)
  • Being able to move filters around with Drag-and-Drop instead of the arrows
  • The ability to hold Shift to stop the image picker from changing and then clicking on the Size, RGBA, Pos and UV text/line to copy its value can be very helpful
  • The back/forward buttons to undo/redo the last action (i.e. applying/changing a filter, drawing a line)
  • Being able to crop the image the same you can crop using the "Perspective crop" filter
  • Being able to disable a single filter
  • Being able to move all filters in between, currently there are two types of filters that can't be moved (i.e. Apply Color LUT filter can't be below (or rather applied after?) the Contrast filter)
  • Changing the directory where to store the settings and further data (like cache I suppose?), a truly portable application that contains its data in the same folder of the binary would be nice
  • Deleting images feels a little bit too easy to accidentally do it, maybe a popup to ask whether to delete the image with the ability to disable it would help, maybe it's just something that takes some time getting used to
  • (Probably outside of the scope of this program but) Since images and videos are quite closely related, it would be pretty amazing if this tool could also playback videos even when they won't be editable

I have not explained every single improvement for why it is a good change because it would be a lot of text and most should already be understandable, if not simply ask me I'm happy to expand.

Bugs

  • When applying the cropping filter and sliding the cropping of a value very fast it sometimes wrongly represents the cropped value and cropped amount (i.e. 0 cropped but around half is actually cropped), deleting the filter does not reset/fix this as well as zooming in/out, the only fix I've found is playing with the cropped filter value again or re-adding the filter and then doing so
  • When having a side-panel open and zooming in a bit (shortcut +) after it's centered (shortcut v) it zooms in uncentered (more to the right when the left panel is open)
  • When copying the image that is currently modified without being applied to the file, it copies the original file instead of the currently modified one
  • When doing some actions like copy/pasting the image it closes the EditMode side-panel which should stay open when it was already open
  • Then the EditMode side-panel is too short, it will overlap the arrow of moving filters up/down with the title of the filter
  • The default value of some filters are not consistent with each other (i.e. Exposure starts at +20 while Brightness and Contrast start at 0)
  • When having a lot of filters it is not possible to scroll down which cuts off part of the EditMode side-panel
  • (Probably Windows only) when the program is maximized, closed and reopened it is not maximized but still has the maximized size slightly offsetted causing like 10-30% of the window to be outside of the monitors viewport, it either should stay maximized or use the last known non-maximized size

I've written this in case anyone wants to improve on these things because I know getting feedback can sometimes be pretty valuable but I also understand it if this does not help much or most is already known/in the works

@Stoppedpuma
Copy link
Collaborator

Stoppedpuma commented Nov 20, 2024

Hello! Thanks for the feedback! I mainly just do the designing parts for Oculante but there's a few things I would like to respond to here in your list! In-case that you have any other questions related to the UI / UX please let me know! I've already completed redesigns and they are currently in the process of being implemented so some issues which I'm seeing at a glance like the filters being too small will be fixed down the line!

Improvements

A button/shortcut to zoom the image to the window's size (or also double clicking the image, similarly to other image viewer programs) | This might only be an issue when the image is smaller than the window's size

This is an idea I had at some point and forgot to open a request for it, I think this would be great! I'm not so sure about the double click part as that seems very unusual to me, instead a keybind seems better, perhaps Shift + V?

An option to disable button 1 to 5 zooming in where the cursor is but rather doing the centered zoom that the + and - shortcuts does

I think this could be nice, can you give an example of another program which has this? I'm not sure I've seen this before as it's typically 1 for 1x zoom 2 for 2x, etc?

The pixel value selector would be a bit easier to use when it does not show the edge colors extrapolated outside of the image but rather the checker image to see where the image ends

I'm pretty sure this has been fixed on master? There's a branch with a bunch of changes including changes to the zoom window that's currently in progress, I'll make sure this shows the edge correctly before it's merged.

A linear zoom while holding ctrl/shift and left click then moving the mouse up/right or down/left to zoom in/out similarly to the zoom tool in photoshop can help with more accurate zooming

This might be slightly problematic as I plan to have shift / control + left click work as shortcuts for functions like angle locks and snap to grid with the upcoming measuring tools. I don't think I've seen this in other image viewers either, would a zoom percentage with manual input on the status bar work for you?

The ability to move the popup windows (i.e. Preferences Window) around

These work in a way to be centred at the moment by default, this is an easy change at the moment but these windows are about to change in a way which hasn't been decided yet due to egui layering limitations and some rendering changes which are coming up.

When hovering over the shortcut action it should show a tooltip containing the description of the action to make it easier to understand what it does (i.e. EditMode -> Opens up the Edit side-panel)

This will also be redesigned eventually, including rewording what the action does to make it more clear to the user.

The ability to hold Shift to stop the image picker from changing and then clicking on the Size, RGBA, Pos and UV text/line to copy its value can be very helpful

I have plans for side scrolling with this key by default so maybe something else would work better? This could be a good use for function keys?

The back/forward buttons to undo/redo the last action (i.e. applying/changing a filter, drawing a line)

I think just typical keys like Ctrl + Z / Y would work better here than complicating the next / previous image buttons. Also to note that Oculante is not photoshop, it has editing tools yes, but it's primary goal with those is quick edits.

Being able to crop the image the same you can crop using the "Perspective crop" filter

Cropping will be completely redesigned!

Being able to disable a single filter

I definitely can see this being useful! To add to this, there's some formats like .kra or .psd which might as well receive layer support at this point which was something I brought up a little while ago, nothing was really said about it, but it's something I would like as well! @woelper Pinging you here for your input on this?

Being able to move all filters in between, currently there are two types of filters that can't be moved (i.e. Apply Color LUT filter can't be below (or rather applied after?) the Contrast filter)

This is due to a type limitation if I recall correctly. Upcoming designs have already been made around this and I'm not sure there's anything to be done about this or even if it's wanted.

Changing the directory where to store the settings and further data (like cache I suppose?), a truly portable application that contains its data in the same folder of the binary would be nice

I'm not sure about changing this directory as it still would require leaving data at the original location, but everything will be put into ~/.local/share/oculante. In the case that there's something outside of this directory, it will likely make its way there in the next update but I'm pretty sure it's already there in the latest version?

Deleting images feels a little bit too easy to accidentally do it, maybe a popup to ask whether to delete the image with the ability to disable it would help, maybe it's just something that takes some time getting used to

Already implemented, the problem is it doesn't appear on the keybind. This was an issue which I brought up with woelper initially and I believe the consensus was it will come eventually?

(Probably outside of the scope of this program but) Since images and videos are quite closely related, it would be pretty amazing if this tool could also playback videos even when they won't be editable

Fear not! Through the power of random shit people do online, I've already brought this up and it's a possibility! For some reason there's a select group of people who like to rename .mp4 files to .gif, they seem to be uncommon but common enough to a point to consider implementation in my opinion. I've brought up some things for editing as well like having the implementation use a ffmpeg wrapper or something similar for lossless trimming. The problem is of course a native rust library with support for most if not all of the major formats.

Bugs

When applying the cropping filter and sliding the cropping of a value very fast it sometimes wrongly represents the cropped value and cropped amount (i.e. 0 cropped but around half is actually cropped), deleting the filter does not reset/fix this as well as zooming in/out, the only fix I've found is playing with the cropped filter value again or re-adding the filter and then doing so

Reported at #420

When doing some actions like copy/pasting the image it closes the EditMode side-panel which should stay open when it was already open

I can only reproduce this with pasting, copying doesn't have this issue.

The issues with the editing page and filter sizes

The editing page will be redesigned, same applies to filters.

@dasbard
Copy link
Author

dasbard commented Nov 20, 2024

Thanks for your reply! I think there are a few misconceptions which this reply should clear up, everything else I did not reply to seems to be solved/going in the right direction. And something rather unrelated since I'm rather new to Github: Do you know how to make Github give me some notification whenever someone (like you) replies to an issue or similar? Currently I just open up the issue again (if I manage to find it again) and check whether a new message is there.

Improvements

A button/shortcut to zoom the image to the window's size (or also double clicking the image, similarly to other image viewer programs) | This might only be an issue when the image is smaller than the window's size

This is an idea I had at some point and forgot to open a request for it, I think this would be great! I'm not so sure about the double click part as that seems very unusual to me, instead a keybind seems better, perhaps Shift + V?

The double click is part of the default Windows (11 only?) image viewer but yeah it's a bit confusing. Shift + V is a good shortcut for that

An option to disable button 1 to 5 zooming in where the cursor is but rather doing the centered zoom that the + and - shortcuts does

I think this could be nice, can you give an example of another program which has this? I'm not sure I've seen this before as it's typically 1 for 1x zoom 2 for 2x, etc?

I meant that the center point of zoom in is in the center of the image rather than where the cursor is (similar to the Shift + V idea), no changes to the 1 -> 1x, 2 -> 2x zoom amount

A linear zoom while holding ctrl/shift and left click then moving the mouse up/right or down/left to zoom in/out similarly to the zoom tool in photoshop can help with more accurate zooming

This might be slightly problematic as I plan to have shift / control + left click work as shortcuts for functions like angle locks and snap to grid with the upcoming measuring tools. I don't think I've seen this in other image viewers either, would a zoom percentage with manual input on the status bar work for you?

A shortcut to hold down would work just as well, maybe holding down Y (as a default) can do this? Manual input would make this quite slow and even though it will be helpful it won't be helpful for this exact case

The ability to hold Shift to stop the image picker from changing and then clicking on the Size, RGBA, Pos and UV text/line to copy its value can be very helpful

I have plans for side scrolling with this key by default so maybe something else would work better? This could be a good use for function keys?

Yeah probably, I'm not too sure about what is a good way to implement this, just the functionality would be appreciated

The back/forward buttons to undo/redo the last action (i.e. applying/changing a filter, drawing a line)

I think just typical keys like Ctrl + Z / Y would work better here than complicating the next / previous image buttons. Also to note that Oculante is not photoshop, it has editing tools yes, but it's primary goal with those is quick edits.

Ctrl + Z / Y are usually exactly what back/forward buttons are so implementing one would solve the other (by changing the default shortcuts or adding multiple to the same action). I believe that this is really important for quick edits

Being able to move all filters in between, currently there are two types of filters that can't be moved (i.e. Apply Color LUT filter can't be below (or rather applied after?) the Contrast filter)

This is due to a type limitation if I recall correctly. Upcoming designs have already been made around this and I'm not sure there's anything to be done about this or even if it's wanted.

It's not that big of a deal but one day this can be a really painful limitation if the tool expands in the editing direction

Changing the directory where to store the settings and further data (like cache I suppose?), a truly portable application that contains its data in the same folder of the binary would be nice

I'm not sure about changing this directory as it still would require leaving data at the original location, but everything will be put into ~/.local/share/oculante. In the case that there's something outside of this directory, it will likely make its way there in the next update but I'm pretty sure it's already there in the latest version?

I mean being able to change the location of ~/.local/share/oculante to be the directory of the binary. I'm unfortunately on WIndows and like related files to be next to each other (i.e. settings.json next to .exe)

Deleting images feels a little bit too easy to accidentally do it, maybe a popup to ask whether to delete the image with the ability to disable it would help, maybe it's just something that takes some time getting used to

Already implemented, the problem is it doesn't appear on the keybind. This was an issue which I brought up with woelper initially and I believe the consensus was it will come eventually?

Okay great!

(Probably outside of the scope of this program but) Since images and videos are quite closely related, it would be pretty amazing if this tool could also playback videos even when they won't be editable

Fear not! Through the power of random shit people do online, I've already brought this up and it's a possibility! For some reason there's a select group of people who like to rename .mp4 files to .gif, they seem to be uncommon but common enough to a point to consider implementation in my opinion. I've brought up some things for editing as well like having the implementation use a ffmpeg wrapper or something similar for lossless trimming. The problem is of course a native rust library with support for most if not all of the major formats.

I see, great to hear that it's a possibilty!

Bugs

When doing some actions like copy/pasting the image it closes the EditMode side-panel which should stay open when it was already open

I can only reproduce this with pasting, copying doesn't have this issue.

Yes copying does not have the issue, I rather meant copying the image and then pasting it which is one action containing of 2 actions to reproduce it quickly, my bad

  • I found another bug with the "Draw frame around image" setting which on weird scaled sizes displays the frame only partially (like bottom and left while top and right are not shown) and if I'm not mistaken, the frame seems to be drawn one pixel inside of the image but only on the top and right while not the bottom and left frame?

UI/UX improvements

Since you've asked here are a few things I think could also be improved

  • Search bar for keybindings
  • Multiple keybindings per action
  • Ability to move the UI panels around (InfoMode/EditMode panels, not the popup ones)
  • Path to copy/paste to in the "Browse for image" popup
    • If the ability to move popup windows is implemented it could be pretty helpful when there's an option (or perhaps while holding shift) to keep the "Browse for image" popup open when selecting one so fast relative files/paths selection can be possible

Is there anything else I can help with?

@Stoppedpuma
Copy link
Collaborator

And something rather unrelated since I'm rather new to Github: Do you know how to make Github give me some notification whenever someone (like you) replies to an issue or similar?

Those options would be in your account notification settings.

I meant that the center point of zoom in is in the center of the image rather than where the cursor is (similar to the Shift + V idea), no changes to the 1 -> 1x, 2 -> 2x zoom amount

Apologies, I should have phrased that better. I meant that I've seen these be applied towards the image dimensions and frame, not towards the cursor? Is there another program which has this behaviour?

A shortcut to hold down would work just as well, maybe holding down Y (as a default) can do this? Manual input would make this quite slow and even though it will be helpful it won't be helpful for this exact case

How about alt or middle mouse?

I mean being able to change the location of ~/.local/share/oculante to be the directory of the binary. I'm unfortunately on WIndows and like related files to be next to each other (i.e. settings.json next to .exe)

This would still require leaving a file or something in the default location to point to the new one, not sure if that's desired?

UI/UX improvements

Search bar for keybindings + Multiple keybindings per action

Multiple keybinds are planned! This area has also been redesigned. A search bar can definitely be added as well! A preview of these designs can be seen here:

oculante_preferences

image

Ability to move the UI panels around (InfoMode/EditMode panels, not the popup ones)

That's a new one! This might be possible? It mainly depends on if it's possible in egui.

Path to copy/paste to in the "Browse for image" popup

Already planned! This will come around the time that sorting filters are implemented!

@dasbard
Copy link
Author

dasbard commented Nov 20, 2024

Those options would be in your account notification settings.

Thanks for this. Turns out I'm already getting email notifications but those are not shown inside of the github website, very weird.

Apologies, I should have phrased that better. I meant that I've seen these be applied towards the image dimensions and frame, not towards the cursor? Is there another program which has this behaviour?

I think we talk about two different things: The + and - shortcuts are zooming in from the center of the image (I think this is what you mean) but the mouse wheel scroll scrolls in where the cursor is and this cursor zoom also happens when pressing the buttons 1 to 5. This is what I meant, I want an option to have the same center of the image zoom of the + and - shortcuts for the 1 to 5 buttons instead of the cursor zoom.

How about alt or middle mouse?

I avoided alt because it seems to be a button a lot of people use for aditional system wide actions such as moving windows around (alt+holding left click) for example with the tool AltSnap and holding middle mouse is a bit annoying when you use the same finger for left click / right click. To better explain what I mean watch this video (with timestamp) https://youtu.be/TB8gkdRif_I?t=165 till min 3:10

This would still require leaving a file or something in the default location to point to the new one, not sure if that's desired?

Not if it first checks a relative file to the binary and if that doesn't exist it uses the current default location. This could be easily configured inside of the program or even outside by just creating a specific file next to the binary to tell it to use the current folder

UI/UX improvements

Multiple keybinds are planned! This area has also been redesigned. A search bar can definitely be added as well! A preview of these designs can be seen here:

The new design looks pretty good, especially the multiple tabs but I think it contains a bit too much whitespace to quickly see a lot of settings. A global settings search bar considering the multiple tabs can be helpful and also replace the search bar for only the keybinds (unsure what scope you meant with your message)

That's a new one! This might be possible? It mainly depends on if it's possible in egui.

Must be possible but it could be hard to implement, I haven't tried egui yet

Already planned! This will come around the time that sorting filters are implemented!

Very nice!

@Stoppedpuma
Copy link
Collaborator

Stoppedpuma commented Nov 20, 2024

I think we talk about two different things: The + and - shortcuts are zooming in from the center of the image (I think this is what you mean) but the mouse wheel scroll scrolls in where the cursor is and this cursor zoom also happens when pressing the buttons 1 to 5. This is what I meant, I want an option to have the same center of the image zoom of the + and - shortcuts for the 1 to 5 buttons instead of the cursor zoom.

To clarify, you mean pressing 1-5 should zoom according to cursor position, correct? If so this is already the behaviour on master. I thought it was currently zoom based on the middle of the image but it seems not, sorry for the confusion!

I avoided alt because it seems to be a button a lot of people use for aditional system wide actions such as moving windows around (alt+holding left click) for example with the tool AltSnap

This is a first to me, I've only seen and used the windows key + left click for moving around windows. I think alt would work best here since middle click is an oversight for trackpads. Maybe tilde would work better since it's not really a common key?

Not if it first checks a relative file to the binary and if that doesn't exist it uses the current default location. This could be easily configured inside of the program or even outside by just creating a specific file next to the binary to tell it to use the current folder

Not sure about this direction. This could easily lead to several problems and possibly be confusing to users. I think this makes sense to the windows users demographic, but not really to those on unix systems? I can easily see users creating an oculante folder to hold other data like older versions or whatever and things being stuffed into there by accident, possibly resulting in data loss or duplicate data.

Currently the way of handling this in a "portable way" is just an all inclusive folder, this shouldn't be hard to copy or move to another system so it's portable in that way if that makes sense?

contains a bit too much whitespace to quickly see a lot of settings

This is a mixture of design choice and UX / accessibility choice for those on smaller screens. Those on smaller screens are more likely to press a wrong option because they are too close together or may even be on a touch device, especially if they are further away from the device this can be pretty problematic. My thought process here is those with larger screens or resolutions can resize the window if they need more visibility, compared to those on smaller screens who can't really do much. When viewing at the actual size it will be implemented compared to my monitor, it fits a nice in-between and doesn't seem like a problem to me. On my laptops screen it's very nice to have that bit of extra space!

A global settings search bar considering the multiple tabs can be helpful and also replace the search bar for only the keybinds (unsure what scope you meant with your message)

The scope would be everything in preferences.

@dasbard
Copy link
Author

dasbard commented Nov 20, 2024

To clarify, you mean pressing 1-5 should zoom according to cursor position, correct? If so this is already the behaviour on master. I thought it was currently zoom based on the middle of the image but it seems not, sorry for the confusion!

Yeah, so it got changed? I would like the old variant better but I can see how it's less useful

This is a first to me, I've only seen and used the windows key + left click for moving around windows. I think alt would work best here since middle click is an oversight for trackpads. Maybe tilde would work better since it's not really a common key?

Alt + holding left click anywhere inside the window would have the same effect as clicking and holding the window top bar (moving the window), this is something that people with WMs that resize windows when new windows are opened won't be familiar with but with floating windows this is quite helpful and common for power users. Yeah anything works that can be changed in the settings. I'm not on a US keyboard which means the tilde key would cause a lot of issues for me if the implementation does not care about different keyboard layouts

Not sure about this direction. This could easily lead to several problems and possibly be confusing to users. I think this makes sense to the windows users demographic, but not really to those on unix systems? I can easily see users creating an oculante folder to hold other data like older versions or whatever and things being stuffed into there by accident, possibly resulting in data loss or duplicate data.

Yeah it can make it quite hard. Better solution would probably be to provide a .zip release folder that has the binary compiled with a setting to use the directory of the binary for settings and co

Currently the way of handling this in a "portable way" is just an all inclusive folder, this shouldn't be hard to copy or move to another system so it's portable in that way if that makes sense?

With the "all inclusive folder" you mean the ~/.local/share/oculante folder? It's not much work to move it but you have to think about it since the binary (most likely) won't be in that folder.

This is a mixture of design choice and UX / accessibility choice for those on smaller screens. Those on smaller screens are more likely to press a wrong option because they are too close together or may even be on a touch device, especially if they are further away from the device this can be pretty problematic. My thought process here is those with larger screens or resolutions can resize the window if they need more visibility, compared to those on smaller screens who can't really do much. When viewing at the actual size it will be implemented compared to my monitor, it fits a nice in-between and doesn't seem like a problem to me. On my laptops screen it's very nice to have that bit of extra space!

Maybe a slider to make the whole ui smaller/bigger can make this even better?

The scope would be everything in preferences.

Yeah then that's fine

@Stoppedpuma
Copy link
Collaborator

Yeah, so it got changed? I would like the old variant better but I can see how it's less useful

These can always be revisited, for now there are several things which have a higher priority so it may take a bit to match expectations.

Alt + holding left click anywhere inside the window would have the same effect as clicking and holding the window top bar (moving the window), this is something that people with WMs that resize windows when new windows are opened won't be familiar with but with floating windows this is quite helpful and common for power users. Yeah anything works that can be changed in the settings. I'm not on a US keyboard which means the tilde key would cause a lot of issues for me if the implementation does not care about different keyboard layouts

This might be a windows userland thing then, for both Linux and Mac WMs I've seen windows key or equivalent be used.

Yeah it can make it quite hard. Better solution would probably be to provide a .zip release folder that has the binary compiled with a setting to use the directory of the binary for settings and co + With the "all inclusive folder" you mean the ~/.local/share/oculante folder? It's not much work to move it but you have to think about it since the binary (most likely) won't be in that folder.

The user can move the binary into the folder I suppose is the answer?

Maybe a slider to make the whole ui smaller/bigger can make this even better?

This would be up to egui, I don't think there's an option for it so it might require messing with state? Note that egui has no where near the configurations you would find with things like GTK or QT.

@woelper
Copy link
Owner

woelper commented Nov 23, 2024

Thanks for all the great input and discussions!

I definitely can see this being useful! To add to this, there's some formats like .kra or .psd which might as well receive layer support at this point which was something I brought up a little while ago, nothing was really said about it, but it's something I would like as well! @woelper Pinging you here for your input on this?

bypassing a filter should be super easy to add. I am not sure we would want to be the next Photoshop or Krita. I think they are much better at that. I do think that a nice edit stack can still be very powerful. Also if we support all or most bit depths, this is pretty unique. I think if we add masks to each operation we would be very close without becoming too complex.

Being able to move all filters in between, currently there are two types of filters that can't be moved (i.e. Apply Color LUT filter can't be below (or rather applied after?) the Contrast filter)

This is due to a type limitation if I recall correctly. Upcoming designs have already been made around this and I'm not sure there's anything to be done about this or even if it's wanted.

This would be easily possible (it was the way it worked long ago) but it would be super slow to mix them. Oculante is non-destructive, and each tweak recomputes the whole edit stack. Oculante has two types of filters: One type only works per pixel and does not need to know about neighboring pixels. This can be run in parallel and is quite fast. The other type needs access to the whole image (Cropping, resizing). Some of them can become very slow, for example blurring. All per-image filters result in one cached image, and all per-pixel filters in another. As a result, you can resize an image from 20.000X20.000 to 1000x1000, which is slow only once, but then have super fast per-pixel filters on them. Since it is non-destructive, you can just delete the resize filter once you are happy.

Maybe there is a better caching method - for example we could cache one image per filter. In that case you would only need to recompute if a filter lower in the hierarchy changes. But that would come at the expense of memory.

@Stoppedpuma
Copy link
Collaborator

Stoppedpuma commented Nov 24, 2024

Maybe there is a better caching method - for example we could cache one image per filter. In that case you would only need to recompute if a filter lower in the hierarchy changes. But that would come at the expense of memory.

There was an issue that was opened for pre-caching the entire directory a while back, on the contrary of a "low memory mode" there could be a more intensive mode which aims to speed up the users experience at the cost of said memory. Ideas I would have in mind for this off the top of my head is caching a number of nearby images in both directions (next and previous) as well as the image filter "limitation" also being cached for those images to prevent the slow down.

@Stoppedpuma
Copy link
Collaborator

I've split this into a bunch of issues to make tracking easier. I can't promise that all these will be added or fixed, but I hope that at least most of the big things for you make it in! Feel free to open issues about anything I may have missed or that wasn't mentioned previously!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants