다중 시간봉 전략 설정기능 추가
This commit is contained in:
@@ -1,10 +1,19 @@
|
||||
import type { LogicNode } from './strategyTypes';
|
||||
import type { EdgeHandleBinding } from './strategyFlowLayout';
|
||||
import { defaultStartMeta, type StartCombineOp, type StartNodeMeta } from './strategyStartNodes';
|
||||
|
||||
export type SignalFlowLayoutSnapshot = {
|
||||
positions: Record<string, { x: number; y: number }>;
|
||||
edgeHandles: Record<string, EdgeHandleBinding>;
|
||||
orphans?: LogicNode[];
|
||||
/** START 노드별 조건 판별 시간봉 */
|
||||
startMeta?: Record<string, StartNodeMeta>;
|
||||
/** 기본 START 외 추가 START 노드 ID (순서 유지) */
|
||||
extraStartIds?: string[];
|
||||
/** 추가 START에 연결된 서브트리 루트 */
|
||||
extraRoots?: Record<string, LogicNode | null>;
|
||||
/** START 2개 이상일 때 분기 결합 (AND | OR) */
|
||||
startCombineOp?: StartCombineOp;
|
||||
};
|
||||
|
||||
export type FlowLayoutChangePayload = Omit<SignalFlowLayoutSnapshot, 'orphans'> & {
|
||||
@@ -19,7 +28,14 @@ export type StrategyFlowLayoutStore = {
|
||||
const STORAGE_KEY = 'gc_se_flow_layout_v1';
|
||||
|
||||
export function emptySignalFlowLayout(): SignalFlowLayoutSnapshot {
|
||||
return { positions: {}, edgeHandles: {}, orphans: [] };
|
||||
return {
|
||||
positions: {},
|
||||
edgeHandles: {},
|
||||
orphans: [],
|
||||
startMeta: defaultStartMeta(),
|
||||
extraStartIds: [],
|
||||
extraRoots: {},
|
||||
};
|
||||
}
|
||||
|
||||
export function emptyStrategyFlowLayout(): StrategyFlowLayoutStore {
|
||||
|
||||
Reference in New Issue
Block a user