graph representation rewritten using elkjs

This commit is contained in:
azykov@mail.ru
2026-08-31 21:29:52 +03:00
parent 9eb67275d7
commit af4d68e1c8
11 changed files with 158 additions and 53 deletions
+19
View File
@@ -4,6 +4,12 @@ export type BehaviourResourcePin = {
resource: Resource;
}
export type BehaviourSocket = {
type: 'input' | 'output';
index: number; // within its type
resource: Resource;
}
export type BehaviourLink = {
target: Behaviour['id'],
resource: Resource;
@@ -26,6 +32,7 @@ export type BehaviourOutputs = {
export type BehaviourDisplayInfo = {
storages: Record<string, Resources>;
sockets: BehaviourSocket[];
links: BehaviourLink[];
}
@@ -80,6 +87,18 @@ export class Converter extends Behaviour {
return {
storages: {},
links: this.inputs.pins.map((input) => input.link),
sockets: [
...this.inputs.pins.map((input, index) => ({
type: 'input',
index,
resource: input.resource,
} satisfies BehaviourSocket)),
...this.outputs.pins.map((output, index) => ({
type: 'output',
index,
resource: output.resource,
} satisfies BehaviourSocket)),
],
}
}