{
 "slug": "paint-roller",
 "triangles": 8346,
 "texture_px": 2048,
 "triangles_light": null,
 "texture_px_light": null,
 "files": {
  "glb": {
   "name": "paint-roller.glb",
   "bytes": 1118236
  },
  "blend": {
   "name": "paint-roller.blend",
   "bytes": 728846
  },
  "fbx": {
   "name": "paint-roller.fbx",
   "bytes": 1933788
  },
  "obj": {
   "name": "paint-roller-obj.zip",
   "bytes": 865078
  },
  "usdz": {
   "name": "paint-roller.usdz",
   "bytes": 1804059
  }
 },
 "extras": {
  "license": "CC0-1.0",
  "source": "grab3d.com",
  "dimensions_m": "0.266 x 0.511 x 0.107",
  "triangles": 8346,
  "textures": "PBR 2048px: base color, roughness, metallic, normal (baked)",
  "generator": "Created by grab3d",
  "created": "2026-09-26",
  "real_size": "paint roller with 18 cm sleeve and paint tray 25 x 36 x 7 cm, total approx. 26 x 50 x 11 cm",
  "notes": "yellow plastic paint tray 'paint-roller_tray' with a deep reservoir at the back holding blue paint, a ribbed ramp towards the front and a rolled rim; the roller rests on the ramp: the sleeve (cream nap with a light blue paint band, blue end caps) 'paint-roller_sleeve' is a separate object with its origin on the roller axis (rotate around local X); the steel wire frame with wooden handle 'paint-roller_frame' lies on the front rim of the tray; front = -Y; no text, no logo",
  "set": "Cozy Tools & Workshop Kit"
 },
 "origin": {
  "method": "procedural",
  "detail": "Built procedurally with Blender scripts. The scripts were written with the help of an AI coding assistant. No generative AI model produced the geometry or textures directly.",
  "ai_content": false,
  "ai_assisted_code": true
 }
}