 tannerandaider
|
94304bd2e3
|
feat: Add mouseReleaseEvent declaration
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 13:07:38 -07:00 |
|
 tannerandaider
|
88199a9d51
|
feat: Implement middle-mouse rotation around grid intersection with visual pivot
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 13:04:33 -07:00 |
|
tanner
|
68eeeb11ec
|
fix: Adjust camera distance text position in viewport
|
2026-02-17 13:04:30 -07:00 |
|
 tannerandaider
|
e00af9a8e3
|
feat: Scale axis length with grid size
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 12:53:16 -07:00 |
|
tanner
|
ef55eac997
|
feat: Adjust grid scaling thresholds and parameters
|
2026-02-17 12:53:14 -07:00 |
|
 tannerandaider
|
483b673229
|
feat: Display camera zoom level in viewport
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 12:39:24 -07:00 |
|
 tannerandaider
|
e8afc0a4b4
|
fix: Correct dynamic grid scaling based on camera distance
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 12:34:54 -07:00 |
|
 tannerandaider
|
1779725d53
|
feat: Implement dynamic sketch grid based on camera zoom
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 12:32:02 -07:00 |
|
tanner
|
b056ccbfec
|
style: Refine sketch grid line appearance
|
2026-02-17 12:31:59 -07:00 |
|
 tannerandaider
|
3a7cd78fb2
|
style: Lighten major grid lines and rename line vectors
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 12:25:08 -07:00 |
|
 tannerandaider
|
d274b4f59f
|
refactor: Move axis label drawing logic from ViewportWidget to SketchGrid
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 12:19:46 -07:00 |
|
 tannerandaider
|
a0dbc537cf
|
fix: Increase far clip plane for greater draw distance
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 12:19:46 -07:00 |
|
 tannerandaider
|
ddf6f6fd85
|
feat: Implement pixel-perfect camera panning
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 12:19:39 -07:00 |
|
 tannerandaider
|
f3a1f73f45
|
fix: Scale pan speed with zoom level for consistent movement
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 11:53:07 -07:00 |
|
 tannerandaider
|
3bb8d65fd4
|
feat: Adjust zoom speed based on distance for consistent feel
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 11:48:29 -07:00 |
|
 tannerandaider
|
6721caca9f
|
fix: Update Qt API usage for QWheelEvent and QMatrix4x4
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 11:37:42 -07:00 |
|
 tannerandaider
|
38e931bc79
|
feat: Implement mouse wheel zoom to cursor position
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 11:36:44 -07:00 |
|
 tannerandaider
|
a66dc50daf
|
refactor: Move camera mouse event handling to Camera class
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 11:34:25 -07:00 |
|
 tannerandaider
|
2e2f99f2c2
|
refactor: Move camera restore state animation to Camera
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 11:27:36 -07:00 |
|
 tannerandaider
|
f29f40277d
|
refactor: Move sketch mode camera animations to Camera class
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 11:26:41 -07:00 |
|
 tannerandaider
|
a5e8257eb4
|
build: Automate source file discovery for C++ sources in src/
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 11:22:08 -07:00 |
|
tanner
|
ec63a23247
|
feat: Add sketch, line, rectangle tools and snapping
|
2026-02-17 11:22:07 -07:00 |
|
 tannerandaider
|
d708ab9827
|
refactor: Extract snapping logic into dedicated Snapping class
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 11:19:29 -07:00 |
|
tanner
|
e86a775b46
|
feat: Add snapping functionality
|
2026-02-17 11:19:27 -07:00 |
|
 tannerandaider
|
9334508b67
|
fix: Ensure viewport updates and consistent key handling in drawing tools
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 11:09:42 -07:00 |
|
 tannerandaider
|
b93f6158ef
|
fix: Enable line tool functionality
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 11:02:54 -07:00 |
|
 tannerandaider
|
35cad74367
|
fix: Move line tool specific logic from ViewportWidget to LineTool
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 10:57:02 -07:00 |
|
 tannerandaider
|
2394727724
|
refactor: Move rectangle tool logic to RectangleTool class
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 10:53:02 -07:00 |
|
 tannerandaider
|
95a651b6b0
|
refactor: Move LineTool event handling to LineTool and add tool APIs
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 10:44:56 -07:00 |
|
 tannerandaider
|
d015d171ec
|
refactor: Move LineTool paintGL and paint2D logic to LineTool
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-17 10:38:51 -07:00 |
|
tanner
|
1584bfd5a0
|
fix: Deactivate active tool on Escape key press
|
2026-02-17 10:38:47 -07:00 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
tanner
|
b2d5cd19d4
|
feat: Prevent Tab key from moving focus outside active viewport tools
|
2026-02-16 18:51:57 -07:00 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
tanner
|
a18435bb15
|
style: Reduce radius of unattached sketch vertices
|
2026-02-16 17:04:13 -07:00 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
tanner
|
0ed62153b0
|
Project settings
|
2026-02-15 13:42:44 -07:00 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
7785f5be1a
|
feat: Implement Z-up axis orientation for ViewCube
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-15 10:01:35 -07:00 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
tanner
|
f30eac7c06
|
Fix cursor
|
2026-02-14 21:50:54 -07:00 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
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 |
|
 tannerandaider
|
c87979c602
|
build: Add Qt6 Svg module to CMake build
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
|
2026-02-14 21:05:31 -07:00 |
|
 tannerandaider
|
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 |
|