Cubes in cubes · n = 13 · a follow-up to soft-to-rigid

Every road led to 2.956145

Yohei Nakajima's soft-to-rigid method set the 12-cube record, then his log stopped at 13 cubes after 48 runs. We kept going: 2,627 runs from three different kinds of starts. Every one that got close ended in the same packing.

It is the packing Erich Friedman found in 1998, listed on his catalogue as 2.956+. A match, not a record - and a strong hint that this is as low as this shape goes.

8 square to the box5 tilted
drag to rotate
2.956145158side of the box, cubes touching
2.956148820837certified side with a 10⁻⁶ gap on every pair and wall
2,627runs on one home PC, 9 October 2026
49 → 1runs that finished below 2.957, all tightening to the same packing

Where 2,627 runs ended

One dot per run, raw side before exact tightening. Most runs give up at 3.0: cubes stacked in plain rows. A few find the tilted trick, and they all hit the same wall.

Three roads in

To make sure the wall was not an accident of one starting point, the search came at it three ways.

road 1 · 895 runs

From scratch

Random balls in a big box, squeezed, hardened into cubes. Nakajima's simulator, with a bit more shaking than the default.

best 2.956147
below 2.957: 3 runs
road 2 · 1,269 runs

Re-melt

Take a finished packing, soften the cubes back toward balls, give the box a little room, freeze again. New move, added here.

best 2.956146
below 2.957: 43 runs
road 3 · 463 runs

Thirteenth cube

Start from the 12-cube packing, drop one more cube into its largest hole, then re-melt. New move, added here.

best 2.956146
below 2.957: 3 runs

Thirteen cubes, 1998 to now

  1. 2.956+
    Erich Friedman, by hand. Shown on the catalogue with three decimals.
  2. 2.997184
    Nakajima, 48 soft-to-rigid runs, stopped when the cloud machine restarted.
  3. 2.97661
    platonic-packing, the method generalized to all five Platonic solids.
  4. 2.956145
    This page. 2,627 runs, three roads, one packing.

The record run, start to finish

Seed 151013, 21 seconds: balls squeeze, harden into cubes, settle, and get pulled apart until nothing overlaps. The run is deterministic - node scripts/replay13.js gives the same 2.9561676813530875 every time.

What we still don't know

The 1998 digits

Friedman's entry shows 2.956+. Our packing is 2.956145. The structure looks the same as his picture, but without his exact value nobody can say if they are identical.

Is this the floor?

Three independent roads, one answer. That is evidence, not proof. A packing below 2.956 would need a different arrangement, not a better-tuned version of this one.

Check it yourself

Same file format and checkers as the n = 12 record: one [x, y, z, qw, qx, qy, qz] pose per cube in a box [0, s]³.

Loads the claim file, puts the 8 corners of every cube in the box, and runs the 15-axis separating test on all 78 pairs.
git clone https://github.com/tronford/cubes-in-cube-n13 && cd cubes-in-cube-n13
python verify.py claims/cubincub_n13/cubincub_n13.json          # VALID, min gaps 1.0e-6
python certify_exact.py claims/cubincub_n13/cubincub_n13.json   # CERTIFIED, exact rationals