The SceneManager (private/src/SceneManager.hpp) is the central coordinator for scene selection, scene blending, and scene-change signaling.
SceneManager is the source of truth for:
m_scene1)m_scene2)m_blendFactor)m_shift)It allows the rest of the parameter system to read a single blended value from scene-stored arrays:
GetSceneValue(values) computes
values[m_scene1] * (1 - m_blendFactor) + values[m_scene2] * m_blendFactorEach frame, SceneManager::Process() compares current scene/blend state to previous values and emits flags:
m_changed when blend or scene assignment changedm_changedScene when scene indices changedConsumers (notably encoder-bank processing) use these flags to refresh topology/state only when needed.
SceneManager can track registered stateful cells (StateEncoderCell) through RegisterCell(...).
m_externalState).