docs: 仓库侧公开文档更新到 M2.71/0.7.66 + 系统框架(agent-157)

- README: 版本0.7.66; 系统组件/进程模型(meow_sysui+专项子服务)/launcher源码拆分+状态栏统一/SDK控件库(第一批通用基座+第二批Material)/§2.9系统框架+§2.10 MeowPanel/配置驱动打包/.mpk=tar.gz/文档索引/mtd5 ota:kernel2
- SPEC_REF: §3.4 SDK统一控件库+主题增强/§4专项子服务(perf/power+电源CLI全命令+二期os.meow鉴权/.mpk签名)/§5.1状态栏统一/§5.4版本0.7.66
- APPS: §1.3系统动作经专项服务(不直连sys_do_reboot/mtd5, 走meow_svc_power)/附录.o mpk包名os.meow.*约定+系统APP鉴权规划
- FRAMEWORK_DESIGN: §10.1专项子服务锚点+launcher源码拆分说明
- MEOW_APP_SDK: §5.8/§8.1 标注已实现(第一/二批+主题接口), 保留miui→miuix待定案/物理键焦点导航草案
- 无敏感(无密钥/密码/设备IP/监听地址); 未碰devdocs/一期代码/agent-155文件
This commit is contained in:
MeowOS committed 2026-08-30 23:01:59 +08:00
1 parent dcba5975a2
commit 898bc176c9
5 files changed
+103 -46

No files matched your search

