add per compound caching for 3d generation