Files
ShowenV2/PROGRESS.md

151 lines
6.8 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.
# ShowenV2 — 数字生命窗口平台
## 愿景
ShowenV2 不仅是全息宠物播放器,而是一个**通用数字生命窗口平台**。
支持的显示模式:
- **全息显示** — 适配半透镜、全息柜等显示方案
- **VR** — 头显输出
- **AR** — 增强现实叠加
- **XR** — 融合现实与空间计算设备
- **直接屏幕** — 普通显示器、手机、平板等屏幕
- **投影/LED 矩阵** — 投影设备、LED 点阵与其他非常规显示终端
支持的内容类型:
- **宠物动画** — 视频状态机驱动的虚拟宠物(当前核心)
- **3D 模型** — 实时渲染 3D 角色/物体
- **数字人** — AI 驱动的虚拟形象
- **AI 歌姬** — 人工歌姬/虚拟歌手
- **未来内容** — 通过插件无限扩展
核心理念:**平台不关心内容是什么,插件决定一切**。
---
## 项目信息
- 旧项目: `/home/showen/Showen/hologram_player_rust/` (单体全息宠物播放器)
- 新项目: `/home/showen/Showen/ShowenV2/`
- 架构: 跨平台插件内核 + 功能插件
- 当前调试环境: Debian 11 KDE 桌面 (`ARM64` / `aarch64`)
- 当前主平台: Linux/ARM64架构支持扩展到其他平台
- 团队: CEO(Claude Opus 4.6) + 4名开发者(GPT-5.4 via kilo)
---
## 完成进度
### ✅ 已完成
| # | 提交 | 内容 | 负责人 |
|---|------|------|--------|
| 1 | `23f4d46` | 项目骨架Cargo.toml, core/ 骨架, plugins/ 空桩 | CEO |
| 2 | `3751c23` | 团队制度:末位淘汰 + 灵魂保存机制 | CEO |
| 3 | `311e4ba` | CEO 灵魂文件 + souls/ 目录 | CEO |
| 4 | `3654af5` | config验证 + StateMachine + WifiPlugin + ScreenPlugin | 全员 |
| 5 | `650d98c` | 全员灵魂文件解锁 + 沟通板 | CEO |
| 6 | `8ed9c93` | BLE/WiFi 状态回传 + WebSocket 编译修复 | 全员 |
| 7 | `45c0a8d` | Video 单元测试 + on_video_completed 逻辑修复 | 全员 |
| 8 | `404196f` | 插件架构审查报告 | 王思远 |
| 9 | `6048831` | 新旧功能差异分析 | 李明哲 |
| 10 | `5af7fc1` | core 集成测试 + bug修复 + API文档重写 + HTTP兼容路由 | CEO+全员 |
| 11 | `4edbd34` | ConfigReloadRequest 闭环P0消除| CEO |
### ✅ 第四轮 Opus 团队 (全部完成)
| # | 提交 | 内容 | 负责人 |
|---|------|------|--------|
| 12 | `9daf65d` | 暂停时释放防息屏锁 | 赵雨薇 |
| 13 | `6ca5992` | /api/playlist 快照语义 | 李思琪 |
| 14 | `e45573f` | FreeMode 状态随机游走 | 张明远 |
| 15 | `7091008` | BLE GATT notify 落地验证 | 王浩然 |
| 16 | `c48340d` | 插件依赖回归测试 (7 tests) | 周雅婷 |
| 17 | `ff9c6a9` | QA Release 编译与质量报告 | 林晓峰 |
### ✅ 实机运行验证 (CEO)
| 验证项 | 结果 |
|--------|------|
| 配置路径修复 | `../``../../` (configs/ 子目录修正) |
| `--validate` | 21 个视频路径全部有效 |
| 插件初始化 | 5/5 插件全部正常 start |
| HTTP API | `/api/status``/api/playlist` 正常返回 JSON |
| framebuffer | 检测到 fb0 480x800 |
| GTK backend | SSH 环境无 DISPLAY 预期报错,实机 X session 无此问题 |
### ✅ M1.1 完成
- cargo check: **零 warning**
- cargo test: **59/59 通过**
- cargo build --release: **9.4MB ARM aarch64**
- 实机启动: **通过** (SSH 无 GTK 是预期限制)
- 动态插件系统:**6 阶段完成**
- 插件自测机制:**已实现** (`capabilities + self_test + init→test→start`)
### ✅ 最新进展追加
| # | 提交 | 内容 | 负责人 |
|---|------|------|--------|
| 18 | `7135f28` | 动态插件系统 6 阶段完成 | 全员 |
| 19 | `1863efb` | 修正 `souls/README.md` 团队成员信息 | CEO |
| 20 | `待提交` | 插件自测机制capabilities + self_test + 3阶段启动 | 全员 |
---
## 架构概览
```
┌─────────────────────────────────────────────────────┐
│ main.rs │
│ 加载配置 → 按平台注册插件 → ServiceManager.run() │
├─────────────────────────────────────────────────────┤
│ core/ (跨平台内核,零业务逻辑) │
│ ServiceManager — 插件注册/生命周期/消息路由 │
│ Plugin trait — 统一插件接口 │
│ Message enum — 类型安全的消息协议 │
│ Config — 配置解析/验证(纯 serde
├─────────────────────────────────────────────────────┤
│ 动态插件层 (FFI Loader / Runtime / Self-Test) │
│ plugin_store/ — 动态插件存储、发现、版本载入 │
├─────────────────────────────────────────────────────┤
│ plugins/ (一切皆插件) │
│ video/ screen/ http/ ble/ wifi/ │
│ (未来: render/ avatar/ vr/ ar/ voice/ ai/ singer/) │
└─────────────────────────────────────────────────────┘
```
---
## 关键决策记录
1. **Rust edition 2018** — 兼容 ARM 设备 stable toolchain
2. **std::sync::mpsc** 消息传递 — VideoPlugin 在阻塞线程运行
3. **BLE 双连接修复** — conn_server 处理回调, conn_client 同步注册
4. **Message Clone** — 第二轮给 Message 实现 Clone 以支持 Broadcast
5. **团队通过文件沟通** — TEAM_CHAT.md 异步协作souls/ 持久化成员状态
6. **kilo 调用方式**`kilo run -m openai/gpt-5.4 --auto --dir <dir> "消息内容"`,不使用 `-f` 参数
7. **动态插件 C FFI + JSON 序列化** — 以稳定 ABI + JSON 边界承载跨语言插件交互
8. **ctx-based SendCallback** — 用上下文回调替代 `thread_local`,消除线程绑定隐患
9. **3阶段启动** — 插件生命周期统一为 `init -> test -> start`,先自检再对外服务
---
## 团队绩效 (Phase 1 第一轮)
| 成员 | 任务 | 质量 | 完成度 | 效率 | 协作 | 总分 |
|------|------|------|--------|------|------|------|
| 张明远 | config.rs 验证 | 8 | 8 | 8 | 8 | **8** |
| 李思琪 | state_machine.rs | 8 | 8 | 8 | 8 | **8** |
| 王浩然 | wifi/mod.rs | 8 | 8 | 8 | 8 | **8** |
| 赵雨薇 | screen/mod.rs | 8 | 8 | 8 | 8 | **8** |
---
## 当前质量快照
- 测试总数:**62**
- 测试结果:**62/62 通过**
- 编译告警:**0 warning**
- 当前里程碑:**M1.1 完成P0 全清**
- P0 #3 AutoRollback 回退:已修复(张明远)
- P0 #4 ConfigReloaded serde已修复李思琪
- P0 #5 FfiString 跨 allocator已修复王浩然