feat: made a basic version of inferredBeliefNode without all functionality

full reduce and connection logic is still missing

ref: N25B-433
This commit is contained in:
JGerla
2026-01-12 15:34:44 +01:00
parent 5385bd72b1
commit 0a4940bdd0
11 changed files with 303 additions and 17 deletions

View File

@@ -12,7 +12,7 @@ import {allowOnlyConnectionsFromHandle, allowOnlyConnectionsFromType} from "../H
import useFlowStore from '../VisProgStores';
import { PlanReduce, type Plan } from '../components/Plan';
import PlanEditorDialog from '../components/PlanEditor';
import { BasicBeliefReduce } from './BasicBeliefNode';
import { BasicBeliefReduce } from './BasicBeliefNode.tsx';
/**
* The default data structure for a Trigger node
@@ -66,7 +66,7 @@ export default function TriggerNode(props: NodeProps<TriggerNode>) {
allowOnlyConnectionsFromHandle([{nodeType:"phase",handleId:"data"}]),
]}/>
<SingleConnectionHandle type="target" position={Position.Bottom} id="beliefs" rules={[
allowOnlyConnectionsFromType(["basic_belief"])
allowOnlyConnectionsFromType(["basic_belief","inferred_belief"]),
]}/>
@@ -110,7 +110,7 @@ export function TriggerConnectionTarget(_thisNode: Node, _sourceNodeId: string)
// no additional connection logic exists yet
const data = _thisNode.data as TriggerNodeData;
// If we got a belief connected, this is the condition for the norm.
if ((useFlowStore.getState().nodes.find((node) => node.id === _sourceNodeId && node.type === 'basic_belief' /* TODO: Add the option for an inferred belief */))) {
if ((useFlowStore.getState().nodes.find((node) => node.id === _sourceNodeId && ['basic_belief', 'inferred_belief'].includes(node.type!)))) {
data.condition = _sourceNodeId;
}
}