Canvas: Auto-assign position to nodes if missing
Change-Id: Ica80878e0cb280c9a44f58637c11b53d78e07892
diff --git a/apps/canvas/config/src/graph.ts b/apps/canvas/config/src/graph.ts
index e309926..c2f8e05 100644
--- a/apps/canvas/config/src/graph.ts
+++ b/apps/canvas/config/src/graph.ts
@@ -577,6 +577,14 @@
targetHandle: z.string().optional(),
});
+export const ViewportTransformSchema = z.object({
+ transformX: z.number(),
+ transformY: z.number(),
+ transformZoom: z.number(),
+ width: z.number(),
+ height: z.number(),
+});
+
export const GraphSchema = z.object({
nodes: z.array(NodeSchema),
edges: z.array(EdgeSchema),
@@ -587,6 +595,7 @@
zoom: z.number(),
})
.optional(),
+ viewportTransform: ViewportTransformSchema.optional(),
});
export const GraphOrConfigSchema = z.discriminatedUnion("type", [
@@ -601,4 +610,5 @@
]);
export type Edge = z.infer<typeof EdgeSchema>;
+export type ViewportTransform = z.infer<typeof ViewportTransformSchema>;
export type Graph = z.infer<typeof GraphSchema>;