Polyominoes, polycubes, burr puzzles, etc
Python code represents physical pieces made up of unit cubes. Each physical pieces has various orientations.
Code for generating pieces and working with assemblies of pieces (validate fit, disassembly, plotting)