feat(canvas): build PSD export in the browser from canvas layers
Move PSD generation off the server. The image-generation API only produces raster formats, so drop the PSD request path, the oov/psd decoder, and the LayeredDocumentGenerator wiring. Layer separation now returns clean background, foreground, and text_render_data artifacts into a transparent frame. Export that frame (or any image node) as PSD from the canvas context menu: ag-psd assembles layers, rotation/flip, opacity, editable text, and stroke effects from the current canvas state at download time. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2270,8 +2270,8 @@ export function CanvasWorkspace({ projectId }: { projectId: string }) {
|
||||
toggleLocked: () => toggleLayerLocked(node.id),
|
||||
flipHorizontal: () => toggleNodeTransform(node.id, "flipX"),
|
||||
flipVertical: () => toggleNodeTransform(node.id, "flipY"),
|
||||
exportFormats: node.type === "text" ? ["svg"] : ["png", "jpg", "svg"],
|
||||
exportAs: (format) => exportCanvasNode(node, format),
|
||||
exportFormats: node.type === "text" ? ["svg"] : ["png", "jpg", "svg", "psd"],
|
||||
exportAs: (format) => exportCanvasNode(node, format, { nodes: nodesRef.current, hiddenNodeIds }),
|
||||
deleteNode: () => removeNode(node.id)
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user