#Shine Through watchface

1 messages · Page 1 of 1 (latest)

thorny moss
#

I showed a quick demo of my new watchface design yesterday #app-dev message, and between being pretty pleased with how it looks on my watch and the positive reaction I got, I'm continuing development on it. Today I implemented a test version of the upper and lower text components of the watchface (which will be configurable, including the ability to disable them altogether).

The main things I have left to go with this face are:

  • Make the top/bottom text actually change. Right now they're just fixed strings to test the look.
  • Handle unobstructed area to make timeline peek look nice.
  • Make the colours and the top/bottom text configurable.
  • Option to add an outline around the digits. ✅ 1.1
  • Maybe BW and round support?
#

I have no idea what B/W support would actually look like, dithering might look alright?

dense fractal
thorny moss
#

playing with some concepts

#

but I'll put those aside for now, tomorrow I want to wear a watch with the upper/lower text actually working

thorny moss
#

(not a watch screenshot yet)

dense fractal
thorny moss
#

I've decided that outlines are definitely going to be an option at some point for both b/w and colour watches

subtle swift
thorny moss
#

I'll share some more pictures later, I found I also really like how it looks with an outline that matches the background color

#

Basically a gap instead of an outline

subtle swift
#

ooh that sounds cool

thorny moss
#

b/w support will come after the initial release I think

subtle swift
#

for the color version are you using some algorithm for the color blending

thorny moss
#

Nope, manually picked, and I'll expose that in the settings page. I have noticed that over a dark background, additive mixing is about right, and same for light bg+subtractive

thorny moss
subtle swift
#

yeah the background color outline looks way better imo

#

though white still looks good too

ashen wing
#

Nice effect! How did you implement this? Are the shapes and overlapping regions pre-computed, do you perform intersection tests numerically/analytically or do you render this shapes off-screen as a mask before translating them to pixels (in which case, is the outline handled in the mask already)?

thorny moss
#

Right now I'm rendering directly to the framebuffer, pulling the digits from a 1-bit GBitmap. When rendering the second layer, I check the current color of the pixel I want to render over, and choose the new color based on that. This should work for every case except when the first digit is the same color as the background, but that would be useless for my purposes anyway.

#

Outlines aren't yet implemented in the actual face, the images above are mockups done in Aseprite, but I'll just draw them last, using a prerendered bitmap of each digit's outline

#

I actually want to change this to not use the framebuffer, and instead render the non-outline parts to a separate (2BitPalette) bitmap. That way I'll be able to move the bitmap around without redrawing the digits when I add support for timeline peek, and I'll also be able to support the dithering on B/W screens without changing the overlap rendering part

#

Oh, by the way, this will be open source once I release the first version

ashen wing
thorny moss
#

Alright!

  • time rendering rebuilt to use that approach
  • fixed time rendering not to take 60ms (probably still some more optimisation opportunities)
  • timeline peek works
#

I need to get configuration working with clay, then I think I'll release the first (basalt-only) version

thorny moss
#

Oh yeah guess I should also support 12 hour time

thorny moss
#

What's left for another release:

  • Outlines for digits
  • Dithering for B/W screens
  • Update assets for native PT2 support
  • Round?
quartz aurora
#

Congrats on the launch!

thorny moss
thorny moss
#

the dither pattern isn't yet configurable, but it definitely works

thorny moss
#

chalk support is done, now working on emery, then I'll push 1.2 with support for every pebble!

thorny moss