Skip to content

Add Legend watch face#2450

Open
DavisNT wants to merge 1 commit into
InfiniTimeOrg:mainfrom
DavisNT:legend
Open

Add Legend watch face#2450
DavisNT wants to merge 1 commit into
InfiniTimeOrg:mainfrom
DavisNT:legend

Conversation

@DavisNT

@DavisNT DavisNT commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

An elegant and very practical digital watch face.

Uses only fonts already in InfiniTime and no external resources. Has the standard functionality:

  • shows time, date (without year) and day of week
  • supports 24 and 12 hour time formats
  • BLE, new notification and alarm clock icons
  • battery percentage (green when charging)
  • steps and heart rate
  • temperature and weather icon

Additionally:

  • visual indication (amber dot) for any notification(s)
  • visual indication (red or blue line) when notifications are muted
  • battery percentage turns red when 20% or less
  • stopwatch and timer icons (when active)
  • colorful sun, snow and thunderstorm weather icons
  • generally uses brighter colors for more urgent things
InfiniSim_2026-07-18_223549 InfiniSim_2026-07-18_215528 InfiniSim_2026-07-18_215818

@github-actions

github-actions Bot commented Jul 18, 2026

Copy link
Copy Markdown

Build size and comparison to main:

Section Size Difference
text 388368B 3136B
data 944B 0B
bss 22640B 0B

Run in InfiniEmu

@mark9064 mark9064 added the new watchface This thread is about a new watchface label Jul 18, 2026

@mark9064 mark9064 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great overall :)

A few comments, but nothing big

I am curioous, how much did you use LLMs (if at all) during development of this watchface?

Comment thread src/displayapp/screens/WatchFaceLegend.h Outdated
Comment thread src/displayapp/screens/WatchFaceLegend.h Outdated
Comment thread src/displayapp/screens/WatchFaceLegend.cpp Outdated
@DavisNT
DavisNT force-pushed the legend branch 2 times, most recently from 88014ff to db9d562 Compare July 19, 2026 15:30
@DavisNT

DavisNT commented Jul 19, 2026

Copy link
Copy Markdown
Contributor Author

@mark9064 Thanks for the fast review!
Initial version of the design and initial code was generated by LLM (Claude Fable 5), afterwards things were fixed and more functionality (weather icon, service icons am/pm indicator etc.) was added.

I have fixed the issues you highlighted and rebased the PR. Can you please review again?

@mark9064 mark9064 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the code itself is all good. Could you take a look at all the comments though, some of them seem a bit overblown - I would say that most of the description isn't needed because if I want detail I will read the code. Visual markers for sections are probably still useful though. I've highlighted a few here

I find LLMs quite like to do this with comments :)

Also, have you tested this with AOD? Does it still look OK? (It's fine if some UI elements disappear that aren't important, but it needs to stay usable)

Comment thread src/displayapp/screens/WatchFaceLegend.cpp Outdated
Comment thread src/displayapp/screens/WatchFaceLegend.cpp Outdated
Comment thread src/displayapp/screens/WatchFaceLegend.cpp Outdated
Comment thread src/displayapp/screens/WatchFaceLegend.cpp Outdated
Comment thread src/displayapp/screens/WatchFaceLegend.h Outdated
Comment thread src/displayapp/screens/WatchFaceLegend.h Outdated
Comment thread src/displayapp/screens/WatchFaceLegend.cpp Outdated
@DavisNT

DavisNT commented Jul 19, 2026

Copy link
Copy Markdown
Contributor Author

@mark9064 Thanks!
I have removed or changed the comments.
Also the shortening of steps has been removed (as it didn't actually shorten the label).
The watch face is tested with Always On Display - and only the bottom row labels (stepCaption, heartbeatCaption and weatherCaption) become invisible. I think it looks good with AOD.

@DavisNT

DavisNT commented Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

@mark9064 If any other adjustments are needed, please let me know!
Also, here are screenshots after removal of the "shortening" of steps count.
InfiniSim_2026-07-20_232459 InfiniSim_2026-07-20_232513 InfiniSim_2026-07-20_232519

@mark9064

Copy link
Copy Markdown
Member

I think there are still a couple verbose comments, I don't think any of them need to be longer than a line. The rewords you have done so far are nice improvements :)

Looks great!

An elegant and very practical digital watch face.

Uses only fonts already in InfiniTime and no external resources.
Has the standard functionality:
* shows time, date (without year) and day of week
* supports 24 and 12 hour time formats
* BLE, new notification and alarm clock icons
* battery percentage (green when charging)
* steps and heart rate
* temperature and weather icon

Additionally:
* visual indication (amber dot) for any notification(s)
* visual indication (red or blue line) when notifications are muted
* battery percentage turns red when 20% or less
* stopwatch and timer icons (when active)
* colorful sun, snow and thunderstorm weather icons
* generally uses brighter colors for more urgent things
@DavisNT

DavisNT commented Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

@mark9064 Thanks for the feedback!
Just shortened 2 last multiline comments.

Can you please review?

@mark9064 mark9064 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM :)

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

Labels

new watchface This thread is about a new watchface

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants