webm -> gif

This commit is contained in:
Ian Keane 2025-12-03 13:24:14 -05:00
parent f14982abf4
commit e67e9eec41
21 changed files with 9 additions and 6 deletions

View file

@ -12,7 +12,7 @@
Wat's main screen consists of 3 groupings of tasks, each of which is optional and can be disabled via settings. The idea here is to provide an interface to toggle what task you are currently working on, with lots of options for editing, annotating, and reporting on that time spent later. When you track time on a task, it will show up in the `view` page (v), which is analogous to `watson log`.
![Toggling a task in the wat interface](./assets/0-track-time.webm "time-tracking")
![Toggling a task in the wat interface](./assets/0-track-time.gif "time-tracking")
The three available categories of task are `Permanent Items`, for tasks that will likely be part of your workflow for the forseeable future, `Recurring Items` for scheduled weekly meetings or tasks which come and go, and `Ad-Hoc Items` for things that will not recur. Eventually, I plan to make the `Ad-Hoc` section display items in reverse order, and remove ones beyond 10 items. This will not delete past time entries for those items.
@ -20,19 +20,19 @@ The three available categories of task are `Permanent Items`, for tasks that wil
Pressing `v` on the main interface will take the user to the interface for viewing actual time entries, as created from the main interface. The default view is the 'day' view, which shows your entries for the current day. You can press `g` to `group` or `ungroup` your tasks by project. You can also navigate using `h,j,k,l` between entries, entries grouped by project, grouped by day, or all entries. You can press `y` to copy the selection to your clipboard.
![Navigating the daily view](./assets/2-daily-view-and-proj-selection.webm "daily-view")
![Navigating the daily view](./assets/2-daily-view-and-proj-selection.gif "daily-view")
### Weekly and Monthly View
When in the `view` interface, you can switch to a weekly or monthly view using `w` or `m`. Grouping works the same way in these views as in the `daily` view. You can also press 'r' to reverse the order of the days in the display.
![Navigating by week or month](./assets/3-weekly-view-and-day-selection.webm "week-and-month-view")
![Navigating by week or month](./assets/3-weekly-view-and-day-selection.gif "week-and-month-view")
### Individual entry editing
When an entry is selected, you can press `e` to edit the full `watson edit` configuration for your selected entry in your chosen `$EDITOR`
![Editing a time entry](./assets/4-individual-editing.webm "editing-an-entry")
![Editing a time entry](./assets/4-individual-editing.gif "editing-an-entry")
### Backfill gap and overlap correction
@ -40,18 +40,20 @@ The `ungrouped` view can also be used as an error resolution and quick edit page
In the ungrouped view, entries are chronological. Entries with gaps betweent them are denoted by a blank line with three dashes (---). Entries which overlap with the previous entry (which is likely an error and should never happen) are colored yellow. In both cases, pressing `b` will resolve the issue. (You may want gaps in certain cases such as lunch breaks or short breaks, so don't do this without thinking about the context)
![Backfilling Overlapped or Disjointed Entries](./assets/5-backfill-gap-and-overlap-correction.webm "backfilling")
![Backfilling Overlapped or Disjointed Entries](./assets/5-backfill-gap-and-overlap-correction.gif "backfilling")
### Rounding
The time tracking software I use at work only accepts logging for tasks and projects in 15m intervals, so I included a hotkey `R` to automatically round tasks to the nearest 15m. This reduces a little burden when reporting time, but keep in mind that if you get unlucky and many entries are rounded down you may end up under-reporting. Keep this in mind and always sanity check your time.
![Rounding](./assets/6-rounding.webm "rounding")
![Rounding](./assets/6-rounding.gif "rounding")
### Annotation
Watson actually doesn't include any options for annotating time entries by default! However, it does allow you to technically assign multiple 'tags' to an entry. In `wat`, we've been treating the `tag` as the name of the time entry more-or-less. When an entry is completed, you can navigate to the view page and press `a` to add a second tag if you want to be more specific about that particular entry. In practice, it looks just fine in the final reporting.
![Annotation](./assets/7-annotation.gif "annotation")
## Building & Running
```
cargo build

BIN
assets/0-track-time.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 KiB

Binary file not shown.

BIN
assets/1-main-view.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 736 KiB

BIN
assets/6-rounding.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 KiB

Binary file not shown.

BIN
assets/7-annotation.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

BIN
assets/add-task.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

BIN
assets/palette.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 990 B

View file

@ -1 +1,2 @@
ffmpeg -i add-task.mov -c:v libvpx-vp9 -b:v 0 -crf 30 -pix_fmt yuv420p add-task.webm
ffmpeg -i add-task.webm -i palette.png -filter_complex "fps=15,scale=800:-1:flags=lanczos[x];[x][1:v]paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle" add-task.gif