Commit Graph

167 Commits

Author SHA1 Message Date
1584bfd5a0 fix: Deactivate active tool on Escape key press 2026-02-17 10:38:47 -07:00
3e2f464de9 refactor: Introduce SketchTool base class and derived tool skeletons
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-17 10:18:36 -07:00
e64755ea0c feat: Make rectangle corners snappable
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-17 10:01:00 -07:00
b144efbe05 feat: Allow editable rectangle dimensions and fix Tab crash
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-17 09:57:36 -07:00
966ab037b5 fix: Connect rectangleAdded signal to ApplicationController
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-17 09:52:11 -07:00
246372b847 refactor: Implement Rectangle tool with snapping and dimensions
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 20:45:39 -07:00
2b455f57d4 fix: Set YZ plane line angle reference to horizontal
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 20:37:08 -07:00
ed88730edb fix: Correctly place dimension labels based on angle difference
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 20:32:23 -07:00
7f304bf1f3 fix: Position linear dimension opposite angle to avoid overlap
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 20:28:17 -07:00
f5c7f6d326 fix: Normalize angle for dimension text to align with arc
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 20:23:39 -07:00
c43330fe5e fix: Adjust chained line angle ref dir for free drawing
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 20:13:21 -07:00
9cacbf4e0e fix: Correctly position angle dimension text in all quadrants
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 19:53:48 -07:00
8febc50fec fix: Correct dimensioning arc direction and align text angle snapping
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 19:50:09 -07:00
c9c1b38f45 fix: Redefine angle dimension quadrant snapping
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 19:47:03 -07:00
c117ff3a8a fix: Adjust angle dimension arc direction on quadrant snap
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 19:31:23 -07:00
34cecc38d5 fix: Apply typed dimensions/angles on mouse click for lines
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 19:26:58 -07:00
2f7d2a4189 fix: Ensure angle dimension arrows always point outward
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 19:24:01 -07:00
1fb211cc34 feat: Highlight active dimension input blue by default
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 19:21:12 -07:00
b2d5cd19d4 feat: Prevent Tab key from moving focus outside active viewport tools 2026-02-16 18:51:57 -07:00
d89b7e42bc fix: Resolve variable redeclaration and font metrics scope in paintGL
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 17:45:05 -07:00
9d72fe2155 feat: Add editable angle dimensions to line drawing
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 17:42:05 -07:00
93282fce52 feat: Implement interactive dimension input for line drawing
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 17:23:35 -07:00
a18435bb15 style: Reduce radius of unattached sketch vertices 2026-02-16 17:04:13 -07:00
ec75ab41c5 style: Render unattached sketch vertices as filled circles with outline
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 16:51:11 -07:00
aaaf9a44ff feat: Billboard unattached sketch vertices
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 16:48:31 -07:00
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
ba4f63a994 feat: Connect toolDeactivated signal to reset active tool
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 16:28:51 -07:00
8231ab49c2 fix: Use QOpenGLExtraFunctions for glBindVertexArray
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 16:16:33 -07:00
7010c60b34 fix: Restore OpenGL VAO binding after drawing sketch grid
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-16 16:14:18 -07:00
0ed62153b0 Project settings 2026-02-15 13:42:44 -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
3959fad6c2 fix: Consolidate shader resources into main QRC file
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 13:15:01 -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
49bfbab95b fix: Wire up plane selection mode signals and slots
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 11:12:49 -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
c5df9f9d47 refactor: Align sketch plane dialog names with Z-up views
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-15 10:23:43 -07:00