Files
opendance-web/project.yaml
T
opendance 584b7eaca9 feat(scenes): 场景管理后端 + 契约 0.5.0/0.7.0/0.4.0(T-WEB-015)
契约先行(三端逐字节一致,已同步 windows/android):
- rest-api -> 0.5.0:新增 GET/POST /api/scenes、GET/PATCH/DELETE /api/scenes/{id}
- data-models -> 0.7.0:新增 §7 Scene 与 7.1 SceneConfig(物理/环境/出生点/相机)
- database -> 0.4.0:新增 scenes 表(config/stats 用 MEDIUMTEXT,迁移可逆)

后端:
- entities/scene.entity.ts + 迁移 AddScenes1789650000000(scenes 表)
- scenes/scene-config.ts:SceneConfig 定义 + 默认值 + **边界收敛**(越界夹紧、
  非法枚举回退),保证客户端拿到的参数一定可解释;服务端只存参数不跑物理
- scenes/scenes.service.ts:上传(.glb/.gltf 直接导入;.zip/.pmx/.fbx 转 GLB,
  场景不做 humanoid 重绑定、不转 VRM)、列表/详情/更新/软删除、缩略图复用模型
  光栅化器、分析复用模型检查器、config 同时接受 JSON 字符串与平铺字段
- scenes/scenes.controller.ts + scenes.module.ts(app.module 注册)
- 审核复用 /api/reviews/:type/:id:TargetType.Scene 接入待审列表与状态流转
- catalog/export 增 scenes[],目录指纹纳入场景变更
- 枚举:TargetType.Scene、AssetKind.Scene / SceneThumbnail

测试:新增 test/scene-config.spec.ts 6 项(默认值/夹紧/枚举回退/出生点上限/颜色/
序列化);规模 19 文件 / 243 项;check-routes 35 条一致。版本 0.6.0。

注:管理端场景页(GLB 预览 + 物理参数可视化)与 Windows 场景选择留待下一轮。
2026-09-17 00:27:08 +08:00

73 lines
2.7 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
project: opendance-web-server
version: 0.6.0
repository: opendance-web
default_branch: main
contracts_version: 0.4.0
# 契约变更流程(文档 7.2):
# 任何跨端契约变更必须先在本项目修改 contracts/ 并提升版本,
# 再在 opendance-windows / opendance-android 创建适配任务。
database:
# 使用现有实例,本项目不部署、不管理 MySQL
managed_by: external
engine: MySQL 兼容(含 MariaDB 10.5+)
name: opendance
charset: utf8mb4
migrations: TypeORM migration
synchronize: forbidden
tasks:
- id: T-WEB-001
file: tasks/001-scaffold.md
scope: NestJS 骨架 + 连接现有 MySQL
status: done
- id: T-WEB-002
file: tasks/002-db-migration.md
scope: TypeORM 迁移生成 opendance 表结构
status: done
- id: T-WEB-003
file: tasks/003-song-crud.md
scope: /api/songs CRUD
status: done
- id: T-WEB-004
file: tasks/004-motion-upload.md
scope: 动作数据上传(BVH / VMD / FBX / glTF / keypoints)+ 来源字段
status: done
- id: T-WEB-005
file: tasks/005-model-upload.md
scope: 模型上传(GLB/VRM 直接导入 + PMX/FBX 转换 + .zip 自动搜索)+ 自动分析/缩略图 + 上传即待审
status: done
- id: T-WEB-006
file: tasks/006-keypoint-preprocess.md
scope: BVH / VMD / FBX -> 关键点序列预处理
status: done
- id: T-WEB-007
file: tasks/007-upload-review.md
scope: 上传审核流程
status: done
- id: T-WEB-008
file: tasks/008-admin-ui-songs.md
scope: 歌曲管理界面
status: done
- id: T-WEB-009
file: tasks/009-admin-ui-models.md
scope: 模型管理界面 + 来源展示
status: done
- id: T-WEB-010
file: tasks/010-deploy.md
scope: 部署脚本(双端口:软件 API 3000 + 管理端 3001,不部署 MySQL)+ deploy/.env 初始化引导(init-env.sh,HOST 默认 0.0.0.0)
status: done
deliverable:
artifact: opendance-web-v0.6.0.tar.gz
packaging: Linux 业务服务(系统服务托管,双端口:软件 API + 管理端,不含 MySQL、不含反向代理、不使用 Docker)
includes:
- web-server/ # NestJS 源码 + 构建产物(含 BVH / VMD 内置解析、ZIP 读取与模型压缩包转换)
- admin/ # React 管理端构建产物
- deploy/ # install.sh / init-env.sh / systemd / openrc / initd / ctl.sh / .env.example(PORT、ADMIN_PORT、HOST)
- deploy/proxy/ # 反向代理说明(nginx / IIS,仅供参考不部署)
- contracts/ # 当前版本契约快照(rest-api 0.5.0 / data-models 0.7.0 / database 0.4.0)
- THIRD_PARTY.md # 开源声明
- README.txt # 使用说明