Skip to content

Latest commit

 

History

History
94 lines (68 loc) · 2.56 KB

File metadata and controls

94 lines (68 loc) · 2.56 KB

SR Latch (latchNode)

Category: Logic

Intended behavior

Set/Reset latch: Set holds the state true, Reset holds it false, until the other fires.

Inputs

ID Label Type Unwired default
setTrigger Set trigger undefined
resetTrigger Reset trigger undefined

Outputs

ID Label Type Default
outTrigger Out trigger undefined
state State boolean undefined

Configuration defaults

{
  "state": false
}

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": {
    "state": false
  }
}

Observed backend behavior

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

{
  "kind": "passive-default-probe",
  "outputs": {
    "state": false
  }
}

Current frontend implementation

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

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

latchNode: (_inputs, config) => ({ state: Boolean(config.state) })

src/lib/extra-trigger-ops.ts:30

latchNode: (_inputs, config, port) => {
    // Anything other than Reset is a Set — the latch only has two commands.
    if (port !== "setTrigger" && port !== "resetTrigger") {
      return { nextTriggerPort: "outTrigger" };
    }
    return {
      nextTriggerPort: "outTrigger",
      updatedConfig: { ...config, state: port === "setTrigger" },
    };
  }

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.