  We study the atomic embeddability testing problem, which is a common
generalization of clustered planarity (c-planarity, for short) and
thickenability testing, and present a polynomial-time algorithm for this
problem, thereby giving the first polynomial-time algorithm for c-planarity.
  C-planarity was introduced in 1995 by Feng, Cohen, and Eades as a variant of
graph planarity, in which the vertex set of the input graph is endowed with a
hierarchical clustering and we seek an embedding (crossing free drawing) of the
graph in the plane that respects the clustering in a certain natural sense.
Until now, it has been an open problem whether c-planarity can be tested
efficiently, despite relentless efforts. The thickenability problem for
simplicial complexes emerged in the topology of manifolds in the 1960s. A
2-dimensional simplicial complex is thickenable if it embeds in some orientable
3-dimensional manifold. Recently, Carmesin announced that thickenability can be
tested in polynomial time.
  Our algorithm for atomic embeddability combines ideas from Carmesin's work
with algorithmic tools previously developed for weak embeddability testing. We
express our results purely in terms of graphs on surfaces, and rely on the
machinery of topological graph theory.
  Finally, we give a polynomial-time reduction from atomic embeddability to
thickenability thereby showing that both problems are polynomially equivalent,
and show that a slight generalization of atomic embeddability to the setting in
which clusters are toroidal graphs is NP-complete.
