Skip to content

feat: 将工作流编辑器接入 WorkflowRun 与 WorkflowController(Refs #87) #102

Description

@xyh202131

问题

#87 已确定工作流编辑器采用卡片加号式编排,但旧页面代码仍依赖已移除的 action-generation 步骤、旧 Controller 命令,以及重复的 Publish / Review Feature,无法接入当前 WorkflowRun 架构。

当前 WorkflowRun Service 已负责步骤推进、Generation 调用、审核结果读取和 Character 写入;如果页面再次实现这些逻辑,会形成第二套状态机。

目标

按照 #87 的交互方案实现可运行的 Workflow Editor,并且只通过 WorkflowController 推进与恢复任务。

范围

包含:

  • /workflow-editor/workflow-editor/:runId 页面
  • 卡片、加号菜单、自动合法连线和视觉拖动
  • 使用当前 WorkflowRun 步骤名称和 WorkflowControllerSnapshot
  • 展示角色候选、动作首帧候选与完整动画审核
  • 刷新后通过 controller.resume(runId) 恢复
  • 审核通过调用 controller.approveAction(runId),并使用返回的稳定 ID 打开 Playtest
  • 页面与协调边界测试

不包含:

  • 新 Workflow 状态机、第二份 Store 或页面 localStorage
  • 页面直接调用 GenerationApis、CharacterApis 或 fetch
  • 独立 Publish / Review Feature
  • Quick Start、Playtest、History、Asset Library 与 AppShell
  • 工作流模板、多角色并行和多视角画布

验收标准

  • 所有业务操作都通过 WorkflowController,页面不直接写步骤状态
  • 当前 Run 刷新后恢复到同一候选或审核阶段,不重复提交生成任务
  • 审核通过只写入一次 Character,并使用 PublishActionResult 跳转 Playtest
  • 用户无法绘制非法连线;单一下游直接创建,多下游才显示菜单
  • 覆盖角色候选、动作候选、审核、恢复、错误和重复点击测试
  • CI 五步全部通过:format:check / lint / typecheck / test / build

参考实现

卡片加号交互、合法下游和视觉拖动规则见 #87。WorkflowRun 可执行用例见 PR #86,页面协调入口使用 WorkflowController。

备注

publishWorkflowRun() 不迁移:其职责已经由 WorkflowRunService.approveAction() 唯一实现。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestmile3Milestone 3

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions