Enhance canvas functionality with new node types and validation

- Added support for new canvas node types: curves, color-adjust, light-adjust, detail-adjust, and render.
- Implemented validation for adjustment nodes to restrict incoming edges to one.
- Updated canvas connection validation to improve user feedback on invalid connections.
- Enhanced node creation and rendering logic to accommodate new node types and their properties.
- Refactored related components and utilities for better maintainability and performance.
This commit is contained in:
Matthias
2026-04-02 11:39:05 +02:00
parent 9bab9bb93d
commit f3c5c2d8f1
52 changed files with 5755 additions and 44 deletions

View File

@@ -62,6 +62,45 @@ export const CANVAS_NODE_TEMPLATES = [
height: 180,
defaultData: {},
},
{
type: "curves",
label: "Kurven",
width: 280,
height: 460,
defaultData: {},
},
{
type: "color-adjust",
label: "Farbe",
width: 280,
height: 560,
defaultData: {},
},
{
type: "light-adjust",
label: "Licht",
width: 280,
height: 620,
defaultData: {},
},
{
type: "detail-adjust",
label: "Detail",
width: 280,
height: 620,
defaultData: {},
},
{
type: "render",
label: "Render",
width: 300,
height: 420,
defaultData: {
outputResolution: "original",
format: "png",
jpegQuality: 90,
},
},
] as const;
export type CanvasNodeTemplate = (typeof CANVAS_NODE_TEMPLATES)[number];