1
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
2026-04-20 11:30:19 +08:00
parent 50759f3c1e
commit 8a7bd90458
85 changed files with 7290 additions and 1903 deletions

View File

@@ -274,6 +274,14 @@
- 当前固定动作入口收敛为 `idle / run / attack / die`,不再内置固定 `hurt`
- 提示词里传给视频模型的动作名统一使用英文动作名
实现更新(`2026-04-20`
- `run / attack` 是当前固定动作入口里的基础必生成动作
- `idle / die` 改为可选增强动作,不再作为资产完成度硬门槛
- `idle` 缺失时运行时默认使用主图静止
- `die` 缺失时运行时默认播放一段基于主图的倒地过渡动画,并最终停在翻转倒地姿态
- 技能动作不走固定按钮,但对当前角色 `skills` 中的每个技能都属于必生成动作
## 5.3 补充路线:腾讯云相关能力
腾讯云相关接口里,`提交图片跳舞任务` 提供了:
@@ -435,6 +443,11 @@
系统自动选择对应参考视频模板。
其中:
- `run / attack` 属于固定必生成动作
- `idle / die` 属于固定可选动作,未生成时走默认兜底
`jump``hurt` 这类扩展动作不再作为当前编辑器固定按钮,改为后续扩展动作槽位或手动补齐。
### B. 视频驱动
@@ -941,7 +954,7 @@ draft
### 12.1 基础动作槽位必须非空
第一版要求以下基础动作槽位全部有内容
第一版要求以下动作能力按“必生成 / 可选兜底”拆开
当前编辑器固定生成入口补充说明(`2026-04-19`
@@ -949,47 +962,33 @@ draft
- `hurt` 不再作为固定生成按钮
- 如果运行时仍需 `hurt` 资源,应通过后续扩展动作槽位或手动补齐
| 动作槽位 | 是否必填 | 建议来源 |
| ------------- | -------- | ------------------------- |
| `idle` | 必填 | 模板生成 |
| `acquire` | 必填 | 可由短持物 / 抬手动作生成 |
| `attack` | 必填 | 模板生成 |
| `run` | 必填 | 模板生成 |
| `jump` | 必填 | 模板生成 |
| `double_jump` | 必填 | 可由跳跃二次变体生成 |
| `jump_attack` | 必填 | 跳跃攻击模板 |
| `dash` | 必填 | 冲刺模板 |
| `hurt` | 必填 | 受击模板 |
| `die` | 必填 | 倒地 / 消散模板 |
| `climb` | 必填 | 攀爬模板 |
| `wall_slide` | 必填 | 可由攀爬或停滞帧变体生成 |
| 动作能力 | 是否必填 | 建议来源 |
| ------------------------------- | -------- | ---------------------------------------------------------- |
| `run` | 必填 | 模板生成 |
| `attack` | 必填 | 模板生成 |
| `skills[*].actionPreviewConfig` | 必填 | 技能编辑面板逐个生成 |
| `idle` | 可选 | 模板生成;缺失时默认主图静止 |
| `die` | 可选 | 模板生成;缺失时默认主图倒地过渡动画,最终停在翻转倒地姿态 |
这里“不能为空”指的是:
这里“必填”指的是:
- 每个基础动作槽位必须能挂到一套可播放资产
- 不允许在运行时出现 `null` 或空映射
- 个别低优先动作允许由近似动作衍生,但槽位本身必须有有效资源
- `run / attack` 必须能挂到一套可播放资产
- 角色当前每个技能都必须有可播放的 `actionPreviewConfig`
- `idle / die` 不再进入“缺失即阻塞发布”的判断
- 运行时表现仍然不能空白;`idle / die` 的缺口由默认兜底承接
### 12.2 技能动作不是第一版强制
### 12.2 技能动作改为“按角色已配技能强制
第一版可选
第一版不再要求预留整套固定技能枚举,但要求
- `skill1`
- `skill1_jump`
- `skill1_bullet`
- `skill1_bullet_fx`
- `skill2`
- `skill2_jump`
- `skill3`
- `skill3_jump`
- `skill3_bullet`
- `skill3_bullet_fx`
- `skill4`
- 当前角色 `skills` 数组里的每个技能都要补出 `actionPreviewConfig`
- 技能动作继续在技能编辑面板逐个生成,不并入固定四按钮
策略建议:
- 基础动作先全量补齐
- 技能动作后续按角色职业差异再补
- 先补 `run / attack`
- 再逐个补当前角色已有技能动作
- `idle / die` 作为可选增强按需要补
- 投射物与特效优先继续复用当前项目已有素材与技能特效系统
### 12.3 第一阶段优先模板

View File

@@ -0,0 +1,97 @@
# 场景多幕创作与流程改造实施进度 2026-04-20
更新时间:`2026-04-20`
## 1. 本轮落地范围
本轮先完成 `scene_chapter` 的第一批基础链路,让“场景章节 -> 多幕 -> 主角色 -> 幕背景/相遇 NPC”真正进入现有创作工具和草稿系统。
本轮目标不是一次性做完 PRD 全量能力,而是先把下面这条主干打通:
1. 草稿层可以承载 `scene chapter / scene act`
2. 草稿编译器可以把 `scene_chapter` 编译成正式卡片
3. 创作页可以看到、打开、编辑 `scene_chapter`
4. 编辑后的幕信息可以正确写回草稿
5. 运行时共享层先具备读取幕背景、主角色、相遇 NPC 池的基础能力
## 2. 本轮已落地
## 2.1 草稿与运行时结构
已补齐多幕相关结构:
1. `CustomWorldFoundationDraftProfile.sceneChapters`
2. `CustomWorldFoundationDraftSceneChapter`
3. `CustomWorldFoundationDraftSceneAct`
4. `CustomWorldProfile.sceneChapterBlueprints`
5. `StoryEngineMemoryState.currentSceneActState`
同时补齐了地点/营地草稿里的 `imageSrc`,避免幕背景回落时丢失现有场景图资产引用。
## 2.2 scene_chapter 草稿编译
`server-node/src/services/customWorldAgentDraftCompiler.ts` 已完成第一批接入:
1. `scene_chapter` 正式进入草稿编译结果
2. 支持从显式 `sceneChapters` 或地点/章节数据回退生成场景章节卡
3. 每张卡会编译出场景摘要、幕结构总览、每幕背景图、主角色、辅助 NPC、幕目标、过渡钩子
4. 每幕生成动态可编辑 section id
5. 已增加基础警告:
- 幕数不足
- 缺背景图
- 缺相遇 NPC
- 主角色不在第一位
- 缺线程挂钩
- NPC 或线程引用失配
## 2.3 scene_chapter 草稿编辑
`server-node/src/services/customWorldAgentDraftEditService.ts` 已支持:
1. 编辑场景章节标题、摘要
2. 编辑每幕标题、摘要、背景图链接、相遇 NPC、幕目标、过渡钩子
3. `encounterNpcIds` 支持用角色 id 或角色名回写
4. 回写后自动用第一位 NPC 覆盖 `primaryNpcId`
`server-node/src/services/customWorldAgentChangeSummaryService.ts` 也已支持解析 `scene_chapter` 标题。
## 2.4 创作页展示
前端已完成第一批接入:
1. 草稿抽屉正式加入 `scene_chapter` 分组
2. `scene_chapter` 分组顺序位于 `chapter` 后、`thread`
3. 详情面板已支持 `场景章节` 类型标签
4. 幕背景 section 在详情面板里会直接渲染图片预览
5. 编辑面板已支持幕摘要 / 相遇 NPC / 幕目标 / 过渡钩子等动态多行字段
## 2.5 运行时基础层
本轮同步补齐了幕运行的基础读取能力,便于下一轮继续接游戏流程:
1. 当前幕背景图优先覆盖场景默认背景
2. 当前幕相遇 NPC 池可参与场景相遇过滤
3. 当前幕主角色与负好感有限聊天的判定 helper 已建立
4. 场景预览层已能识别“负好感主角色不直接自动开战”的基础分支
## 3. 当前仍未完成
下面这些仍属于 PRD 未完项,需要下一轮继续:
1. 创作页里的“新增幕 / 删除幕 / 调整幕顺序”交互
2. 背景图配置与 NPC 配置的独立面板化交互
3. 发布期 `qualityFindings` / blocker 的正式接入
4. `SceneActRuntimeState` 的完整推进与持久化
5. 当前幕主角色负好感 `5` 轮聊天限制的前后端完整闭环
6.`5` 轮“铺垫式收束”提示与强制退出聊天态
7. 幕切换后的系统提示与 Adventure 面板状态展示
## 4. 下一轮建议顺序
建议下一轮按下面顺序继续:
1. 先补 `SceneActRuntimeState` 初始化与幕推进
2. 再接 `npcEncounterActions / aiService / chatOrchestrator` 的负好感有限聊天闭环
3. 最后补创作页的幕增删改序和独立配置面板
这样可以先把“能跑”补齐,再把“编辑体验”补完整。