[PR #11] [MERGED] feat(annotations): implement GitHub #8 UX improvements #55

Closed
opened 2026-03-03 15:57:33 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/mrgoonie/winshot/pull/11
Author: @mrgoonie
Created: 12/6/2025
Status: Merged
Merged: 12/6/2025
Merged by: @mrgoonie

Base: mainHead: goon


📝 Commits (10+)

  • 12e7b19 feat(branding): add vibrant glass logo variations and update app icon
  • 8e192ca ci(release): add dev branch for beta releases
  • 9af75bf docs: add BSD 3-Clause license and update README
  • b20fdea feat(text-annotation): enhance UX with font controls and auto-edit mode
  • d073645 Merge remote-tracking branch 'origin/main' into goon
  • b520140 chore(release): 1.0.0-beta.1 [skip ci]
  • 711ec33 feat(display): implement active monitor detection for multi-monitor support
  • 7274a4d feat: implement GitHub #7 UX improvements
  • 8972166 chore: remove node_modules from git tracking
  • 12d7358 feat(annotations): implement GitHub #8 UX improvements

📊 Changes

4174 files changed (+3321 additions, -1940566 deletions)

View changed files

📝 .claude/active-plan (+1 -1)
📝 .github/workflows/release.yml (+1 -0)
📝 .gitignore (+0 -1)
📝 .releaserc.json (+4 -1)
📝 CHANGELOG.md (+2 -1)
LICENSE (+28 -0)
📝 README.md (+1 -1)
📝 app.go (+215 -55)
assets/logos/appicon-v1.png (+0 -0)
assets/logos/appicon-v2.png (+0 -0)
assets/logos/appicon-v3.png (+0 -0)
assets/logos/appicon-v4.png (+0 -0)
assets/logos/appicon-v5.png (+0 -0)
assets/logos/appicon-v5a.png (+0 -0)
assets/logos/appicon-v5b.png (+0 -0)
assets/logos/appicon-v5c.png (+0 -0)
assets/logos/appicon-v5d.png (+0 -0)
assets/logos/appicon-v6.png (+0 -0)
assets/logos/appicon-v6a.png (+0 -0)
assets/logos/appicon-v6b.png (+0 -0)

...and 80 more files

📄 Description

Summary

Comprehensive UX improvements for annotation drawing tools to enhance user experience and fix critical issues:

  • Auto-switch to Select tool: Automatically switches to Select tool after drawing arrow/line for seamless workflow
  • Improved selection hit area: Increased from 20px to 28px for easier line/arrow selection
  • Sharp endpoints: Added proper lineCap/lineJoin for crisp arrow and line rendering
  • Curved arrow option: Added tension property for flexible curved arrow styling
  • Fixed starting position: Corrected coordinate calculation when drawing arrow/line shapes
  • Fixed deselection bug: Resolved issue where clicking outside deselects annotations incorrectly

Changes

  • frontend/src/App.tsx: Added arrow curve toggle state
  • frontend/src/components/annotation-shapes.tsx: Added curved arrow rendering with tension
  • frontend/src/components/annotation-toolbar.tsx: Added toggle button for curved arrow mode
  • frontend/src/components/editor-canvas.tsx: Fixed coordinate calculations, increased hit area, auto-switch tool behavior, and deselection logic
  • frontend/src/types/index.ts: Added curved arrow type support

Test plan

  • Draw straight arrows and lines and verify they auto-switch to Select tool
  • Draw curved arrows and verify the tension property creates smooth curves
  • Test selection of lines and arrows with the increased 28px hit area
  • Verify clicking outside canvas deselects annotations only when appropriate
  • Toggle the curved arrow mode and verify functionality

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/mrgoonie/winshot/pull/11 **Author:** [@mrgoonie](https://github.com/mrgoonie) **Created:** 12/6/2025 **Status:** ✅ Merged **Merged:** 12/6/2025 **Merged by:** [@mrgoonie](https://github.com/mrgoonie) **Base:** `main` ← **Head:** `goon` --- ### 📝 Commits (10+) - [`12e7b19`](https://github.com/mrgoonie/winshot/commit/12e7b19d96c151662ef4a420b8a0e99a9656a046) feat(branding): add vibrant glass logo variations and update app icon - [`8e192ca`](https://github.com/mrgoonie/winshot/commit/8e192ca240d601101730ec73912dbc8f9900eac5) ci(release): add dev branch for beta releases - [`9af75bf`](https://github.com/mrgoonie/winshot/commit/9af75bf0dbe57a68e0ce9762f8e12395a969dfda) docs: add BSD 3-Clause license and update README - [`b20fdea`](https://github.com/mrgoonie/winshot/commit/b20fdea79e203f92726726352ad794ad1cd62631) feat(text-annotation): enhance UX with font controls and auto-edit mode - [`d073645`](https://github.com/mrgoonie/winshot/commit/d07364511b14bb735de88efbe6b71185bed90bb3) Merge remote-tracking branch 'origin/main' into goon - [`b520140`](https://github.com/mrgoonie/winshot/commit/b5201408d0b3fd02459962414668bdd75a094d5a) chore(release): 1.0.0-beta.1 [skip ci] - [`711ec33`](https://github.com/mrgoonie/winshot/commit/711ec339fc65d0f02931706a5fe938aa9b1cb487) feat(display): implement active monitor detection for multi-monitor support - [`7274a4d`](https://github.com/mrgoonie/winshot/commit/7274a4dd56598ff6827947f0a2c425cf2a26336e) feat: implement GitHub #7 UX improvements - [`8972166`](https://github.com/mrgoonie/winshot/commit/89721662fa941b3e6f260389ac96c8e3e24f4f6b) chore: remove node_modules from git tracking - [`12d7358`](https://github.com/mrgoonie/winshot/commit/12d735837c2cab292cd9780cdf112b61d163e561) feat(annotations): implement GitHub #8 UX improvements ### 📊 Changes **4174 files changed** (+3321 additions, -1940566 deletions) <details> <summary>View changed files</summary> 📝 `.claude/active-plan` (+1 -1) 📝 `.github/workflows/release.yml` (+1 -0) 📝 `.gitignore` (+0 -1) 📝 `.releaserc.json` (+4 -1) 📝 `CHANGELOG.md` (+2 -1) ➕ `LICENSE` (+28 -0) 📝 `README.md` (+1 -1) 📝 `app.go` (+215 -55) ➕ `assets/logos/appicon-v1.png` (+0 -0) ➕ `assets/logos/appicon-v2.png` (+0 -0) ➕ `assets/logos/appicon-v3.png` (+0 -0) ➕ `assets/logos/appicon-v4.png` (+0 -0) ➕ `assets/logos/appicon-v5.png` (+0 -0) ➕ `assets/logos/appicon-v5a.png` (+0 -0) ➕ `assets/logos/appicon-v5b.png` (+0 -0) ➕ `assets/logos/appicon-v5c.png` (+0 -0) ➕ `assets/logos/appicon-v5d.png` (+0 -0) ➕ `assets/logos/appicon-v6.png` (+0 -0) ➕ `assets/logos/appicon-v6a.png` (+0 -0) ➕ `assets/logos/appicon-v6b.png` (+0 -0) _...and 80 more files_ </details> ### 📄 Description ## Summary Comprehensive UX improvements for annotation drawing tools to enhance user experience and fix critical issues: - **Auto-switch to Select tool**: Automatically switches to Select tool after drawing arrow/line for seamless workflow - **Improved selection hit area**: Increased from 20px to 28px for easier line/arrow selection - **Sharp endpoints**: Added proper lineCap/lineJoin for crisp arrow and line rendering - **Curved arrow option**: Added tension property for flexible curved arrow styling - **Fixed starting position**: Corrected coordinate calculation when drawing arrow/line shapes - **Fixed deselection bug**: Resolved issue where clicking outside deselects annotations incorrectly ## Changes - `frontend/src/App.tsx`: Added arrow curve toggle state - `frontend/src/components/annotation-shapes.tsx`: Added curved arrow rendering with tension - `frontend/src/components/annotation-toolbar.tsx`: Added toggle button for curved arrow mode - `frontend/src/components/editor-canvas.tsx`: Fixed coordinate calculations, increased hit area, auto-switch tool behavior, and deselection logic - `frontend/src/types/index.ts`: Added curved arrow type support ## Test plan - Draw straight arrows and lines and verify they auto-switch to Select tool - Draw curved arrows and verify the tension property creates smooth curves - Test selection of lines and arrows with the increased 28px hit area - Verify clicking outside canvas deselects annotations only when appropriate - Toggle the curved arrow mode and verify functionality --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-03 15:57:33 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/winshot#55
No description provided.