We analyze the computational complexity of motion planning through local
"input/output" gadgets with separate entrances and exits, and a subset of
allowed traversals from entrances to exits, each of which changes the state of
the gadget and thereby the allowed traversals. We study such gadgets in the 0-,
1-, and 2-player settings, in particular extending past
motion-planning-through-gadgets work to 0-player games for the first time, by
considering "branchless" connections between gadgets that route every gadget's
exit to a unique gadget's entrance. Our complexity results include containment
in L, NL, P, NP, and PSPACE; as well as hardness for NL, P, NP, and PSPACE. We
apply these results to show PSPACE-completeness for certain mechanics in
Factorio, [the Sequence], and a restricted version of Trainyard, improving
prior results. This work strengthens prior results on switching graphs and
reachability switching games.Comment: 37 pages, 36 figure