feat(canvas): add persistent node favorites with toolbar star and glow

This commit is contained in:
2026-04-09 14:12:43 +02:00
parent e4d39a21fd
commit b08e448be0
18 changed files with 625 additions and 76 deletions

View File

@@ -10,6 +10,7 @@ import {
} from "../lib/canvas-connection-policy";
import { nodeTypeValidator } from "./node_type_validator";
import { normalizeCropNodeData } from "../lib/image-pipeline/crop-node-data";
import { preserveNodeFavorite } from "../lib/canvas-node-favorite";
// ============================================================================
// Interne Helpers
@@ -393,9 +394,12 @@ function normalizeNodeDataForWrite(
data: unknown,
): unknown {
if (nodeType === "crop") {
return normalizeCropNodeData(data, {
rejectDisallowedPayloadFields: true,
});
return preserveNodeFavorite(
normalizeCropNodeData(data, {
rejectDisallowedPayloadFields: true,
}),
data,
);
}
if (!isAdjustmentNodeType(nodeType)) {
@@ -407,11 +411,11 @@ function normalizeNodeDataForWrite(
}
if (nodeType === "render") {
return normalizeRenderData(data);
return preserveNodeFavorite(normalizeRenderData(data), data);
}
assertNoAdjustmentImagePayload(nodeType, data);
return data;
return preserveNodeFavorite(data, data);
}
async function countIncomingEdges(