- Fix batch bypass tuple handling, memory budget device-awareness, grain RNG device, roto payload limits, preview temp-file cleanup, and route double-registration. - Add native VIDEO output (fps/audio) to effect nodes that previously only returned IMAGE/MASK when fed a VIDEO input. - Split the oversized src/preview/ops/geometry.ts and add a starting golden-fixture test harness (spherize, transform) comparing backend and frontend math. - Remove ImageOpsAppendV2 (Autogrow) and ImageOpsLensArtifacts; inline Append's helper back into its single caller. - Collapse the Color Correct curve widget behind a toggle so the node no longer grows too tall. - Fix Crop/generic-node video preview playback running at the RAF rate instead of the source video's real fps. - Fix Crop losing its saved output size after a workflow reload: syncCropWidgets recomputed height from width and a preset aspect ratio on every resync (including onConfigure on load), discarding the restored value. It now only refreshes aspect-ratio bookkeeping on a resync.
162 lines
2.8 KiB
JavaScript
162 lines
2.8 KiB
JavaScript
const IMAGEOPS_NODE_METADATA = [
|
|
{
|
|
"className": "ImageOpsColorAjust",
|
|
"ui": "custom",
|
|
"minPreviewHeight": 490
|
|
},
|
|
{
|
|
"className": "ImageOpsBlur",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsCameraShake",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsChannel",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsCornerPin",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsComp",
|
|
"ui": "custom",
|
|
"minPreviewHeight": 400
|
|
},
|
|
{
|
|
"className": "ImageOpsConstant",
|
|
"ui": "custom",
|
|
"minPreviewHeight": 390
|
|
},
|
|
{
|
|
"className": "ImageOpsCrop",
|
|
"ui": "custom"
|
|
},
|
|
{
|
|
"className": "ImageOpsCropStitch",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsDistort",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsDraw",
|
|
"ui": "custom",
|
|
"minPreviewHeight": 220
|
|
},
|
|
{
|
|
"className": "ImageOpsFrameRange",
|
|
"ui": "custom",
|
|
"minPreviewHeight": 390
|
|
},
|
|
{
|
|
"className": "ImageOpsGrain",
|
|
"ui": "custom",
|
|
"minPreviewHeight": 390
|
|
},
|
|
{
|
|
"className": "ImageOpsTransform",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsInvert",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsAppend",
|
|
"ui": "custom",
|
|
"minPreviewHeight": 430
|
|
},
|
|
{
|
|
"className": "ImageOpsKeyer",
|
|
"ui": "custom",
|
|
"minPreviewHeight": 420
|
|
},
|
|
{
|
|
"className": "ImageOpsClamp",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsMerge",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsMaskConvert",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsNoise",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsPadOut",
|
|
"ui": "custom",
|
|
"minPreviewHeight": 430
|
|
},
|
|
{
|
|
"className": "ImageOpsPreview",
|
|
"ui": "custom",
|
|
"minPreviewHeight": 360
|
|
},
|
|
{
|
|
"className": "ImageOpsRamp",
|
|
"ui": "custom",
|
|
"minPreviewHeight": 430
|
|
},
|
|
{
|
|
"className": "ImageOpsSpherize",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsText",
|
|
"ui": "custom",
|
|
"minPreviewHeight": 470
|
|
},
|
|
{
|
|
"className": "ImageOpsVignette",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsChromaticAberration",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsBloom",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsDefocus",
|
|
"ui": "native"
|
|
},
|
|
{
|
|
"className": "ImageOpsRoto",
|
|
"ui": "custom",
|
|
"minPreviewHeight": 560
|
|
}
|
|
];
|
|
const IMAGEOPS_DEFAULT_PREVIEW_MIN_HEIGHT = 320;
|
|
const IMAGEOPS_DEFAULT_NODE_WIDTH = 360;
|
|
const IMAGEOPS_CLASS_ALIASES = /* @__PURE__ */ new Map([
|
|
[
|
|
"checker",
|
|
"ImageOpsConstant"
|
|
],
|
|
[
|
|
"checkerboard",
|
|
"ImageOpsConstant"
|
|
],
|
|
[
|
|
"radial",
|
|
"ImageOpsRamp"
|
|
]
|
|
]);
|
|
export {
|
|
IMAGEOPS_CLASS_ALIASES,
|
|
IMAGEOPS_DEFAULT_NODE_WIDTH,
|
|
IMAGEOPS_DEFAULT_PREVIEW_MIN_HEIGHT,
|
|
IMAGEOPS_NODE_METADATA
|
|
};
|