@bian-womp/spark-workbench 0.2.72 → 0.2.74

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.
@@ -1 +1 @@
1
- {"version":3,"file":"WorkbenchContext.provider.d.ts","sourceRoot":"","sources":["../../../../../src/misc/context/WorkbenchContext.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAWf,OAAO,EAAE,KAAK,QAAQ,EAAwB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAa1D,OAAO,EAGL,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAgB5B,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;IACD,EAAE,EAAE,iBAAiB,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAq9BA"}
1
+ {"version":3,"file":"WorkbenchContext.provider.d.ts","sourceRoot":"","sources":["../../../../../src/misc/context/WorkbenchContext.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAWf,OAAO,EAAE,KAAK,QAAQ,EAAwB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAa1D,OAAO,EAGL,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAgB5B,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;IACD,EAAE,EAAE,iBAAiB,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CA29BA"}
package/lib/esm/index.js CHANGED
@@ -278,7 +278,7 @@ class InMemoryWorkbench extends AbstractWorkbench {
278
278
  }
279
279
  // Position and selection APIs for React Flow bridge
280
280
  setPositions(map, options) {
281
- this.positions = { ...map };
281
+ this.positions = { ...this.positions, ...map };
282
282
  this.emit("graphUiChanged", {
283
283
  def: this.def,
284
284
  change: { type: "moveNodes" },
@@ -2713,8 +2713,8 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, overrides, uiVer
2713
2713
  }, [wb, registry, overrides?.getDefaultNodeSize]);
2714
2714
  const updateEdgeType = useCallback((edgeId, typeId) => wb.updateEdgeType(edgeId, typeId), [wb]);
2715
2715
  const triggerExternal = useCallback((nodeId, event) => runner.triggerExternal(nodeId, event), [runner]);
2716
- // Helper to save runtime metadata to extData.runtime and workbench state
2717
- const saveRuntimeMetadata = useCallback(async () => {
2716
+ // Helper to save runtime metadata and UI state to extData
2717
+ const saveUiRuntimeMetadata = useCallback(async () => {
2718
2718
  try {
2719
2719
  const current = wb.getRuntimeState() ?? { nodes: {} };
2720
2720
  const metadata = { nodes: { ...current.nodes } };
@@ -2727,8 +2727,13 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, overrides, uiVer
2727
2727
  }
2728
2728
  // Save cleaned metadata to workbench state
2729
2729
  wb.setRuntimeState(metadata);
2730
- // Save to extData.runtime via runner (no snapshotFull)
2731
- await runner.setExtData?.({ runtime: metadata });
2730
+ // Get UI state
2731
+ const uiState = wb.getUIState();
2732
+ // Save both runtime and UI state to extData (merge to preserve both)
2733
+ await runner.setExtData?.({
2734
+ ...(uiState ? { ui: uiState } : {}),
2735
+ runtime: metadata,
2736
+ });
2732
2737
  }
2733
2738
  catch (err) {
2734
2739
  console.warn("[WorkbenchContext] Failed to save runtime metadata:", err);
@@ -3092,7 +3097,7 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, overrides, uiVer
3092
3097
  }
3093
3098
  if (!runner.isRunning()) {
3094
3099
  if (event.commit) {
3095
- await saveRuntimeMetadata();
3100
+ await saveUiRuntimeMetadata();
3096
3101
  const history = await runner.commit(reason).catch((err) => {
3097
3102
  console.error("[WorkbenchContext] Error committing:", err);
3098
3103
  return undefined;
@@ -3126,7 +3131,7 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, overrides, uiVer
3126
3131
  await runner.update(event.def, { dry: event.dry });
3127
3132
  }
3128
3133
  if (event.commit) {
3129
- await saveRuntimeMetadata();
3134
+ await saveUiRuntimeMetadata();
3130
3135
  const history = await runner
3131
3136
  .commit(event.reason ?? reason)
3132
3137
  .catch((err) => {
@@ -3147,7 +3152,7 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, overrides, uiVer
3147
3152
  setSelectedNodeId(sel.nodes?.[0]);
3148
3153
  setSelectedEdgeId(sel.edges?.[0]);
3149
3154
  if (sel.commit) {
3150
- await saveRuntimeMetadata();
3155
+ await saveUiRuntimeMetadata();
3151
3156
  const history = await runner
3152
3157
  .commit(sel.reason ?? "selection")
3153
3158
  .catch((err) => {
@@ -3179,7 +3184,7 @@ function WorkbenchProvider({ wb, runner, registry, setRegistry, overrides, uiVer
3179
3184
  reason = "viewport";
3180
3185
  }
3181
3186
  }
3182
- await saveRuntimeMetadata();
3187
+ await saveUiRuntimeMetadata();
3183
3188
  const history = await runner
3184
3189
  .commit(event.reason ?? reason)
3185
3190
  .catch((err) => {