import type { NodeDef } from '../../NodeRegistry'; import { asNumber } from '../../values'; import { num, withDefault } from '../shared'; export const Clamp: NodeDef = { type: 'Clamp', label: 'Clamp', category: 'data', description: 'Limits a value to the range min…max.', inputs: [num('value'), withDefault(num('min'), 0), withDefault(num('max'), 1)], outputs: [num('result')], params: [], run: (_ctx, inputs) => ({ outputs: { result: Math.min(Math.max(asNumber(inputs.value), asNumber(inputs.min)), asNumber(inputs.max)) }, }), };