trevorsandy / lpub3d

An LDraw™ editor for LEGO® style digital building instructions.
https://trevorsandy.github.io/lpub3d/
130 stars 19 forks source link

Callout placement for multi-step is not placed inside assem. Works correctly for non-multi-step. #720

Closed d-j-m-0 closed 1 year ago

d-j-m-0 commented 1 year ago

Subject

When a callout is used on a multi-step, the image for the callout cannot be placed inside the assembly's "area" despite the option being available.

Environment

Steps to reproduce

Open the model within the attached zip file. The first page is defined as a multi-step. Right mouse click on the callout, select "Change callout placement" context menu item, pick (a) Relative to Assem and (b) Bottom/Right. Click Ok. Callout is placed outside of the assembly's image area despite being instructed to place in within the assembly image area..

On page 2 (non-multi-step), repeat the same process. Callout is placed within the assembly's image area (as expected).

multi_step_callout_placement

multi_step_not_inside

not_multi_step_is_inside

Expected behaviour

Callout should appear within the assembly's image area for the step when using a multi-step.

Actual behaviour

Callout appears outside of the assembly's image area.

Workaround

None known. Dragging the callout to within the area still has LPub3D thinking the image extends to the right (or below) the assembly's image area, making the step wider or taller than it actually is.

Solution suggestion

Allow the callout to be placed within the assembly's image area. The width/height of the step should then exclude the callout area except where it extends beyond the boundary of the assembly image area.

callout_multi_step.zip

trevorsandy commented 1 year ago

Thank you for reporting this behaviour - another good catch!

This behaviour has been corrected. Like #719, this was present since legacy LPub.

CalloutPlacement_00_720

CalloutPlacement_01_720

CalloutPlacement_02_720

Cheers,