How the cartogram is built

How the pipeline works, in the order it runs. Every figure is generated from the build artefacts by R/40_doc_figures.R and R/41_method_figures.R, so the documentation cannot drift from the code: if the pipeline changes, re-running them changes the pictures.

   
Placement Sizing each state to its seat count, fitting it to the hand-drawn layout, and pushing the country apart until nothing overlaps. Also available as an interactive walkthrough.
Carving cells Subdividing each state into equal-area cells, one per seat: sample, cluster, power diagram, clip.
Matching Pairing each real district with one cell, so the morph between them reads.

The stages either side of these are thin enough to live in the README: getting and projecting the boundaries at the front, and writing the JSON at the back.

census boundaries -> project + simplify -> scale to seats -> place in slots
   -> push apart -> carve into cells -> match cells to districts -> JSON