Skip to content

Conversation

@xelrix123
Copy link

This is a PR to implement changes described in issue #13 .

NOTE: Claude code was used to implement rough changes (it's been a while I've touched C codebase, so....) and then few things were manually tweaked. However I am not familiar with specifics of GTK3 etc. UI code so even though tooltip and label additions look ok to me (and only a bit oberly verbose) -- caveat emptor. All the changes/updates are to src/output_panel.c .

Proposed verdict ranges are:

rate error:
        if (abs_rate <= 5.0) return "excellent";
        if (abs_rate <= 10.0) return "good";
        if (abs_rate <= 20.0) return "acceptable";
        if (abs_rate <= 30.0) return "marginal";
        return "poor";

and

beat error:
        if (be_ms <= 0.5) return "excellent";
        if (be_ms <= 1.0) return "good";
        if (be_ms <= 2.0) return "acceptable";
        if (be_ms <= 3.0) return "poor";
        if (be_ms <= 5.0) return "bad";
        return "severe";

Some notes:

  • these changes were implemented in a way that current UI layout wasn't touched: as a result fonts for labels and verdicts are somewhat small and especially on very small or very large displays could become illegible (tooltips mitigate this somewhat). In a future, a slightly higher panel would make the labels / verdicts a bit more readable.
  • tooltip contents should be reviewed for correctness (as not to accidentally provide incorrect advice)
  • tooltips have logic flaw of ranges overlapping (e.g. 0-1,1-2 etc.). But in code this is not so (see above) and was done to keep tooltips simpler.
  • verdicts: are these good ranges? I am in no way attached to the ones in this PR and they are based merely on searching online, and double checking with the LLMs to provide something that would be helpful. I warmly welcome more experienced opinions on useful ranges / verdicts to display (see also discussion in issue UI: add tooltips. labels and verdicts for rate error, beat error, amplitude and beat rate #13 about whether having a verdict could in some cases backfire as a completely incorrect interpretation of what is reported).

Testing:

  • Linux: Pop!_OS 24.04 LTS / 13" laptop @ 1080p: compiles / runs, labels are legible
  • Windows 11 (using Mingw) / wrokstation @ 4k display: compiles / runs, however the fonts in the panel approach illegible
  • OSX: not tested
  • Live view: tooltips, verdicts work
  • Snapshots: tooltips work verdicts are frozen and are shown

As a personal note - I am using tg at complete random intervals and have at best cursory understanding of watch movement mechanics and things that can be measured with timegrapher. Thus it is quite possible that I have completely missed some important considerations why this kind of feature doesn't really fit the tg-timer. In such a case, don't hesitate to point out errors in my thinking. And of course in the code...

Cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant