Skip to content

Latest commit

 

History

History
87 lines (63 loc) · 2.37 KB

File metadata and controls

87 lines (63 loc) · 2.37 KB

Map Range (mapRangeNode)

Category: Math & Compare

Intended behavior

Rescales a value from one numeric range onto another (e.g. 0..1023 to 0..100).

Inputs

ID Label Type Unwired default
value Value number 0
inMin In Min number 0
inMax In Max number 1
outMin Out Min number 0
outMax Out Max number 100
enabled Enabled boolean true

Outputs

ID Label Type Default
out Result number undefined

Configuration defaults

{}

Observed frontend behavior

This calls the production passive computation with the declared input/config defaults. Cached state, trigger execution and project wiring are separate.

{
  "kind": "passive-default-probe",
  "outputs": {
    "out": 0
  }
}

Observed backend behavior

Offline production passive computation with the same declared defaults; no device or model service is invoked.

{
  "kind": "passive-default-probe",
  "outputs": {
    "out": 0
  }
}

Current frontend implementation

Extracted production branches; helper calls and project execution context are defined in the referenced modules.

src/lib/extra-node-compute.ts:57

mapRangeNode: (inputs) => {
    const inMin = toNum(inputs.inMin);
    const inMax = toNum(inputs.inMax);
    const outMin = toNum(inputs.outMin);
    // A zero-width source range has no meaningful ratio — collapse to outMin
    // rather than dividing by zero.
    if (inMax === inMin) return { out: outMin };
    const ratio = (toNum(inputs.value) - inMin) / (inMax - inMin);
    return { out: outMin + ratio * (toNum(inputs.outMax) - outMin) };
  }

Implementation references

Verification limits

  • Default passive probe is an observation, not proof of all configurations, trigger behavior, or correctness. See ../NODE_RUNTIME_AUDIT.md and ../AUDIT_VALIDATION.md for test evidence.
  • Enabled=false uses the runtime bypass mapping; bypass output can differ from the normal declared output type.

Source fingerprint: 7e9d192bd3a559a7c50253919867601ef02c311d61e859f7afb4cadcfa508430. Rebuild with npm run docs:index.