Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvements for transform gizmos (relative values and QOL improvements) #8371

Draft
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

yw4z
Copy link
Contributor

@yw4z yw4z commented Feb 10, 2025

PREVIEW

ShareX_oWCFQxl7mj

TODO

• Match code changes with source
• highlight axis color on rotation gizmo while relative rotation buttons hovered like on position gizmo

COMPARISON

Before
• Window dimensions and layouts changing each time it makes hard to track values
orca-slicer_Cy9kiysr9V

After
• Window dimensions and layouts stays consistent and it makes easy to track values
orca-slicer_CIiT34oQ4y

CHANGES

• Adds relative positioning for move gizmo
Screenshot-20250215092933

• Adds predefined relative rotation for rotate gizmo (selective as 30/45 degree). This will reduce dealing gumball / rotation orbit greatly for basic rotations like 90 degree rotation
Screenshot-20250215092941

• Reduces mouse movements. It cuts distance for X input by half. Improvement came from using "World" instead "World Coordinates" and centering gizmo
Screenshot-20250211141823 copy

• Moves reset button after axis texts to reduce gizmo width. Since there are many input boxes on bottom using it on header makes much more sense. Reduces width by 22px
Untitled-1

• Used "World" / "Object" instead "World Coordinates" / "Object Coordinates" to reduce window width. Reduces width by 52px
Screenshot-20250211143756 copy

• Used "World" / "Object" as colored text to create differentiation with Position/Rotation/Scale

• Adds "World" / "Object" to scale gizmo to increase consistency

• Fixes all gizmos to center of canvas and creates all all widgets with same layout. Check comparison section on top

• Added axis highlighting for relative position input box and relative rotation buttons (while hover)
Screenshot-20250219161604
Screenshot-20250219161657

ABOUT CODE CHANGES

• It requires a bit changes on code. I checked BBL code and it already different then ours
• Most of change coming from using fixed layout. I have to move space_size, unit_size, caption_max to top of each render function
• Moving reset button to top also requires repositioning on code but using fixed window width eliminates requirement of invincible button

EXISTING BUGS

• Values giving weird results while using relative rotation. But i can replicate this input values manually. I assume there is a problem using PI on calculations
orca-slicer_4vGWWgknnR

bug on existing build. checked BBL and they have same problem
orca-slicer_4FRxwhC9d8

• Rotation gumball axes colored wrong that makes confusion
Screenshot-20250211152800

• Rotation axis highlighting shows on wrong angle if values changed
Screenshot-20250219161127

@Noisyfox
Copy link
Collaborator

Do you consider also port the coordinate selection from BBS & Prusa?

@yw4z
Copy link
Contributor Author

yw4z commented Feb 19, 2025

@Noisyfox i thought you didnt add that combo box with purpose since its not working correctly. but looks like bbs corrected some
i can add a toggle to switching between world / object if you think its useful. toggle will work better compared to combo box. but

also not sure how to find their related commits and merging to orca's code

orca on Scale + World coordinates
Screenshot-20250219162725
bbs on Scale + World coordinates
Screenshot-20250219162815

also looks like they fixes this
orca axis highlighting on rotation doesnt appear on correct
Screenshot-20250219163350
BBL axis highlighting on rotation
Screenshot-20250219163229

@yw4z
Copy link
Contributor Author

yw4z commented Feb 19, 2025

btw whats your opinion on centering all gizmos to center and using same layout / dimension on all of them

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants