feat: per-object node parameters (object property bag) — POC#1314
feat: per-object node parameters (object property bag) — POC#1314stepmikhaylov wants to merge 7 commits into
Conversation
🤖 Internal: Discord sync markerAuto-managed by the Discord notification workflow. Stores the linked Discord message ID. Do not edit or delete. |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
10f1343 to
054b25b
Compare
054b25b to
566b9eb
Compare
Adds per-object node parameters: a client can attach parameters to an individual object that override a node's startup configuration for that object only, addressed by pipeline component id.
Flow
Changes
Entry.parameterstransport bag (namespaced by component id) +entry.setParameters()binding (entry.hpp,bindings.cpp).IInstanceBase.params: lazy, per-object accessor that merges the node's resolved config (Config.getNodeConfig) with the object's own slice (per-object overrides win); cached and reset onclose()(filters.py).data_connopen handler seeds the sourceEntryfrom theparametersargument.parameters=added tosend_files/pipe/DataPipe(Python and TypeScript).self.params['interval']to vary frame-extraction rate per object (rebuilds the reader since fps is baked at construction).Isolation
self.paramsexposes only the processing node's own slice (entry.parameters[selfId]); other nodes' parameters are not reachable through it.Open items / known rough edges (POC)
getNodeConfig.Objectsection inservices.json) and the engine-siderrext_processHTTP path are not included — this PR is the runtime/SDK path only.Design discussion: #1292
🤖 Generated with Claude Code