[+][SUG][ED] Create more ways to select pieces

Started by roltemurto, April 03, 2026, 02:49:08 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

roltemurto

When there are multiple objects, terrain etc on top of each other, with similar sizes and irregular shapes, it becomes impossible to select the desired asset.

For example on the design I am currently working on; I have a terrain piece on top of a very large piece of steel and an exit object on top of all.
I had to move the terrain back in order to align and position my exit but now I am stuck with not being able to select it because of the steel which blocking the way.

For my particular problem; an option to Show/Hide Steel (like any other layer) would solve it immediately.
Steel is the only asset type that hasn't got an option to hide/show.
I know steel is also technically a terrain, but I am referring to the distinction between steel and not steel.
Because in my example, I need to select the "not steel" terrain which is below the steel.
I fear it may not be possible to implement since the editor sees them all as terrain
but am hoping using it's flag etc would allow it.


An option in the settings or a modifier key press; that simply allow bypassing the alpha channel when selecting, would also save me right now.
I believe CTRL+Click and/or holding down the left mouse button 'sometimes' help with selecting an object which is behind of another,
but because of it's inconsistency I'm not so sure if this feature actually exists or not.

What would be a QoL update is; an actual toggle button to let the cursor prioritize and select the layer at the back/behind.

What would be an even better addition; is the layer system implementation;
Currently there is no way to tell how many layers are there or which and what layers are currently on the map.
This also makes it impossible to clean/delete an asset that has been removed/changed from the style folder,
because there is no way to select it once the editor is restarted, the level is reloaded or simply the styles has been refreshed.


If there was a file list or a layer system, that would allow;
- Eliminating the need to use the "depricated" feature. Since the assets can be selected and deleted from there,
- The ability to select/move, show/hide layers and objects individually,
- The ability to see/find assets at a glance, since it is outlined as it's selected,
- The ability to see/find how many and which assets are currently placed on a level,
  (assuming the filename is used for layer name instead of effect type)
- Make grouping and organizing much easier,
- Possibly allow to Show/Hide asset groups or groups of layers.


I hope I was able to explain the situation that I am struggling with.
Please let me know if I am missing something and if there's an already implemented way of working or selecting 'the object behind'.
Because even the marquee doesn't always help.


WillLem

Thanks for your suggestion.

This is definitely a problem I recognise. I often find myself having to manually move pieces out of the way to get to the piece I actually want, then move the pieces back to their original position afterwards. We definitely need a solution to this, for sure.

The "select pieces below" hotkey (Alt + LMB by default) does work some of the time, but becomes difficult or impossible to use properly when there are multiple overlaying pieces. It's here in the Hotkey Config btw, should you wish to remap it to something else (Tools > Configure Hotkeys):



We can do better than this though.

To respond to your suggestion: I'm imagining that by "layers system" you mean some way of adding pieces to a base layer, then add a new layer and add more pieces there, then another layer and add more pieces there, etc. Then, be able to switch between the layers as needed. If this is what you mean, then I'm not sure I agree that a layers system is the best way to solve this problem, as it would overcomplicate rendering and give the user more UI stuff to keep track of. It just about works for image editing, but I don't think it would be a good fit for a level editor tbh.

However, since the main concern seems to be more with being able to select a certain piece more easily, there are definitely other ways we can achieve this. So, I've re-titled the topic accordingly and we can explore the various options.

To respond to some specifics in your original post:

Quote from: roltemurto on April 03, 2026, 02:49:08 AMFor my particular problem; an option to Show/Hide Steel (like any other layer) would solve it immediately.
Steel is the only asset type that hasn't got an option to hide/show.

Good shout. I'll add Show/Hide Steel in the next update for sure.

Quote from: roltemurto on April 03, 2026, 02:49:08 AMAn option in the settings or a modifier key press; that simply allow bypassing the alpha channel when selecting, would also save me right now.

This one could be done, but then the selection rectangle becomes somewhat redundant. We'd need to wrap the solid pixels with an exact outline (think 'magic wand' selection in image editors) and have that be the selectable area: not trivial to implement by any means, and still doesn't always guarantee selectability (which is what we're trying to achieve here). It's an interesting idea, though, and could be good for piece selection in general. Maybe one to come back to later.

Quote from: roltemurto on April 03, 2026, 02:49:08 AMWhat would be a QoL update is; an actual toggle button to let the cursor prioritize and select the layer at the back/behind.

This is closer. A hotkey that allows the player to 'walk' the selection through the pieces currently under the cursor could be extremely useful. Using the cursor location as a reference, hold the hotkey, and click the LMB until the piece you want is selected. This could solve the problem entirely, and wouldn't be too difficult to implement. 'Grab lowest' and 'grab highest' could also be done.

Quote from: roltemurto on April 03, 2026, 02:49:08 AMWhat would be an even better addition; is the layer system implementation;
Currently there is no way to tell how many layers are there or which and what layers are currently on the map.
...
If there was a file list ... that would allow...

The render layers are (from lowest to highest): background, objects low, terrain (inc. steel), objects high, rulers. Each piece is then drawn to its own 'layer' within that system, ordered by index. To implement a separate 'layers' system, this framework would have to be duplicated, which could get messy very quickly.

Conversely, the "asset list" you've hinted at is an interesting idea that could work perfectly alongside what's already there. We could have a pop-up list (which can be closed or opened at any time) which simply lists every piece active in the level, in index order and with details such as location, render layer, whether it's an eraser piece, etc. Clicking a piece on the list could then select it in the level arranger (and vice versa). This could work, for sure, and would be much simpler to implement and maintain than a layers system. "Move Up", "Move Down" and "Delete" buttons could also be added for convenience.

Quote from: roltemurto on April 03, 2026, 02:49:08 AMThis also makes it impossible to clean/delete an asset that has been removed/changed from the style folder,
because there is no way to select it once the editor is restarted, the level is reloaded or simply the styles has been refreshed.

Not so. Missing pieces can be deleted by simply opening a level that contains missing pieces; the Editor will identify them, and they can then be deleted by choosing "Delete Missing Pieces" from the status bar menu. If you're not seeing the status bar message when you open a level with missing pieces, then this could be a bug. This is what you should see:



Please let me know if you do not see this message when opening a level with missing pieces. You should also see it after refreshing styles (if a piece becomes missing due to the refresh).

Quote from: roltemurto on April 03, 2026, 02:49:08 AMI hope I was able to explain the situation that I am struggling with.

Absolutely, and it's something that I too struggle with now and again. You've given me a nudge to finally do something about it!