30 KiB
显示与音频资产台账
范围、日期与计量口径
这是 2026-10-09 lucky-cat 工作区的核对快照;初始采集时 listening 素材尚未提交, 两个历史待机 C 资产未跟踪;本次已追加 HUD 字形/电池素材及构建结果。 它不是构建输入或自动生成的实时报告。 新增、替换、移出固件或经授权清理资产时,应同步更新此表及指南。
范围包含平台图片/图层/音频、生成 GFX C 文件、旧音频副本、领域内嵌网页和项目 显示预览;不逐个列第三方库的内部样例/字体、ESP-IDF 文件或 build 缓存。 语音模型作为独立构建产物在后文单列,不冒充项目图片资产。
- 文件字节为文件逻辑长度;分配字节来自本机 stat 的 st_blocks×512,可能随文件 系统、压缩、克隆共享而改变,不能当作唯一物理磁盘成本或固件占用。
- C 文件是十六进制数组的文本,文本长度不等于 Flash。Flash 载荷必须按数组 字节统计;描述结构、代码、对齐和其他数据最终以应用镜像为准。
- 源图、图层、预览、manifest、旧副本不因出现在仓库中就自动进入固件。
- PNG/Opus 素材包与六份 GFX RLE 都已包含在应用镜像里,不能重复加算。
- 本文只记录分类,不授权删除任何文件。后备保留与清理条件见 GFX 开发指南。
目录汇总
| 类别 | 文件数 | 文件字节合计 | 本机分配字节合计 | 当前用途 |
|---|---|---|---|---|
| 原始 LCD 图片 | 76 | 1,168,722 | 1,290,240 | 源图/历史 GIF,不直接入固件 |
| 优化 PNG 与清单 | 76 | 465,933 | 593,920 | 按 PNG 白名单入包;manifest 不入包 |
| 提示音 | 32 | 385,758 | 450,560 | 本目录 Opus 入包 |
| 待机拆分图层及预览 | 8 | 74,585 | 94,208 | 制作输入/预览,不入包 |
| 聆听拆分图层及预览 | 16 | 272,605 | 303,104 | 制作输入/预览,不入包 |
| GFX 压缩 C 资产 | 8 | 1,232,250 | 1,253,376 | 六份参与编译;历史两份未参与 |
| 旧音频副本 | 30 | 378,918 | 442,368 | 本目录不入包,不自动删除 |
| 领域网页资源 | 1 | 5,373 | 8,192 | user_config.html 单独 EMBED_TXTFILES,不在素材包 |
| 文档中的独立显示预览 | 2 | 98,302 | 102,400 | 仅电脑预览,不入固件 |
以下同名文件跨目录是不同用途,不应直接合并或重复计入 Flash。当前没有独立中文字体包;时间 HUD 已改为 Montserrat 14 数字子集,电量仅显示素材图标,不意味着已支持任意中文字形。
原始 LCD 图片
目录:components/platform/assets/lcd_source/。源图/历史 GIF,不直接入固件。
| 文件 | 文件字节 | 本机分配字节 | 尺寸 | 固件用途 |
|---|---|---|---|---|
OTA.gif |
40,441 | 40,960 | 320×240 | 不直接入固件 |
buyunqian1.png |
20,467 | 20,480 | 320×240 | 不直接入固件 |
charging.png |
3,018 | 4,096 | 50×70 | 不直接入固件 |
chouqian_buyun0.png |
16,883 | 20,480 | 320×240 | 不直接入固件 |
chouqian_buyun1.png |
20,467 | 20,480 | 320×240 | 不直接入固件 |
chouqian_buyun2.png |
27,971 | 28,672 | 320×240 | 不直接入固件 |
chouqian_heping0.png |
17,146 | 20,480 | 320×240 | 不直接入固件 |
chouqian_heping1.png |
20,975 | 24,576 | 320×240 | 不直接入固件 |
chouqian_heping2.png |
28,152 | 28,672 | 320×240 | 不直接入固件 |
chouqian_qianzhi0.png |
13,739 | 16,384 | 320×240 | 不直接入固件 |
chouqian_qianzhi1.png |
16,425 | 20,480 | 320×240 | 不直接入固件 |
chouqian_qianzhi2.png |
15,559 | 16,384 | 320×240 | 不直接入固件 |
chouqian_shangshang0.png |
17,377 | 20,480 | 320×240 | 不直接入固件 |
chouqian_shangshang1.png |
20,582 | 24,576 | 320×240 | 不直接入固件 |
chouqian_shangshang2.png |
28,046 | 28,672 | 320×240 | 不直接入固件 |
chouqian_xiaoji0.png |
17,071 | 20,480 | 320×240 | 不直接入固件 |
chouqian_xiaoji1.png |
20,313 | 20,480 | 320×240 | 不直接入固件 |
chouqian_xiaoji2.png |
27,354 | 28,672 | 320×240 | 不直接入固件 |
chouqian_zhongshang0.png |
16,995 | 20,480 | 320×240 | 不直接入固件 |
chouqian_zhongshang1.png |
19,968 | 20,480 | 320×240 | 不直接入固件 |
chouqian_zhongshang2.png |
26,989 | 28,672 | 320×240 | 不直接入固件 |
east0.png |
19,981 | 20,480 | 320×240 | 不直接入固件 |
huo0.png |
19,143 | 20,480 | 320×240 | 不直接入固件 |
huo1.png |
19,706 | 20,480 | 320×240 | 不直接入固件 |
icon_huo0.png |
2,028 | 4,096 | 56×58 | 不直接入固件 |
icon_jin0.png |
2,369 | 4,096 | 65×44 | 不直接入固件 |
icon_mu0.png |
3,741 | 4,096 | 86×50 | 不直接入固件 |
icon_shui0.png |
2,239 | 4,096 | 60×56 | 不直接入固件 |
icon_tu0.png |
2,873 | 4,096 | 75×42 | 不直接入固件 |
jichubiaoqing0.png |
20,645 | 24,576 | 320×240 | 不直接入固件 |
jichubiaoqing1.png |
16,355 | 16,384 | 320×240 | 不直接入固件 |
jichubiaoqing2.png |
14,340 | 16,384 | 320×240 | 不直接入固件 |
jin0.png |
17,398 | 20,480 | 320×240 | 不直接入固件 |
jin1.png |
19,311 | 20,480 | 320×240 | 不直接入固件 |
lcdtest00.png |
3,321 | 4,096 | 320×240 | 不直接入固件 |
lcdtest01.png |
3,574 | 4,096 | 320×240 | 不直接入固件 |
lcdtest02.png |
3,767 | 4,096 | 320×240 | 不直接入固件 |
lcdtest03.png |
3,903 | 4,096 | 320×240 | 不直接入固件 |
lcdtest04.png |
3,579 | 4,096 | 320×240 | 不直接入固件 |
lcdtest05.png |
3,996 | 4,096 | 320×240 | 不直接入固件 |
lcdtest06.png |
4,089 | 4,096 | 320×240 | 不直接入固件 |
lcdtest07.png |
3,753 | 4,096 | 320×240 | 不直接入固件 |
lcdtest08.png |
3,860 | 4,096 | 320×240 | 不直接入固件 |
lcdtest09.png |
4,008 | 4,096 | 320×240 | 不直接入固件 |
lcdtest10.png |
3,545 | 4,096 | 320×240 | 不直接入固件 |
lcdtest11.png |
3,169 | 4,096 | 320×240 | 不直接入固件 |
lcdtest12.png |
3,453 | 4,096 | 320×240 | 不直接入固件 |
lcdtest13.png |
3,710 | 4,096 | 320×240 | 不直接入固件 |
lcdtest14.png |
3,443 | 4,096 | 320×240 | 不直接入固件 |
lcdtest15.png |
3,646 | 4,096 | 320×240 | 不直接入固件 |
listening0.png |
19,615 | 20,480 | 320×240 | 不直接入固件 |
listening1.png |
15,072 | 16,384 | 320×240 | 不直接入固件 |
listening2.png |
10,758 | 12,288 | 320×240 | 不直接入固件 |
lowbat.png |
10,222 | 12,288 | 232×36 | 不直接入固件 |
mu0.png |
19,742 | 20,480 | 320×240 | 不直接入固件 |
mu1.png |
19,483 | 20,480 | 320×240 | 不直接入固件 |
muyu0.png |
17,340 | 20,480 | 320×240 | 不直接入固件 |
muyu1.png |
21,462 | 24,576 | 320×240 | 不直接入固件 |
muyu2.png |
34,079 | 36,864 | 320×240 | 不直接入固件 |
north0.png |
19,314 | 20,480 | 320×240 | 不直接入固件 |
northeast0.png |
21,808 | 24,576 | 320×240 | 不直接入固件 |
northwest0.png |
19,143 | 20,480 | 320×240 | 不直接入固件 |
ota1.png |
25,911 | 28,672 | 320×240 | 不直接入固件 |
ota2.png |
22,397 | 24,576 | 320×240 | 不直接入固件 |
ota3.png |
22,079 | 24,576 | 320×240 | 不直接入固件 |
qianzhiwuxing0.png |
16,670 | 20,480 | 320×240 | 不直接入固件 |
qrcode.png |
18,971 | 20,480 | 320×240 | 不直接入固件 |
shui0.png |
18,086 | 20,480 | 320×240 | 不直接入固件 |
shui1.png |
18,478 | 20,480 | 320×240 | 不直接入固件 |
south0.png |
22,767 | 24,576 | 320×240 | 不直接入固件 |
southeast0.png |
24,902 | 28,672 | 320×240 | 不直接入固件 |
southwest0.png |
22,298 | 24,576 | 320×240 | 不直接入固件 |
spin0.png |
17,071 | 20,480 | 320×240 | 不直接入固件 |
tu0.png |
18,101 | 20,480 | 320×240 | 不直接入固件 |
tu1.png |
20,059 | 20,480 | 320×240 | 不直接入固件 |
west0.png |
18,011 | 20,480 | 320×240 | 不直接入固件 |
优化 PNG 与清单
目录:components/platform/assets/lcd_optimized/。按 PNG 白名单入包;manifest 不入包。
| 文件 | 文件字节 | 本机分配字节 | 尺寸 | 固件用途 |
|---|---|---|---|---|
buyunqian1.png |
7,598 | 8,192 | 320×240 | 入包 PNG |
charging.png |
1,254 | 4,096 | 50×70 | 入包 PNG |
chouqian_buyun0.png |
6,536 | 8,192 | 320×240 | 入包 PNG |
chouqian_buyun1.png |
7,598 | 8,192 | 320×240 | 入包 PNG |
chouqian_buyun2.png |
9,986 | 12,288 | 320×240 | 入包 PNG |
chouqian_heping0.png |
6,590 | 8,192 | 320×240 | 入包 PNG |
chouqian_heping1.png |
7,701 | 8,192 | 320×240 | 入包 PNG |
chouqian_heping2.png |
10,120 | 12,288 | 320×240 | 入包 PNG |
chouqian_qianzhi0.png |
5,203 | 8,192 | 320×240 | 入包 PNG |
chouqian_qianzhi1.png |
6,119 | 8,192 | 320×240 | 入包 PNG |
chouqian_qianzhi2.png |
5,984 | 8,192 | 320×240 | 入包 PNG |
chouqian_shangshang0.png |
6,578 | 8,192 | 320×240 | 入包 PNG |
chouqian_shangshang1.png |
7,519 | 8,192 | 320×240 | 入包 PNG |
chouqian_shangshang2.png |
9,804 | 12,288 | 320×240 | 入包 PNG |
chouqian_xiaoji0.png |
6,447 | 8,192 | 320×240 | 入包 PNG |
chouqian_xiaoji1.png |
7,424 | 8,192 | 320×240 | 入包 PNG |
chouqian_xiaoji2.png |
9,715 | 12,288 | 320×240 | 入包 PNG |
chouqian_zhongshang0.png |
6,291 | 8,192 | 320×240 | 入包 PNG |
chouqian_zhongshang1.png |
7,224 | 8,192 | 320×240 | 入包 PNG |
chouqian_zhongshang2.png |
9,387 | 12,288 | 320×240 | 入包 PNG |
east0.png |
5,681 | 8,192 | 320×240 | 入包 PNG |
huo0.png |
7,023 | 8,192 | 320×240 | 入包 PNG |
huo1.png |
7,269 | 8,192 | 320×240 | 入包 PNG |
icon_huo0.png |
1,422 | 4,096 | 56×58 | 入包 PNG |
icon_jin0.png |
1,509 | 4,096 | 65×44 | 入包 PNG |
icon_mu0.png |
1,866 | 4,096 | 86×50 | 入包 PNG |
icon_shui0.png |
1,457 | 4,096 | 60×56 | 入包 PNG |
icon_tu0.png |
1,643 | 4,096 | 75×42 | 入包 PNG |
jichubiaoqing0.png |
6,467 | 8,192 | 320×240 | 入包 PNG |
jichubiaoqing1.png |
5,306 | 8,192 | 320×240 | 入包 PNG |
jichubiaoqing2.png |
4,482 | 8,192 | 320×240 | 入包 PNG |
jin0.png |
6,488 | 8,192 | 320×240 | 入包 PNG |
jin1.png |
7,077 | 8,192 | 320×240 | 入包 PNG |
lcdtest00.png |
2,885 | 4,096 | 320×240 | 入包 PNG |
lcdtest01.png |
2,965 | 4,096 | 320×240 | 入包 PNG |
lcdtest02.png |
2,982 | 4,096 | 320×240 | 入包 PNG |
lcdtest03.png |
3,043 | 4,096 | 320×240 | 入包 PNG |
lcdtest04.png |
2,949 | 4,096 | 320×240 | 入包 PNG |
lcdtest05.png |
3,225 | 4,096 | 320×240 | 入包 PNG |
lcdtest06.png |
3,431 | 4,096 | 320×240 | 入包 PNG |
lcdtest07.png |
3,369 | 4,096 | 320×240 | 入包 PNG |
lcdtest08.png |
3,299 | 4,096 | 320×240 | 入包 PNG |
lcdtest09.png |
3,458 | 4,096 | 320×240 | 入包 PNG |
lcdtest10.png |
3,229 | 4,096 | 320×240 | 入包 PNG |
lcdtest11.png |
2,966 | 4,096 | 320×240 | 入包 PNG |
lcdtest12.png |
2,921 | 4,096 | 320×240 | 入包 PNG |
lcdtest13.png |
3,020 | 4,096 | 320×240 | 入包 PNG |
lcdtest14.png |
2,986 | 4,096 | 320×240 | 入包 PNG |
lcdtest15.png |
3,033 | 4,096 | 320×240 | 入包 PNG |
listening0.png |
6,165 | 8,192 | 320×240 | 入包 PNG |
listening1.png |
4,939 | 8,192 | 320×240 | 入包 PNG |
listening2.png |
3,577 | 4,096 | 320×240 | 入包 PNG |
lowbat.png |
3,527 | 4,096 | 232×36 | 入包 PNG |
manifest.json |
34,788 | 36,864 | — | 不入包,校验清单/非白名单 |
mu0.png |
7,270 | 8,192 | 320×240 | 入包 PNG |
mu1.png |
7,208 | 8,192 | 320×240 | 入包 PNG |
muyu0.png |
6,924 | 8,192 | 320×240 | 入包 PNG |
muyu1.png |
8,325 | 12,288 | 320×240 | 入包 PNG |
muyu2.png |
12,523 | 16,384 | 320×240 | 入包 PNG |
north0.png |
5,527 | 8,192 | 320×240 | 入包 PNG |
northeast0.png |
6,276 | 8,192 | 320×240 | 入包 PNG |
northwest0.png |
5,496 | 8,192 | 320×240 | 入包 PNG |
ota1.png |
8,745 | 12,288 | 320×240 | 入包 PNG |
ota2.png |
7,585 | 8,192 | 320×240 | 入包 PNG |
ota3.png |
7,525 | 8,192 | 320×240 | 入包 PNG |
qianzhiwuxing0.png |
5,811 | 8,192 | 320×240 | 入包 PNG |
qrcode.png |
11,039 | 12,288 | 320×240 | 入包 PNG |
shui0.png |
6,640 | 8,192 | 320×240 | 入包 PNG |
shui1.png |
6,932 | 8,192 | 320×240 | 入包 PNG |
south0.png |
6,609 | 8,192 | 320×240 | 入包 PNG |
southeast0.png |
7,354 | 8,192 | 320×240 | 入包 PNG |
southwest0.png |
6,599 | 8,192 | 320×240 | 入包 PNG |
spin0.png |
6,447 | 8,192 | 320×240 | 入包 PNG |
tu0.png |
7,028 | 8,192 | 320×240 | 入包 PNG |
tu1.png |
7,381 | 8,192 | 320×240 | 入包 PNG |
west0.png |
5,164 | 8,192 | 320×240 | 入包 PNG |
提示音
目录:components/platform/assets/audio_prompts/。本目录 Opus 入包。
| 文件 | 文件字节 | 本机分配字节 | 尺寸 | 固件用途 |
|---|---|---|---|---|
battery_checking.opus |
4,366 | 8,192 | — | 入包 Opus |
battery_low_20.opus |
6,582 | 8,192 | — | 入包 Opus |
battery_low_energy_warning.opus |
26,369 | 28,672 | — | 入包 Opus |
boot.opus |
2,296 | 4,096 | — | 入包 Opus |
button_interrupt_listening.opus |
2,911 | 4,096 | — | 入包 Opus |
charge_complete.opus |
22,329 | 24,576 | — | 入包 Opus |
daily_first_wake.opus |
14,798 | 16,384 | — | 入包 Opus |
daily_wake.opus |
7,111 | 8,192 | — | 入包 Opus |
enter_provisioning.opus |
6,701 | 8,192 | — | 入包 Opus |
intro_first_setup_success.opus |
23,813 | 24,576 | — | 入包 Opus |
local_wake_response.opus |
3,680 | 4,096 | — | 入包 Opus |
luck_flow_lost_help_find.opus |
14,658 | 16,384 | — | 入包 Opus |
muyu.opus |
3,160 | 4,096 | — | 入包 Opus |
network_connect_failed.opus |
4,388 | 8,192 | — | 入包 Opus |
network_connect_success.opus |
4,778 | 8,192 | — | 入包 Opus |
network_connecting.opus |
2,836 | 4,096 | — | 入包 Opus |
network_interrupted_repairing.opus |
13,887 | 16,384 | — | 入包 Opus |
network_unstable.opus |
13,910 | 16,384 | — | 入包 Opus |
server_abnormal_interrupted.opus |
24,764 | 28,672 | — | 入包 Opus |
server_connect_failed.opus |
5,690 | 8,192 | — | 入包 Opus |
server_connect_success.opus |
6,302 | 8,192 | — | 入包 Opus |
server_repair_wait_open.opus |
17,193 | 20,480 | — | 入包 Opus |
server_repair_wait_reopen.opus |
17,829 | 20,480 | — | 入包 Opus |
shutdown.opus |
3,160 | 4,096 | — | 入包 Opus |
shutdown_normal_goodbye.opus |
6,396 | 8,192 | — | 入包 Opus |
shutdown_power_empty.opus |
19,970 | 20,480 | — | 入包 Opus |
signal_restored_business_resume.opus |
10,996 | 12,288 | — | 入包 Opus |
standby_5min.opus |
21,429 | 24,576 | — | 入包 Opus |
system_update_complete.opus |
12,396 | 16,384 | — | 入包 Opus |
system_upgrading.opus |
23,754 | 24,576 | — | 入包 Opus |
welcome_luck_ready.opus |
25,325 | 28,672 | — | 入包 Opus |
wifi_password_wrong.opus |
11,981 | 12,288 | — | 入包 Opus |
待机拆分图层及预览
目录:components/platform/assets/lcd_layers/jichubiaoqing/。制作输入/预览,不入包。
| 文件 | 文件字节 | 本机分配字节 | 尺寸 | 固件用途 |
|---|---|---|---|---|
idle_base.png |
5,321 | 8,192 | 320×240 | 不直接入固件 |
idle_eyes_closed.png |
5,896 | 8,192 | 238×93 | 不直接入固件 |
idle_eyes_half.png |
8,791 | 12,288 | 238×93 | 不直接入固件 |
idle_eyes_open.png |
12,161 | 12,288 | 238×93 | 不直接入固件 |
layout.json |
387 | 4,096 | — | 不直接入固件 |
preview_closed.png |
10,881 | 12,288 | 320×240 | 不直接入固件 |
preview_half.png |
13,832 | 16,384 | 320×240 | 不直接入固件 |
preview_open.png |
17,316 | 20,480 | 320×240 | 不直接入固件 |
聆听拆分图层及预览
目录:components/platform/assets/lcd_layers/listening/。制作输入/预览,不入包。
| 文件 | 文件字节 | 本机分配字节 | 尺寸 | 固件用途 |
|---|---|---|---|---|
layout.json |
346 | 4,096 | — | 不直接入固件 |
listening_base.png |
6,234 | 8,192 | 320×240 | 不直接入固件 |
listening_eyes_closed.png |
2,875 | 4,096 | 242×77 | 不直接入固件 |
listening_eyes_half.png |
6,460 | 8,192 | 242×77 | 不直接入固件 |
listening_eyes_open.png |
9,866 | 12,288 | 242×77 | 不直接入固件 |
preview.gif |
53,952 | 57,344 | 320×240 | 不直接入固件 |
preview_000.png |
13,633 | 16,384 | 320×240 | 不直接入固件 |
preview_016.png |
15,577 | 16,384 | 320×240 | 不直接入固件 |
preview_024.png |
15,540 | 16,384 | 320×240 | 不直接入固件 |
preview_064.png |
14,802 | 16,384 | 320×240 | 不直接入固件 |
preview_080.png |
14,347 | 16,384 | 320×240 | 不直接入固件 |
preview_128.png |
10,641 | 12,288 | 320×240 | 不直接入固件 |
preview_160.png |
10,937 | 12,288 | 320×240 | 不直接入固件 |
preview_192.png |
9,820 | 12,288 | 320×240 | 不直接入固件 |
preview_232.png |
7,674 | 8,192 | 320×240 | 不直接入固件 |
preview_sheet.png |
79,901 | 81,920 | 960×720 | 不直接入固件 |
GFX 压缩 C 资产
目录:components/platform/src/generated/emote_gfx/。六份参与编译;历史两份未参与。
| 文件 | 文本文件字节 | 本机分配字节 | 图层尺寸 | 数组载荷字节 | RGB565+A8 像素字节 | 参与编译 |
|---|---|---|---|---|---|---|
idle_base.c |
29,698 | 32,768 | 284×37 | 4,764(RLE) | 31,524 | 是,GFX 开关开启时 |
idle_eyes_closed.c |
400,750 | 401,408 | 238×93 | 66,402(历史未压缩像素) | 66,402 | 否,历史文件,仅保留 |
idle_eyes_half.c |
400,744 | 401,408 | 238×93 | 66,402(历史未压缩像素) | 66,402 | 否,历史文件,仅保留 |
idle_eyes_open.c |
90,201 | 94,208 | 238×93 | 14,572(RLE) | 66,402 | 是,GFX 开关开启时 |
listening_base.c |
54,190 | 57,344 | 287×102 | 8,732(RLE) | 87,822 | 是,GFX 开关开启时 |
listening_eyes_closed.c |
26,097 | 28,672 | 242×77 | 4,172(RLE) | 55,902 | 是,GFX 开关开启时 |
listening_eyes_half.c |
81,985 | 86,016 | 242×77 | 13,236(RLE) | 55,902 | 是,GFX 开关开启时 |
listening_eyes_open.c |
148,585 | 151,552 | 242×77 | 24,036(RLE) | 55,902 | 是,GFX 开关开启时 |
旧音频副本
目录:defaultAudio/。本目录不入包,不自动删除。
| 文件 | 文件字节 | 本机分配字节 | 尺寸 | 固件用途 |
|---|---|---|---|---|
battery_checking.opus |
4,366 | 8,192 | — | 不直接入固件 |
battery_low_20.opus |
6,582 | 8,192 | — | 不直接入固件 |
battery_low_energy_warning.opus |
26,369 | 28,672 | — | 不直接入固件 |
boot.opus |
2,296 | 4,096 | — | 不直接入固件 |
button_interrupt_listening.opus |
2,911 | 4,096 | — | 不直接入固件 |
charge_complete.opus |
22,329 | 24,576 | — | 不直接入固件 |
daily_first_wake.opus |
14,798 | 16,384 | — | 不直接入固件 |
daily_wake.opus |
7,111 | 8,192 | — | 不直接入固件 |
enter_provisioning.opus |
6,701 | 8,192 | — | 不直接入固件 |
intro_first_setup_success.opus |
23,813 | 24,576 | — | 不直接入固件 |
luck_flow_lost_help_find.opus |
14,658 | 16,384 | — | 不直接入固件 |
network_connect_failed.opus |
4,388 | 8,192 | — | 不直接入固件 |
network_connect_success.opus |
4,778 | 8,192 | — | 不直接入固件 |
network_connecting.opus |
2,836 | 4,096 | — | 不直接入固件 |
network_interrupted_repairing.opus |
13,887 | 16,384 | — | 不直接入固件 |
network_unstable.opus |
13,910 | 16,384 | — | 不直接入固件 |
server_abnormal_interrupted.opus |
24,764 | 28,672 | — | 不直接入固件 |
server_connect_failed.opus |
5,690 | 8,192 | — | 不直接入固件 |
server_connect_success.opus |
6,302 | 8,192 | — | 不直接入固件 |
server_repair_wait_open.opus |
17,193 | 20,480 | — | 不直接入固件 |
server_repair_wait_reopen.opus |
17,829 | 20,480 | — | 不直接入固件 |
shutdown.opus |
3,160 | 4,096 | — | 不直接入固件 |
shutdown_normal_goodbye.opus |
6,396 | 8,192 | — | 不直接入固件 |
shutdown_power_empty.opus |
19,970 | 20,480 | — | 不直接入固件 |
signal_restored_business_resume.opus |
10,996 | 12,288 | — | 不直接入固件 |
standby_5min.opus |
21,429 | 24,576 | — | 不直接入固件 |
system_update_complete.opus |
12,396 | 16,384 | — | 不直接入固件 |
system_upgrading.opus |
23,754 | 24,576 | — | 不直接入固件 |
welcome_luck_ready.opus |
25,325 | 28,672 | — | 不直接入固件 |
wifi_password_wrong.opus |
11,981 | 12,288 | — | 不直接入固件 |
领域网页资源
目录:components/domain/assets/。user_config.html 单独 EMBED_TXTFILES,不在素材包。
| 文件 | 文件字节 | 本机分配字节 | 尺寸 | 固件用途 |
|---|---|---|---|---|
user_config.html |
5,373 | 8,192 | — | 单独嵌入应用,文本尾部追加 NUL |
独立显示预览
| 文件 | 文件字节 | 本机分配字节 | 用途 |
|---|---|---|---|
docs/cat-face-screen-preview.html |
5,225 | 8,192 | 文档/浏览器预览,不入固件 |
docs/lcd-boundary-test-preview.gif |
93,077 | 94,208 | 文档/浏览器预览,不入固件 |
实际入固件与构建快照
当前 PNG 白名单为 75 项,提示音为 32 项;已逐项对照 现有素材包名称及字节,确认本次台账快照与该包一致。资源变化后需重新核对构建, 不能只改本文数字。
| 项目 | 字节 | 计量说明 |
|---|---|---|
| 白名单优化 PNG 载荷 | 431,145 | 素材包内部像素文件 |
| Opus 提示音载荷 | 385,758 | 素材包内部音频文件 |
| 包头、条目头及名称 | 3,222 | 打包元数据 |
| platform_assets.pack | 820,125 | 上述三项之和,包含于应用 |
| 六份在用 RLE 载荷 | 69,512 | 独立 C 数组链接入应用,不在素材包内 |
| 应用镜像 | 3,105,872 | HUD 更新后的本次构建,包含 PNG、Opus、RLE、网页、代码及其他链接数据 |
| 单个 OTA 槽 | 4,718,592 | 应用余量 1,612,720 字节;不能把两个槽余量合并供一次 OTA 使用 |
| 独立语音模型镜像 | 2,681,351 | model 分区容量 3,145,728 字节,不属于应用内图片包 |
文件总大小不能当作“当前整个 Flash 用量”;NVS、分区表、引导程序、模型和 其他分区另计,设备内容还取决于实际烧录/OTA。临时构建产物不应提交。
listening 压缩与旧方案对照
旧三张原 PNG 共 45,445 字节;旧优化 PNG 共 14,681 字节;新四份图层原始 RGB565+A8 像素共 255,528 字节,新 RLE 载荷共 50,176 字节。相对原始像素 减少约 80.4%,但比旧优化 PNG 多 35,495 字节,不能称为“比旧方案省 Flash”。 原旧 PNG 后备没有移出素材包,所以实际固件增量为 53,696 字节,不是仅比较 新旧素材大小的差。九张局部缓存共 335,412 字节 PSRAM,静态底图 87,822 字节, 常驻像素共 423,234 字节;初始化额外关键图 167,706 字节,随后释放。 当前没有新增 DMA 暂存区、合成缓冲或任务。它是用户已接受的空间换流畅度方案。
新增时间字形与电池图标(2026-10-09 HUD 更新)
素材来自用户提供的 battery_icons.zip,只导入 out/40x20/ 中明确列出的十张 PNG,
80×40 版本不入工程。源图与优化 PNG 均不加入 platform_assets.pack,避免重复计费;
实际链接生成的 C 只读数组。以下新增项不包含在上面的旧目录汇总里。
| 源图名称 | 原 PNG 字节 | 优化 PNG 字节 | 调色板+游程载荷字节 |
|---|---|---|---|
battery_1.png |
704 | 687 | 805 |
battery_25.png |
815 | 800 | 995 |
battery_50.png |
594 | 571 | 927 |
battery_75.png |
601 | 574 | 919 |
battery_100.png |
543 | 524 | 806 |
battery_charging_1.png |
1,206 | 1,197 | 1,300 |
battery_charging_25.png |
1,367 | 1,344 | 1,500 |
battery_charging_50.png |
1,333 | 1,319 | 1,363 |
battery_charging_75.png |
1,451 | 1,437 | 1,477 |
battery_charging_100.png |
1,359 | 1,353 | 1,350 |
| 合计 | 9,973 | 9,806 | 11,442 |
源 PNG:components/platform/assets/status_hud/battery_source/,十文件分配空间共
40,960 B;优化 PNG:同目录 battery_optimized/,十文件分配空间共 40,960 B。
颜色先按现有 RGB565 精度转换,完整保留 A8;调色板编码对 RGB565+A8 无损,
不等于 RGB888 转 RGB565 无损。游程往返与 PNG 优化像素一致性由生成脚本验证。
十图标原始 RGB565+A8 为 24,000 B,索引游程为 11,442 B,减少约 52.3%;
但比优化 PNG 大 1,636 B。这里选的是无需运行时解码缓存的折中,不是最小文件编码。
时间字形来自已安装 LVGL 的 lv_font_montserrat_14.c,只提取数字、冒号、横线,
4-bit Alpha 位图 425 B,十二个描述共 96 B(ESP32-S3 对象验证),原始字号不放大。
许可说明保留在 status_hud/LVGL-LICENSE.txt(不入固件)。
生成脚本 tools/prepare_status_hud_assets.py,验证用 --check;输入字体版本/格式
变化会触发断言,不能静默生成错误字形。
实际编译 components/platform/src/generated/lcd_status_assets.c:文本文件 75,630 B,
目标对象只读载荷 12,083 B,包括 425 B 字形、96 B 字形描述、11,442 B 图标数据、
120 B 图标描述;目标对象可写 data/BSS 为 0。它不属于上面的六份表情 RLE。
PNG 包仍为 820,125 B、75 PNG/32 Opus;只读资产已包含于整个应用,不再重复相加。
完整应用从 3,094,176 B 增至 3,105,872 B,净增 11,696 B(包含旧字形/绘制代码 移除和段对齐变化),OTA 槽剩余 1,612,720 B。新增常驻/初始化像素 PSRAM、普通堆、 内部/DMA 专用缓冲及静态可写数据均为 0;复用既有 HUD 和行缓冲。 局部栈、CPU 耗时和设备最低内存尚未新增实机测量,不应写成整体资源零成本。
新增抽签分层资产(2026-10-10)
以下新增项不合并进上面的历史目录汇总。旧抽签十八张源 PNG 共 372,012 B、 优化 PNG 共 136,226 B,全部保留且后备仍入包。PNG 包仍 820,125 B,不重复 加入本次拆分层。生成器使用优化 PNG 保存拆分层,但实际编译 LZ4,不是 RLE。
图层目录:components/platform/assets/lcd_layers/chouqian/。
| 图层 | 尺寸 | 优化 PNG B | 本机分配 B | RGB565+A8 B | LZ4 载荷 B |
|---|---|---|---|---|---|
pile.png |
208×76 | 9,594 | 12,288 | 47,424 | 9,417 |
back.png |
63×113 | 2,999 | 4,096 | 21,357 | 4,179 |
edge.png |
41×110 | 2,957 | 4,096 | 13,530 | 4,389 |
front.png |
100×190 | 7,579 | 8,192 | 57,000 | 10,774 |
question.png |
27×50 | 730 | 4,096 | 4,050 | 817 |
rod.png |
169×56 | 1,584 | 4,096 | 28,392 | 2,094 |
text_buyun.png |
48×104 | 2,502 | 4,096 | 14,976 | 2,638 |
text_heping.png |
48×104 | 2,784 | 4,096 | 14,976 | 2,851 |
text_shangshang.png |
48×104 | 2,132 | 4,096 | 14,976 | 2,069 |
text_xiaoji.png |
48×104 | 2,091 | 4,096 | 14,976 | 2,210 |
text_zhongshang.png |
48×104 | 2,094 | 4,096 | 14,976 | 2,109 |
| 合计 | 十一图层 | 37,046 | 57,344 | 246,633 | 43,547 |
layout.json 1,929 B、分配 4,096 B,不入固件;目录共十二文件 38,975 B、
分配 61,440 B。预览工具默认输出 /tmp/lucky-fortune-preview,不是编译资产。
源十八 PNG 与本次拆分层不是相同数量的无损比较;背景/几何做了小幅性能适配。
LZ4 对转换后的 RGB565+A8 无损且完整保留 Alpha,但比拆分 PNG 多 6,501 B,
不能称为压得最小。生成器及实际 C 解码均做往返校验,原旧 PNG 不覆盖。
生成 C:components/platform/src/generated/emote_gfx/fortune_assets.c,文本
270,251 B、分配 270,336 B;目标对象只读段总计 43,831 B(载荷、176 B 资产
描述、20 B 目录指针、88 B 目录名),可写 data/BSS 为 0。生成 C 不手改。
本次完整应用 3,157,728 B,较 HUD 提交 3,105,872 B 增加 51,856 B,包含 资产、几何/解码、播放与 UART 显示测试命令的代码及对齐;单 OTA 槽余量 1,560,864 B。所有只读资源已经包含在应用里,不能再相加。
六共享层解压 171,753 B、一次仅选一份签文 14,976 B、208×220 RGB565 局部光栅缓冲 91,520 B,像素峰值合计 278,249 B PSRAM;目标编译器场景 描述 148 B 也在 PSRAM,明确申请峰值 278,397 B,不含堆管理。 正常结束/取消后释放,新增常驻像素为 0。临时 GFX 图片对象/状态/链节点 普通堆请求合计 96 B,不含分配器;LCD 静态可写数据增加 4 B 指针, 无新增内部/DMA 缓冲、合成整屏缓冲或任务;局部栈/CPU/实际最低余量另测。 解绑故障时保留绑定资源到重启,不冒充完整释放。
五签主机回归、IDF 5.5.4、日志关闭/GFX 关闭编译与应用烧录校验通过。 设备启动确认缓存成功、25 秒采样无显示锁/传输/崩溃错误;未捕获抽签运动 日志,FPS/五签观感/并行负载最低内存仍待实机验收。详见 抽签开发说明。
维护与后续清理(通用)
- PNG 新增/替换按 图片优化流程 生成并验证, 不能编辑优化产物代替修改源图。GFX 新增/替换使用对应压缩脚本和编码往返测试。
- 改白名单、图层、生成 C、音频或预览时更新分类、文件字节及载荷;重新构建时 同步镜像/包快照,记录常驻与峰值内存。不要把本文静态表当自动一致性校验。
- 当前后备 PNG 全保留;历史 C 与旧副本只标记,未授权不删。删除前核对引用、 GFX 关闭/故障后备以及收益,经过用户确认并完成迁移验收后再修改构建及资源表。
- 清理优先区分“不再入固件”与“删除可编辑源文件”。前者有 Flash 收益,后者 可能仅省开发机空间,不能混为一谈。保留 Git 可恢复记录,并验证正常/故障路径。
- 这里没有安排立即清理、批量迁移所有表情或加入完整字库;当前仅按用户要求提取 Montserrat 数字子集。