23 lines
2.3 KiB
Markdown
23 lines
2.3 KiB
Markdown
# 三维资源开关与可选图片
|
||
|
||
2026-09-10,壁纸实验分支。
|
||
|
||
左下 SESSION 右侧的 3D 开关使档案按行列错峰下落,约 1.1 秒结束后释放主场景、独立查看器、几何体、材质、纹理、实例缓冲、后处理与渲染器,并主动丢失 WebGL 上下文、移除画布与场景输入监听。再次开启重新加载资产、恢复选档,以相同位置轨迹逆向升起。关闭途中可反向;加载中禁用重复加载,失败回到关闭状态允许重试。减少动态效果直接切换。
|
||
|
||
2D 内容继续运行。游戏入口从退场开始隐藏,载入后按 showgame 恢复;模型查看入口在关闭期间隐藏。已有独立查看器也随释放销毁,避免隐藏画布继续占用资源。
|
||
|
||
WE「入场与画面」提供“关闭 3D 后显示自定义壁纸”(默认关闭)和条件显示的图片文件选择器。图片按 cover 铺满,在资源释放后约 650ms 淡入;重新加载成功时淡出,加载期间保留。图片位于 WebGL 画布之上、普通 UI 之下,使不透明三维背景不会打断图片渐隐。支持部分属性更新、清除路径、运行中改图及失败提示;快速改图使用请求编号拒绝旧回调。文件路径根据 [WE 官方 File property 文档](https://docs.wallpaperengine.io/en/web/customization/properties.html#file-property) 转为 file:/// 地址。
|
||
|
||
## 验证
|
||
|
||
scripts/check-three-release.mjs 在 Edge 1600×900 实际渲染中通过:
|
||
|
||
- 关闭中 presence 处于 0–1;反向恢复不触发 context lost。
|
||
- 完整关闭触发原画布 webglcontextlost,主场景与查看器画布数均归零。
|
||
- 新加载产生不同画布,选档保留;入场 presence 从小于 1 到达 1。
|
||
- 自定义图片只在关闭后显示;重开淡出,关闭选项和清除路径均有效。
|
||
- 游戏入口关闭时不可见,重新开启后恢复。
|
||
- 减少动态效果反复开关、查看器用过后释放、详情正文继续可读以及重新加载均通过;无页面或着色器错误。
|
||
|
||
截图与结果在 verification/three-release/。图片使用测试图形,未替用户设置默认自定义图片。浏览器通过模拟宿主回调验证;WE 原生文件选择器与真实本地文件加载仍需宿主试用,不将浏览器模拟称为宿主验收。
|