The evaluation order of Pluto cells is determined automatically by their dependencies. It is in general independent of the cell ordering shown in the notebook.
The cell order in the notebook.jl file corresponds to the evaluation order (not the one shown in the notebook) so that the .jl file is executable stand-alone (without Pluto).
I see. But if you execute that jl file in Julia, not Pluto, you will get an error, because at the time the struct GridWorldParameters is defined, the struct State is not defined, no?