bb2f3bea82ad7d3587ba76e90ec9c5ffb9afb305
specificClass.js: 1808 → 336 lines.
MachineGroup extends BaseDomain. Configure() wires GroupOperatingPoint,
TotalsCalculator, GroupEfficiency, DemandDispatcher (built but unused —
see OPEN_QUESTIONS); ChildRouter handles registration + measurement
events; tick is event-driven (no setInterval, recomputes on pressure
events).
src/control/strategies.js (210 lines, new) — extracted equalFlowControl
+ prioPercentageControl from the orchestrator to fit the line budget.
src/io/output.js (69 lines, new) — extracted getOutput + getStatusBadge
composition.
Public surface preserved: machines / setMode / setScaling / handleInput
/ isMachineActive / handlePressureChange / dynamicTotals / absoluteTotals
/ absDistFromPeak / relDistFromPeak. _delayedCall + _dispatchInFlight
inline gate kept (tests await handleInput; LatestWinsGate.fire is
void) — see OPEN_QUESTIONS for the deferred decision.
nodeClass.js: 280 → 20 lines.
Extends BaseNodeAdapter. tickInterval=null (event-driven), commands
registry from src/commands/. buildDomainConfig returns {} (MGC has
no node-specific domain slice).
53 basic + 23 integration + 1 edge tests pass.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EVOLV
Edge-Layer Evolution for Optimized Virtualization
Description
Languages
JavaScript
97.8%
HTML
2.2%