zijunchiang
|
5581cbe05d
|
feat(scene): 场景选择与物理落地 + 整包发布(T-WIN-012/013/014)
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 全部通过
|
2026-09-17 00:45:23 +08:00 |
|
opendance
|
47e11af7d0
|
chore(contracts): 同步 0.5.0/0.7.0/0.4.0(场景管理路由与 Scene 模型)
|
2026-09-17 00:27:08 +08:00 |
|
opendance
|
47fc8e76b7
|
chore(contracts): 同步 data-models 0.6.0(Motion 增 thumbnailUrl)
|
2026-09-17 00:21:00 +08:00 |
|
opendance
|
9ff5f2b302
|
feat(model): humanoid 骨名映射对齐 MMD/中文(契约 skeleton-topology 0.2.0)
- CANDIDATES 由服务端表生成写入(与 model-inspector.ts 逐字一致,parity 测试断言)
- normalize() 保留 CJK/假名并把全角 ASCII 折半角,修复 MMD 骨名归一化成空串导致
humanoid 覆盖率恒为 0/22 的问题
- contracts/ 同步至 0.5.0 / 0.2.0
|
2026-09-17 00:10:07 +08:00 |
|
opendance
|
efb2484125
|
chore(contracts): 同步契约 0.5.0(模型一律转 VRM,Model 增 usable/unusableReason)
来自 opendance-web 的契约变更,按 DSH 文档 7.2「先改 Web 端 contracts/ 再同步另两端」:
- model-formats.md -> 0.5.0:主力格式 VRM + humanoid 门槛与回退
- data-models.md -> 0.5.0:Model 增 usable / unusableReason
- VERSION 同步
|
2026-09-17 00:05:02 +08:00 |
|
opendance
|
4913760a8b
|
docs: 消除 Gitea 模棱两可 Unicode 告警(全角标点紧邻 ASCII 时改为半角)
依据 Gitea v1.27.3 modules/charset/escape_stream.go 的判定规则
(analyzeDetectResults:仅当左右相邻字符都不是非 ASCII 时才标记,
且 _common 表恒定生效),把说明文档中会被标记的全角标点
(,:;?!() 等)改为半角,并保证成对括号宽度一致。
中文语境中的全角标点(左右均为中文)保持原样,不动代码与契约语义。
|
2026-09-15 21:45:51 +08:00 |
|
zijunchiang
|
8c1d24865c
|
docs: 全角 | / ? 改 ASCII(Gitea 混淆字符检测的剩余触发项)
|
2026-09-15 21:36:41 +08:00 |
|
zijunchiang
|
68a5ca0a87
|
docs: 其余易混淆字符(x/>=/<=/~/OK 取代 × − ≥ ≤ ≈ ✓)
|
2026-09-15 21:34:50 +08:00 |
|
zijunchiang
|
9f7b926a9a
|
docs: 新增「初次部署(从零跑起来)」;去混淆字符与真实内网信息
- README.md / README.txt 新增初次部署章节:前置条件、获取代码、首次运行、
配置服务端地址(API 3000 / 管理端 3001 分离)、与 Android 的 WebSocket 联通、
打包导出、自检清单、常见问题
- 三库同源契约:':=' 写法修回、去掉真实 MariaDB 版本串
- 全文去除易被 Gitea 判为「模棱两可 Unicode」的字符(- - ... -> 取代 — – … § →)
- 真实内网地址与库名改占位符
|
2026-09-15 21:33:27 +08:00 |
|
zijunchiang
|
baec8fce97
|
chore(contracts): 同步 rest-api(新增 POST /api/models/{id}/reanalyze)
|
2026-09-15 21:18:21 +08:00 |
|
zijunchiang
|
5a13167739
|
chore(contracts): 同步契约到 0.4.0/0.3.0(GLB/VRM 主力格式、模型审核与骨骼分析)
|
2026-09-15 20:37:58 +08:00 |
|
zijunchiang
|
c22790f3fe
|
chore(contracts): 同步契约(默认模型改用压缩包 sha256 匹配,补 sourceSha256 与确定性说明)
|
2026-09-15 19:36:42 +08:00 |
|
zijunchiang
|
f4cf2c70de
|
chore(contracts): 同步契约到 rest-api/data-models/model-formats 0.3.0、database 0.2.0(模型压缩包转换与默认模型规则)
|
2026-09-15 13:55:59 +08:00 |
|
zijunchiang
|
8f303c0595
|
chore(contracts): 同步契约到 v0.2.0(rest-api / data-models / model-formats)
Web 端需求变更带来的契约字段级改动:
- MotionFormat 枚举新增 vmd(MikuMikuDance 动作数据)
- rest-api 服务地址说明改为双端口语义(软件 API 端口给客户端 / 管理端端口给浏览器)
- model-formats 新增 §2.3 VMD 解析约定(标准 MMD 骨架、腿部 IK/FK 判定、手性转换)
三库契约文件保持逐字节一致。
|
2026-09-15 08:45:06 +08:00 |
|
zijunchiang
|
3ba8103723
|
docs(contracts): 服务地址描述由 Docker 部署改为 Linux 业务服务部署(Web 端已去 Docker)
|
2026-09-15 01:27:50 +08:00 |
|
zijunchiang
|
aef5f88083
|
docs(win): 用实现说明替换阶段二占位 README
v0.1.0
|
2026-09-14 20:05:40 +08:00 |
|
zijunchiang
|
c8dd6b2d4c
|
chore(win): 合并占位说明与阶段二实现
|
2026-09-14 20:05:17 +08:00 |
|
zijunchiang
|
fe9608eba7
|
chore(win): 提交 Godot 生成的 .uid 与资源 .import 元数据
|
2026-09-14 20:05:04 +08:00 |
|
zijunchiang
|
a83e4f6a1f
|
docs(win): 任务说明、DSH 约束与交付文档
|
2026-09-14 20:04:54 +08:00 |
|
zijunchiang
|
315cf79708
|
feat(win): T-WIN-011 Windows 打包与一键验证脚本
|
2026-09-14 20:04:54 +08:00 |
|
zijunchiang
|
13d6dc915d
|
feat(win): T-WIN-008/009/010 主界面/游戏/结算/来源展示/关于页
|
2026-09-14 20:04:54 +08:00 |
|
zijunchiang
|
7776f68f0b
|
feat(win): T-WIN-007 特征提取 + 流式 DTW 评分引擎
|
2026-09-14 20:04:54 +08:00 |
|
zijunchiang
|
c092ed1628
|
feat(win): T-WIN-006 关键点 → VRM 骨骼重定向
|
2026-09-14 20:04:54 +08:00 |
|
zijunchiang
|
0ae1c101a7
|
feat(win): T-WIN-005 VRM 加载 + humanoid 骨骼名映射
|
2026-09-14 20:04:54 +08:00 |
|
zijunchiang
|
2e539c7fa6
|
feat(win): T-WIN-003 WebSocket 关键点接收服务
|
2026-09-14 20:04:54 +08:00 |
|
zijunchiang
|
787f1c0cd8
|
feat(win): T-WIN-002 REST 客户端与契约类型
|
2026-09-14 20:04:54 +08:00 |
|
zijunchiang
|
ad62929f59
|
feat(win): T-WIN-004 239 字节关键点帧编解码 + 无头测试框架
|
2026-09-14 20:04:54 +08:00 |
|
zijunchiang
|
85a2568266
|
feat(win): T-WIN-001 Godot 工程骨架 + 4 个 autoload
|
2026-09-14 20:04:54 +08:00 |
|
zijunchiang
|
0b7083d026
|
chore(contracts): 引入 opendance-web v0.1.0 契约只读快照
|
2026-09-14 20:04:53 +08:00 |
|
zijunchiang
|
20f27271a8
|
docs: 初始化占位说明与契约依赖
|
2026-09-14 19:02:38 +08:00 |
|