tiled icon indicating copy to clipboard operation
tiled copied to clipboard

Merge the Layers and Objects views

Open bjorn opened this issue 2 years ago • 3 comments

Name of merged view could be "Layers and Objects", as in Inkscape 1.2, or something more generic like "Hierarchy" or "Outline". Instead of Objects being a separate view, the Layers view will essentially gain an option (with toggle button) to show the objects.

Some notes:

  • The Objects view has "Type", "ID" and "Position" columns that currently make little sense for Layers. Layers don't have a type (though that might change), and while they do have an ID, this is never actually relevant in Tiled (though object ID isn't really either). As position their offset could be shown.
  • Mixed selection may have to be disallowed due to the different actions affecting objects and layers. In Inkscape, selecting a layer implicitly selects all its objects, but I'm not sure if that behavior is desired. One may want to change the current layer without changing which objects are selected (current behavior). We will need to differentiate "selected layers" from "layers actively selected in the layers view".
  • Layers can be locked, but objects can't (though locking of objects has been requested, so that might change).
  • Objects view has a filter, which of course should be available in the merged view.

bjorn avatar Jun 07 '22 09:06 bjorn

I like "Outline", but "Layers and Objects" would probably be easier for newer users to find in the Views and Toolbars menu.

As I mentioned on Discord: For maps with many non-Object Layers, having a separate tab for objects makes it quicker and easier to get to the objects. it also avoids the need to collapse the Object Layers to ease navigating the other layers. So unless we also have some easily accessible filters by layer type on this panel, I'd rather keep them separate.

I would rather not have position shown for layers, it would be distracting, and not useful for me. Could it be made so that if offset is 0,0, it's not displayed at all? That would also make it easier to notice when you've accidentally offset a layer.

Overall, I think I'd rather see them not merged. For my workflow, it offers no benefit, but makes the panel more annoying to navigate and more visually cluttered.

As a counterpoint to Inkscape: Photoshop's Layers panel only shows layers, including vector layers, but has a separate tab for Paths, which are the editable objects. Much like Tiled's current behaviour, you can select any Path on the canvas no matter what layer you're currently on, and its layer will be selected, but if you want to select via a list, you go to the Paths tab. I think Photoshop, being a mixed raster and vector program, is a better art analogue to Tiled than Inkscape is, too. In Inkscape, you're always dealing with Objects, so it makes sense to merge the lists. In Photoshop and Tiled, that is not the case, and the separate Objects view lets you focus on just objects when you need to.

eishiya avatar Jun 07 '22 13:06 eishiya

I would rather not have position shown for layers, it would be distracting, and not useful for me. Could it be made so that if offset is 0,0, it's not displayed at all? That would also make it easier to notice when you've accidentally offset a layer.

All additional columns (Type, ID and Position) can already be toggled on/off by context menu of the header. I should probably look into making that easier to discover.

For my workflow, it offers no benefit, but makes the panel more annoying to navigate and more visually cluttered.

There would be a persistent (stored in session) toggle whether objects are visible in this unified view or not. So switching between seeing objects or not should still be as easy as it is currently to switch between the Objects and Layers views.

bjorn avatar Jun 07 '22 13:06 bjorn

All additional columns (Type, ID and Position) can already be toggled on/off by context menu of the header.

But I do want position visible for objects. Just not for layers xP So I'd want them in the Objects panel, but not the Layers panel.

Unless Tiled saves separate settings for the panel based on whether you have objects enabled (in which case it's functionally just a separate panel anyway, but with more clutter than just a tab bar), I just don't see the benefit for my workflow, which tends to oscillate between doing a bunch of Object work and a bunch of non-Object work ):

Edit: To clarify, I'm not entirely against this change, I just hope that the new merged panel can be made as easy to use and uncluttered for my workflow as just switching between the Layers and Objects tabs xP

Many months later edit: I still feel the same way. I'd like to see the ability to nest objects and object groups within objects (which is a separate issue), but I do not want to see the layers and objects views completely unified, as I use them in different ways and find their separation quite convenient. Even if unified, I would want to continue to use them in separate ways.

eishiya avatar Jun 07 '22 13:06 eishiya