+23 -21
View File
@@ -479,7 +479,7 @@ void meow_ui_panel_set_collapsed(meow_panel *p, int collapsed);
> **性质**:控件层的**演进蓝图**(后续实现权威)。把现有最小控件集(§5)与设计模板(§5.2-§5.7)收敛到**统一控件架构**——一个 `meow_widget` 基座承载「标准控件(SDK 内置)」与「自定义画布(App 提供 render/hit 回调)」,二者**同构**;并给出**三大通用化设计**:① 可组合布局(Row/Column/Box + Spacer);② Modifier 式通用 Options(`meow_widget_opts`,通吃所有控件);③ 统一状态机(enabled/selected/focused/pressed,触摸 + 物理键焦点)+ MD3 完整语义色板(日/夜自动切换)。
>
> **本小节只定架构与 API 草案**,均为「草案/待定案」,不随 B1 落地;实现以 `meow_ui.h` 为准。**不破坏**既有 btn/slider/switch/list(§5)与设计模板(§5.2-§5.7)——既有 create 签名一字不改,Options/状态机走**新增挂载器**(§5.8.2/§5.8.3)。**移植 Compose/Flutter 的思想而非照搬**(见 §5.8.7 取舍)。
> **✅ 已实现(M2.70/M2.71,详见 §5.8.8 分批)**:第一批 = 通用基座(§5.8.1-§5.8.5,M2.70/0.7.65);第二批 = Material 组件子集(§5.8.6,M2.71/0.7.66)。实现以 `meow_ui.h` / `meow_ui_widget.c` 为准;下文仍保留「草案/待定案」表述处对应**未落地**的部分(如物理键整页焦点导航、弹性布局子项),勿当作已实现。**不破坏**既有 btn/slider/switch/list(§5)与设计模板(§5.2-§5.7)——既有 create 签名一字不改,Options/状态机走**新增挂载器**(§5.8.2/§5.8.3)。**移植 Compose/Flutter 的思想而非照搬**(见 §5.8.7 取舍)。
#### 5.8.0 一句话定位
@@ -665,29 +665,29 @@ meow_widget *meow_layout_spacer(int w, int h);
- **局部刷新**:交互仍只刷变化区(`meow_ui_flush_region`),布局不导致整页重排;仅 arrange 时算一次坐标。
- **嵌套**:布局可作另一布局的子控件(Row 内嵌 Column),arrange 递归。
#### 5.8.6 Material 组件子集(后续追加批次)
#### 5.8.6 Material 组件子集(第二批,已实现 M2.71/0.7.66)
> **性质**:Material 3 组件子集,**后续追加批次**(不随第一批基座落地)。基于「统一控件架构 + Options + 状态机 + MD3 色板」实现,观感对齐 MD3、本地化到主题语义色。每项一句用途:
> **性质**:Material 3 组件子集,**第二批追加批次**(基于第一批基座落地,M2.71 已实现)。观感对齐 MD3、本地化到主题语义色。每项一句用途(API 见 `meow_ui.h`,实现见 `meow_ui_widget.c` `meow_*_create`):
| 组件 | 一句用途 | 批次 |
|---|---|---|
| TextField | 单/多行文本输入(复用 IME §5.1) | 后续 |
| Card | 圆角容器卡片(`surfaceContainer` 底 + 可选描边/状态层) | 后续 |
| Divider | 横向/纵向分隔线 | 后续 |
| Badge | 角标(红点/计数) | 后续 |
| Checkbox | 复选(`selected` 态 + `primary` 勾) | 后续 |
| Radio | 单选(单选组;`selected` 态) | 后续 |
| ProgressBar | 线性/圆形进度(确定性 + 不定性) | 后续 |
| Button(五型) | filled / tonal / outlined / text / elevated(`meow_btn` 扩展五型,Options 区分) | 后续 |
| TopAppBar | 顶部标题栏(标题 + 返回 + 操作) | 后续 |
| NavigationBar | 底部导航栏(图标 + 文字) | 后续 |
| TabBar | 顶部分页 Tab(swipe 联动 §5.2) | 后续 |
| BottomSheet | 底部面板(复用 §5.7 B④ 面板) | 后续 |
| Dialog | 弹窗(复用 §5.6 B③ 弹窗) | 后续 |
| FloatingActionButton | 悬浮操作钮(圆角增强;无投影,仅描边/状态层近似) | 后续 |
| 列表容器 | 可滚动列表(复用 §5.5 A② listview) | 后续 |
| TextField | 单/多行文本输入(复用 IME §5.1) | ✅ 第二批 |
| Card | 圆角容器卡片(`surfaceContainer` 底 + 可选描边/状态层) | ✅ 第二批 |
| Divider | 横向/纵向分隔线 | ✅ 第二批 |
| Badge | 角标(红点/计数) | ✅ 第二批 |
| Checkbox | 复选(`selected` 态 + `primary` 勾) | ✅ 第二批 |
| Radio | 单选(单选组;`selected` 态) | ✅ 第二批 |
| ProgressBar | 线性/圆形进度(确定性 + 不定性) | ✅ 第二批 |
| Button(五型) | filled / tonal / outlined / text / elevated(`meow_btn` 扩展五型,Options 区分) | ✅ 第二批 |
| TopAppBar | 顶部标题栏(标题 + 返回 + 操作) | ✅ 第二批 |
| NavigationBar | 底部导航栏(图标 + 文字) | ✅ 第二批 |
| TabBar | 顶部分页 Tab(swipe 联动 §5.2) | ✅ 第二批 |
| BottomSheet | 底部面板(复用 §5.7 B④ 面板) | ✅ 第二批 |
| Dialog | 弹窗(复用 §5.6 B③ 弹窗) | ✅ 第二批 |
| FloatingActionButton | 悬浮操作钮(圆角增强;无投影,仅描边/状态层近似) | ✅ 第二批 |
| 列表容器 | 可滚动列表(复用 §5.5 A② listview) | ✅ 第二批 |
> **说明**:多数 Material 组件是**既有设计模板(§5.2-§5.7)的「MD3 观感化」**——如 Card=圆角容器、BottomSheet 复用 §5.7 面板、Dialog 复用 §5.6 弹窗、TabBar 联动 §5.2 分页、列表容器复用 §5.5 listview。故 Material 子集**不重复造结构**,只把这些模板的绘制观感对齐 MD3 语义色 + 统一基座。**首批不实现**(见 §5.8.8)。
> **说明**:多数 Material 组件是**既有设计模板(§5.2-§5.7)的「MD3 观感化」**——如 Card=圆角容器、BottomSheet 复用 §5.7 面板、Dialog 复用 §5.6 弹窗、TabBar 联动 §5.2 分页、列表容器复用 §5.5 listview。故 Material 子集**不重复造结构**,只把这些模板的绘制观感对齐 MD3 语义色 + 统一基座。**第二批已实现(M2.71/0.7.66,见 §5.8.8)**。
#### 5.8.7 取舍 / 不做(移植思想而非照搬)
@@ -702,7 +702,7 @@ meow_widget *meow_layout_spacer(int w, int h);
#### 5.8.8 分批实现建议
**第一批 = 通用基座**(先行;落地后 all 控件升级地基):
**第一批 = 通用基座(✅ 已实现,M2.70/0.7.65;落地后 all 控件升级地基)**:
1. **MD3 语义色板扩展**(§5.8.4):`meow_theme` 尾部追加语义色字段 + 日/夜取值 + 映射旧字段(bg/fg/accent/dim);`meow_theme_get` 返回新板。
2. **统一 Options**(§5.8.2):`meow_widget_opts` + `meow_widget_set_opts/get_opts`;标准控件绘制读 opts。
3. **统一状态机**(§5.8.3):`enabled/selected/focused/pressed` 状态位 + `meow_widget_state/set_state/enabled/selected`;标准控件绘制叠状态层;`disabled` 阻断 hit/pressed。
@@ -710,7 +710,7 @@ meow_widget *meow_layout_spacer(int w, int h);
5. **可组合布局**(§5.8.5):`meow_row/column/box + meow_layout_add/arrange + spacer`;固定尺寸子项先做,算绝对坐标(与绝对定位兼容)。
6. **实时按压刷新扩展**:把 `g_live_btns[]`(仅 W_BTN)扩展为「按活动 Activity 分区」控件注册集(§6.1 ①),供标准 + 自定义画布共用按压态即时刷新。
**第二批 = Material 组件子集**(§5.8.6):TextField/Card/Divider/Badge/Checkbox/Radio/ProgressBar/Button 五型/TopAppBar/NavigationBar/TabBar/BottomSheet/Dialog/FloatingActionButton/列表容器——基于第一批基座实现,多数复用既有设计模板(§5.2-§5.7)的「MD3 观感化」。
**第二批 = Material 组件子集(✅ 已实现,M2.71/0.7.66,§5.8.6)**:TextField/Card/Divider/Badge/Checkbox/Radio/ProgressBar/Button 五型/TopAppBar/NavigationBar/TabBar/BottomSheet/Dialog/FloatingActionButton/列表容器——基于第一批基座实现,多数复用既有设计模板(§5.2-§5.7)的「MD3 观感化」。
**同步重编注意(关键)**:`meow_ui_theme` 追加字段 / `meow_widget` 结构变化 → **`meow_ui.a` ABI 变化** → 需按 §9/§10「**同步重编 hello**(App 也链 `meow_ui.a meow_font.a libz.a -lpthread`)」一并处理;`build_sdk.sh` 一键重编 + `hello_app/build_hello.sh` 重链。**B1 既有控件与模板零改动**(§5.8.1/§5.8.2 均向后兼容)。
@@ -864,6 +864,8 @@ void meow_theme_remove_listener(meow_theme_listener cb);
### 8.1 主题增强:顶级主题 `ui.style` × 明暗 `display.theme` × 背景 `display.background` [源:2026-08-30]
> ✅ **已实现(M2.70/0.7.65 起)**:`meow_ui_set_style`/`meow_ui_style`(`MEOW_STYLE_MD3/MIUIX`)、`meow_theme_get`(MD3 语义色板 + 风格参数 + 背景 surface/bg)、状态栏图标随 `ui.style` 换集(详见 §3.1「同一个状态栏」)。**MIUIx 当前仅 md3 生效**(MIUIx 深度细节留后续迭代);`meow_settings.c g_defs` 的 `miui` 值对齐为 `miuix` 待定案(见 §8.1.1 注)。
> **一句话**:主题 = **顶级主题风格族(`ui.style`:MD3 / MIUIx)× 明暗(`display.theme`:dark / light)** 共同决定「整套配色 + 控件形态 + 背景底」。`display.background` **不再是独立全局维度**,而是「当前 style × 当前 mode」下**可选背景底选项集**——**可选集与默认随 style / mode 切换一起变**。**切明暗** → 同 style 的浅/深背景自动切换(修复"浅色不搭");**切 style** → 整套配色 + 背景换族(修复"背景仅对主页生效/只有深色")。本定案建立在 §5.8.4 的 MD3 语义色板之上(色板 = MD3 语义色;本节管 style×mode 选哪套 + 风格参数 + 背景源)。
#### 8.1.1 主题模型(三键语义)