docs: record phase8 ui foundation status

This commit is contained in:
BoatingCloud committed 2026-08-29 21:31:02 +08:00
1 parent 7f3d2e0747
commit 32422c4e06
5 files changed
+14 -2

No files matched your search

+6
View File
@@ -50,3 +50,9 @@
文件变更: ../Velix-MPV-Core/{include/velix, sdk/native, scripts/package-velix-core-sdk.sh, scripts/verify-velix-core-sdk.sh, DOCS/*}; ../Velix/Velix/{scripts, entry/src/main/ets, entry/src/main/cpp, entry/src/main/resources, entry/.gitignore}; memory/*
教训: 主 App 目录无 Git 元数据;SDK 通过 `entry/libs/arm64-v8a` 预编译库接入,不复制 MPV/FFmpeg 源码;HTTP 受控宿主试验未形成稳定成功证据,不能写成运行验收通过。
标签: #phase7 #sdk #integration #openharmony #emulator #device-pending
[PROJECT:Velix Phase8] UI Foundation + Home Experience 完成
结论: 主 App 独立 Git 提交 `058c7a8`;按 HarmonyOS 官方系统资源和参考图完成 TMDB Discovery 首页、Hero、来源切换、悬浮导航、详情页、图片状态缓存与 PlayerPage 视觉统一,Debug/Release HAP 构建成功并在 `127.0.0.1:5555` 回归;TMDB live credentials pending,Core 未修改。
文件变更: ../Velix/{entry/src/main/ets/domain/home,entry/src/main/ets/ui,entry/src/main/ets/pages/{HomePage,MediaDetailPage,PlayerPage}.ets,DOCS/PHASE8_UI.md,design-qa.md}; memory/*
教训: 参考图需要沉浸式大图与底部信息层;无 TMDB key 时仍以 Mock Provider 展示真实远程图并保留浅色占位,不能让网络失败破坏首页结构。
标签: #phase8 #ui #harmonyos #tmdb #mock #emulator #git #pending-credentials
+2 -1
View File
@@ -1,7 +1,7 @@
# Velix-MPV-Core 记忆索引
- 项目:地产运维中台媒体核心的 OpenHarmony MPV 端口。
- 当前阶段:Phase 7 CODE COMPLETE / emulator integration verified / device validation pending;HTTPS/HLS、网络字幕、鉴权资源和实体机验收待补。
- 当前阶段:Phase 8 UI FOUNDATION COMPLETE / emulator UI verified / device validation pending;TMDB live credentials、HTTPS/HLS、网络字幕、鉴权资源和实体机验收待补。
- 公共入口:`include/mpv/harmony_playback.h`,稳定 C API 不暴露 MPV/FFmpeg 内部类型。
- Playback Lab:C++ 仅做 NAPI/渲染适配,核心请求、控制、状态统一委托 C API。
- Phase 6:启动/seek/buffering/audio/资源/NAPI 时间线与 benchmark runner 已入库;5 次启动 update 617→364,20 次 startup、50 次 seek、100 次 load-stop、200 次 play-pause 已跑模拟器。
@@ -9,5 +9,6 @@
- 构建:default/software/FFmpeg-Harmony AArch64 与 Velix Core SDK 打包/校验通过;HAP 使用 DevEco JBR + `--no-daemon` 通过。
- 设备:模拟器 `127.0.0.1:5555`,Playback Lab 已安装启动并完成本地 MP4 smoke。
- Phase 7:Core 提交 `14149854b8` 已推送 `origin/harmony-port`;主 App 已接入 `PlaybackEngine`/`MpvPlaybackEngine`/`PlaybackController` 与 `PlayerPage`,本地 MP4、暂停/seek、统计、release 已在模拟器验证。
- Phase 8:主 App 独立 Git 提交 `058c7a8`;首页采用 HarmonyOS 系统语义色/SymbolGlyph/轻量材质,TMDB Mock 首页、来源 Sheet、详情页和动态氛围色已在模拟器验证;Core 未修改。
- 部署约定:服务器只按 `deploy.sh`、`deploy.sh status/logs/clean/clean-all` 执行。
- 详细状态:`memory/projects.md`;基础设施:`memory/infra.md`;教训:`memory/lessons.md`。
+1
View File
@@ -28,3 +28,4 @@
- Phase 6 runner:`python3 benchmark/runner/run_emulator.py {startup_local,seek_local,stress_lifecycle,play_pause} --repeat N`;结果写入被忽略的 `benchmark/results/`。
- Phase 7 SDK:`scripts/package-velix-core-sdk.sh [--profile default|software|ffmpeg-harmony] [--out DIR]`;校验使用 `scripts/verify-velix-core-sdk.sh [SDK_DIR]`,默认输出 `dist/velix-core/`。
- Velix 主 App:`../Velix`;同步 Core 使用 `scripts/sync-velix-core-sdk.sh --local|--release --sdk DIR`,构建使用 `scripts/build-velix-app.sh --local-core|--release-core --build-mode debug|release`;最终 HAP `../Velix/entry/build/default/outputs/default/entry-default-unsigned.hap`。
- Velix 主 App Git:独立仓库 `../Velix/.git`,分支 `main`,Phase 8 提交 `058c7a8`;无远端配置。UI 验证截图:`/tmp/velix-v8-final-home2.jpeg`、`/tmp/velix-v8-final-sheet.jpeg`、`/tmp/velix-v8-final-detail.jpeg`、`/tmp/velix-v8-final-player-ready.jpeg`。
+2
View File
@@ -29,4 +29,6 @@
- 渲染 update 不能完全依赖 callback:部分重复 load 会话可能漏通知;事件驱动应保留低频(250ms)安全探测,否则会卡在 BUFFERING。
- 短媒体自动化 seek 若先等待首帧再执行多次 hdc keyEvent,媒体可能已 EOF;用立即触发的原生相对 seek 或更长受控 fixture,且保留真实命令错误。
- `/proc` 在模拟器不一定提供 PSS、精确 heap 或可校准 CPU tick;benchmark 必须输出 null/原始 jiffies,不能自行推断 permille。
- ArkTS UI:`@Prop` 不接受函数类型,交互回调应改用 `@Link` 状态或组件内路由;`Stack` 不支持 `justifyContent`,需使用 `alignContent`。
- HarmonyOS UI:系统资源必须使用已存在的 `$r('sys.color...')` / `$r('sys.symbol...')` 名称;无效资源名会在 CompileArkTS 直接失败。图片缓存只保留 URL 状态/metadata,feed/details 轻量 JSON 可放 Preferences,不能把图片字节写入偏好存储。
- `setup-ohos-env.sh` 被 zsh source 后可能剥离系统 PATH;跨脚本调用系统工具时使用绝对路径或 POSIX shell,不能假设 `dirname`/`cp`/`stat` 仍可查找。
+3 -1
View File
@@ -5,7 +5,9 @@
- 当前状态:Phase 7 CODE COMPLETE / EMULATOR INTEGRATION VERIFIED / DEVICE VALIDATION PENDING;Core 提交 `14149854b8` 已推送 `origin/harmony-port`。
- Phase 7 产物:`include/velix/core.h`、`sdk/native/`、`scripts/package-velix-core-sdk.sh`、`scripts/verify-velix-core-sdk.sh` 与 `DOCS/CORE_*.md`/集成文档;SDK ABI 版本 `0x000100`,仅导出 3 个 `velix_core_get_*` C ABI 符号。
- 主 App:`../Velix` 已通过 `scripts/sync-velix-core-sdk.sh` 接入预编译 Core,新增 `PlaybackEngine`、`MpvPlaybackEngine`、`PlaybackController`、`PlayerPage`;release/debug HAP 均可打包,产物为 `Velix/entry/build/default/outputs/default/entry-default-unsigned.hap`。
- 模拟器验收:PlayerPage surface/EGL/mpv READY;打包 sample MP4 本地播放、暂停、seek、软件解码统计、release 通过;HTTP URL/headers 路径已接入但受控宿主 HTTP 试验未形成稳定成功证据,实体机与真实网络待补。主 App 目录无 Git 元数据。
- 模拟器验收:PlayerPage surface/EGL/mpv READY;打包 sample MP4 本地播放、暂停、seek、软件解码统计、release 通过;HTTP URL/headers 路径已接入但受控宿主 HTTP 试验未形成稳定成功证据,实体机与真实网络待补。主 App 已于 Phase 8 建立独立 Git。
- Phase 8 UI:主 App `../Velix` 已初始化独立 Git,提交 `058c7a8`;`HomeSource`、Discovery/Media Provider 边界、Mock/TMDB skeleton、RemoteImage/cache、Source Capsule/Sheet、Floating Navigation、Home/Detail、Player token integration 已完成。默认 TMDB Discovery 无服务器可用,TMDB live credentials pending;Core 未修改。
- Phase 8 模拟器:`127.0.0.1:5555` 已安装主 App HAP;首页远程图片、来源 Sheet、Hero → Detail、PlayerPage 本地 MP4 均已回归。截图见 `../Velix/design-qa.md`。
- Phase 6 产物:`benchmark/runner/run_emulator.py` 与场景 manifest;启动 P50/P95 506/1150ms,seek recovery P50/P95 277/631ms;100 load/stop、200 play/pause 无错误,PSS/精确 heap/CPU permille unavailable。
- Phase 6 文档:`DOCS/PHASE6_STATUS.md`、`PERFORMANCE_METRICS.md`、`PERFORMANCE_CHANGES.md`、`BENCHMARK_METHODOLOGY.md`、`STARTUP_PIPELINE.md`、`SEEK_PIPELINE.md`、`BUFFERING_MODEL.md`。