SoK/2023/StatusReport/Brannon Aw

From KDE Community Wiki
Revision as of 19:38, 13 April 2023 by Brennanzuz (talk | contribs) (Added titles and requirements for the status report.)

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