With the classic watchmaker app I could use LUA scripts from within the app even though WearOS no longer supports them. This allowed me to set zoom level and other options before sending them to the watch, where they would persist. It was an acceptable alternative to not having live tap actions, because most visual options I would just set once anyway.
However, this no longer seems to be the case with Studio, which breaks, for example, all settings that use a variable to set the zoom level.
Is there a workaround or plans to add this back in?
Alternatively, how about a feature to choose from one or more zoom levels as a standard watchface option? This would actually be better, not having to deal with all the extra formulas to support zoom scaling!
I’d definitely like to take a closer look at this for you though, as it sounds like there may be a specific compatibility issue with how that watch face is handling the zoom variables. If you can send over an example of a watch face where it’s not working correctly, I’ll investigate further and see what’s going on.
I have a watchface “Central Panel” that I originally published in the old app but when I made changes using the new app, the dimensions and sizes are messed up when sent to my pixel watch. it seems the vars are all set to zero.
Can you send a link to the watch face so I can take a closer look?
Lua itself is still supported in Studio, but unfortunately Google’s Watch Face Format doesn’t support Lua execution on-device. So even if we got it behaving correctly on mobile, it’s unlikely those scripts would function properly on Wear OS 6 itself.
That said, I’d still like to investigate what’s happening with your face and see if there’s anything we can improve or work around.
Can you confirm whether the problems are happening in the desktop/mobile preview itself, or only once the face is sent to the watch?
Lua scripts are still supported inside Studio, but they’re unfortunately quite limited on-watch now because of Google’s newer Watch Face Format restrictions. It’s possible the variables are evaluating correctly in preview but then being stripped or reset on-device.
I’ll take a closer look at “Central Panel” and see if there’s a workaround or compatibility fix we can make here.
They are happening when I send it to the watch. I realize that LUA won’t work on the watch but previously I was able to at least set the zoom level in watchmaker and then send it to my watch and it would be scaled properly.
Now, it seems that any property that has the tweens.zoom multiplier is set to zero once sent to the watch.
If you allow me to join this discussion - it’s not only the tween function that no longer works at watch level, even a simple var_mode = 0 is ignored on the watch. If I add a text layer, that displays the value of var_mode, the editor will show it, but the watch ignores it completely. Isn’t Google a bit too strict?