T-WIN-013:API 升级与场景选择 - 契约快照同步到 rest-api 0.5.0 / data-models 0.7.0 / database 0.4.0 - catalog_types.gd 新增 SceneConfig(物理/环境/出生点/相机)与 Scene; CatalogBundle 增加 scenes[];from_dict 按契约 7.1 再收敛一次 (缺项默认、越界夹紧、非法枚举回退),与服务端 normalizeSceneConfig 同规则 - 新增 src/scene/scene_runtime.gd:GLB 载入 -> 碰撞体(mesh 三角网 / auto 命名约定 *_col、*_colonly / none 不兜底)-> 场景级重力(Area3D SPACE_OVERRIDE_REPLACE,不改全局 ProjectSettings)-> 风(每物理帧 apply_central_force,阵风正弦叠加,支持 local 坐标系)-> 环境光与雾 -> 出生点与相机(follow/fixed/orbit);无碰撞体时兜底地面 - CatalogStore 增加 scenes/default_scene/find_scene/ensure_scene_cached/ fetch_thumbnail(场景缓存带 sha256 指纹,避免换包后仍用旧 GLB) - 主界面改为 2x2 四个选择器(曲目/动作/模型/场景)+ 场景参数面板 (缩略图 + 重力/摩擦/弹性/碰撞体/风摘要) - 游戏界面载入场景并落地物理,角色落在出生点;场景缺失/下载失败/ 解析失败一律回退内置空场景并提示,不阻塞开始跟练 T-WIN-012:「关于」清单展示当前版本号 - 版本唯一来源为 project.godot 的 application/config/version(v0.2.0) - about_manifest() 输出版本/引擎/契约/协议/地址/隐私清单; 无头测试无 autoload,读取 AppConfig 走 get_node_or_null 容错 - Credits 的单个 CONTRACT_VERSION 常量改为 CONTRACT_VERSIONS 字典 (六项契约各自独立递增),并双向核对 contracts/VERSION T-WIN-014:发布必须是单个完整包 - build/package-release.sh 重写:只产出单个 zip + SHA256SUMS, 清理历史 .partN,超限时告警而非回退分卷;新增源产物与解压后完整性 自检(PE 头 MZ / pck 魔数 GDPC / exe+pck 同目录同名)与体积-上限对比 - deploy/proxy 相关的 Gitea IIS 256MB 上限说明见 opendance-web 测试:tests/test_scene_config.gd(12 例)+ tests/test_about.gd(4 例); 无头测试 687 通过 / 0 失败(10 个套件),verify.sh 全部通过
119 lines
3.3 KiB
Markdown
119 lines
3.3 KiB
Markdown
# 第三方开源项目声明
|
|
|
|
**OpenDance Studio Windows 客户端 v0.2.0**
|
|
|
|
本软件使用了以下开源项目,特此声明。完整锚点见 `contracts/open-source-credits.md`
|
|
(三端共用,任一端新增依赖须回到 `opendance-web` 更新该表)。
|
|
客户端「关于」页面展示同一份声明(见 `src/ui/credits.gd`)。
|
|
|
|
## 1. MediaPipe
|
|
|
|
- 版权:Copyright 2023 Google LLC
|
|
- 许可证:Apache License 2.0
|
|
- 源链接:https://github.com/google-ai-edge/mediapipe
|
|
- 用途:33 点骨骼拓扑定义(契约来源,**本端不包含其代码**)
|
|
|
|
## 2. Three.js
|
|
|
|
- 许可证:MIT
|
|
- 源链接:https://github.com/mrdoob/three.js
|
|
- 用途:Web 管理端 3D 预览
|
|
|
|
## 3. @pixiv/three-vrm
|
|
|
|
- 许可证:MIT
|
|
- 源链接:https://github.com/pixiv/three-vrm
|
|
- 用途:Web 管理端 VRM 加载
|
|
|
|
## 4. Assimp
|
|
|
|
- 许可证:BSD-3-Clause
|
|
- 源链接:https://github.com/assimp/assimp
|
|
- 用途:FBX/glTF 动作转换(可选外部依赖,在服务端侧使用)
|
|
|
|
## 5. Godot Engine
|
|
|
|
- 版权:Copyright Godot Engine contributors
|
|
- 许可证:MIT
|
|
- 源链接:https://github.com/godotengine/godot
|
|
- 用途:**本客户端的运行引擎**,包括内置 glTF/VRM 导入器与 WebSocket 实现
|
|
|
|
## 6. godot-vrm
|
|
|
|
- 许可证:MIT
|
|
- 源链接:https://github.com/V-Sekai/godot-vrm
|
|
- 用途:VRM humanoid 扩展参考实现。
|
|
**本客户端未使用其二进制**(该仓库不发布预编译产物),改为内置 glTF 导入器 +
|
|
自实现的骨骼名映射;此处按契约表保留声明。
|
|
|
|
## 7. NestJS
|
|
|
|
- 许可证:MIT
|
|
- 源链接:https://github.com/nestjs/nest
|
|
- 用途:Web 管理服务端
|
|
|
|
## 8. TypeORM
|
|
|
|
- 许可证:MIT
|
|
- 源链接:https://github.com/typeorm/typeorm
|
|
- 用途:Web 管理服务端 ORM
|
|
|
|
## 9. OkHttp
|
|
|
|
- 许可证:Apache License 2.0
|
|
- 源链接:https://github.com/square/okhttp
|
|
- 用途:Android 辅助 App 通信
|
|
|
|
## 10. bvh
|
|
|
|
- 许可证:MIT
|
|
- 源链接:https://github.com/aimoonchen/bvh
|
|
- 用途:BVH 解析参考实现
|
|
|
|
---
|
|
|
|
## 补充声明(实际引入的依赖)
|
|
|
|
## 11. React
|
|
|
|
- 许可证:MIT
|
|
- 源链接:https://github.com/facebook/react
|
|
- 用途:Web 管理端界面
|
|
|
|
## 12. Vite
|
|
|
|
- 许可证:MIT
|
|
- 源链接:https://github.com/vitejs/vite
|
|
- 用途:Web 管理端构建
|
|
|
|
## 13. CameraX
|
|
|
|
- 许可证:Apache License 2.0
|
|
- 源链接:https://developer.android.com/jetpack/androidx/releases/camera
|
|
- 用途:Android 相机采集
|
|
|
|
## 14. Jetpack Compose
|
|
|
|
- 许可证:Apache License 2.0
|
|
- 源链接:https://developer.android.com/jetpack/compose
|
|
- 用途:Android 界面
|
|
|
|
## 15. mysql2
|
|
|
|
- 许可证:MIT
|
|
- 源链接:https://github.com/sidorares/node-mysql2
|
|
- 用途:Web 管理服务端数据库驱动
|
|
|
|
---
|
|
|
|
## 许可合规说明
|
|
|
|
1. 本客户端自身代码以 MIT 许可发布。
|
|
2. 运行时依赖仅为 **Godot Engine**(MIT);其余条目为同项目其他组件或服务端依赖,
|
|
按契约要求一并声明。
|
|
3. 本客户端**未使用 SMPL 模型及其衍生拓扑**,统一采用 MediaPipe 33 点拓扑,
|
|
以规避 SMPL 的非商用许可限制。
|
|
4. 本客户端只接收 33 个关键点坐标,**不接收、不存储任何视频画面**。
|
|
5. 本客户端下载并缓存的 VRM 模型来自部署方自建的服务端,其来源与许可由
|
|
Web 服务端的来源五元组字段管理并在界面展示。
|