Files
lumaplayer/memory/projects.md
T

45 lines
10 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-08-26:完成远端 `master` 同步;保留本地首页动画、收藏数据和媒体资料,合并远端资源库及图标库管理更新。
- 当前状态:本地 `master` 已包含远端最新提交,工作区无源码冲突。
- 验证:`JAVA_HOME=/Applications/Android Studio.app/Contents/jbr/Contents/Home bash ./gradlew assembleDebug` 成功。
- 待办:无本次同步遗留待办。
- 2026-08-27:确认本地 `master` 与 `origin/master` 均为 `fa645b0`,执行 `git push origin master` 返回 `Everything up-to-date`;未跟踪参考素材未纳入提交。
- 2026-08-26:修复导航项共享定义、Compose content 作用域、Settings `ColumnScope`、资源别名及 Backdrop 导入;Debug 构建通过。
- 2026-08-26:底部导航栏改为透明底,保留 Backdrop 模糊和交互效果;Debug 构建通过。
- 2026-08-26:首页 Banner 增加环境色过渡,Vision 分段选中态与收藏/日历空状态统一;Debug 构建通过。
- 2026-08-26:修复 Emby 播放认证、断点恢复与播放进度回报;移除资源库重复顶部栏、底栏整条白色背景,补强 Vision 液态玻璃选中态和页面转场;Debug 构建通过。
- 2026-08-26:搜索改为 Emby 实时查询并支持进入详情;收藏补齐图片、用户数据和详情点击;详情按钮显示继续时间;首页 Banner 元数据增加淡入过渡;顶部栏、分段控件、按钮、搜索和底栏统一使用 Backdrop 液态玻璃;Debug 构建通过。
- 2026-08-26:修复启动阶段 Backdrop 循环渲染导致的 RenderThread SIGSEGV;收窄页面捕获层,视频只捕获 AndroidView,移除顶部栏玻璃底色,底栏改为透明外壳、选中胶囊和搜索圆钮;模拟器启动验证通过,Debug 构建通过。
- 2026-08-27:同步远端 `fc35ae9`;合并服务器选择持久化和资源库点击后回首页逻辑,保留本地详情/播放器全屏与透明底栏修复;Debug 构建通过。
- 2026-08-27:语言菜单改为真实锚点的 Backdrop 液态玻璃 Morph Overlay;底栏主体和搜索圆钮复用 AndroidLiquidGlass-kmp 的 `drawBackdrop`、`vibrancy`、`blur`、`lens`、高光和阴影实现;展开 180ms、关闭 300ms,外部点击和语言选择验证通过。
- 当前依赖:`io.github.kyant0:backdrop:2.0.1`、`io.github.kyant0:shapes:1.2.1`;未纳入本地参考素材和压缩包。
- 2026-08-27:重做语言菜单 Overlay 几何,改用右侧 Chevron 的 `onGloballyPositioned` 作为锚点,44dp 圆形向左下 Morph 为 184×112dp 独立玻璃容器;LanguageRow/PlaybackRow bounds 保持不变。
- 2026-08-27:资源库操作菜单移除 Material `DropdownMenu`,改为资源库内容专属 Backdrop source 下的 Root Overlay;真实记录更多图标坐标,40dp 玻璃圆向左下 Morph 为 184×152dp 菜单;播放器字幕/剧集菜单选项补齐 `drawBackdrop` 玻璃效果;Debug 构建和模拟器交互验证通过。
- 2026-08-27:添加服务器弹窗显式消费资源库专属 Backdrop,增强 GlassDialog 与 GlassInputField 的真实玻璃效果;表单布局、字段校验、保存逻辑未改;Debug 构建和模拟器无崩溃验证通过。
- 2026-08-27:添加服务器改为独立页面,移除该流程的 GlassDialog、Backdrop 字段和玻璃按钮;保留原表单校验、认证保存和返回逻辑;模拟器页面验证通过。
- 2026-08-27:添加服务器页面增加 HTTPS 开关,协议写入服务器模型与 Room 6 版本迁移;关闭请求 HTTP,开启请求 HTTPS,旧数据库启动迁移验证通过。
- 2026-08-27:建立 Navigation Compose 页面架构;Home/Records/Library/Settings/Search 为根路由,详情、播放器、图标库管理、缓存、关于、添加服务器为独立 destination;统一 Push/Pop 与 Tab 转场,移除页面导航 Boolean 和嵌套页面;`assembleDebug` 成功。
- 2026-08-27:修复新 destination 打开后回到 Home 的问题;NavController 提升到 MainApp 稳定生命周期,静态页面和详情/播放器增加当前 destination 去重;`assembleDebug` 成功。
- 2026-08-27:定位并修复仍会回 Home 的实际触发源;子页面打开时底栏退出动画的默认 Tab=0 被液态 Tab 组件误当成点击,现保留上个根 Tab 且子页面期间屏蔽底栏回调;`assembleDebug` 成功。
- 2026-08-27:基于本地 AndroidLiquidGlass-kmp、Convx、MeloX 和授权 Aurora 资源完成 UI 设计令牌、图标子集、首页/记录/资源库/设置/详情/播放器统一视觉接入;所有弹窗统一经 `GlassDialog`,资源库管理和剧集列表使用独立 Backdrop consumer;`:app:assembleDebug` 成功,未提交参考素材。
- 2026-08-27:最终静态核验通过,旧页面 Boolean、Haze 依赖和普通下拉菜单均无残留;`:app:assembleDebug` 再次成功,APK 位于 `app/build/outputs/apk/debug/app-debug.apk`。
- 2026-08-27:完成 UI 收尾审计;详情类型/时长、资源库状态和入口无障碍文案接入中英文资源,图标库卡片统一使用 Luma glass;`assembleDebug` 成功,`git diff --check` 和资源键一致性检查通过。
- 2026-08-27:针对设备 `RenderThread SIGSEGV`,依据本地 AndroidLiquidGlass-kmp 源码移除应用所有 `lens`/AGSL RuntimeShader,并将底栏交互高光改为 Compose 径向渐变;`:app:assembleDebug` 成功,源码无 RuntimeShader/lens 残留。当前环境无 adb,未能设备复测。
- 2026-08-27:继续收敛 RenderThread 风险;根 Backdrop 仅在主 Tab 捕获内容,详情/播放器/设置子页移除页面内 source-consumer 循环,播放器不再捕获 AndroidView;图标选择改为 GlassSheet,About 使用真实应用图标,Debug 构建成功。当前环境无 adb,未能实机复测。
- 2026-08-27:针对再次出现的 RenderThread SIGSEGV,新增 `LumaGlassRuntime`:常见 Android Emulator 跳过 Kyant RenderEffect/GraphicsLayer 采样,统一回退为安全玻璃 tint/边框/圆角;真机仍使用 Backdrop。播放器保持不捕获 AndroidView;`assembleDebug`、`lintDebug`、`testDebugUnitTest` 均成功。
- 2026-08-27:进一步将安全判断前移到 Backdrop 图层创建前,模拟器不再创建 `rememberGraphicsLayer`;播放器移除 `PlayerView` 的额外透明离屏合成,并统一图片占位/错误降级;三项 Gradle 验证继续成功。
- 2026-08-27:再次加强模拟器识别,增加 x86 ABI、board 和 emu 设备名拦截;详情返回按钮统一为 Luma glass,详情操作目标补足 48dp;`assembleDebug`、`lintDebug`、`testDebugUnitTest` 成功。
- 2026-08-27:播放器按 Emby Playback Check-in 约定补齐 `PlaySessionId`、`MediaSourceId`、`PositionTicks`、`CanSeek`、`QueueableMediaTypes` 和事件字段;播放开始/暂停/继续/拖动/播放中进度/停止统一进入串行队列,普通进度按 10 秒或位置变化阈值上报。
- 2026-08-27:首页增加按服务器身份隔离的进程内内容缓存,普通页面返回不重复请求,显式重试才刷新;玻璃运行时增加 Choreographer 帧率门控,底栏高帧率安全设备走本地 AndroidLiquidGlass-kmp 的 Lens,模拟器/低帧率使用连续胶囊毛玻璃和选中高光;`assembleDebug`、`lintDebug`、模拟器安装启动复核成功。
- 2026-08-27:底栏普通图标调整为 33dp、搜索图标 37dp;降级玻璃增加最终 Capsule 裁剪并减弱蓝色选中填充,原生路径空闲态保留轻微 Lens;详情/播放器/剧集加载和播放地址失败时回落到错误态;最终 APK 在 API 35 模拟器启动、Vision/Settings/语言菜单点击复核成功。
- 2026-08-27:收敛公共分段控件、弹出菜单、按钮、输入框及语言菜单的降级玻璃路径,移除纯色方框;补充深色主题系统栏图标同步和操作标题 48dp 点击区域。`assembleDebug`、`lintDebug`、`testDebugUnitTest` 成功,API 35 模拟器验证设置/语言/主题/关于/服务器添加链路无崩溃;本地参考素材仍未跟踪。
- 2026-08-27:播放器进度条替换为自绘拖拽控件并补充无障碍进度调节,Home/Vision/Search 的媒体加载态改为统一骨架占位;移除未使用的 Material 图标依赖。`assembleDebug`、`lintDebug`、`testDebugUnitTest` 成功。
- 2026-08-27:底栏图标调整为 36dp、搜索图标 41dp,资源库无图标服务器使用正确的服务器图标;搜索清除与图标库返回补足 48dp 触控范围。完整 Debug/Lint/Unit 构建和 API35 模拟器回归通过。
- 2026-08-28:完整读取本地 `luna/README.txt`、`AI_PROMPT.txt` 与降级参考 contact sheet;修复降级底栏选中胶囊覆盖内容的问题,统一为稳定渐变毛玻璃;移除 Choreographer 帧率自动切换,设置页新增液态玻璃/毛玻璃手动选择并持久化;合并远端 3 个播放器提交后 `assembleDebug`、`lintDebug` 与 API35 模拟器启动回归通过。
- 2026-08-28:继续收尾降级 UI;修复 fallback 高光绘制顺序,首页接入可保存滚动状态,详情/播放器导航启用 `launchSingleTop` 防重复 Push,详情刷新和剧集加载异常进入已有错误态;`assembleDebug`、`lintDebug`、`testDebugUnitTest` 及 API35 模拟器启动回归成功。
- 2026-08-28:按需求取消液态玻璃设备/模拟器安全门,API 31+ 液态模式直接进入 Kyant Backdrop 原生路径;底栏改为玻璃底层、选中胶囊、清晰内容的正确绘制顺序,主图标 40dp、搜索图标 44dp、文字 8sp;补充媒体卡片加载/成功/失败三态和统一按压反馈。`assembleDebug`、`lintDebug`、`testDebugUnitTest` 及 API35 模拟器液态/毛玻璃切换回归成功,未发现 RenderThread 崩溃。
- 2026-08-28:修复玻璃模式切换时 `LayerBackdrop` 与 `GlassSpec` 缓存未刷新问题;新增 `LumaSettingRow`、`LumaPageTopBar`、设置分组标题并补齐公共按钮语义。完整 Debug/Lint/Unit 成功,API35 模拟器切换液态→毛玻璃→液态成功且无 RenderThread 崩溃;参考素材仍未提交。
- 2026-08-28:收敛原生/降级玻璃边缘高光与白边,清理 `LibraryScreen` 中确认无引用的旧图标库 Section/Card/DetailDialog,并为资源库主要操作补充按钮语义;Debug/Lint/Unit 成功,模拟器资源库列表/网格切换无崩溃。
- 2026-08-28:最终收口修复 `GlassSearchField` 空值时的真实输入框绘制,补充分段控件、搜索清除和资源库操作的按钮语义,删除 Home/Library 已确认无引用的遗留 UI;完整 Debug/Lint/Unit 与 API35 启动回归通过,准备提交推送。