Commit Graph

179 Commits

Author SHA1 Message Date
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
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
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
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
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
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
0b664e813c feat: Connect UI and application logic for tool and line drawing
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 19:21:03 -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
a1cfbc2e3f feat: Implement sketch object base class and line geometry
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-14 19:12:59 -07:00
f46590219a Integrade OpenCASCADE 2026-02-13 20:59:06 -07:00
3543604e79 build: Add ApplicationController.cpp to CMake build 2026-02-13 18:16:26 -07:00
5a49e2ac46 Add icons 2026-02-13 18:11:48 -07:00
2a51808303 docs: Describe MVC architecture in CONTEXT.md
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-13 18:11:48 -07:00
d5fcfc8428 docs: Rename Development Summary to Development Log 2026-02-13 18:11:42 -07:00
0a12e09924 <!-- SCORING: [1] refactor: Update CONTEXT.md with architecture section -->
refactor: Update CONTEXT.md with architecture section
2026-02-13 17:37:16 -07:00
2727b73208 feat: Manage active drawing tool state in controller and UI
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-13 17:33:56 -07:00
d51e7127af refactor: Replace ApplicationController singleton with dependency injection
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-13 17:33:17 -07:00
1ded863b10 refactor: Manage active sketch state in ApplicationController
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-13 17:30:36 -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
87c354f79d chore: Adjust default window size and viewport orientation 2026-02-13 17:29:00 -07:00
c16ec9b6ef docs: Add recent development summaries to CONTEXT.md
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-09 18:20:43 -07:00
57cca5c392 fix: Correct default camera X rotation for isometric view
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-09 18:18:28 -07:00
083a64505c feat: Set default viewport camera to isometric view
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2026-02-09 18:16:49 -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