Jump to content

SoK/2023/StatusReport/Brannon Aw: Difference between revisions

From KDE Community Wiki
No edit summary
Added titles and requirements for the status report.
Line 1: Line 1:
== Brannon Aw's status report for Season of KDE 2023 ==
=== Introduction ===
==== Spectacle: Improving the annotation tools (Slot filled) ====
'''Project type:''' Coding
'''Brief explanation:'''
Spectacle has a limited annotation tool that allows users to make quick edits to a screenshot. Currently it lacks an eraser tool that can delete pen annotations quickly and is instead relying on the select tool to delete markups which would be especially inconvenient for removing the many strokes in handwriting. It also lacks an option to cancel all annotations should the user change his mind. It could also use a cropping option should the user decide to make additional edits to an already selected region.
Additional improvements that could be implemented include an option to draw splines, polygons, more regular shapes, and perhaps even accuracy options when approximating pen strokes. These features can be modelled after other drawing software like Krita, PaintDotNet, OpenToonz and Window’s Snipping Tool.
'''Expected results:''' A more feature-rich Spectacle for intuitive and convenient screenshotting and annotating comparable to that of Window’s Snipping Tool.
'''Knowledge Prerequisite:''' C++, Qt, QML knowledge (or willingness to learn)
'''Mentor:''' Bharadwaj Raju @bharadwaj-raju:kde.org on Matrix
=== Design documents ===
=== Videos ===
[[File:SoK 2023 - Spectacle select and delete.webm|thumb|center|alt=Video showing the selection and deletion of annotations on a screenshot in Spectacle.|Previously, to delete annotations, one needed to select and then press the "delete" key, which would prove tedious when trying to delete handwritting.]]
[[File:SoK 2023 - Spectacle select and delete.webm|thumb|center|alt=Video showing the selection and deletion of annotations on a screenshot in Spectacle.|Previously, to delete annotations, one needed to select and then press the "delete" key, which would prove tedious when trying to delete handwritting.]]


Line 8: Line 28:


[[File:SoK 2023 - Spectacle clear annotations in rectangular mode.webm|thumb|center|alt=Video showing clearing all annotation in Spectacle.|The clear annotations button also works when annotating in the rectangular region screenshot mode.]]
[[File:SoK 2023 - Spectacle clear annotations in rectangular mode.webm|thumb|center|alt=Video showing clearing all annotation in Spectacle.|The clear annotations button also works when annotating in the rectangular region screenshot mode.]]
=== Commits ===
==== Eraser tool ====
Merge request: [https://invent.kde.org/graphics/spectacle/-/merge_requests/221 link]
Possible improvements to make:
* Undo all erased in a single stroke, rather than undoing each erased action one by one.
* Fix inability to erase/select single point freehand annotations without needing to add an ellipse to a start of the stroke.
* Change cursor icon when hovering over an erasable annotation (suggested [https://invent.kde.org/graphics/spectacle/-/merge_requests/221#note_659411 here])
* Compatibility patches for integration with other tools due to the changing of freehand annotations' selectable geometry (suggested [https://invent.kde.org/graphics/spectacle/-/merge_requests/221#note_659502 here])
==== Clear all annotations ====
Merge request: [https://invent.kde.org/graphics/spectacle/-/merge_requests/223 link]
Possible improvements to make:
* Fix error binding loop error messages (mentioned [https://invent.kde.org/graphics/spectacle/-/merge_requests/223 here]
* Find a more appropriate location for the "clear all annotations" button that is not in the toolbar with the other annotation tools.
=== Blog posts ===
Here I document my thought processes throughout the project in great detail:
https://brennanzuz.github.io/SoK-2023-documents/BlogPosts.html

Revision as of 19:38, 13 April 2023

Brannon Aw's status report for Season of KDE 2023

Introduction

Spectacle: Improving the annotation tools (Slot filled)

Project type: Coding

Brief explanation:

Spectacle has a limited annotation tool that allows users to make quick edits to a screenshot. Currently it lacks an eraser tool that can delete pen annotations quickly and is instead relying on the select tool to delete markups which would be especially inconvenient for removing the many strokes in handwriting. It also lacks an option to cancel all annotations should the user change his mind. It could also use a cropping option should the user decide to make additional edits to an already selected region. Additional improvements that could be implemented include an option to draw splines, polygons, more regular shapes, and perhaps even accuracy options when approximating pen strokes. These features can be modelled after other drawing software like Krita, PaintDotNet, OpenToonz and Window’s Snipping Tool.

Expected results: A more feature-rich Spectacle for intuitive and convenient screenshotting and annotating comparable to that of Window’s Snipping Tool.

Knowledge Prerequisite: C++, Qt, QML knowledge (or willingness to learn)

Mentor: Bharadwaj Raju @bharadwaj-raju:kde.org on Matrix

Design documents

Videos

File:SoK 2023 - Spectacle select and delete.webm

File:SoK 2023 - Spectacle eraser demo.webm

File:SoK 2023 - Spectacle undo eraser actions.webm

File:SoK 2023 - Spectacle clear annotations.webm

File:SoK 2023 - Spectacle clear annotations in rectangular mode.webm

Commits

Eraser tool

Merge request: link

Possible improvements to make:

  • Undo all erased in a single stroke, rather than undoing each erased action one by one.
  • Fix inability to erase/select single point freehand annotations without needing to add an ellipse to a start of the stroke.
  • Change cursor icon when hovering over an erasable annotation (suggested here)
  • Compatibility patches for integration with other tools due to the changing of freehand annotations' selectable geometry (suggested here)

Clear all annotations

Merge request: link

Possible improvements to make:

  • Fix error binding loop error messages (mentioned here
  • Find a more appropriate location for the "clear all annotations" button that is not in the toolbar with the other annotation tools.

Blog posts

Here I document my thought processes throughout the project in great detail: https://brennanzuz.github.io/SoK-2023-documents/BlogPosts.html