Files
lucky-cat/docs/显示与音频资产台账.zh-CN.md
T

389 lines
24 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 显示与音频资产台账
## 范围、日期与计量口径
这是 2026-10-09 lucky-cat 工作区的只读核对快照;采集时包含尚未提交的 listening
素材以及两个未跟踪的历史待机 C 资产。它不是构建输入或自动生成的实时报告。
新增、替换、移出固件或经授权清理资产时,应同步更新此表及指南。
范围包含平台图片/图层/音频、生成 GFX C 文件、旧音频副本、领域内嵌网页和项目
显示预览;不逐个列第三方库的内部样例/字体、ESP-IDF 文件或 build 缓存。
语音模型作为独立构建产物在后文单列,不冒充项目图片资产。
- 文件字节为文件逻辑长度;分配字节来自本机 stat 的 st_blocks×512,可能随文件
系统、压缩、克隆共享而改变,不能当作唯一物理磁盘成本或固件占用。
- C 文件是十六进制数组的文本,文本长度不等于 Flash。Flash 载荷必须按数组
字节统计;描述结构、代码、对齐和其他数据最终以应用镜像为准。
- 源图、图层、预览、manifest、旧副本不因出现在仓库中就自动进入固件。
- PNG/Opus 素材包与六份 GFX RLE 都已包含在应用镜像里,不能重复加算。
- 本文只记录分类,不授权删除任何文件。后备保留与清理条件见
[GFX 开发指南](GFX表情显示应用与开发指南.md#旧资源保留整理与迁移完成条件)。
## 目录汇总
| 类别 | 文件数 | 文件字节合计 | 本机分配字节合计 | 当前用途 |
| --- | ---: | ---: | ---: | --- |
| 原始 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 使用代码内置点阵,不意味着已支持任意中文字形。
## 原始 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,094,176 | 已包含 PNG、Opus、RLE、网页、代码及其他链接数据 |
| 单个 OTA 槽 | 4,718,592 | 应用余量 1,624,416 字节;不能把两个槽余量合并供一次 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 暂存区、合成缓冲或任务。它是用户已接受的空间换流畅度方案。
## 维护与后续清理
1. PNG 新增/替换按 [图片优化流程](lcd-image-asset-optimization.zh-CN.md) 生成并验证,
不能编辑优化产物代替修改源图。GFX 新增/替换使用对应压缩脚本和编码往返测试。
2. 改白名单、图层、生成 C、音频或预览时更新分类、文件字节及载荷;重新构建时
同步镜像/包快照,记录常驻与峰值内存。不要把本文静态表当自动一致性校验。
3. 当前后备 PNG 全保留;历史 C 与旧副本只标记,未授权不删。删除前核对引用、
GFX 关闭/故障后备以及收益,经过用户确认并完成迁移验收后再修改构建及资源表。
4. 清理优先区分“不再入固件”与“删除可编辑源文件”。前者有 Flash 收益,后者
可能仅省开发机空间,不能混为一谈。保留 Git 可恢复记录,并验证正常/故障路径。
5. 这里没有安排立即清理、批量迁移所有表情或新增字体;这些需要单独确定范围。