Skip to content

Commit c285176

Browse files
✅ Feat(Contract): v5.2 BP 编辑命令模式 — 新增 BpEditAction record 族 + 移除废弃 IBlueprintConverter
- 新增 BpEditAction 抽象 record + 12 个具体编辑动作(AddNodeInBlock/DeleteNode/MoveNodeToBlock/SetNodeArgument/ConnectData/Disconnect/SetControlFlowArm/AddBlock/RenameBlock/DeleteBlock/MoveNodePosition) - 纯数据 record,无 CFG/Workflow 依赖,供 Dashboard 描述用户编辑、IBpEditApplier 翻译为 IR 变更 - 移除 IBlueprintConverter.cs(v5.1 已废弃,BS↔BP 转换改走 CFG 真相源 + ICfgBsRenderer/ICfgBpRenderer)
1 parent a141688 commit c285176

2 files changed

Lines changed: 44 additions & 51 deletions

File tree

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// v5.2 BP editing action hierarchy (command pattern).
2+
// Pure data records — no dependency on CFG or Workflow types.
3+
// Dashboard creates these to describe a user edit; IBpEditApplier translates them to CFG mutations.
4+
5+
namespace KitX.Core.Contract.Workflow;
6+
7+
public abstract record BpEditAction;
8+
9+
// ── Node-level ──
10+
11+
/// <param name="Position">Insertion index within the block (null = append).</param>
12+
public record AddNodeInBlock(string BlockName, string BpNodeKind, int? Position = null) : BpEditAction;
13+
14+
/// <param name="NodeId">The BP node id to delete.</param>
15+
public record DeleteNode(string NodeId) : BpEditAction;
16+
17+
/// <param name="TargetBlock">Destination block.</param>
18+
/// <param name="Position">Insertion index within the target block (null = append).</param>
19+
public record MoveNodeToBlock(string NodeId, string TargetBlock, int? Position = null) : BpEditAction;
20+
21+
/// <param name="ArgIndex">Zero-based argument index.</param>
22+
public record SetNodeArgument(string NodeId, int ArgIndex, string Value) : BpEditAction;
23+
24+
// ── Connection-level (data flow) ──
25+
26+
public record ConnectData(string SourceNodeId, string SourcePin, string TargetNodeId, string TargetPin, string? PubVarName = null) : BpEditAction;
27+
28+
public record Disconnect(string ConnectionId) : BpEditAction;
29+
30+
// ── Control flow (Exec arms) ──
31+
32+
public record SetControlFlowArm(string NodeId, string ArmPinName, string TargetBlockName) : BpEditAction;
33+
34+
// ── Block-level ──
35+
36+
public record AddBlock(string BlockName) : BpEditAction;
37+
38+
public record RenameBlock(string OldName, string NewName) : BpEditAction;
39+
40+
public record DeleteBlock(string BlockName) : BpEditAction;
41+
42+
// ── Position (G5) ──
43+
44+
public record MoveNodePosition(string NodeId, double X, double Y) : BpEditAction;

KitX Core Contracts/KitX.Core.Contract/Workflow/IBlueprintConverter.cs

Lines changed: 0 additions & 51 deletions
This file was deleted.

0 commit comments

Comments
 (0)