Jump to content

Recommended Posts

Posted

1. Pen Tool: Draw a random path.

2. Move Tool: Rotate roughly 30° by dragging outside one of the bounding box corner handles.

3. Click the Reset Selection Box button.

4. Drag one of the bounding box side handles to scale disproportionately.

5. Deselect by clicking outside the object.

 

The bounding box resets to a skewed version of the original bounding box.

 

Is this designed behavior or a bug?

 

If this is designed behavior, how does one reset the bounding box to vertical/horizontal permanently?

 

Thanks,

JET

  • Staff
Posted

1. Pen Tool: Draw a random path.

2. Move Tool: Rotate roughly 30° by dragging outside one of the bounding box corner handles.

3. Click the Reset Selection Box button.

4. Drag one of the bounding box side handles to scale disproportionately.

5. Deselect by clicking outside the object.

 

The bounding box resets to a skewed version of the original bounding box.

 

Is this designed behavior or a bug?

 

If this is designed behavior, how does one reset the bounding box to vertical/horizontal permanently?

 

Thanks,

JET

>If this is designed behavior, how does one reset the bounding box to vertical/horizontal permanently?

 

Why would you want to?

Posted
Why would you want to?

 

 

??

So that the path, after being rotated, would thereafter be considered un-rotated in its new orientation, in order to perform horizontal / vertical scaling and have its width and height values reset, etc. See the Reset Bounding Box command in Adobe Illustrator, or the transformed vs. un-transformed value options in Deneba Canvas. Resetting a bounding box is a very commonly needed function.

 

In Affinity, the width and height fields in the Transform panel continue to display the un-rotated width and height values even when the Reset Selection Box button is active.

 

JET

  • Staff
Posted

Thanks for the feedback.

 

This isn't something we support at the moment and we are trying to achieve parity with the released Mac version of Affinity first. When we have sorted out the bugs in the Windows build we will then start to add features/improvements.

 

Many thanks, TonyB.

Posted
This isn't something we support at the moment...

 

 

Not trying to argue, Tony, but then what is the intent of the Reset Selection Box button, and what is the practical use of the unpredictably skewed Selection Box which results from using it? This is very odd behavior, and I can't believe the majority of users won't regard it as such. Unless I'm just missing the intent of the behavior, I'd say it constitutes a bug.

 

JET

  • Staff
Posted

Not trying to argue, Tony, but then what is the intent of the Reset Selection Box button, and what is the practical use of the unpredictably skewed Selection Box which results from using it? This is very odd behavior, and I can't believe the majority of users won't regard it as such. Unless I'm just missing the intent of the behavior, I'd say it constitutes a bug.

 

JET

 

The Reset Selection Box allows you to normalise the apparent selection box for snapping and orthogonal scaling. The Rest Selection box didn't cause the skewing of the actual box - you did when you scaled a rotated object. The Reset is only a tool view thing and you can press it whenever you need it.

 

We have 300,000 users running the Mac version and they cope just fine.

Posted
The Reset Selection Box allows you to normalize the apparent selection box for snapping and orthogonal scaling. The Rest Selection box didn't cause the skewing of the actual box - you did that when you scaled a rotated object.

 

 

Tony, as you just said, one of the obvious purposes of the feature is to perform orthogonal scaling. That's what causes the skewing.

 

Another obvious and common purpose for a bounding box reset feature is to reference its orthogonal measures, as if the rotated object were originally drawn in that orientation (i.e., resetting its rotation). As I pointed out, Affinity's Height and Width fields fail to do that.

 

I can't speak to your 300,000 Mac version users. I've only been doing this stuff with most mainstream vector drawing programs since the mid 80s, and this feature's behavior looks really goofy to me.

 

JET

  • Staff
Posted

Tony, as you just said, one of the obvious purposes of the feature is to perform orthogonal scaling. That's what causes the skewing.

 

Another obvious and common purpose for a bounding box reset feature is to reference its orthogonal measures, as if the rotated object were originally drawn in that orientation (i.e., resetting its rotation). As I pointed out, Affinity's Height and Width fields fail to do that.

 

I can't speak to your 300,000 Mac version users. I've only been doing this stuff with most mainstream vector drawing programs since the mid 80s, and this feature's behavior looks really goofy to me.

 

JET

 

Thanks for the feedback. I will pass on your thoughts to the guy that deals with that feature.

Posted

Thank you.

 

To explain for the benefit of "the guy" and to others interested in this thread:

 

1. Rectangle Tool: Draw a rectangle. In the Transform panel, enter its width and height as 1 inch.

 

2. Transform panel: Enter 45 in the Rotate field. On the page, the program is displaying a rotated bounding box, complete with user-dragable transform handles. The values displayed in the Transform panel correspond to the displayed bounding box and the widgets. So far, this is intuitive.

 

3. Click the Reset Selection Box button. On the page, the program is now displaying an unrotated bounding box, again complete with user dragable transform handles. But the values displayed in the Transform panel still correspond to the now invisible unrotated bounds. The width and height values still display "1" when clearly, the height and width of the displayed bounding box--and of the actual path--is in fact the square root of 2.

 

3. Enter .5 in the H field and tap Enter. The unrotated bounding box disappears, a skewed bounding box appears, and the value you just entered as .5 changes to .718. Moreover, it changes to .718 in both the H and W fields, when clearly the path does not measure the same in height and width. It does, in fact, measure .5 in height (as you entered), but it of course still measures 1.41 (square root of 2) in width.

 

Yes, I understand that the values displayed (.718) are the lengths of the rectangle's now-skewed axes, but this is certainly not intuitive, and not useful for most ordinary and common uses.

 

4. Click the Reset Transform Box button. Again, the expected rectangular bounding box appears around the diamond shape, but both the W and H fields still display .718. In other words, the on-page interface is displaying a live, active, editable bounding box which is clearly not square, and which clearly does not measure .718 in either its height or width. But the also live, active, and editable interface fields of the Transform panel are implying that the live, active, and editable bounding box is square.

 

Now suppose your whole purpose for clicking the Reset Transform Box was to horizontally scale the diamond shape to match the width of some other on-page object; a 2.5" column width, for example. Entering the desired width (2.5) in the field labeled W will, in fact give you that. But its width will now be reported as 1.256, regardless of whether the skewed bounding box or the un-rotated bounding box is currently displayed.

 

I certainly understand the value of a program's being able to retain (as long as it can) and provide access to the numerical dimension values of an object's transformed bounding box. Adobe Illustrator, for example, displays a rotated bounding box after a rotation is performed, but nowhere in the interface provides user access to its rotated dimensions; neither as readouts nor as inputs.

 

But Affinity is just doing the inverse by providing a bounding box "reset" feature which displays an un-rotated live bounding box while failing to display its dimension values.

 

Rotation followed by non-uniform scaling is important in technical illustration (something near and dear to my heart), and yes, I understand what is going on here. But the majority use of this program is not technical illustration.

 

The best mainstream drawing program interfaces in this matter provide user access to numerical readout and inputs for both as-drawn (un-rotated) and  as-transformed (rotated) bounds (ex; Deneba Canvas). But not in so ambiguous a manner. When doing so, the corresponding elements of what is concurrently displayed and active in the user interface needs to be consistent.

 

5. Now perform the same exercise detailed above, but not with a square, but with just any irregular path you might draw with the Pen tool. As you do so, try to discern any practical use or intuitiveness for the resulting skewed (not just rotated) bounding boxes and the numerical values labeled W and H. I dare say that in such a far more common context, the user will find this interface to be anything but intuitive, and will regard the displayed dimensions of the un-rotated bounding box to be just wrong (i.e., regarded as a bug).

 

Consider:

  • The UI is labeling the dimension fields as "W" and "H" (width and height).
  • The feature is labeled Reset Transform Box and the associated palette is labeled the Transform panel, implying a correlation which does not exist with what is actually displayed when the feature is invoked.
  • The feature is named Reset Transform Box, which implies doing just that--"re-zeroing" the object's transformation information to its current orientation (as similar features do in other programs, and as is expected behavior for most common uses). But it merely temporarily rotates the on-page transform handles and doesn't reset anything, and doesn't even temporarily shift the still live, active, and editable value fields correspondingly.

 

The value fields should reflect the actual width and height of the "reset" Transform Box when it is active and displayed. And convenient and intuitive provision should be made for actually resetting an object's current transformation to zero.

 

JET

  • 4 weeks later...
Posted

Cheking this again in 1.5.0.8, I've noticed another behavior detail which I believe buttresses my point that this is a bug.

 

1. Rectangle tool: Draw a 1" square.

2. Transform palette: rotate it 45 degrees.

3. Click the Reset Selection Box button.

 

As described earlier, the H and W value fields still display 1" even though the displayed and active Selection Box is now 1.4142 in width and height. But moreover:

 

4. Mousedown on the rectangle and drag it.

 

The additional behavior I've noticed: As soon as you begin dragging, the H and W values do update to 1.4142 and they hold that value until you mouseup and the unrotated Selection Box returns.

 

This behavior is rather useless. It feels like it's "teasing you" by momentarily showing you the correct values for the displayed Selection Box and then "snatching it away from you" if you mouseup in order to edit the value.

 

Surely this can't be the intended behavior.

 

JET

Posted

Tony, as you just said, one of the obvious purposes of the feature is to perform orthogonal scaling. That's what causes the skewing.

 

Another obvious and common purpose for a bounding box reset feature is to reference its orthogonal measures, as if the rotated object were originally drawn in that orientation (i.e., resetting its rotation). As I pointed out, Affinity's Height and Width fields fail to do that.

 

I can't speak to your 300,000 Mac version users. I've only been doing this stuff with most mainstream vector drawing programs since the mid 80s, and this feature's behavior looks really goofy to me.

 

JET

 

In 110% agreement with JET_Affinity on this one. No offense to the hard-working Affinity developers, but the behavior JET describes as the "correct" way for it to work is EXACTLY the way Illustrator has been doing it since at least Version 10 (the last version before they switched to the "CS" nomenclature). I don't know if it worked that way earlier than that, since version 10 was the first one I ever used, but it's been this way in Illustrator on PC for at least 15 years.

Posted

A workaround for this is to Group the selection (even if it is a single object). Doing so gives the Group an unrotated Selection Box. But that workaround is insufficient when one wants to truly and permanently reset the object's orientation (a common need).

 

To be clear, I'd certainly want to aim higher than Illustrator for this matter. Illustrator displays rotated bounding boxes, but provides no access to their dimensions in the interface. It always references the horizontal and vertical bound measures, even when it displays a rotated bounding box.

 

So this is actually one of many opportunities to exceed the standard-fare. The "reset" bounding box could be activated temporarily and given an option to "flatten" it permanently. Regardless, though, the H, W, R, and S fields should show values corresponding to the Selection Box as it is displayed. And even doing that is pointless if those values can't then be edited.

 

JET

  • Staff
Posted

Hi guys,

 

The transform tab should read the correct values for an object once you have pressed "Reset selection box" - it doesn't - so that's a bug.

 

Being able to permanently reset a selection box would only work on certain types of object (namely curves - it would transform the curve points by the inverse of the object transform, then set the object transform to identity). It wouldn't work on any other type of object (how can you have a text object which appears to be rotated when its transform is identity?). It's for that reason that it works the way it works - so it won't change..

 

Thanks,

 

Andy.

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.