机型覆盖 17 → 55 款,补 LICENSE 与 CHANGELOG
机型
新增 38 款圆屏 + CIQ ≥ 4.2 的机型:fenix 7 Pro 全系、Venu 2/3S、
Approach S50/S70、Descent G2/Mk3、D2 系列、Instinct 3 AMOLED、
FR255S/265S/570/955 等。其中 34 款的屏宽已有现成图标资源。
机型列表和 monkey.jungle 改由 tools/gen_devices.py 扫描本机 SDK 生成,
筛选条件是「支持 watchFace + 圆屏 + CIQ ≥ 4.2」(Complications 要 4.2)。
55 条资源路径不再手写。
新增 218px 与 360px 两档图标。218px 上图标只有 14×14,设计稿里太阳与云
之间那道 1.7 设计像素的暗缝连一个物理像素都占不到,光栅化出来是一坨没有
结构的橙块 —— 该尺寸改用按目标像素直接摆的简化标记。
常亮模式:结论是不改
为了压所谓的 10% 点亮率,一度把进度环也砍掉了。换成平均亮度(AMOLED 功耗
的合理代理)重新量之后发现:普通模式 14.1%,常亮 2.9%,本来就只有 1/5;
砍掉环只从 3.01% 降到 2.91%。0.1 个百分点换掉一个可见特征不划算,环留着。
两种度量的差异和这个决定都写进了代码注释和 README。
其它
- LICENSE(MIT)。只覆盖代码 —— design/ 下的设计稿版权归第三方,
发布前需取得原作者授权或替换视觉,文件内已注明。
- UserProfile.getProfile() 加异常保护(这个 API 家族已经坑过三次)
- CHANGELOG.md,版本号 1.0.0 → 1.1.0
验证:55 款全部编译通过(分三批 18+18+19);.iq 上架包可正常导出。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
24
README.md
24
README.md
@@ -1,6 +1,6 @@
|
||||
# Fenix 8 V3 — Garmin 数据表盘
|
||||
|
||||
按 `watchface-kit` 设计稿 1:1 还原的多指标数据表盘。设计画布 **500×500**,渲染时按屏宽等比缩放 `s = screenWidth / 500`,支持圆形 AMOLED(Fenix 8 / Epix 2 / Venu 3 等)与圆屏 MIP(Fenix 7 / Enduro 3 / FR255 等)共 17 款设备。
|
||||
按 `watchface-kit` 设计稿 1:1 还原的多指标数据表盘。设计画布 **500×500**,渲染时按屏宽等比缩放 `s = screenWidth / 500`,支持圆形 AMOLED 与圆屏 MIP 共 **55 款**设备(Fenix 7/8 全系含 Pro、Epix 2、Enduro 3、Venu 2/3、FR 系列、Approach S50/S70、Descent、D2、Instinct 3 AMOLED 等)。
|
||||
|
||||
- **SDK**:Connect IQ SDK 9.1.0(`monkeyc` 9.1.0,`minSdkVersion="4.2.0"`)
|
||||
- **语言**:Monkey C;界面文案含英文与简体中文
|
||||
@@ -24,6 +24,7 @@ fenix8v3-watchface/
|
||||
├── tools/
|
||||
│ ├── gen_themes.py # design/*.svg -> source/Themes.mc
|
||||
│ ├── gen_fields.py # 字段表 -> FieldTable.mc + settings.xml + 两种语言文案
|
||||
│ ├── gen_devices.py # 扫描 SDK -> manifest 机型列表 + monkey.jungle
|
||||
│ ├── gen_icons.py # design/*.svg -> 各尺寸图标位图 + 启动图标
|
||||
│ └── gen_preview_svg.py # source/Themes.mc -> preview-themes.svg + preview.html
|
||||
├── source/
|
||||
@@ -49,10 +50,14 @@ fenix8v3-watchface/
|
||||
重新生成全部派生文件:
|
||||
|
||||
```bash
|
||||
python3 tools/gen_themes.py && python3 tools/gen_fields.py \
|
||||
python3 tools/gen_devices.py \
|
||||
&& python3 tools/gen_themes.py && python3 tools/gen_fields.py \
|
||||
&& python3 tools/gen_icons.py && python3 tools/gen_preview_svg.py
|
||||
```
|
||||
|
||||
`gen_devices.py` 要先跑 —— 它决定了需要哪些图标尺寸,`gen_icons.py` 的
|
||||
`WIDTHS` / `LAUNCHER` 两张表必须跟它对齐,少一档就会有机型编译不过。
|
||||
|
||||
三份渲染实现(表盘 / SVG 预览 / HTML 预览)只有 **一份颜色数据**:`Themes.mc`。预览脚本直接解析它,不会与固件漂移。字段表、设置项、两种语言的文案同样只有 `tools/gen_fields.py` 里那一张表。
|
||||
|
||||
---
|
||||
@@ -283,7 +288,16 @@ AMOLED 机型在常亮模式下必须压低点亮像素,否则既费电又有
|
||||
- 时间与日期压暗到 55%,其余数据位全部隐藏
|
||||
- 整个画面按分钟在 ±4px 内游走,避免固定像素长期点亮
|
||||
|
||||
只在 `DeviceSettings.requiresBurnInProtection` 为真时启用;MIP 机型(Fenix 7 / Enduro 3 等)不受影响,照常全量绘制。
|
||||
只在 `DeviceSettings.requiresBurnInProtection` 为真时启用;MIP 机型不受影响,照常全量绘制。
|
||||
|
||||
实测(fenix847mm,取表盘内区):
|
||||
|
||||
| | 点亮像素数 | 平均亮度(功耗代理) |
|
||||
|---|---|---|
|
||||
| 普通模式 | 27.6% | 14.1% |
|
||||
| 常亮模式 | 10.4% | **2.9%** |
|
||||
|
||||
两个口径差别很大:「点亮像素数」把每个抗锯齿边缘像素都算成亮的,和实际功耗对不上。曾试过连进度环也砍掉,平均亮度只从 3.01% 降到 2.91% —— 0.1 个百分点换掉一个可见特征不划算,所以环保留。
|
||||
|
||||
模拟器可用 `Settings → Display Mode` 切换验证。
|
||||
|
||||
@@ -328,7 +342,9 @@ for d in enduro3 fenix843mm fenix847mm fenix8pro47mm fenix8solar47mm fenix8solar
|
||||
done
|
||||
```
|
||||
|
||||
屏幕分辨率跨度较大(fenix7s 240×240 至 fenix847mm / venu3 454×454),全部按 `s = width/500` 缩放。
|
||||
屏幕分辨率跨度较大(FR255S 218×218 至 454×454 共 8 档),全部按 `s = width/500` 缩放。
|
||||
|
||||
机型列表和 `monkey.jungle` 由 `tools/gen_devices.py` 扫描本机已安装的 SDK 设备生成:筛选条件是「支持 watchFace + 圆屏 + CIQ ≥ 4.2」(Complications 需要 4.2)。**注意结果取决于本机装了哪些设备**,跑之前先确认 SDK 设备装全了,脚本会打印找到的数量。
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user