From acfd3678522967eafdc358db3fc2cc4374aff189 Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Tue, 29 Sep 2026 01:10:19 -0400 Subject: [PATCH] [Docs] (P12): the FCL fork's keep-running setting is committed and pushed --- docs/Disaggregated/CURRENT_STAGE_PROGRESS.md | 2 +- docs/Disaggregated/notes/DEBTS.md | 1 - docs/Disaggregated/notes/p12/FCL-ACCEPTANCE.md | 2 +- docs/Disaggregated/notes/p12/PLAN-P12.md | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/Disaggregated/CURRENT_STAGE_PROGRESS.md b/docs/Disaggregated/CURRENT_STAGE_PROGRESS.md index 76c1b294..7c5531ac 100644 --- a/docs/Disaggregated/CURRENT_STAGE_PROGRESS.md +++ b/docs/Disaggregated/CURRENT_STAGE_PROGRESS.md @@ -38,7 +38,7 @@ Android 上的 server 应用自己开一个全屏窗口,把收到的渲染流 - 出口门 A、B 都过;契约 [`MG_Remote/CONTRACT-P12.md`](../../MobileGL/MG_Remote/CONTRACT-P12.md) 已写;`gate.sh` 的 G1 只在同机基线上比较;G1 在 Arch 上成立(pull 构建 `.text` 与基线同为 `0xa52203`,符号增 0 减 0)。 - 没做、转入 [`notes/DEBTS.md`](notes/DEBTS.md):DirectGLES 去全局、freezer、多 context、D8 窗口种类白名单、TLS。 - 收官审查:用户裁定不派 agent / Codex;契约断言由本人对照代码核过。 -- FCL fork 的「游戏退到后台时不暂停」改动在 FCL 仓库,**未提交**(父仓库在合并冲突中)。 +- FCL fork 的「游戏退到后台时不暂停」在 FCL 仓库,已提交并推送(`Swung0x48/FoldCraftLauncher` 的 `merge-upstream-surfaceview`,`241471515`)。 ## 下一步 diff --git a/docs/Disaggregated/notes/DEBTS.md b/docs/Disaggregated/notes/DEBTS.md index 020794bf..2522442f 100644 --- a/docs/Disaggregated/notes/DEBTS.md +++ b/docs/Disaggregated/notes/DEBTS.md @@ -11,7 +11,6 @@ | E1 对照的重定义(ID-122) | 无主(开放问题 24) | | `MOBILEGL_IPC_IDLE_EXIT_S` 未解析;`CONTRACT-P6.md` 仍把 `DynamicBackendParameters` 定宽记在 P7 名下(已由 P6.5 wf 落地) | 文档 / 小修 | | P12 未做(2026-09-29 收官时转入):DirectGLES `g_Display` / `g_Surface` / `g_Context` 仍是全局(每进程一个会话时不需要);cached-app freezer 的完整处理(文档从未定义);多 context;D8 窗口种类白名单(X11 / Win32Hwnd / None 仍被接受并把 token 强转为指针);TLS;server 窗口不转发输入;修后的横屏 server 窗口未重测 | 无主;D8 等 Windows / X11 client,其余等出现第二个会话 / 第二个 context 的需求 | -| FCL fork 的版本设置「游戏退到后台时不暂停」未提交(父仓库在合并冲突中:`FCLauncher.java` 为 `UU`,`.gitmodules` 已暂存) | 用户处理父仓库合并后提交 | | 树外脚本:普查跑器、`wsl_p5_gate.sh` 等在 `~/w7/notes/`,git merge 不会传播 | 需要时入库 | | 临时 CI trigger | 合入 `dev` 前删除 `test.yml` / `apk.yml` 的 `feat/disaggregated` 触发器 | diff --git a/docs/Disaggregated/notes/p12/FCL-ACCEPTANCE.md b/docs/Disaggregated/notes/p12/FCL-ACCEPTANCE.md index 070f60b7..399aaaf8 100644 --- a/docs/Disaggregated/notes/p12/FCL-ACCEPTANCE.md +++ b/docs/Disaggregated/notes/p12/FCL-ACCEPTANCE.md @@ -20,7 +20,7 @@ 1. **FCL 一退后台游戏就暂停。** FCL 的界面离开前台时,SDL 被切到 PAUSED,GLFW 的 focused / visible 也被撤销,渲染线程停住;而 server 窗口要在屏幕上就必须把 FCL 切到后台。 FCL fork 里新增版本设置 **「游戏退到后台时不暂停」**(`keepRunningInBackground`,默认关,在版本设置的渲染组里):开启后强制用 TextureView 并让系统别销毁它的 SurfaceTexture (SurfaceView 在界面不可见时会被销毁,游戏拿着失效窗口会报 `Failed to create backend OpenGL/Vulkan`),界面离开前台时不通知 SDL 暂停、不撤销 GLFW 焦点。 - 改动在 FCL 仓库(`JVMActivity`、`VersionSetting`、`VersionSettingAdapter`、`LauncherHelper`、三份 strings),**尚未提交**(父仓库处于合并冲突状态)。 + 改动在 FCL 仓库(`JVMActivity`、`VersionSetting`、`VersionSettingAdapter`、`LauncherHelper`、三份 strings),已提交并推送(FCL 仓库 `merge-upstream-surfaceview`,`241471515`)。 2. **FCL 的默认 spawn(游戏进程派生 server 子进程)走不通,只能接外部 render server。** FCL 把自己的窗口指针发给 server,server 按 P12 设计具名拒绝 (`Fatal{UnmigratedSurface, "AndroidNativeWindow@P12"}`),client 随即 device-lost。 3. **修了一个日志洪水。** device-lost 之后每个被 DECLINED 的 verb 都打一行 ERROR(`…woke on a dead doorbell; the server is gone`),FCL 里 48 秒 113,080 行、几千行/秒。 diff --git a/docs/Disaggregated/notes/p12/PLAN-P12.md b/docs/Disaggregated/notes/p12/PLAN-P12.md index 698ac43c..0e67b4a0 100644 --- a/docs/Disaggregated/notes/p12/PLAN-P12.md +++ b/docs/Disaggregated/notes/p12/PLAN-P12.md @@ -74,7 +74,7 @@ | 项 | 处置 | |---|---| | in-process server 的 `unix:` 监听 | ✅ 已做(`c16fb5a8a`) | -| FCL env 与 plugin APK 开关表接线 | ✅ FCL 走 `/sdcard/FCL/mg_env.txt`;plugin / trace 两个 APK 都带 Render Server 屏与二进制(`1987bdff5`);FCL fork 新增版本设置「游戏退到后台时不暂停」(FCL 仓库,未提交) | +| FCL env 与 plugin APK 开关表接线 | ✅ FCL 走 `/sdcard/FCL/mg_env.txt`;plugin / trace 两个 APK 都带 Render Server 屏与二进制(`1987bdff5`);FCL fork 新增版本设置「游戏退到后台时不暂停」(FCL 仓库,已提交 `241471515`) | | DirectGLES `g_Display` / `g_Surface` / `g_Context` 去全局 | 不做:每进程一个会话时不需要 → [`DEBTS.md`](../DEBTS.md) | | cached-app freezer 的完整处理 | 不做:文档从未定义它;FCL 后台暂停的实测答案见契约 → DEBTS | | 多 context | 不做(同上)→ DEBTS |