Compare commits

...

3 Commits

Author SHA1 Message Date
znetsixe
0ba28b9cdf style: palette swatch → (domain-hue redesign 2026-05-21)
Sidebar swatch now follows function family rather than S88 level, so the
palette is visually identifiable instead of monochromatically blue. Editor-group
rectangles in flow.json still follow S88 — only the registerType color changed.
Full table + rationale: superproject .claude/rules/node-red-flow-layout.md §10.0
and .claude/refactor/OPEN_QUESTIONS.md (2026-05-21 entry).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 15:05:56 +02:00
znetsixe
70acef22d5 fix: settler icon colour + CONTRACT child.register row
- settler.html node colour was #e4a363 (legacy orange); aligned to
  S88 Unit blue #50a8d9 per .claude/rules/node-red-flow-layout.md §16
  cleanup list. Existing flows are unaffected — colour is editor-only.
- CONTRACT.md: add `child.register` row; previously mentioned only in
  prose ("not listed here"), but contract-verify enforces the table.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 15:59:11 +02:00
znetsixe
93ea000734 docs(wiki): regenerate topic-contract AUTOGEN block via wiki-gen
Replaces the agent-written placeholder inside Reference-Contracts.md with
the authoritative table generated from src/commands/index.js. Both the
BEGIN and END markers are normalized to the canonical form used by
`@evolv/wiki-gen`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 10:11:49 +02:00
3 changed files with 7 additions and 7 deletions

View File

@@ -8,10 +8,9 @@ Hand-maintained for Phase 6; the `## Inputs` table is generated from
| Canonical | Aliases (deprecated) | Payload | Effect | | Canonical | Aliases (deprecated) | Payload | Effect |
|---|---|---|---| |---|---|---|---|
| `data.influent` | `influent`, `setInfluent` | `{ F: number, C: number[13] }` — either field optional | Replaces influent flow and/or the 13-species concentration vector. Triggers `output-changed`, re-emits the 3-stream Fluent envelope. | | `data.influent` | `influent`, `setInfluent` | `{ F: number, C: number[13] }` — either field optional | Replaces influent flow and/or the 13-species concentration vector. Triggers `output-changed`, re-emits the 3-stream Fluent envelope. |
| `child.register` | `registerChild` | `string` — the child node's Node-RED id | Resolves the child via `RED.nodes.getNode` and registers it through `childRegistrationUtils` at the supplied `msg.positionVsParent`. |
Aliases log a one-time deprecation warning the first time they fire. Aliases log a one-time deprecation warning the first time they fire.
Plumbing topics (`child.register`) are handled by the BaseNodeAdapter and
not listed here.
## Outputs ## Outputs

View File

@@ -3,7 +3,7 @@
<script type="text/javascript"> <script type="text/javascript">
RED.nodes.registerType("settler", { RED.nodes.registerType("settler", {
category: "EVOLV", category: "EVOLV",
color: "#e4a363", color: "#8FAD3F",
defaults: { defaults: {
name: { value: "" }, name: { value: "" },
processOutputFormat: { value: "process" }, processOutputFormat: { value: "process" },
@@ -70,6 +70,7 @@
<label for="node-input-dbaseOutputFormat"><i class="fa fa-database"></i> Database Output</label> <label for="node-input-dbaseOutputFormat"><i class="fa fa-database"></i> Database Output</label>
<select id="node-input-dbaseOutputFormat" style="width:60%;"> <select id="node-input-dbaseOutputFormat" style="width:60%;">
<option value="influxdb">influxdb</option> <option value="influxdb">influxdb</option>
<option value="frost">frost</option>
<option value="json">json</option> <option value="json">json</option>
<option value="csv">csv</option> <option value="csv">csv</option>
</select> </select>

View File

@@ -13,12 +13,12 @@ Full topic contract, configuration schema, and child-registration filters for `s
The registry lives in `src/commands/index.js`. Each descriptor maps a canonical `msg.topic` to its handler; aliases emit a one-time deprecation warning the first time they fire. The registry lives in `src/commands/index.js`. Each descriptor maps a canonical `msg.topic` to its handler; aliases emit a one-time deprecation warning the first time they fire.
<!-- BEGIN AUTOGEN: topic-contract — populate via wiki-gen tool (TODO) --> <!-- BEGIN AUTOGEN: topic-contract -->
| Canonical topic | Aliases | Payload | Unit | Effect | | Canonical topic | Aliases | Payload | Unit | Effect |
|:---|:---|:---|:---|:---| |---|---|---|---|---|
| `data.influent` | `influent`, `setInfluent` | `{F: number, C: number[13]}` &mdash; either field optional | `F` in m³/h, `C[*]` in mg/L | Replaces influent flow and/or the 13-species concentration vector on the domain (`source.F_in`, `source.Cs_in`). Triggers `notifyOutputChanged`, which re-emits the 3-stream Fluent envelope on Port 0. | | `data.influent` | `influent`, `setInfluent` | any | — | Push the influent stream (payload: {F: flow m3/h, C: [concentrations mg/L]}). |
| `child.register` | `registerChild` | `string` (child node id) | &mdash; | Register a child node (measurement / reactor / machine) with this settler. Port 2 wiring does this automatically in normal flows; the explicit handler exists because `BaseNodeAdapter` does not have an implicit registration path. | | `child.register` | `registerChild` | `string` | — | Register a child node (typically a measurement) with this settler. |
<!-- END AUTOGEN: topic-contract --> <!-- END AUTOGEN: topic-contract -->