Feature request: diagonal symmetry

Inspired by latest aseprite update, I would like to request diagonal symmetry and also an overhaul over the current symmetry tabpage.

Diagonal symmetry is just this:

diagonal-symmetries-demo

The current symmetry tabpage looks like this:

afbeelding

We now have a combobox to select X mirror, Y mirror and X/Y mirror.
When diagonal symmetry is added there are too many combinations to put in the combobox.

I think below is a good solution

  • I would recommend using buttons for each mode: X mirror, Y mirror, diagonal symmetry 1, diagonal symmetry 2 which can be enabled/disabled and then are displayed together on the canvas: X axis, Y axis, diagonal 1 and diagonal 2.
    Each button you can click and it will stay “pressed”, showing it’s enabled. If you click it again, it’s disabled (“unpressed” state)
    In this way we can enable any combination of symmetry modes and they can be enabled/disabled very quickly just by enabling/disabling a button. There is enough room in the tabpage for the buttons.

  • The multi dot mirror and multi dot cycle buttons should disable the X mirror, Y mirror, diagonal symmetry 1 and diagonal symmetry 2 buttons because they can’t be enabled together I think? (I’m no expert in those 2 modes)

I would also like to request an axis color option (just below “show axis”): when you are working on dark canvas the dark blue is hard to see. Users can adjust the axis color depending on the canvas :slight_smile:
I don’t think a whole palette of colors should be available for the axis: just some pre-defined colors in a combobox maybe (from very light to very dark)?

1 Like

I personally think it would be useful to have the x or y symmetry have a rotation option you can enter in degrees or just pull the division if that works better for the user that is what I would like to see.

Yes that’s cool!
Then we have more freedom

:wave: in krita there is multi brush that can do what Morintari say, it also can do radial symmetry. useful for make mandala, flower, snowflake etc
 imagine it with animpainting to make kaleidoscope. âœŻâœ”

You can already literally do the exact same effect in your demo by setting:
Symmetry mode: Multi Dot Cycle
Dots: 4
image

  • There are some user/community demos out there doing mandalas on old versions of PMNG. IIRC, these are on steam and youtube. I think some of these are animated in PMNG, too.

Counter arguments:

  • What you’re suggesting largely seems to be bringing out the hidden menus to the front. I would agree to this, if not only for the versatility and power both Multi Dot Mirror and Multi Dot Cycle brings. Doing your suggestions would clutter and bring confusion to the UX more, IMO.

Though i admit, the UX right now isn’t probably the most optimal. But i don’t have any easy solutions for it, either.

  • Additionally, the enable/disable button state UI paradigm suggested would incur additional ‘settings overhead’, IMO. Having to enable/disable only one at a time is much more simple. And both multi dot options cater to when complex symmetry settings are needed.

I’m with you on:

  • I like the changeable axis colors suggestion. We can already do this for Grid Layer Settings in Grid Line Color. So i have high confidence this may not be that hard to implement.

If I do that, I only have X and Y axis. The demo shows also 2 diagonal axis.

Oh. Sorry. I was only focusing on how to replicate the drawing in the demo with the symmetry tools we already have.

So what you actually want are diagonal axis lines to be displayed as well when using symmetry tools.
I mean, that’s actually reasonable and potentially helpful. I’d be down with something like that in the back pocket.

To go through it step by step:

If I’m not mistaken then the demo can be achieved with “Multi Dot Mirror” and using 4 dots.
@pixel-art-girl can you confirm?

What you would not be able to do is:

  1. defining a free rotation
  2. arbitrary combinations of horizontal/vertical and the two diagonal axis.
    @pixel-art-girl can you confirm?

The demo is also using both diagonal axis, which I dont find at all in pro motion. If I do “Multi Dot Mirror” and using 4 dots, then only X and Y are used while in the demo also the 2 diagonal axis are used.

Yes, 1. and 2. is my feature request. But replacing the combobox with buttons that are “pressed” for X, Y, diagonal 1, diagonal 2 axis and also a widget for free rotation (angle) of the diagonal axis.

Don’t be confused by the just vertical and horizontal rulers. They only show the center of the symmetry. They where not meant to be the showing all mirror axis. When you use Multi Dot Mirror with 4 dots then you have 8 dots overall.

What I could do is to actually show all the mirror axis when Multi Dot Mirror is enabled to be less confusing but from a functional perspective it matches your demo.

But
 in Ase you can separately enable each axis. This is currently not possible and needs to be added as you suggested. I wonder if it would be enough to just add a degree definition instead of the buttons. This would not enable all combinations but would they be required? Would it make sense to have all the combinations?
E.g. what use case would be covered if Ase buttons 1 and 4 are enabled or 2 and 3 etc.?

Ah! I finally get it now. It’s REALLY confusing for me. I thought the whole time it were the mirror axis :slight_smile: In Aseprite the mirror axis are shown.

If you make buttons there is ultimate freedom in the axis, now there isn’t. I don’t know if there are real use cases for it, but there could be (i can’t think of examples now)

This is all fine and dandy but Jan.cosmigo you still haven’t approached the concept of and adjustable axis for mirroring 1 axis’s. Please let me know if this is and option and if it would work in 3D?

The takeaway for me is now:
When using Multi Dot Mirror mode, the rulers must always show where the mirror line is. I just did not think about this :man_facepalming:

Adding a degree setting helps to tune symmetry positioning.

Adding buttons for arbitrary combinations is not backed by real use cases. Therefore, the change is not really required.

You should also allow a color for the axis (some pre-defined colors). A dark blue axis can’t be seen very well on a dark canvas.

I think you are taking away the user’s artistic freedom when you say “there are no use cases” for it.
Abstract pixel art is existing too :slight_smile: The drawing doesn’t have to reflect reality in its symmetry

So if this feature is not added, I continue to use Aseprite for this specific feature.
A program should not restrict a user in it’s artistic freedom by restricting the things you can do with the tools.