The following features are either planned (\planned), under construction (\progress) or done (\done):
\begin{itemize}
    \item[\done] Reading from an input file as described in section~\ref{sec:inputFileFormat}.
    \item[\done] Creating random graphs for testing purposes.
    \begin{itemize}
        \item[\done] Saving those randomly created graphs.
    \end{itemize}
    \item[\done] Drawing a graph with specified node sizes and positions.
    \item[\progress] Running the node placement algorithm by Brandes and Köpf~\cite{brandes_fast_2001}.
    \begin{itemize}
        \item[\progress] Calculating the conflicts between edges.
        \begin{itemize}
            \item[\progress] Differentiating between dummy nodes and non-dummy nodes.
        \end{itemize}
        \item[\progress] Calculating the blocks.
        \item[\progress] Compacting the layout.
        \item[\planned] Combining the layouts.
    \end{itemize}
    \item[\progress] Illustrating the progress while the algorithm is running in the form of
    \begin{itemize}
        \item[\done] Drawing the nodes at their current position.
        \item[\done] Drawing the nodes in the color of their blocks.
        \item[\done] Drawing a colored circle to show the class assignments.
        \item[\done] Drawing the edges just as plain straight lines.
        \item[\progress] Drawing the four extremal layouts and the combined layout separately.
        \item[\planned] Drawing the edges of the block graph (in a different color than other edges).
    \end{itemize}
    \item[\done] Running the algorithm step by step manually.
    \item[\progress] Running the algorithm step by step with configurable delay.
    \item[\planned] Using debugger-like commands such as \enquote{step into}, \enquote{step over}, \enquote{step out}.
    \item[\planned] Adding buttons and other graphical elements to support the user interface (low priority).
    Currently there is only keyboard input (cf.\ section~\ref{sec:userInterface}).
    \item[\done] Working with hierarchical graphs.
    \item[\done] Scaling the display with the (adjustable) window size.
    \item[\planned] Work with disconnected graphs (cf.\ section~\ref{sec:assumptions}), either by modifying the algorithm or by processing the connected components one by one.
    \item[\planned] Creating ElkNode~\cite{noauthor_elk:_2018} objects from LayeredNode (\ref{sec:model}) objects.
    \item[\planned] Creating LayeredNode (\ref{sec:model}) objects from ElkNode~\cite{noauthor_elk:_2018} objects (low priority).
\end{itemize}