#Royale + Zig on Pebble
1232 messages · Page 2 of 2 (latest)
PebbleKit JS Sources
PebbleKit JS sources detected in the src/pkjs/ project subdirectory are automatically bundled with webpack and packaged into the pbw.
hm
I guess he's smart
Looks like it bundles all of them
Huh
I don't know how it chooses an entry point then
Either way, it looks like you don't put the prebuilt stuff there. The normal stuff that you would in a regular project
yea i tried that
i couldn't figure it out
maybe i'll look at it this weekend
ughhh. do you know how to specifically get the value of a cstring tuple? since everything in clay is a string
this is my request :P
"GET /close?%7B%22SettingsEnableSeconds%22%3A%7B%22value%22%3A%222%22%7D%2C%22SettingsTimeZone%22%3A%7B%22value%22%3A%22-1%22%7D%7D HTTP/1.1" 200 -
actually i'll ask this part in #app-dev
I haven't tried that yet, sorry
rip
i figured it out
the message id is determined by js and then i have to stick it in zig
total bs i hope the new update fixes that
omg omg omg omg omg omg omg omg omg
yaaay
nooooo
it's done!
now for bug fixes ;-;
nice! it looks like something went wrong with the platform declarations, it doesn't show any watches as being supported on the store
Rebble store doesn't report that
Wait
This is not the rebble store
Did
Confus
yup, on the repebble store -- also, if you click "try in browser" you get a broken URL, i'm guessing because it's trying to pull up a cloudpebble emu with no platform specified? 🤔
Zig shenanigans i guess
yeah...
you also can't make a cloudpebble from source unfortunately
i'm gonna rename the forum and try to set it up a bit more for communication about like, any issues with the watch face (and zig) but please let me know what's going on with things so i can put out an update
Royale + Zig on Pebble
do any of y'all have a bsky or mastodon? i'd like to give some special thanks for all the help y'all have given me
is there a reason you have both an appinfo.json and a package.json?
i don't know what's required
i was trying to make debugging work and there was a super convoluted way that @languid tartan figured out where you fake the project structure
neither the appinfo.json nor package.json are needed for it to build on zig, so they're just there to make other things happen
should i remove one of them?
i'd definitely try removing appinfo.json; that was a pre-sdk-3 thing, which switched to the npm style package.json
how would i add an app icon btw?
you add the reference to your package.json and then put the resource in your images folder
here is an example from one of mine: https://github.com/freakified/halcyon/blob/master/package.json#L68-L78
nope
I don't think it works without appinfo
The cli tool requires it
omg it looks so good
huh. i will leave it for now
it doesn't normally require it -- maybe it's something unusual about the zig-based project setup 🤔
The source code looks for it
The debug command will not even execute at all without it
*gdb
It looks for specific files in specific places
Older projects might have an appinfo.json file instead of a package.json. You can run pebble convert-project to update these projects.
ok weird it also won't detect it from the pbw
nvm
that's a zig issue
i compared a zig appinfo.json in the pbw to the dummy project's appinfo.json in the pbw
doesn't seem to be missing anything
i literally don't know where it's not getting the ability to download and install lol
Congrats on the release - this looks amazing! Excited to load it up when my PT2 arrives 😄
thank you! i'm going to keep on chipping away at it!
What's on the ol roadmap?
Up Next:
- Take a break.
You can't download it for some reason. Fix that.- Make time zones account for DST.
Longer Term:
- Add other complications than battery (like weather).
- Support other watches.
- Overhaul the time zone system and implement what #1490916575002361926 has in its settings.
- Take a break for real this time.
Good roadmap!
Oh right, I remember you posting that 😄 Heck yeah
i want to be able to animate cinnamoroll 🥺
but my number one rule in this project is cut scope. i support only one watch cos it's easier. no weather to reduce complexity. so many things are hardcoded that i would do differently if i had more time and experience. i would update zig to 0.16 whenever the sdk updates lol
Just made for PR2 then, presumably? That would make sense
Oh, I thought we were talking about the dream project and not Royale
oh
ofc
i could be persuaded to adapt it for other watches
but first i gotta finish royale
very funny you literally can't download it
It is funny, hahah
like with the button
I'm sure you'll get it sorted!
Please!
i've been missing out on all sorts of pokemon stuff ;-;
Pokemanz
This may end up being either a complete non-issue (or be part of the charm!), but would you consider an alternate "font" in the future for the numbers, closer to something like in 91 dub/Quartz? Something with less "lean" to it feels like it would display more "crisp" on a Pebble screen. But again, this is just going off screenshots, and what you have here mimcs the 1200 well
there's no antialiasing so it should be plenty crisp, but i'll look into it
the number sprites are hand-made though. i intentionally tried to make it clear and relatively unambiguous
Yeah, I saw you used aseprite, right?
yep!
Super cool 😄
built it from source so i didn't have to pay $20
We love that
Not really a comment on legibility, I should say - like, no matter what I will be able to look down and know what time it is 😅
valid
either way, i will look into it in the future, but it's definitely around "multiple watch support" in terms of when i'll get around to it
I'm sure in person it'll be kickass, so no stress whatsoever. Just thinking out loud
since i'd have to rethink how the design looks to work with non-slanted text
glad you like it!
Yeah, wouldn't want to send you down a rabbit hole, seriously
i think that's what they call in the biz a "win"
oh i'd be doing it when i support multiple watches cos the design needs to be redone then anyways :P
i wanted a dalpek looking watch but, like, better in my eyes
something both cool and functional
I'm excited to try out Quartz as well - I think someone did mention that it's drawn in a way that doesn't account for the pixels of the screen or something, so the smaller text is unnecessarily blurred on actual hardware? Not sure if that got addressed
no idea
But either way, that one and yours are at the top of my list to try out
hopefully that shouldn't be a problem on mine? quartz seems to have some sort of automatic process to convert faces to theirs
mine doesn't
yea my text was drawn 1 to 1
So I think yours would be safe
each pixel placed
Yeah!
also lol i realized
quartz has quartz on it
cos it's called quartz
i just thought it was decorative because they're all quartz watches
that's not good cos i stole that for my design
I didn't even notice, hahah
i'll have to make a revision later to call it royale
Could make it customizable 😈
But either way yeah, I guess Royale there makes the most sense after that "aha" moment 😆
I gotta head to bed, but congrats again - get some rest!
gonna sleep!
I copied the structure of an Alloy app. Are those not the newer structure?
It's worth noting that they generate an appinfo.json
Also, I'm pretty sure that the appinfo was in the build folder, not the root
Yeah that would be correct. I don't know if removing appingo.json works, but it's possible that the Pebble debugger might look for both a project folder (with a package.json file) and a build folder (with compiled binaries and debug symbols and as appinfo.json file)
the ones in the latest alloy tutorials only have package.json: https://github.com/coredevices/alloy-watchface-tutorial/tree/main/part6
feel free to reuse my settings page code! (though you'd need to host it on github pages)
The reach you are getting
look at the like count bro
ig
did the full marketing tour
one can only hope that’s enough
top 5 here i come ;-;
ok it’s over
i didn’t make it 😔
if i don’t get a time 2 from
judge or lottery then i just wont test my watch faces on time 2 lol
@tranquil marten what colour do you use for the bg?
I was thinking this might a fun thing to try, where the user can change that colour
Mainly suggesting this cause I've seen a ton of Casio Royale customizations with filters on like youtube
Finally using Royale and it's super rad! I am experiencing a bug - I set my tracked time zone, which updates the analog clock when I hit "save settings," but it seems to de-sync when I go into the Pebble menus
like this
it’s hardcoded black
oh not the segment
idk how to change the color. if you check the repo it’s all a png
would've absolutely done it but I haven't dealt with zig
just look through the source code
ngl it’ll prolly make sense to u
zig is very like
normal
it looks like if c was made recently and not 50 years ago
very intuitive looking
see, my brain works better with old stuff
I am reasonably comfortable with Assembly :D
idk i think it looks like a cross between c and rust and some other things
but if you look at a syntax reference you’ll be able to read it pretty quick
it’s not doing anything too revolutionary
and i’d be willing to explain anything you’re confused by
my thought process would be to set the white stuff to be transparent and then you just draw a full colour background that basically "goes through"
Or just 3 rects of 3 colours
maybe
the shading would be a problem though
but i guess that can be drawn…
…for everything except analogue
it’d also be a pain for the map ;-;
the problem with customization is that it goes counter to control
that's what I sacrificed on mine
by maintaining complete control it makes it hard to allow customization
just suggested since I keep seeing those videos and they be popping
and this being a digital recreation, could be neat for people to pick and choose
yeah!
if i could allow customization without making it look worse i would
i just would want to know how to
or the other option would be to dither with transparent+gray
ew
64 colours do be limiting =P
maybe just make the color of the shadow customizable?
or have a pair
for x set of colours, y is the shadow
maybe
i’d have to figure some stuff out
idk how to make colors in bitmaps configurable regardless
like royale is my first app
i still dunno how to do any of this stuff
I think my biggest feedback on the face currently is that the day-of-week text feels a bit "off." looking at photos of the casio it's paying homage to, it doesn't look like the original has heavier weighting on the left side. I also felt like the M in MON looked a bit off, so I looked for a comparable screenshot and I think the original's interpretation might look cleaner. What do you think?
I'm also not sure if it's just because they're both drawn differently, but it feels like the day-of-week and date letters/numbers are roughly the same height on the original watch, where it seems like the date numbers on Royale are slightly shorter? Not sure though
Either way I'm so into this watchface, hahah. Really uses the space well on the PT2 screen 😄
thank you so much for the feedback!
it was really hard to make the font work. i think in the future i will make a sprite sheet of the text font.
I also really like the chonky battery gauge, but could also see using that space to accommodate stuff like bluetooth connectivity/if an alarm is set/if quiet time were on/off, possibly? Might be too busy/too much to cram in though - just thinking out loud I guess 🙂
If that part didn't change I would not be mad. I really do like the battery meter
the weighting is just because i though it looked too skinny at a smaller size. there’s just not enough pixels to go around 😔
It deffo is skinny, I get that
i want to add more complications. that space is likely to change a lot and to get many future options
I noticed another thing, can't tell if it's intentional - I have seconds disabled, so they're generally at 00, but coming out of the pebble menus shows the time at whatever seconds value it (presumably) is at that moment, until another minute passes and then it goes back to 00
I don't know if that's just a visual bug, or if there's a chance the face is doing more calculating than it needs to be doing (thought being how it would know to switch back to 00 again), but figured I'd flag. Not annoying at all, just interesting 🙂
that's just a pebble thing
it updates when you load and then at the minute mark afterwards
evie would have to hard code it to set seconds to 0 when seconds are disabled
(which isn't a bad idea)
That was my thought, yeah. Though that's good that it's currently basically working as intended, then
I think it's never come up because I've just never used a face with visible seconds for any length of time 😅
I'm not sure of the best way to handle it here because of the packed layout, but it would be cool if at some point Royale could resize/elegantly crop to accommodate those little "upcoming event" popups that come in from the bottom of the screen
Always appreciate when a watchface accommodates that smol detail 😄