  In the classic circle packing problem, one asks whether a given set of
circles can be packed into a given container. Packing problems like this have
been shown to be $\mathsf{NP}$-hard. In this paper, we present new sufficient
conditions for packing circles into square and triangular containers, using
only the sum of the circles' areas: For square containers, it is possible to
pack any set of circles with a combined area of up to approximately 53.90% of
the square's area. And when the container is a right or obtuse triangle, any
set of circles whose combined area does not exceed the triangle's incircle can
be packed.
  These area conditions are tight, in the sense that for any larger areas,
there are sets of circles which cannot be packed. Similar results have long
been known for squares, but to the best of our knowledge, we give the first
results of this type for circular objects.
  Our proofs are constructive: We describe a versatile,
divide-and-conquer-based algorithm for packing circles into various container
shapes with optimal worst-case density. It employs an elegant subdivision
scheme that recursively splits the circles into two groups and then packs these
into subcontainers. We call this algorithm "Split Packing". It can be used as a
constant-factor approximation algorithm when looking for the smallest container
in which a given set of circles can be packed, due to its polynomial runtime.
  A browser-based, interactive visualization of the Split Packing approach and
other related material can be found at https://morr.cc/split-packing/
