-
released this
2026-09-17 03:42:06 +08:00 | 14 commits to main since this release⚠️ 本版已被 v0.2.1 取代(建议直接用 v0.2.1):
v0.2.0 存在场景包围盒缺陷 ——SceneRuntime._compute_aabb()在节点入树前调用
global_transform,会打一行!is_inside_tree()的 ERROR,且对把网格摆在非原点
位置的场景算出的范围偏小/偏位(风力可能作用不到物体上)。
v0.2.1 已修复,并新增 21 项"真机等价"无头测试与版本号一致性强制校验。OpenDance Studio -- Windows 客户端 v0.2.0
场景选择与物理落地(《DSH 开发文档 v1.6》5.6 / T-WIN-013)、
「关于」清单版本号(11.2 / T-WIN-012)、发布必须是单个完整包(5.7 / T-WIN-014)、
连接保活与设备去重(6.5 / T-WIN-015)。契约快照同步到
rest-api 0.5.0、websocket-keypoints 0.2.0、data-models 0.7.0、
database 0.4.0(与 opendance-web / opendance-android 逐字节一致)。✅ 发布资产已就位:
opendance-windows-v0.2.0.zip(26,625,705 B)+SHA256SUMS。本包使用 LZMA 压缩:发布时 Gitea 站点 IIS 的
maxAllowedContentLength仍是默认的 30,000,000 字节,37 MB 的 deflate 整包
上传固定返回 HTTP 413(16.4 MB 通过、30.5 MB / 37 MB / 40 MB 全部 413)。
为了不再拆分卷,改为ZIP_METHOD=lzma打包:37 MB → 26 MB,得以正常上传。⚠️ 解压要求:Windows 10 的资源管理器不支持 LZMA(method 14) 的 zip,
请用 7-Zip / WinRAR / PeaZip 解压(Win11 24H2+ 起资源管理器原生支持 7z 等格式,
但本项目未在 Windows 上实测)。解压后目录内必须是
OpenDance.exe+OpenDance.pck同目录,双击OpenDance.exe运行。若运维已把 IIS 上限放开到 256 MB,可用默认方式重新打包得到可双击解压的 deflate 包:
bash build/package-release.sh 0.2.0(约 38 MB)。sha256sum -c SHA256SUMS # 期望 OK 7z x opendance-windows-v0.2.0.zip【排查更正】 此前我把另一个现象(
HTTP 500 {"message":"","url":"…/api/swagger"},
空消息)判成"Gitea 宿主机磁盘写满"——那是误判:该接口 multipart 字段名是
attachment,用file=才会得到这个空消息 500。Gitea 附件接口本身完全正常
(同一 1 KB 文件:-F "attachment=@…"→ 201、--data-binary @…?name=→ 201、
-F "file=@…"→ 500)。正确写法记在deploy/proxy/README.md第九节。连接保活与设备去重(T-WIN-015,本次一并交付)
与 Android 端 v0.2.0 的 T-AND-011「两端一起改」,契约
websocket-keypoints提升到 0.2.0:welcome/config声明silentTimeoutMs = 15000与heartbeatIntervalMs = 5000
(心跳 < 静默超时的一半);新增应用层ping/pong。
原 5 秒静默超时 + 客户端只有协议层 ping(底层库自动应答,本端应用层看不到)
是"画面里没人就掉线、然后疯狂重连"的根因;- 按
hello.deviceId去重:同一设备的新连接替换旧连接(旧连接以1000关闭,
对端不会重连),界面显示去重后的设备数; - 逐客户端维护与 Android 端同名的连接状态
(connecting → handshaking → streaming → degraded,终态stopped),
并记录 close code / 协商子协议 / 连接·握手·首帧时间;「查看接收状态」可逐台查看。
无头测试 720 通过 / 0 失败(
test_pose_server.gd新增 7 项),
build/verify.sh三步全通过。校验
检查 结果 无头测试 720 通过 / 0 失败( test_pose_server.gd新增 7 项;场景相关 12 项)build/verify.sh三步全通过(脚本编译 / 无头测试 / 180 帧启动无运行时错误) Windows 导出 OpenDance.exe106,605 KiB(PE 头MZ校验通过)+OpenDance.pck141 KiB整包完整性自检 解压后 OpenDance.exe+OpenDance.pck同目录同名、PE 头MZ、pck 魔数GDPC包内文档与 tag 树一致 README.txt/README.md/THIRD_PARTY.md/contracts/*共 11 个文件 md5 逐字节一致版本号 project.godot与导出.pck均为0.2.0;「关于」清单展示v0.2.0交付物与校验和
opendance-windows-v0.2.0.zip 26,625,705 字节(LZMA 压缩,单个完整包;解压后约 104 MB) ├── OpenDance.exe ├── OpenDance.pck ├── THIRD_PARTY.md ├── README.txt / README.md └── contracts/ 契约快照(与另两端逐字节一致) SHA256SUMS 裸文件名,下载目录内 sha256sum -c 直接可用opendance-windows-v0.2.0.zipsha256:
e45398bcf4a50e6ddd6f4d475f3e8f19dc7c33177663fa447980a771bc869e03关于本次重新打包(域名占位符修正)
交付文档里原有的「Gitea 地址 / 属主」占位符已补齐为真实值
(gitea.kasugano.cn/ 属主zijunchiang)—— 域名与仓库属主属于「部署必需且
非隐私」的信息,文档中直接写明;口令、访问令牌等真正的秘密项仍是占位符。因为本整包还没有上传成功(见上),所以直接按修正后的文档重新打包,
避免发布出一个域名仍是占位符的包;因此 sha256 由
e45398bcf4a50e6ddd6f4d475f3e8f19dc7c33177663fa447980a771bc869e03
更新为e45398bcf4a50e6ddd6f4d475f3e8f19dc7c33177663fa447980a771bc869e03,
并把v0.2.0标签移到含修正文档的提交上。下载后
sha256sum -c SHA256SUMS unzip opendance-windows-v0.2.0.zip # 进入目录后双击 OpenDance.exe(OpenDance.pck 必须与它同目录)Downloads