Files
pumpingStation/wiki
znetsixe e991ea64ef Merge origin/basin-docs-update: per-mode SVG + stopLevel hysteresis + shifted ramp
Reconciles the 7-commit basin-docs-update feature branch (which never
landed on main before the platform refactor) with the post-refactor
architecture on development. Each basin-docs feature ported into the
relevant concern module:

  control/levelBased.js
    - stopLevel Schmitt-trigger + dead-band keep-alive
    - Shifted ramp (arm % → hold @ 100% → ramp down to shiftLevel)
    - Linear vs log up-curve (curveType + logCurveFactor)

  measurement/flowAggregator.js
    - Predicted-volume overflow clamp + spill flow stream
    - Cumulative overflowVolume + underflowVolume
    - Hard floor at 0 + dry-run-on-transition handling

  basin/thresholdValidator.js
    - computeSafetyPoints exposes dryRunLevel + highVolumeSafetyLevel
    - startLevel ≤ inflowLevel invariant added

  measurement/calibration.js + commands/
    - Manual q_out path (set.outflow / q_out alias)

  safety/safetyController.js
    - Accepts both legacy + new high-volume threshold names

UI:
  pumpingStation.html — restored the side-panel + SVG mode-preview block,
  added defaults for stopLevel/shiftLevel/shiftArmPercent/levelCurveType/
  logCurveFactor/enableShiftedRamp.
  src/editor/* — basin-docs' 7-file modular editor (replaces single
  src/editor.js, which is deleted).
  pumpingStation.js — admin endpoint serves editor/:file.

Tests: 130/130 pass (125 basic + 5 integration). Two basin-docs test
files added: nodeClass-config.test.js, basic-dashboard-flow.test.js,
shifted-ramp-end-to-end.test.js. One pre-refactor control-levelBased
test adapted to match basin-docs canonical "no-shutdown in dead zone"
behaviour.

Human-review items (see commit context):
  - rampFoot = inflowLevel (matches basin-docs test); basin-docs source
    used rampFoot = startLevel. Domain owner: confirm intent.
  - Naming kept dual (overfillLevel + highVolumeSafetyLevel).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 16:19:55 +02:00
..

pumpingStation — Documentation

All docs and diagrams for this node live in this folder so they version-lock with the code they describe.

Pages

  • Functional Description — operator-facing reference derived from src/specificClass.js: basin model, net-flow selection, safety interlocks, registration topology.
  • Control modes — one page per control mode (levelbased, flowbased, …) describing how the mode uses the shared basin model to compute demand.

Diagrams

Editable draw.io SVGs live in diagrams/. See diagrams/README.md for the editing workflow — open the .drawio.svg in draw.io, edit it, then export back to SVG with the source embedded.

The basin model is the shared physical canvas (diagrams/basin-model.drawio.svg); per-mode transfer-function diagrams live under diagrams/modes/. Mode-specific thresholds such as startLevel belong in those mode diagrams, not in the generic basin model.

Part of

This node is a git submodule of EVOLV. The EVOLV superproject has its own wiki/ with platform-level docs (architecture, concepts, shared manuals).