Start icosahedron, icosidodecahedron. # Centered, equally scaled solids in separate material assemblies. Let tetrahedra[20] be polyhedron. # Twenty slots for the placed tetrahedra. Let base_faces[20] be face of icosahedron. # Original triangular faces, ordered for connected residuals. Let triangular_faces[20] be face[3] of icosidodecahedron. # Read candidate receiving triangles. Match triangular_faces by base_faces, outward_docking into receiving_faces. # Reorder all faces; Move chooses their vertex correspondence. Point space by 0, 0, 0 into apex. # The common coordinate origin. Let residual be icosahedron. # Source material still waiting to be placed. Cycle 19 into i: # Indices 0–18: nineteen cuts, each followed by a move. Let triangle be base_faces[i]. # Original base of the next tetrahedron. Polycone space by triangle, apex into wedge. # Build the side region using the shared subroutine. Split residual by wedge into tetrahedron, residual. # Retain the entire remainder. Move tetrahedron by triangle, receiving_faces[i] into tetrahedron. # Dock outward with exact face contact. Let tetrahedra[i] be tetrahedron. # Store the moved piece's current handle. Move residual by base_faces[19], receiving_faces[19] into tetrahedron. # The last residual is already a tetrahedron. Let tetrahedra[19] be tetrahedron. # No twentieth split or empty remainder. Finish augmented_icosidodecahedron by icosidodecahedron, tetrahedra. # Stationary core and all twenty moved tetrahedra.