January 1, 2026
Cup wars, AI assists, and boxes full of drama
Simple 3D Packing
GitHub dev crams 348 shapes into a shoebox—comments erupt
TLDR: A new GitHub tool packs 3D objects fast using a math trick (FFT) and hits 60.8% density on 348 items. Commenters debated what “interlocking-free” means, griped about finding the paper, joked about 2D packing nostalgia, and side‑eyed the AI assist—while still wanting to try it.
A holiday project just blew up: one dev packed 348 oddball 3D objects into a tray at 60.8% density using a GPU-powered library inspired by a SIGGRAPH paper, and the comments went full popcorn mode. The repo, psacking, uses FFT—Fast Fourier Transform—as a clever “turn shapes into signals” trick to detect collisions fast, then greedily stuffs pieces in like digital Tetris. Cue the crowd.
Biggest drama? “Interlocking-free” raised eyebrows: one commenter asked if it can still stack cups (the nesting kind) or if it’s designed to avoid those lock-in situations entirely, sparking a mini debate about what “interlocking” really means in the real world. Another hot thread: finding the original paper was too hard—until someone dropped the link.
Then there’s the meta-twist: the author admits they cleaned up the code “with the help of Claude Code” and insisted it’s not an ad, which only fueled the AI side-eye. Old-school folks chimed in with “remember when 2D packing was hard?” while others had an aha moment: FFT for collision detection actually makes sense. Feature-wise, people loved the simple Python API and Blender export for pretty renders. Linux/NVIDIA requirements got a few sighs, but the vibe was mostly: this is fast, weirdly cool, and we want to play with it.
Key Points
- •GPU-accelerated 3D bin packing uses FFT-based collision detection and spectral scoring.
- •Demo packs 348 Thingi10K objects into a 240×123×100 mm tray at 60.8% density.
- •Python API (BinPacker) supports voxel arrays and STL files, returning detailed PackingResult.
- •Algorithm voxelizes meshes (VoxSurf), correlates via FFT, scores proximity/height, and greedily places by volume.
- •Requires CUDA-capable NVIDIA GPU, CUDA Toolkit, Python 3.8+, and Linux (tested on Ubuntu); build with CMake, gcc, FFTW3, pybind11.