I suggest the following cases for the Editor calling the Env (including transition map etc).
Ideally these should be agreed with the developers of the Core so that the interaction can be kept simple and not too brittle. (Maybe introduce a Facade for the editor to call rather than operating directly on internals like Env, Rail, Grid, NN Agent + Env agents, etc)
Editor adds new transition
env adds reverse transition (or should Editor do this?)
Editor removes a transition
env or editor removes the reverse transition?
Editor adds new agent initial location (and initial direction chosen by env?)