Wireworld is a cellular automaton. Sparkles are propagated along wires at each cycle. Despite it's simplicity, it allows to simulate advanced computers and is Turing complete
Right click (or simple tap)→ put or remove a wire
Left click (or long press) → put or remove a sparkle (Electron Head)
Press the refresh or auto-refresh button to iterate
A Wireworld cell can be in one of four different states: Empty , Electron head (), Electron tail , and Connector
As in all cellular automate, time proceeds in discrete steps called generations. Cells behave as follows:
In the rules above, neighboring means one cell away in any direction, both orthogonal and diagonal.
From there, you can build logic gates, taking signals in input and performing a logic operation :