[Feature Idea] Overview of Things

Started by eri0o, Thu 14/08/2025 19:40:38

Previous topic - Next topic

eri0o

Recently I had to quickly find specific things by ID in AGS and implemented a Go To thing where you can type the number and it will navigate to it in the Project Explorer and open any respective pane if it exists. (you can see some of discussion on it in its PR here)

Anyway, now still an issue I have is sometimes I remember something graphically, and just want to quickly navigate a view of all the icons of things to find it... So my idea was to add an Overview command and an Overview dialog, focused on quickly looking for something graphically.

>> video of the thing <<

Now is this need something others have? Would this be useful?

Implementation wise, this uses a virtual list, an image thumbnail cache and it will get the sprites as needed as you browse, make the thumbnail and cache the thumbnail, which uses 96x96 px fixed size images which are not large enough that requires (I think) a cache size limit (at least for now???).

For Inventory Items the thumbnail image maybe is the obvious image of the item, for Characters and Views I pick the sprite in frame 0 of loop 0 of the corresponding view. I guess for GUIs and Rooms, it would require having a method that would assembly the thumbnail as needed when browsing somehow??? Not sure how to do that.

To explain, both rooms and GUIs would require to render more than the background image to be able to make sense of it, the GUI usually have buttons with images and the rooms may have large objects (like in a game with lots of parallax effects) that make up most of the room. Additionally for GUIs, Text GUIs require some special rendering too.

Anyway, I am curious for thoughts on this idea and if someone else needs to look for things graphically.

I use folders and organize things there by "game areas" in each of the nodes, but sometimes I want a quicker access (by memory?), this is why of this idea.

Crimson Wizard

#1
This is an interesting idea, and I can see why such functionality may be useful. I cannot tell which would be a good GUI implementation now, there may be alternatives for how to do this (the look of the window, how and from where it's called, etc).

I believe that, if done, this should be done in AGS 4, not only because it's going to be a completely new editor feature, but also it may benefit from optionally caching thumbnails on disk, expanding the project's structure with optional "workspace" folder(s). At least for Rooms it will be much easier in AGS 4, because its backgrounds are already stored as distinct files in the project folder.

eri0o

Any idea if the thumbnails on disk would work better as either a dir with many little pngs or like a "thumbnail.db" where using some simple db format (SQLite? AGS's own spritefile?) it would store it? The critical things are both the rooms and the GUIs where creating the thumbnail is nontrivial for both.

Also I used a ListView in my example because I thought it was simple but I am not sure if it's the best way to go. Using it's virtual functionality is fast though and it can easily have thousands of items apparently without issue - though maybe this would require the memory cache to be limited. If there was some way to reuse the sprite cache and file from the engine it would be cool since it's a similar problem.

The other thing is that in my imaginary workflow I played with it as a dialog, but I wonder if having it as a panel is interesting or not - can't tell really, I am mostly a script centric person and showing a panel "disturbs" my workflow a bit. On the other hand it could perhaps be useful for say, having additional functionality there if ever required - don't know what though? Having it as a dialog meant to load quickly and go away quickly is practical though.

The other thing is I thought I could somehow copy the right click context menu that exists in the Explore Project panel so that you could also if there was something useful from there but I wasn't sure if that would be good, so I went with a two step approach where it's just a Go To.

SMF spam blocked by CleanTalk