struct EnvStep {
float reward;
int terminated;
int truncated;
}What a step returned: 'terminated' ends the episode in a terminal state (no future reward); 'truncated' cuts it off by a time limit (the state still has value, and learners bootstrap from it).