Commit Graph

102 Commits

Author SHA1 Message Date
bc2e84a537 fix: Replace qPi() with M_PI to resolve build error
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 16:45:59 -07:00
f842555582 style: Render unattached sketch vertices as unfilled circles
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 16:45:22 -07:00
a980ad52be fix: Replace QMap with std::map for custom comparator support
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 16:41:59 -07:00
1ebe10dcee feat: Render unattached sketch vertices as circles
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 16:40:22 -07:00
97bb3466f8 fix: Add and emit toolDeactivated signal in ViewportWidget
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 16:29:41 -07:00
63447fff90 fix: Destroy OpenGL resources before context cleanup
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 13:17:24 -07:00
e155c9551c refactor: Migrate ViewCube to shader-based rendering
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 13:11:14 -07:00
6843a85135 feat: Update SketchGrid to use shaders and re-enable drawing
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 13:08:21 -07:00
0f43715c6b refactor: Migrate ViewportWidget to shader-based OpenGL rendering (FFP disabled)
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 13:03:37 -07:00
af121ce6eb refactor: Extract camera logic to Camera class
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 12:03:41 -07:00
58d154b4ff feat: Display sketch grid preview on plane highlight
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 11:21:22 -07:00
5be7c25a0d fix: Allow selection planes to be picked from both sides
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 11:19:50 -07:00
921cf117a7 style: Make sketch plane selection squares yellow
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 11:17:29 -07:00
b11b345235 fix: Prevent sketch overlap and improve plane selection visibility
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 11:11:39 -07:00
8424097127 feat: Implement in-viewport sketch plane selection
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 11:09:28 -07:00
d2fe4226ea fix: Always allow camera rotation regardless of sketch plane activity
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 10:30:12 -07:00
91d1a60343 feat: Set initial camera to an isometric view
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 10:27:10 -07:00
4f08770fa2 feat: Show XY (Top) grid by default and when sketch ends
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 10:25:48 -07:00
2e9cf84ec2 fix: Correct snap rectangle orientation for XY and XZ sketch planes
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 10:18:13 -07:00
7c86e77591 fix: Correct XY and YZ sketch plane view orientations
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 10:13:21 -07:00
245d2bd0b3 feat: Reorient sketch planes to match Fusion 360 views
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 10:08:56 -07:00
1bda9bd16d fix: Prevent snapping indicators when no sketch tool is active
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 22:28:59 -07:00
6e5a819c42 feat: Add horizontal/vertical line snapping with visual indicator
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 22:26:38 -07:00
6e64856f23 feat: Add vertex snapping and draw line endpoints
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 22:16:14 -07:00
78ac60926d feat: Make snap origin indicator 50% transparent and region rectangular
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 22:12:36 -07:00
886a8a72d6 feat: Refine snap origin indicator to outlined and zoom-independent
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 22:09:30 -07:00
d3cb5e36f9 feat: Add origin snap for sketch points and preview
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 22:04:21 -07:00
2d3df3097b fix: Enable key events in viewport by setting focus policy
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 21:59:25 -07:00
0030908d6d feat: Implement chained line drawing with Esc key exit
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 21:57:55 -07:00
f30eac7c06 Fix cursor 2026-02-14 21:50:54 -07:00
91f1a0e02a refactor: Use SVG for cursor rendering
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 21:35:09 -07:00
dc7f3642b8 feat: Render composite arrow and tool icon for active tool cursor
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 21:21:51 -07:00
0250287ba0 fix: Eliminate tool icon lag with custom QCursor
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 21:19:08 -07:00
25e3604336 fix: Enlarge and invert tool icon color for visibility
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 21:16:26 -07:00
8f814c8710 fix: Disable GL depth and cull face for 2D icon rendering
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 21:14:13 -07:00
94d04c7002 feat: Render active sketch tool icon at cursor position
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 20:50:25 -07:00
8e1ab54cb5 feat: Add interactive sketch line drawing to viewport
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 19:19:13 -07:00
fa5852b8db refactor: Introduce ApplicationController to centralize logic
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-13 17:29:04 -07:00
b0a32940b0 fix: Rename camera state members to avoid name conflicts
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-09 18:13:41 -07:00
7955af77be feat: Animate camera transitions for sketch mode
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-09 18:11:36 -07:00
eea8099bd2 feat: Hide sketch grid when saving a sketch
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-09 18:08:42 -07:00
c8b178e0a0 fix: Enable OpenGL depth test and face culling for View Cube
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-09 17:43:23 -07:00
6e335ef724 refactor: Refactor feature browser, move to top-left, and increase font size
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-09 17:36:45 -07:00
c6f82a04e8 feat: Implement floating feature browser in viewport with transparent background
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-09 17:33:01 -07:00
bc851585f7 fix: Correct camera orientation for XY and XZ sketch planes
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-09 16:55:56 -07:00
ec658360a6 feat: Add sketch creation with plane selection, oriented grid and labeled axes
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-09 16:51:15 -07:00
74364f0152 fix: Correct typo in QMatrix4x4 declaration in ViewportWidget.cpp
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-09 16:19:14 -07:00
fbfb496930 chore: Remove initial test cube drawing
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-09 16:18:46 -07:00
732a7bd428 refactor: Extract view cube rendering to dedicated class
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-09 16:04:40 -07:00
be35ae3196 feat: Render view cube labels as OpenGL textures
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-09 16:01:00 -07:00