project: opendance-windows-client version: 0.2.5 repository: opendance-windows default_branch: main engine: Godot 4.7.2 contracts_version: rest-api: 0.5.0 websocket-keypoints: 0.2.0 data-models: 0.7.0 skeleton-topology: 0.2.0 model-formats: 0.5.0 database: 0.4.0 # 契约变更流程(文档 7.2): # 任何跨端契约变更必须先在 opendance-web 修改 contracts/ 并提升版本, # 再在本项目创建适配任务。本项目内的 contracts/ 只是只读快照。 dependencies: - name: opendance-web kind: rest-api contract: contracts/rest-api.yaml usage: 曲目/动作/模型目录与关键点序列 - name: opendance-android kind: websocket-consumer contract: contracts/websocket-keypoints.md usage: 本端为服务端,Android 主动连入推流 tasks: - id: T-WIN-001 file: tasks/001-scaffold.md scope: Godot 项目骨架 status: done - id: T-WIN-002 file: tasks/002-rest-client.md scope: 调用 Web 服务端 API status: done - id: T-WIN-003 file: tasks/003-websocket-receiver.md scope: 接收 Android 关键点帧 status: done - id: T-WIN-004 file: tasks/004-keypoint-deserialize.md scope: 239 字节帧反序列化 status: done - id: T-WIN-005 file: tasks/005-vrm-loader.md scope: VRM 模型加载 status: done - id: T-WIN-006 file: tasks/006-skeleton-retarget.md scope: 关键点 -> VRM 骨骼重定向 status: done - id: T-WIN-007 file: tasks/007-scoring-dtw.md scope: DTW 评分引擎 status: done - id: T-WIN-008 file: tasks/008-game-ui.md scope: 主界面 + 游戏界面 + 结算 status: done - id: T-WIN-009 file: tasks/009-source-display.md scope: 模型/动作来源信息展示 status: done - id: T-WIN-010 file: tasks/010-about-page.md scope: 关于页面 + 开源声明 status: done - id: T-WIN-011 file: tasks/011-build-script.md scope: Windows 打包脚本 status: done - id: T-WIN-012 file: tasks/012-about-version.md scope: 「关于」清单展示当前版本号 status: done - id: T-WIN-013 file: tasks/013-scene-selection.md scope: API 升级 rest-api 0.5.0 + 场景选择 + 物理落地 status: done - id: T-WIN-014 file: tasks/014-full-package.md scope: 发布整包(单个 zip + SHA256SUMS,不拆分卷) status: done - id: T-WIN-016 file: tasks/016-aabb-transforms.md scope: 场景包围盒沿树累乘变换(修复入树前用 global_transform 导致的 ERROR 与范围偏位) status: done - id: T-WIN-015 file: tasks/015-keepalive-dedup.md scope: 连接保活 / 设备去重 / 状态机(契约 websocket-keypoints 0.2.0,与 T-AND-011 对齐) status: done - id: T-WIN-017 file: tasks/017-pe-version.md scope: 发布包 exe 的 PE 版本资源(Windows 属性页显示的文件/产品版本)必须等于发布版本 status: done - id: T-WIN-018 file: tasks/018-release-acceptance.md scope: 发布包级端到端验收(读包内 pck:版本号 / 界面显示值 / 契约表 / 资源可加载) status: done - id: T-WIN-019 file: tasks/019-cross-end-integration.md scope: 跨端集成验收(包内客户端 × 真实 Web 服务端)+ 补 Motion.thumbnailUrl 契约字段 status: done - id: T-WIN-020 file: tasks/020-ws-contract-conformance.md scope: WebSocket 契约一致性验收(Node 独立客户端 × 发布包内 PoseServer)+ 故意不合规的负例服务端 status: done - id: T-WIN-021 file: tasks/021-frame-vector-conformance.md scope: 关键点帧跨实现一致性(Web 参考实现 × 包内 GDScript 解码器,12 用例 / 396 点逐值比对) status: done - id: T-WIN-022 file: tasks/022-encode-rounding.md scope: 编码取整与契约参考实现(JS Math.round)对齐,编码差异收紧为 0 status: done - id: T-WIN-023 file: tasks/023-pck-dev-leftovers.md scope: 发布包内不得混入开发/验收工具(export exclude build/*)+ 产物级残留检查 status: done - id: T-WIN-024 file: tasks/024-config-push-and-legacy-peer.md scope: config 改为变更驱动(原每 2 秒无条件广播)+ v0.1.0 风格对端/缺 deviceId/无 hello 的契约语义验收 status: done - id: T-WIN-025 file: tasks/025-tracked-release-check.md scope: 逐文件核对「发布包 == 打标签的树」(源码比 tag、构建产物比工作树导出) status: done deliverable: artifact: opendance-windows-v0.2.5.zip packaging: Godot 导出脚本(Linux 直接导出 / Windows 兜底) release_rules: # 文档 §5.7 硬性要求 - 单个完整包,禁止 .partN 分卷 - 同时上传 SHA256SUMS(裸文件名,可直接 sha256sum -c) includes: - OpenDance.exe - OpenDance.pck - THIRD_PARTY.md - README.txt - README.md - contracts/ # 当前版本契约快照