theallelectricsmartgrid

Scene Manager

The SceneManager (private/src/SceneManager.hpp) is the central coordinator for scene selection, scene blending, and scene-change signaling.

Role

SceneManager is the source of truth for:

It allows the rest of the parameter system to read a single blended value from scene-stored arrays:

Change detection

Each frame, SceneManager::Process() compares current scene/blend state to previous values and emits flags:

Consumers (notably encoder-bank processing) use these flags to refresh topology/state only when needed.

Cell registration

SceneManager can track registered stateful cells (StateEncoderCell) through RegisterCell(...).