Node settings arrive as keyword arguments, not a params dict

A python node's settings are constants of its own function, so they are passed
the way its ports are: by name. The controller binds them to the compiled
function, the `params` field is gone from the worker and remote protocols, and
a setting sharing a port's name is reported as a node error rather than
shadowing it. The panel's scaffold follows suit and keeps the header in step
with both ports and settings.

The demo's `pace` moves from a flow input to a setting of the training node,
which is what it always was.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NUb8YpL2s3gmN9WTACTt4q
This commit is contained in:
2026-08-20 17:47:45 +02:00
co-authored by Claude Opus 5
parent 2385e3cf8e
commit 4355c917f8
24 changed files with 225 additions and 126 deletions
+3 -3
View File
@@ -57,7 +57,7 @@ import math
import time
def process(tick, params):
def process(tick):
# A slow daily swing plus a faster one, so any window shows some shape.
now = time.time()
daily = 3.0 * math.sin(now / 86400.0 * 2 * math.pi)
@@ -68,7 +68,7 @@ def process(tick, params):
BUILD_SOURCE = f'''"""Turn a chart's window into Flux. This is the database-specific half."""
def process(chart_request, params):
def process(chart_request):
span = int(chart_request["range_s"])
every = int(chart_request["interval_s"])
flux = "\\n".join(
@@ -94,7 +94,7 @@ def process(chart_request, params):
PARSE_SOURCE = '''"""Turn rows into the series a chart draws. Nothing here is InfluxDB-specific."""
def process(rows, params):
def process(rows):
points = [
[row["ts"], float(row["value"])]
for row in rows["rows"]