{
 "id": "prop.protest.drum/riot-protest-drum",
 "version": 1,
 "name": "Protest drum",
 "summary": "Drum, 0.46 m across, worn at the belly (spine_02 bone).",
 "tags": [
  "drum",
  "paves",
  "percussion",
  "prop",
  "protest",
  "riot",
  "sous-les-paves"
 ],
 "style": "realistic",
 "status": "approved",
 "frame": {
  "contract": "cast/gear-grip-origin-+Z",
  "up": "+Y",
  "unit": "m",
  "front": "+Z (along the item, grip at the origin)"
 },
 "size": {
  "measured_m": {
   "w": 0.456,
   "l": 0.456,
   "h": 0.31
  },
  "source": "measured",
  "scale_to_class": 1.0
 },
 "bounds": {
  "geometry": {
   "min": [
    -0.228,
    -0.155,
    -0.228
   ],
   "max": [
    0.228,
    0.155,
    0.228
   ]
  },
  "footprint": {
   "kind": "rect",
   "minX": -0.228,
   "maxX": 0.228,
   "minZ": -0.228,
   "maxZ": 0.228,
   "source": "measured"
  },
  "collider": {
   "parts": [
    {
     "type": "box",
     "x": 0.0,
     "y": 0.0,
     "z": 0.0,
     "hx": 0.228,
     "hy": 0.155,
     "hz": 0.228
    }
   ],
   "source": "guessed"
  }
 },
 "placement": {
  "role": "cast-attachment",
  "notes": "Origin at the drum centre (0.46 x 0.31 x 0.46 m); the game wears it at the spine_02 bone.",
  "source": "authored"
 },
 "sockets": [
  {
   "name": "attach",
   "role": "attach",
   "parent": "spine_02",
   "pos": [
    0,
    0.04,
    0.22
   ],
   "rot": [
    0.07493,
    0.0,
    0.0,
    0.997189
   ],
   "manifest_euler_xyz": [
    0.15,
    0,
    0
   ],
   "skeleton": "ual",
   "source": "authored",
   "note": "SOUS LES PAVES (Paris riot game, genres/riot) cast/manifest.json gear.drum: bone spine_02, offset and Euler XYZ rotation in bone space"
  }
 ],
 "nodes": {
  "all": [
   "drum"
  ]
 },
 "paint": null,
 "render": {
  "tris": 192,
  "verts": 294,
  "materials": 1,
  "draw_calls": 1,
  "textures": [],
  "gpu_mb_decoded": 0.0,
  "bytes": 12888,
  "codec": "none",
  "extensions": []
 },
 "rig": null,
 "animations": [],
 "gameplay": null,
 "techniques": [
  "flat-colour"
 ],
 "provenance": {
  "author": "gemini-4-argon via Antigravity (Blender)",
  "source": "jobs/riot-protest-drum-v1",
  "kit": "riot-kit",
  "job": "riot-protest-drum-v1",
  "feedback": null,
  "imported": "2026-10-19",
  "file_origin": "~/forge-build/forge-assets-paves/jobs/riot-protest-drum-v1/riot-protest-drum.glb",
  "origin": "paves-root/genres/riot/assets/cast/gear/drum.glb",
  "game": "sous-les-paves"
 },
 "licence": {
  "kind": "owned",
  "game_use": true,
  "raw_redistribute": false,
  "evidence": "Original model drawn by Gemini 4 Argon in Blender via the Antigravity CLI on 18 Oct 2026 for SOUS LES PAVES (Paris riot game, genres/riot); owned by Forge. No image textures, no third-party artwork. Source: paves-root/genres/riot/assets/cast/gear/drum.glb."
 },
 "quality": {
  "gates": "pass: 0 MB of 6 MB texture budget, 192 tris",
  "judge": null
 },
 "files": {
  "glb": "sha256:2b989dbfe41e6e38da9cf5cdd96397871243106c2868183baebcdb28fb168f4d"
 },
 "deps": [],
 "release": "sha256:bd1a1ef45f18d2473140ee75c3b0527b2457917dbdad32289cf6c6f974ede07f",
 "visual": {
  "n": 10,
  "description": "Low-poly cylindrical drum with a red body and white top and bottom drumhead rims, small prop size class.",
  "vision_model": "gemini-4 via agy4",
  "vision_batch_usage": {
   "prompt_tokens": 30930,
   "completion_tokens": 2466,
   "cache_read_tokens": 16056,
   "status": "SUCCESS"
  },
  "id": "prop.protest.drum/riot-protest-drum",
  "release": "sha256:bd1a1ef45f18d2473140ee75c3b0527b2457917dbdad32289cf6c6f974ede07f",
  "thumbnail_sha256": "f4649530685fb2d448f02fcc140b81de2879a560b0a9794a06f54f0494198efb",
  "safety": {
   "model": "jev",
   "probabilities": {
    "person": 0.01,
    "artwork": 0.03
   },
   "blocked": false,
   "threshold": 0.35,
   "source": "authored"
  }
 }
}
