Skip to content

Latest commit

 

History

History
116 lines (90 loc) · 3.25 KB

File metadata and controls

116 lines (90 loc) · 3.25 KB

Range (rangeNode)

Category: Control Flow

Intended behavior

Checks whether Value falls within Min/Max on Check, tracking a counter that increases when in range and decreases when out of range.

Inputs

ID Label Type Unwired default
value Value number 0
checkTrigger Check trigger undefined
resetTrigger Reset trigger undefined

Outputs

ID Label Type Default
inRange In Range boolean undefined
above Above boolean undefined
below Below boolean undefined
count Count number undefined

Configuration defaults

{
  "min": 0,
  "max": 10,
  "initialCount": 0,
  "count": 0
}

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": {
    "above": false,
    "below": false,
    "inRange": true,
    "count": 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": {
    "above": false,
    "below": false,
    "inRange": true,
    "count": 0
  }
}

Current frontend implementation

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

src/lib/execution-helpers.ts:245

case "rangeNode": {
      const value = Number(inputs.value ?? 0);
      const min = Number(config.min ?? 0);
      const max = Number(config.max ?? 0);
      outputs.above = value > max;
      outputs.below = value < min;
      outputs.inRange = !outputs.above && !outputs.below;
      outputs.count = Number(config.count ?? config.initialCount ?? 0);
      break;
    }

src/lib/execution-helpers.ts:430

if (type === "rangeNode") {
    if (targetPortId === "resetTrigger") {
      updatedConfig = { ...config, count: safeNum(config.initialCount) };
    } else {
      const value = Number(inputs.value ?? 0);
      const min = Number(config.min ?? 0);
      const max = Number(config.max ?? 0);
      const inRange = value >= min && value <= max;
      const current = safeNum(config.count ?? config.initialCount);
      updatedConfig = { ...config, count: inRange ? current + 1 : current - 1 };
    }
  }

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.
  • Trigger inputs schedule actions; passive evaluation alone does not execute those actions. Wire a trigger source and test the full chain.

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