Initial commit: Fenix 8 V3 data watch face

- Restore watchface-kit design (500x500, scaled per device)
- 7 themes auto-generated from tokens via gen_themes.py -> Themes.mc
- Four-segment gradient progress ring (22+21 ticks, 4 anchor dots)
- Center time, date band w/ Bluetooth icon, top battery + dual complications, bottom distance/steps
- 17 devices compiled clean (SDK 9.1.0)
- Includes browser/JS preview (preview.html) + 7-theme SVG sheet
This commit is contained in:
2026-09-09 14:40:33 +08:00
commit 553c55026a
15 changed files with 1404 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
<properties>
<property id="Theme" type="number">1</property>
<property id="RingTR" type="number">0</property>
<property id="RingTL" type="number">1</property>
<property id="RingBR" type="number">4</property>
<property id="RingBL" type="number">3</property>
<property id="LeftTop" type="number">1</property>
<property id="RightTop" type="number">0</property>
<property id="ShowTop" type="boolean">true</property>
<property id="ShowBand" type="boolean">true</property>
<property id="ShowBottom" type="boolean">true</property>
</properties>

View File

@@ -0,0 +1,87 @@
<settings>
<setting propertyKey="@Properties.Theme" title="@Strings.SettingTheme">
<settingConfig type="list">
<listEntry value="1">@Strings.ThemeEmber</listEntry>
<listEntry value="2">@Strings.ThemeAurora</listEntry>
<listEntry value="3">@Strings.ThemeBrass</listEntry>
<listEntry value="4">@Strings.ThemeVoltage</listEntry>
<listEntry value="5">@Strings.ThemeReef</listEntry>
<listEntry value="6">@Strings.ThemeAcid</listEntry>
<listEntry value="7">@Strings.ThemeKelp</listEntry>
</settingConfig>
</setting>
<setting propertyKey="@Properties.RingTR" title="@Strings.SettingRingTR">
<settingConfig type="list">
<listEntry value="0">@Strings.MetricSteps</listEntry>
<listEntry value="1">@Strings.MetricCalories</listEntry>
<listEntry value="2">@Strings.MetricDistance</listEntry>
<listEntry value="3">@Strings.MetricFloors</listEntry>
<listEntry value="4">@Strings.MetricMoveBar</listEntry>
</settingConfig>
</setting>
<setting propertyKey="@Properties.RingTL" title="@Strings.SettingRingTL">
<settingConfig type="list">
<listEntry value="0">@Strings.MetricSteps</listEntry>
<listEntry value="1">@Strings.MetricCalories</listEntry>
<listEntry value="2">@Strings.MetricDistance</listEntry>
<listEntry value="3">@Strings.MetricFloors</listEntry>
<listEntry value="4">@Strings.MetricMoveBar</listEntry>
</settingConfig>
</setting>
<setting propertyKey="@Properties.RingBR" title="@Strings.SettingRingBR">
<settingConfig type="list">
<listEntry value="0">@Strings.MetricSteps</listEntry>
<listEntry value="1">@Strings.MetricCalories</listEntry>
<listEntry value="2">@Strings.MetricDistance</listEntry>
<listEntry value="3">@Strings.MetricFloors</listEntry>
<listEntry value="4">@Strings.MetricMoveBar</listEntry>
</settingConfig>
</setting>
<setting propertyKey="@Properties.RingBL" title="@Strings.SettingRingBL">
<settingConfig type="list">
<listEntry value="0">@Strings.MetricSteps</listEntry>
<listEntry value="1">@Strings.MetricCalories</listEntry>
<listEntry value="2">@Strings.MetricDistance</listEntry>
<listEntry value="3">@Strings.MetricFloors</listEntry>
<listEntry value="4">@Strings.MetricMoveBar</listEntry>
</settingConfig>
</setting>
<setting propertyKey="@Properties.LeftTop" title="@Strings.SettingLeftTop">
<settingConfig type="list">
<listEntry value="0">@Strings.FieldWeather</listEntry>
<listEntry value="1">@Strings.FieldCalories</listEntry>
<listEntry value="2">@Strings.FieldSteps</listEntry>
<listEntry value="3">@Strings.FieldDistance</listEntry>
<listEntry value="4">@Strings.FieldFloors</listEntry>
<listEntry value="5">@Strings.FieldBattery</listEntry>
</settingConfig>
</setting>
<setting propertyKey="@Properties.RightTop" title="@Strings.SettingRightTop">
<settingConfig type="list">
<listEntry value="0">@Strings.FieldWeather</listEntry>
<listEntry value="1">@Strings.FieldCalories</listEntry>
<listEntry value="2">@Strings.FieldSteps</listEntry>
<listEntry value="3">@Strings.FieldDistance</listEntry>
<listEntry value="4">@Strings.FieldFloors</listEntry>
<listEntry value="5">@Strings.FieldBattery</listEntry>
</settingConfig>
</setting>
<setting propertyKey="@Properties.ShowTop" title="@Strings.SettingShowTop">
<settingConfig type="boolean"/>
</setting>
<setting propertyKey="@Properties.ShowBand" title="@Strings.SettingShowBand">
<settingConfig type="boolean"/>
</setting>
<setting propertyKey="@Properties.ShowBottom" title="@Strings.SettingShowBottom">
<settingConfig type="boolean"/>
</setting>
</settings>