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:
@@ -7,6 +7,15 @@ import (
|
||||
"img_infinite_canvas/internal/domain/design"
|
||||
)
|
||||
|
||||
func TestNormalizeLayerSeparationInputDoesNotClaimPSDOutput(t *testing.T) {
|
||||
input := normalizeLayerSeparationInput(design.GeneratorTaskInputArgs{
|
||||
ImageURL: "https://example.com/source.png",
|
||||
})
|
||||
if input.OutputFormat != "" {
|
||||
t.Fatalf("expected layer separation task output format to describe no upstream raster format, got %q", input.OutputFormat)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGeneratorTaskStatusWaitsForActiveCanvasWork(t *testing.T) {
|
||||
threadID := "thread-image"
|
||||
project := design.Project{
|
||||
|
||||
Reference in New Issue
Block a user