@bian-womp/spark-workbench 0.2.84 → 0.2.85

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,10 +9,14 @@ export type CopiedGraphData = {
9
9
  typeId: string;
10
10
  params?: Record<string, unknown>;
11
11
  resolvedHandles?: Partial<ResolvedHandles>;
12
- position: {
12
+ position?: {
13
13
  x: number;
14
14
  y: number;
15
15
  };
16
+ size?: {
17
+ width: number;
18
+ height: number;
19
+ };
16
20
  inputs?: Record<string, unknown>;
17
21
  originalNodeId: string;
18
22
  }>;
@@ -54,12 +58,16 @@ export declare class InMemoryWorkbench extends AbstractWorkbench {
54
58
  }): void;
55
59
  addNode(node: Omit<GraphNodeDefinition, "nodeId"> & {
56
60
  nodeId?: string;
61
+ }, options?: {
62
+ inputs?: Record<string, unknown>;
57
63
  position?: {
58
64
  x: number;
59
65
  y: number;
60
66
  };
61
- }, options?: {
62
- inputs?: Record<string, unknown>;
67
+ size?: {
68
+ width: number;
69
+ height: number;
70
+ };
63
71
  copyOutputsFrom?: string;
64
72
  dry?: boolean;
65
73
  commit?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryWorkbench.d.ts","sourceRoot":"","sources":["../../../../src/core/InMemoryWorkbench.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACT,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,QAAQ,EAIT,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAElB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,KAAK,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAC3C,QAAQ,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACnC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,KAAK,EAAE,KAAK,CAAC;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,OAAO,CAAC,IAAI,CAA6C;IACzD,OAAO,CAAC,SAAS,CAGb;IACJ,OAAO,CAAC,QAAQ,CAAC,CAAW;IAE5B,OAAO,CAAC,SAAS,CAAgD;IACjE,OAAO,CAAC,KAAK,CAAyD;IACtE,OAAO,CAAC,SAAS,CAGf;IACF,OAAO,CAAC,SAAS,CAA8B;IAE/C,OAAO,CAAC,YAAY,CAAgC;IAEpD,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,YAAY,CAA6C;IAEjE,OAAO,CAAC,UAAU,CAAgC;IAElD,IAAI,GAAG,IAAI,eAAe,CAEzB;IAED,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAI/B,IAAI,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B/C,iBAAiB,IAAI,IAAI;IAIzB,QAAQ,IAAI,gBAAgB;IA8B5B,SAAS,CACP,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7D,IAAI;IAQP,OAAO,CACL,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG;QAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACrC,EACD,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,MAAM;IAyBT,UAAU,CACR,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,IAAI;IAeP,OAAO,CACL,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,EACvD,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7D,MAAM;IAkBT,UAAU,CACR,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,IAAI;IAUP,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAYhE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAWnE,YAAY,CACV,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EACnD,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,IAAI;IAKP,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAIxD,QAAQ,CACN,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,EAC/D,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,IAAI;IAcP,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAI7D,OAAO,CAAC,oBAAoB;IAU5B,YAAY,CACV,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,EACzC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,IAAI;IAIP,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE;IAOpD;;OAEG;IACH,eAAe,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAiBtE,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAMrC,WAAW,IAAI,QAAQ,GAAG,IAAI;IAI9B,UAAU,IAAI,gBAAgB;IAwC9B,UAAU,CAAC,EAAE,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAqCvC,eAAe,IAAI,eAAe,GAAG,IAAI;IAIzC,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI;IAKvD,UAAU,IAAI,kBAAkB,GAAG,SAAS;IAI5C,UAAU,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,SAAS,GAAG,IAAI;IAK1D,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIvE,yBAAyB,CACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,mBAAmB,GAC7D,IAAI;IAQP,EAAE,CAAC,CAAC,SAAS,kBAAkB,EAC7B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACjC,MAAM,IAAI;IAOb,OAAO,CAAC,IAAI;IAQZ;;;;;OAKG;IACH,aAAa,CACX,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,CACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,KACX;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,GACjD,eAAe,GAAG,IAAI;IAsGzB;;;;;OAKG;IACH,kBAAkB,CAChB,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,MAAM,EAAE;IAuDX;;;;OAIG;IACG,IAAI,CACR,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EACtC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAqG9B;;;;;OAKG;IACH,aAAa,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,MAAM,GAAG,SAAS;IA0CrB;;;;;OAKG;IACH,sBAAsB,CACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,MAAM,GAAG,SAAS;IAoDrB;;;;OAIG;IACH,eAAe,CACb,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAChC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C;QAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;IAyDxD;;OAEG;IACH,aAAa,IAAI,eAAe,GAAG,IAAI;IAIvC;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI;IAIjD;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI/C;;;OAGG;IACH,WAAW,CACT,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,IAAI;CAYR"}
1
+ {"version":3,"file":"InMemoryWorkbench.d.ts","sourceRoot":"","sources":["../../../../src/core/InMemoryWorkbench.ts"],"names":[],"mappings":"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"}
package/lib/esm/index.js CHANGED
@@ -157,9 +157,11 @@ class InMemoryWorkbench extends AbstractWorkbench {
157
157
  const defNodeIds = new Set(this._def.nodes.map((n) => n.nodeId));
158
158
  const defEdgeIds = new Set(this._def.edges.map((e) => e.id));
159
159
  const filteredPositions = Object.fromEntries(Object.entries(this.positions).filter(([id]) => defNodeIds.has(id)));
160
+ const filteredSizes = Object.fromEntries(Object.entries(this.sizes).filter(([id]) => defNodeIds.has(id)));
160
161
  const filteredNodes = this.selection.nodes.filter((id) => defNodeIds.has(id));
161
162
  const filteredEdges = this.selection.edges.filter((id) => defEdgeIds.has(id));
162
163
  this.positions = filteredPositions;
164
+ this.sizes = filteredSizes;
163
165
  this.selection = { nodes: filteredNodes, edges: filteredEdges };
164
166
  this.emit("graphChanged", { def: this._def });
165
167
  this.refreshValidation();
@@ -216,8 +218,10 @@ class InMemoryWorkbench extends AbstractWorkbench {
216
218
  params: node.params,
217
219
  resolvedHandles: node.resolvedHandles,
218
220
  });
219
- if (node.position)
220
- this.positions[id] = node.position;
221
+ if (options?.position)
222
+ this.positions[id] = options.position;
223
+ if (options?.size)
224
+ this.sizes[id] = options.size;
221
225
  this.emit("graphChanged", {
222
226
  def: this._def,
223
227
  change: {
@@ -235,6 +239,7 @@ class InMemoryWorkbench extends AbstractWorkbench {
235
239
  this._def.nodes = this._def.nodes.filter((n) => n.nodeId !== nodeId);
236
240
  this._def.edges = this._def.edges.filter((e) => e.source.nodeId !== nodeId && e.target.nodeId !== nodeId);
237
241
  delete this.positions[nodeId];
242
+ delete this.sizes[nodeId];
238
243
  delete this.nodeNames[nodeId];
239
244
  this.emit("graphChanged", {
240
245
  def: this._def,
@@ -301,14 +306,16 @@ class InMemoryWorkbench extends AbstractWorkbench {
301
306
  return { ...this.positions };
302
307
  }
303
308
  setSizes(sizes, options) {
309
+ const updatedSizes = { ...this.sizes };
304
310
  for (const [nodeId, size] of Object.entries(sizes)) {
305
311
  if (size) {
306
- this.sizes = { ...this.sizes, [nodeId]: size };
312
+ updatedSizes[nodeId] = size;
307
313
  }
308
314
  else {
309
- this.sizes = lod.omit(this.sizes, nodeId);
315
+ delete updatedSizes[nodeId];
310
316
  }
311
317
  }
318
+ this.sizes = updatedSizes;
312
319
  this.emit("graphUiChanged", {
313
320
  change: { type: "resizeNodes" },
314
321
  ...options,
@@ -466,6 +473,7 @@ class InMemoryWorkbench extends AbstractWorkbench {
466
473
  if (selection.nodes.length === 0)
467
474
  return null;
468
475
  const positions = this.getPositions();
476
+ const sizes = this.getSizes();
469
477
  const selectedNodeSet = new Set(selection.nodes);
470
478
  // Collect nodes to copy
471
479
  const nodesToCopy = this.def.nodes.filter((n) => selectedNodeSet.has(n.nodeId));
@@ -477,15 +485,16 @@ class InMemoryWorkbench extends AbstractWorkbench {
477
485
  let maxX = -Infinity;
478
486
  let maxY = -Infinity;
479
487
  nodesToCopy.forEach((node) => {
480
- const pos = positions[node.nodeId] || { x: 0, y: 0 };
481
- const size = getNodeSize?.(node.nodeId, node.typeId) || {
482
- width: 200,
483
- height: 100,
484
- };
485
- minX = Math.min(minX, pos.x);
486
- minY = Math.min(minY, pos.y);
487
- maxX = Math.max(maxX, pos.x + size.width);
488
- maxY = Math.max(maxY, pos.y + size.height);
488
+ const pos = positions[node.nodeId];
489
+ const size = sizes[node.nodeId] || getNodeSize?.(node.nodeId, node.typeId);
490
+ if (pos) {
491
+ minX = Math.min(minX, pos.x);
492
+ minY = Math.min(minY, pos.y);
493
+ if (size) {
494
+ maxX = Math.max(maxX, pos.x + size.width);
495
+ maxY = Math.max(maxY, pos.y + size.height);
496
+ }
497
+ }
489
498
  });
490
499
  const bounds = { minX, minY, maxX, maxY };
491
500
  const centerX = (bounds.minX + bounds.maxX) / 2;
@@ -495,7 +504,8 @@ class InMemoryWorkbench extends AbstractWorkbench {
495
504
  const allInputs = runner.getInputs(this.def);
496
505
  const selectedEdgeSet = new Set(selection.edges);
497
506
  const copiedNodes = nodesToCopy.map((node) => {
498
- const pos = positions[node.nodeId] || { x: 0, y: 0 };
507
+ const pos = positions[node.nodeId];
508
+ const size = sizes[node.nodeId];
499
509
  // Get all inbound edges for this node
500
510
  const inboundEdges = this.def.edges.filter((e) => e.target.nodeId === node.nodeId);
501
511
  // Build set of handles that have inbound edges
@@ -512,10 +522,13 @@ class InMemoryWorkbench extends AbstractWorkbench {
512
522
  typeId: node.typeId,
513
523
  params: node.params,
514
524
  resolvedHandles: node.resolvedHandles,
515
- position: {
516
- x: pos.x - centerX,
517
- y: pos.y - centerY,
518
- },
525
+ position: pos
526
+ ? {
527
+ x: pos.x - centerX,
528
+ y: pos.y - centerY,
529
+ }
530
+ : undefined,
531
+ size,
519
532
  inputs: inputsToCopy,
520
533
  originalNodeId: node.nodeId,
521
534
  };
@@ -550,6 +563,7 @@ class InMemoryWorkbench extends AbstractWorkbench {
550
563
  if (selection.nodes.length === 0)
551
564
  return [];
552
565
  const positions = this.getPositions();
566
+ const sizes = this.getSizes();
553
567
  const newNodes = [];
554
568
  // Get inputs without bindings (literal values only)
555
569
  const allInputs = runner.getInputs(this.def) || {};
@@ -558,7 +572,8 @@ class InMemoryWorkbench extends AbstractWorkbench {
558
572
  const n = this.def.nodes.find((n) => n.nodeId === nodeId);
559
573
  if (!n)
560
574
  continue;
561
- const pos = positions[nodeId] || { x: 0, y: 0 };
575
+ const pos = positions[nodeId];
576
+ const size = sizes[nodeId];
562
577
  const inboundHandles = new Set(this.def.edges
563
578
  .filter((e) => e.target.nodeId === nodeId)
564
579
  .map((e) => e.target.handle));
@@ -566,10 +581,11 @@ class InMemoryWorkbench extends AbstractWorkbench {
566
581
  const newNodeId = this.addNode({
567
582
  typeId: n.typeId,
568
583
  params: n.params,
569
- position: { x: pos.x + 24, y: pos.y + 24 },
570
584
  resolvedHandles: n.resolvedHandles,
571
585
  }, {
572
586
  inputs: inputsWithoutBindings,
587
+ position: pos ? { x: pos.x + 24, y: pos.y + 24 } : undefined,
588
+ size,
573
589
  copyOutputsFrom: nodeId,
574
590
  dry: true,
575
591
  });
@@ -616,8 +632,10 @@ class InMemoryWorkbench extends AbstractWorkbench {
616
632
  const coerced = await coerceIfNeeded(outputTypeId, inType, unwrap(outputValue));
617
633
  newNodeId = this.addNode({
618
634
  typeId: singleTarget.nodeTypeId,
635
+ }, {
636
+ inputs: { [singleTarget.inputHandle]: coerced },
619
637
  position: { x: pos.x + 180, y: pos.y },
620
- }, { inputs: { [singleTarget.inputHandle]: coerced } });
638
+ });
621
639
  }
622
640
  else if (isArray && arrTarget) {
623
641
  const nodeDesc = registry.nodes.get(arrTarget.nodeTypeId);
@@ -625,8 +643,10 @@ class InMemoryWorkbench extends AbstractWorkbench {
625
643
  const coerced = await coerceIfNeeded(outputTypeId, inType, unwrap(outputValue));
626
644
  newNodeId = this.addNode({
627
645
  typeId: arrTarget.nodeTypeId,
646
+ }, {
628
647
  position: { x: pos.x + 180, y: pos.y },
629
- }, { inputs: { [arrTarget.inputHandle]: coerced } });
648
+ inputs: { [arrTarget.inputHandle]: coerced },
649
+ });
630
650
  }
631
651
  else if (isArray && elemTarget) {
632
652
  const nodeDesc = registry.nodes.get(elemTarget.nodeTypeId);
@@ -642,8 +662,10 @@ class InMemoryWorkbench extends AbstractWorkbench {
642
662
  const row = Math.floor(idx / COLS);
643
663
  newNodeId = this.addNode({
644
664
  typeId: elemTarget.nodeTypeId,
665
+ }, {
645
666
  position: { x: pos.x + (col + 1) * DX, y: pos.y + row * DY },
646
- }, { inputs: { [elemTarget.inputHandle]: coercedItems[idx] } });
667
+ inputs: { [elemTarget.inputHandle]: coercedItems[idx] },
668
+ });
647
669
  }
648
670
  }
649
671
  if (newNodeId) {
@@ -665,7 +687,8 @@ class InMemoryWorkbench extends AbstractWorkbench {
665
687
  const n = this.def.nodes.find((n) => n.nodeId === nodeId);
666
688
  if (!n)
667
689
  return undefined;
668
- const pos = this.getPositions()[nodeId] || { x: 0, y: 0 };
690
+ const pos = this.getPositions()[nodeId];
691
+ const size = this.getSizes()[nodeId];
669
692
  // Get inputs without bindings (literal values only)
670
693
  const allInputs = runner.getInputs(this.def)[nodeId] || {};
671
694
  const inboundHandles = new Set(this.def.edges
@@ -675,10 +698,11 @@ class InMemoryWorkbench extends AbstractWorkbench {
675
698
  const newNodeId = this.addNode({
676
699
  typeId: n.typeId,
677
700
  params: n.params,
678
- position: { x: pos.x + 24, y: pos.y + 24 },
679
701
  resolvedHandles: n.resolvedHandles,
680
702
  }, {
681
703
  inputs: inputsWithoutBindings,
704
+ position: pos ? { x: pos.x + 24, y: pos.y + 24 } : undefined,
705
+ size,
682
706
  copyOutputsFrom: nodeId,
683
707
  dry: true,
684
708
  });
@@ -696,17 +720,19 @@ class InMemoryWorkbench extends AbstractWorkbench {
696
720
  const n = this.def.nodes.find((n) => n.nodeId === nodeId);
697
721
  if (!n)
698
722
  return undefined;
699
- const pos = this.getPositions()[nodeId] || { x: 0, y: 0 };
723
+ const pos = this.getPositions()[nodeId];
724
+ const size = this.getSizes()[nodeId];
700
725
  // Get all inputs (including those with bindings, since edges will be duplicated)
701
726
  const inputs = runner.getInputs(this.def)[nodeId] || {};
702
727
  // Add the duplicated node
703
728
  const newNodeId = this.addNode({
704
729
  typeId: n.typeId,
705
730
  params: n.params,
706
- position: { x: pos.x + 24, y: pos.y + 24 },
707
731
  resolvedHandles: n.resolvedHandles,
708
732
  }, {
709
733
  inputs,
734
+ position: pos ? { x: pos.x + 24, y: pos.y + 24 } : undefined,
735
+ size,
710
736
  copyOutputsFrom: nodeId,
711
737
  dry: true,
712
738
  });
@@ -740,12 +766,15 @@ class InMemoryWorkbench extends AbstractWorkbench {
740
766
  typeId: nodeData.typeId,
741
767
  params: nodeData.params,
742
768
  resolvedHandles: nodeData.resolvedHandles,
743
- position: {
744
- x: nodeData.position.x + center.x,
745
- y: nodeData.position.y + center.y,
746
- },
747
769
  }, {
748
770
  inputs: nodeData.inputs,
771
+ position: nodeData.position
772
+ ? {
773
+ x: nodeData.position.x + center.x,
774
+ y: nodeData.position.y + center.y,
775
+ }
776
+ : undefined,
777
+ size: nodeData.size,
749
778
  copyOutputsFrom: nodeData.originalNodeId,
750
779
  dry: true,
751
780
  });
@@ -5158,7 +5187,7 @@ const WorkbenchCanvas = React.forwardRef(({ showValues, toString, toElement, get
5158
5187
  setNodeMenuOpen(false);
5159
5188
  setSelectionMenuOpen(false);
5160
5189
  };
5161
- const addNodeAt = useCallback(async (typeId, opts) => wb.addNode({ typeId, position: opts.position }, { inputs: opts.inputs, commit: true }), [wb]);
5190
+ const addNodeAt = useCallback(async (typeId, opts) => wb.addNode({ typeId }, { inputs: opts.inputs, position: opts.position, commit: true }), [wb]);
5162
5191
  const onCloseMenu = useCallback(() => {
5163
5192
  setMenuOpen(false);
5164
5193
  }, []);