
\section*{Supplementary Information I}

\textbf{Demonstration simulation construction:} \\

Resolution in $x$: n = 160 cells \par
Resolution in $y$: m = 160 cells \\

Cell size function for $\Delta x_i = 0.1 \times |cos(\frac{1}{n} \pi)| + \frac{1}{2n}$ and equivalent for $\Delta y_j$. \\
Therefore domain length $L = (0,\sum_i^n\Delta x_i)$ and equivalent length for $y$ axis. \\

Initial conditions for a circular source: \\

\begin{equation*}
\phi_{i,j} =
\begin{cases}
1.0,\ & \text{for} \ (x_i-x_0)^2 + (y_i-y_0)^2 \leq R^2 \\
0.0,\ & \text{else} \\
\end{cases}
\end{equation*}

Where $x_0 = 0.35L, y_0 = 0.1L$. \\

Setting of $\Delta t^\star$ is somewhat arbitrary, as consequent scaling renders all $\Delta t^\star$ as stable. For the demonstration simulation $\Delta t^\star$ is set to what would otherwise be the average`real time' = $\frac{L}{n\cdot c}$.  Where we have set non-dimensional $c_x = c_y = c$. \par

\textbf{N.B.1.} Though the simulation is initialised with a propagation angle of $\theta = 45^o$, it can also be run with any advection direction where the photon travelling at angle $\theta$ across the domain has corresponding dimensional velocities $c_x = c \cos(\theta)$  $c_y = c \sin(\theta)$. \par

The simulation evolves for 90 iterates of $\Delta t^\star$. The time steps are dimensionally split such:

\begin{align}
\phi^{n+1/2} &= \phi^n + \frac{\Delta t}{\Delta x} f(\phi^n) \\
\phi^{n+1} &= \phi^{n+1/2} + \frac{\Delta t}{\Delta y} f(\phi^{n+1/2})
\end{align}

and fluxes are evaluated as upwinded Godunov. \par

As explained previously, a `tail' of 0.5 is added to the region passed by the `photon' for visualisation purposes in Figure \ref{fig:demo_sim}.
