Quality of Life feature suggestions

Created Allow toggling visibility of other maps in the World · Issue #2859 · mapeditor/tiled · GitHub for this.

I like this idea, and thanks for reminding me that we already discussed this half a year ago. :slight_smile:

I think that’s generally a good idea, but I worry a little about it being less intuitive since people would generally expect the top-most to be selected first. Also, not everybody may be using the groups in a way that makes this feature useful.

What if we would only do this, when “Highlight Current Layer” is enabled?

That’s what Ctrl+Shift+A does already, whereas Ctrl+D duplicates the selected objects. But you can change those keys if you want.

Created Allow pinning the current position in the tileset view in the tile palette · Issue #2860 · mapeditor/tiled · GitHub for this.

Yeah, I can imagine this changing of view position can get quite annoying. Since selected objects are generally quite clearly highlighted I don’t think we need to make this change optional.

A nice idea! Of course they’re currently always blue because it’s using the icons I had made for the different object types. It will be an interesting exercise to make those colored dynamically, maybe even making them small miniatures of the actual shape of the object. I’ve created Use the object color on the icon in the Objects view · Issue #2861 · mapeditor/tiled · GitHub for this.

Opened Make the background fade color customizable · Issue #2862 · mapeditor/tiled · GitHub for this.

I won’t create a lot of small issues about this now and I can’t commit to implementing them quickly either because most of them represent significant challenges. But, they do all match the long-term goal of the projects feature.

  • Regarding searching for objects in any map in the project, or searching for properties with certain values, the challenge is that it would require loading all maps in the project. For most projects, this will not represent much of an issue, but for some it will. To enable it in a scalable way, I think we need:

    • To categorize each file in the project with an asset type, so that we can quickly get a list of “all maps”. Unfortunately, we can’t rely on the extension here in the general case, since for example a .json file can be anything. This categorization needs to happen asynchronously and should be cached.

    • To change the way maps are loaded, such that we can load maps without loading all the images they reference, given that loading the images is the slowest part and takes the most memory.

    • To make the search field that pops up when using “Open File in Project” customizable with different filters and to make its search asynchronous to avoid laggy UI when searching lots of maps.

  • Generating usage frequently information for tiles, mass-exporting of maps or changing the tile layer format for many maps at once are all features that as you said are things that are good to do with scripts. But the scripting API needs to be extended to enable it. Right now I’d rather make it easier to find and share scripts than to hardcode such features, since anything I’ll implement will often lack flexibility for some person’s needs. The Projects issue is still open as a reminder to add a scripting API.

  • Finally, regarding the tileset image change of width (changing height doesn’t need updates to maps), my goal here is to change the tileset definition such that existing tile IDs are not affected. A mass update to all maps, stamps, templates, etc. should really not be required after such a change, and avoiding this is probably worth a breakage in compatibility (which should not be hard to update for). I’ve created issue Change tileset definition to avoid renumbering tiles when image width changed · Issue #2863 · mapeditor/tiled · GitHub about this.

Thanks a lot for all the feedback!

2 Likes