Skip to content

feat(player): persist virtual controls and ship runtime v0.90.0 - #280

Merged
xxxsen merged 5 commits into
masterfrom
codex/mobile-virtual-gamepad
Oct 27, 2026
Merged

xxxsen merged 5 commits into
masterfrom
codex/mobile-virtual-gamepad

Conversation

@xxxsen

@xxxsen xxxsen commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

移动端可在游戏顶部菜单主动显示或隐藏虚拟手柄,按钮图标和选中态与已应用的设置同步;同一核心的所有游戏共享浏览器偏好,默认开启。

localStorage[coreId] → Host 初始偏好 → Provider 虚拟手柄
顶部按钮 → 等待 Provider 切换成功 → 持久化偏好 + 更新图标/选中态

使用共用的手柄/斜线手柄图标,能力接口保持在现有 Provider V1 内。同步 UI 规范、设计评审和图标许可,固定包含四批共享控件的正式 runtime v0.90.0 输入。

Evidence

  • Before: 触控已经足够的游戏无法主动隐藏控件,顶部按钮缺少显隐状态,重新进入同核心游戏不能共享选择。
    After: 111 文件 / 575 项 Web 测试、样式、lint、类型与构建通过;回归覆盖初始化、按核心持久化、切换成功/失败及按钮状态,两仓库协议门禁通过。

  • Before: 新接入核心缺少移动输入入口。
    After: 本批 MAME PV-1000/SG-1000/ColecoVision/Arcade、SAM、TyranoScript 均经过正常导入、审核预览、审批发布、正式 Play 的真实虚拟触控操作。前三批已有独立验收记录,本批依用户限定不重复其游戏,不验收存档链路。

  • 真实顶部操作验证:Ascend 关闭 → 刷新保留 → 同核心 Neuras 初始关闭;SG-1000 默认开启;重新开启在同核心游戏间共享。390px 与物理 4K/150% 的开启/关闭图标、背景、aria-pressed 和手柄可见性检查通过。

  • 正式 runtime v0.90.0 已经标准 pin/prepare 完整校验;本 PFB 的 client、bridge、worker 等全部 6 项覆盖文件逐字节摘要与正式 Provider 一致。上述六核心再次通过正式产物输入及显隐复验,所有实际模块响应 SHA256 为 36c098be876e8f70b0188599c4c784e916cbf8970bed4bd2096d3c83feebd88d。

  • 完整 CI 和 双分支镜像构建/部署验证 全部通过,包含四种浏览器视口。

Merge Danger

Door: two-way

没有数据库或 checkpoint 迁移;偏好只保存在本机浏览器,问题可在后续版本修正。

Blast Radius: player

影响具备虚拟手柄能力的 Player 工具栏与 Provider 输入。暂停或菜单临时隐藏控件不修改持久化偏好,显式关闭后触摸游戏不重新开启。

@xxxsen
xxxsen merged commit bc2992a into master Oct 27, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant