docs: 全项目文档一致性审计同步 (agent-237) — README/FRAMEWORK_DESIGN/SDK/APPS/PLAN/SETTINGS/SPEC_REF 对齐 M2.88 现状(amsd/picker/签名2B/拼音IME/面板阶段C/ncm改名dev.player.ncm等),过期「未实现」表述按落地实况修正
This commit is contained in:
1 parent
d76f8bc4ba
commit
49c31f1901
7 files changed
+42
-36
No files matched your search
+6
-5
@@ -86,14 +86,15 @@ void meow_ui_fill_rect_alpha(int x, int y, int w, int h, uint32_t color, int alp
|
||||
|
||||
### 3.1 全局状态栏(系统级组件,A+C 方案并入)
|
||||
|
||||
**定位**:状态栏是**系统级全局组件**,由 SDK 统一绘制——所有界面(launcher 菜单 + MeowAPP 画面)默认都显示,**仅由 SDK 运行时 `meow_ui_set_fullscreen(1)` 控制隐藏**(`fullscreen` 字段**未在 app.json 解析**,已定未做,见 §3.1 注 [源:审计 2026-08-30])。数据由 SDK 内置状态读取器抓系统快照(与 launcher 同源单点一致),非各画各的。
|
||||
**定位**:状态栏是**系统级全局组件**,由 SDK 统一绘制——所有界面(launcher 菜单 + MeowAPP 画面)默认都显示,**由 SDK 运行时 `meow_ui_set_fullscreen(1)` 控制隐藏/收合**(app.json `fullscreen` / `route.<id>.fullscreen` 由 launcher 解析并注入 env `MEOW_FULLSCREEN` 预设,见 §3.1 注 [源:审计 2026-08-30] / docs/MEOWOS_SPEC_REF §3.1 A-12)。数据由 SDK 内置状态读取器抓系统快照(与 launcher 同源单点一致),非各画各的。
|
||||
|
||||
```c
|
||||
/* 状态栏显隐(默认显示;APP 声明全屏则隐藏——沉浸) */
|
||||
void meow_ui_set_statusbar(int visible); /* 1=显示(默认) 0=隐藏(全屏) */
|
||||
int meow_ui_statusbar_visible(void);
|
||||
|
||||
/* 全屏:由 SDK 运行时 meow_ui_set_fullscreen(1) 控制(app.json `fullscreen` 未解析,已定未做;外观=隐藏状态栏+隐藏返回键)。[源:审计 2026-08-30] */
|
||||
/* 全屏:SDK 运行时 meow_ui_set_fullscreen(1) 控制;app.json `fullscreen`/`route.<id>.fullscreen` 由 launcher
|
||||
解析并注入 env MEOW_FULLSCREEN 预设(外观=状态栏收合至提示线 + 保留左缘返回/顶部提示线/下滑通知中心)。[源:审计 2026-08-30] */
|
||||
void meow_ui_set_fullscreen(int on);
|
||||
|
||||
/* 状态栏高度(px,供 APP 布局上移内容,避免被盖——status bar inset) */
|
||||
@@ -104,7 +105,7 @@ int meow_ui_statusbar_height(void);
|
||||
- `meow_ui_flush()` 上屏前,SDK 自动在顶部画状态栏(**28px**,`meow_ui_statusbar_height()` 即此值;用户定 40→28,栏内字号 20),内容:时钟 / 电量 / WiFi / 蓝牙 / 音量(与 launcher 一致)。
|
||||
- 状态栏数据由 SDK 内置读取器周期刷新(~1s 轻刷,读 `/sys/class/power_supply/*`、WiFi 状态、时钟、音量寄存器——与 launcher 同一批 source)。
|
||||
- **z 顺序**:状态栏是最顶层。APP 内容需 `meow_ui_statusbar_height()` 下移(inset),否则被状态栏盖住(有状态栏 OS 的通用做法)。
|
||||
- **全屏**:运行时 `meow_ui_set_fullscreen(1)` 控制 → 隐藏状态栏 + 隐藏返回键(沉浸);退出恢复。**注**:app.json `fullscreen` 字段未在解析器读取(已定未做 [源:审计 2026-08-30]),故不能经 app.json 声明全屏。
|
||||
- **全屏**:运行时 `meow_ui_set_fullscreen(1)` 控制(或在 app.json 声明 `fullscreen` / `route.<id>.fullscreen`,由 launcher 解析注入 `MEOW_FULLSCREEN` 预设)→ 状态栏**收合至提示线** + 保留左缘返回 / 顶部提示线 / 下滑通知中心(见 docs/MEOWOS_SPEC_REF §3.1 A-13);退出恢复。
|
||||
|
||||
**与 launcher 统一(A+C)**:launcher 迁移到 SDK 后,其状态栏(现私有 `draw_statusbar()`)改走 SDK 这一套,全局统一、单点一致。
|
||||
|
||||
@@ -209,9 +210,9 @@ const char *meow_ime_text(void);
|
||||
**布局(480×720 竖屏)**:键盘占底部约 40% 高(~290px),上方为输入预览行 + 候选区。键位 40×40(够 touch target),触屏点按输入。
|
||||
**物理键辅助**(兼容未来硬件键/可访问性):方向键移动光标、播放/确认键=选择、音量=翻页。B1 以触摸为主,物理键作为可选加分项(SDK 内实现)。
|
||||
|
||||
**[B1 后续 / 不阻塞]**:中文拼音 IME、词库、候选词联想、剪贴板、长按重复——作为独立里程碑,等首个中文输入场景(网易云搜索)出现再做。
|
||||
**[B1 后续 / 不阻塞]**:剪贴板、长按重复等仍留后续。**中文拼音 IME 已落地**(M2.88,agent-229 · `e9b6b69`,设计稿 `devdocs/plan/IME_PINYIN_DESIGN.md`):`meow_pinyin.c` 静态表词库(403 音节 + 329 词,rodata ~20.5KB 零堆)+ 音节切分 DFS+联想引擎,SDK 经 `MEOW_IME_PINYIN` 尾部追加零 ABI 破坏接入(组合条 + 候选栏 + 翻页 + 中英切换,英文零回归)。
|
||||
|
||||
> **实现对齐(M2.73,`meow_ui_ime.c`,以源码为准)**:实现与上表**关键出入**——① 键盘占底部约 **300px**(`KB_TOP=420`,720-420=300),键位 **44×36**(非 40×40);② **回显行 = 实时输入回显**(把 `g_ime_buf` 拼下划线 `"%s_"` 画在面板顶部条),**非候选/联想区**,候选区留中文输入法(B1 后续)再做;③ 关闭时**键盘区背景快照/恢复**(`ime_capture`/`ime_restore`,根治关闭后键盘像素残留);④ **配色走主题**(`meow_theme` 语义色,深/浅自动切),不硬编码黑底白键;⑤ **shift 切换大小写**;⑥ 阻塞 `meow_ui_text_input` 打字循环喂 `meow_ui_activity_ping`(重置息屏计时,进度条不卡死);⑦ **OK(回车)= 提交并关闭**(拷贝到 app `ctx->buf`)、**ESC(X)/ 点键盘外背景 = 取消并关闭**;非阻塞 `meow_ui_text_input_async` 用 `meow_ime_active()`/`meow_ime_text()` 轮询(同 close 语义)。上表「布局 40×40 / 物理键辅助 / 候选区」为设计稿表述,已按实际覆盖。
|
||||
> **实现对齐(M2.73,`meow_ui_ime.c`,以源码为准)**:实现与上表**关键出入**——① 键盘占底部约 **300px**(`KB_TOP=420`,720-420=300),键位 **44×36**(非 40×40);② **回显行 = 实时输入回显**(把 `g_ime_buf` 拼下划线 `"%s_"` 画在面板顶部条),**非候选/联想区**,候选区原留给中文输入法;**中文拼音 IME 已落地**(M2.88 agent-229,候选栏/组合条见 `meow_ime.c`/`meow_pinyin.c`);③ 关闭时**键盘区背景快照/恢复**(`ime_capture`/`ime_restore`,根治关闭后键盘像素残留);④ **配色走主题**(`meow_theme` 语义色,深/浅自动切),不硬编码黑底白键;⑤ **shift 切换大小写**;⑥ 阻塞 `meow_ui_text_input` 打字循环喂 `meow_ui_activity_ping`(重置息屏计时,进度条不卡死);⑦ **OK(回车)= 提交并关闭**(拷贝到 app `ctx->buf`)、**ESC(X)/ 点键盘外背景 = 取消并关闭**;非阻塞 `meow_ui_text_input_async` 用 `meow_ime_active()`/`meow_ime_text()` 轮询(同 close 语义)。上表「布局 40×40 / 物理键辅助 / 候选区」为设计稿表述,已按实际覆盖。
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in new issue
Block a user