How it Works
Every host cell on the grid cycles through five states. A Susceptible cell becomes Attached when a randomly walking free virion collides with it and a per-contact attachment probability succeeds. After a short binding delay the cell enters the Eclipse phase, a silent period during which the viral genome is replicating but no new virions exist yet. Once the eclipse timer expires the cell switches to Producing, actively assembling virus particles for a fixed duration. When the producing timer runs out the cell lyses: it becomes permanently empty (Lysed) and releases a burst of new free virions outward into the surrounding space, which then diffuse and can attach to nearby Susceptible cells, repeating the cycle.
Free virions are simulated as particles performing a random walk across the canvas independent of the grid, colliding with cells as they drift. A small immune fraction of cells is marked Resistant at the start and can never be attached or infected, acting as spatial firebreaks that can locally stall or entirely extinguish the outbreak depending on their density and arrangement relative to the initial infection sites.
Attached --(bind delay)--> Eclipse (duration τ_E)
Eclipse --(τ_E elapsed)--> Producing (duration τ_P)
Producing --(τ_P elapsed)--> Lysed, release B virions
Virion motion: x(t+1) = x(t) + N(0,σ), reflecting boundaries