Action spaces#
Per the plan §3 contract, every env exposes
Dict({"design": Dict({...}), "runtime": Dict({...})}). Either half may
be empty (e.g. for SwmmRTCEnv the design Dict is empty).
Runtime (RTC) factories#
Applied every step via the appropriate engine setter.
Factory |
Space |
Engine surface |
|---|---|---|
|
|
Design (CIP) factories#
Applied once per episode, between
SolverAdapter.open() and SolverAdapter.initialize().
Factory |
Space |
Engine surface |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
Additional factories ship as benchmark scenarios that need them come online.
Defensive clipping#
All factories np.clip the sampled value into bounds before calling
the engine, so an agent that overshoots its action space doesn’t crash
the simulator.