{
 "id": "weapon.firearm.smg/fps-sm9",
 "version": 1,
 "name": "SM-9 submachine gun",
 "summary": "SM-9 submachine gun, realistic, named parts + sight/muzzle empties",
 "tags": [
  "9",
  "firearm",
  "fps",
  "gun",
  "sm",
  "sm9",
  "smg",
  "submachine",
  "weapon"
 ],
 "style": "realistic",
 "status": "approved",
 "frame": {
  "contract": "weapon/grip-origin-muzzle-minus-z",
  "up": "+Y",
  "unit": "m",
  "front": "-Z (muzzle)"
 },
 "size": {
  "measured_m": {
   "w": 0.058,
   "l": 0.68,
   "h": 0.239
  },
  "source": "measured",
  "class_band": "weapon.firearm.smg",
  "band_axis": "length",
  "band": [
   0.45,
   0.8
  ],
  "in_band": true,
  "scale_to_class": 1.0
 },
 "bounds": {
  "geometry": {
   "min": [
    -0.031,
    -0.123,
    -0.399
   ],
   "max": [
    0.027,
    0.116,
    0.281
   ]
  },
  "footprint": {
   "kind": "rect",
   "minX": -0.031,
   "maxX": 0.027,
   "minZ": -0.399,
   "maxZ": 0.281,
   "source": "measured"
  },
  "collider": {
   "parts": [
    {
     "type": "box",
     "x": -0.002,
     "y": -0.003,
     "z": -0.059,
     "hx": 0.029,
     "hy": 0.119,
     "hz": 0.34
    }
   ],
   "source": "guessed"
  }
 },
 "placement": {
  "role": null,
  "notes": null,
  "source": null
 },
 "sockets": [
  {
   "name": "EjectionPort",
   "role": "ejectionport",
   "parent": null,
   "pos": [
    0.021,
    0.072,
    -0.116
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "GripL",
   "role": "gripl",
   "parent": null,
   "pos": [
    0.0,
    0.039,
    -0.252
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "GripR",
   "role": "gripr",
   "parent": null,
   "pos": [
    0,
    0,
    0
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "Muzzle",
   "role": "muzzle",
   "parent": null,
   "pos": [
    0.0,
    0.058,
    -0.399
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "SightFront",
   "role": "sightfront",
   "parent": null,
   "pos": [
    0.0,
    0.105,
    -0.349
   ],
   "rot": null,
   "source": "authored"
  },
  {
   "name": "SightRear",
   "role": "sightrear",
   "parent": null,
   "pos": [
    0.0,
    0.107,
    -0.008
   ],
   "rot": null,
   "source": "authored"
  }
 ],
 "nodes": {
  "all": [
   "Body",
   "Body_baked_Polymer",
   "Body_baked_Steel",
   "Body_Muted_red_selector_enamel",
   "Body_Offwhite_selector_enamel",
   "ChargingHandle",
   "EjectionPort",
   "GripL",
   "GripR",
   "Magazine",
   "Muzzle",
   "SightFront",
   "SightRear",
   "Stock",
   "Trigger"
  ]
 },
 "paint": null,
 "render": {
  "tris": 71638,
  "verts": 56995,
  "materials": 5,
  "draw_calls": 10,
  "textures": [
   {
    "px": [
     1024,
     1024
    ],
    "fmt": "png"
   },
   {
    "px": [
     1024,
     1024
    ],
    "fmt": "png"
   },
   {
    "px": [
     1024,
     1024
    ],
    "fmt": "png"
   },
   {
    "px": [
     1024,
     1024
    ],
    "fmt": "png"
   },
   {
    "px": [
     1024,
     1024
    ],
    "fmt": "png"
   },
   {
    "px": [
     1024,
     1024
    ],
    "fmt": "png"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "png"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "png"
   },
   {
    "px": [
     512,
     512
    ],
    "fmt": "png"
   }
  ],
  "gpu_mb_decoded": 37.7,
  "bytes": 6698060,
  "codec": "none",
  "extensions": []
 },
 "rig": null,
 "animations": [],
 "gameplay": null,
 "techniques": [
  "textured"
 ],
 "provenance": {
  "author": "gpt-6-astra (Blender)",
  "source": "fps-engine-20261005/kit/astra/sm9",
  "kit": "fps-kit",
  "imported": "2026-10-07",
  "file_origin": "~/forge-build/fps-engine-20261005/kit/astra/sm9/sm9.glb"
 },
 "licence": {
  "kind": "owned",
  "game_use": true,
  "raw_redistribute": false,
  "evidence": "fps-engine-20261005 kit: Nano Banana Pro sheet + GPT-6 Astra Blender, 5 Oct"
 },
 "quality": {
  "gates": "legacy",
  "judge": null
 },
 "files": {
  "glb": "sha256:bb7fae7fb3d750801c817b17e80352be12cfec539119a2622f21057beba66e31"
 },
 "deps": [],
 "release": "sha256:0f16afe049b6709085d9a9189d1c4a683016a31ccb789c02779d400c8fe5ebda"
}
