{
  "schemaVersion": "gf-origin-weapon-effect-candidates/1",
  "clientId": "origin",
  "id": "source:70f3dc5b2f282251deffeb677673dfa7220c8330602c52bb9d4baefb121044f2",
  "source": {
    "path": "item/model/W318.nif",
    "pathSha256": "e7fe835538692909f5108df6a5961569e36b70d9ffb4e3abadcc20df254dc461",
    "sha256": "70f3dc5b2f282251deffeb677673dfa7220c8330602c52bb9d4baefb121044f2",
    "catalogSha256": "70f3dc5b2f282251deffeb677673dfa7220c8330602c52bb9d4baefb121044f2",
    "sizeBytes": 29079,
    "header": {
      "headerString": "Gamebryo File Format, Version 20.2.0.8",
      "versionRaw": 335675400,
      "endian": "ENDIAN_LITTLE",
      "userVersionRaw": 0
    },
    "blockCount": 17,
    "blockTypeCounts": {
      "NiAlphaProperty": 1,
      "NiMaterialProperty": 1,
      "NiNode": 4,
      "NiSourceTexture": 1,
      "NiStringExtraData": 3,
      "NiTexturingProperty": 1,
      "NiTransformController": 1,
      "NiTransformInterpolator": 1,
      "NiTriStrips": 1,
      "NiTriStripsData": 1,
      "NiVertexColorProperty": 1,
      "NiZBufferProperty": 1
    },
    "blockCatalog": [
      {
        "blockIndex": 0,
        "type": "NiNode",
        "name": "Scene Root",
        "sourceOffset": 749,
        "sourceSizeBytes": 102
      },
      {
        "blockIndex": 1,
        "type": "NiZBufferProperty",
        "name": "",
        "sourceOffset": 851,
        "sourceSizeBytes": 14
      },
      {
        "blockIndex": 2,
        "type": "NiVertexColorProperty",
        "name": "",
        "sourceOffset": 865,
        "sourceSizeBytes": 14
      },
      {
        "blockIndex": 3,
        "type": "NiNode",
        "name": "W1",
        "sourceOffset": 879,
        "sourceSizeBytes": 86
      },
      {
        "blockIndex": 4,
        "type": "NiStringExtraData",
        "name": "UserPropBuffer",
        "sourceOffset": 965,
        "sourceSizeBytes": 8
      },
      {
        "blockIndex": 5,
        "type": "NiNode",
        "name": "W2",
        "sourceOffset": 973,
        "sourceSizeBytes": 86
      },
      {
        "blockIndex": 6,
        "type": "NiStringExtraData",
        "name": "UserPropBuffer",
        "sourceOffset": 1059,
        "sourceSizeBytes": 8
      },
      {
        "blockIndex": 7,
        "type": "NiNode",
        "name": "W318",
        "sourceOffset": 1067,
        "sourceSizeBytes": 90
      },
      {
        "blockIndex": 8,
        "type": "NiStringExtraData",
        "name": "UserPropBuffer",
        "sourceOffset": 1157,
        "sourceSizeBytes": 8
      },
      {
        "blockIndex": 9,
        "type": "NiTransformController",
        "name": "",
        "sourceOffset": 1165,
        "sourceSizeBytes": 30
      },
      {
        "blockIndex": 10,
        "type": "NiTransformInterpolator",
        "name": "",
        "sourceOffset": 1195,
        "sourceSizeBytes": 36
      },
      {
        "blockIndex": 11,
        "type": "NiTriStrips",
        "name": "Editable Mesh",
        "sourceOffset": 1231,
        "sourceSizeBytes": 103
      },
      {
        "blockIndex": 12,
        "type": "NiMaterialProperty",
        "name": "W318",
        "sourceOffset": 1334,
        "sourceSizeBytes": 68
      },
      {
        "blockIndex": 13,
        "type": "NiAlphaProperty",
        "name": "",
        "sourceOffset": 1402,
        "sourceSizeBytes": 15
      },
      {
        "blockIndex": 14,
        "type": "NiTexturingProperty",
        "name": "",
        "sourceOffset": 1417,
        "sourceSizeBytes": 38
      },
      {
        "blockIndex": 15,
        "type": "NiSourceTexture",
        "name": "",
        "sourceOffset": 1455,
        "sourceSizeBytes": 36
      },
      {
        "blockIndex": 16,
        "type": "NiTriStripsData",
        "name": "",
        "sourceOffset": 1491,
        "sourceSizeBytes": 27580
      }
    ]
  },
  "extractor": {
    "path": "scripts/inspect-client-effects.py",
    "sha256": "51995a5f8e7f762483a63d7706cac90b6b57354d0d58e47193259772377c7a92",
    "sizeBytes": 103255,
    "nifToolsVersion": "0.1.1",
    "nifToolsArchiveSha256": "c8da8a1ffc57b6b28b8a59e19b53a2b2961a701220a68ecbfda652f22dd2ceaf"
  },
  "resumeKey": {
    "sourceSha256": "70f3dc5b2f282251deffeb677673dfa7220c8330602c52bb9d4baefb121044f2",
    "extractorSha256": "51995a5f8e7f762483a63d7706cac90b6b57354d0d58e47193259772377c7a92",
    "principalSelectionSha256": "8406def0450cbb019a2ecdd4cc272b44dacb70c7274ea04f2ba2d384949044e3",
    "texturesSha256": "16714ca97b2fda4130472c56d55e047957fa2e394a0edf3531ba2779dbdecbc9"
  },
  "principalSelection": {
    "principalGeometryBlockIndices": [
      11
    ],
    "selectionRule": "Largest textured geometry and meshes sharing its base texture",
    "selectionRuleStatus": "PROTOTYPE_MAPPING",
    "sha256": "8406def0450cbb019a2ecdd4cc272b44dacb70c7274ea04f2ba2d384949044e3",
    "excludedFromCandidateMeshes": true
  },
  "coordinateConversion": {
    "coordinateSystem": "NIF Z-up; original client units",
    "geometryValues": "Raw NiTriShapeData/NiTriStripsData values",
    "matrixConvention": "4x4 row arrays; column vectors; sourceMatrixWorld = parentWorld @ localNifTransform",
    "viewerConversion": "Scale 0.1, then rotate X by -PI/2, then sourceMatrixWorld, then source vertex",
    "billboard": "Mode and source transform are reported; no camera-facing transform is baked."
  },
  "extractionStatus": "complete",
  "candidateMeshCount": 0,
  "excludedPrincipalGeometryBlockIndices": [
    11
  ],
  "emitterMeshBlockIndices": [],
  "candidateMeshes": [],
  "particleSystems": [],
  "controllers": [
    {
      "controllerBlockIndex": 9,
      "type": "NiTransformController",
      "name": "",
      "targetBlockIndex": 7,
      "targetType": "NiNode",
      "flags": {
        "flagsRaw": 69,
        "cycleType": {
          "rawValue": 2,
          "name": "CYCLE_CLAMP"
        },
        "active": false,
        "playBackwards": false,
        "computeScaledTime": true,
        "animType": {
          "rawValue": 1,
          "name": "APP_INIT"
        }
      },
      "frequencyRaw": 1.0,
      "phaseRaw": 0.0,
      "startTimeRaw": 0.0,
      "stopTimeRaw": 0.0,
      "kind": "other",
      "interpolatorBlockIndex": 10,
      "dataBlockIndex": null,
      "dataType": null,
      "interpolationType": null,
      "keyCount": 0,
      "keys": [],
      "sourcePath": "item/model/W318.nif"
    }
  ],
  "textures": [
    {
      "sourceFileNameRaw": "W31801.dds",
      "sourcePath": "item/texture/W31801.dds",
      "sourceSizeBytes": 65664,
      "sourceSha256": "b4187e0a5b6a32241cc8f9cf86d801e60e8b1a3dee681e1f8dbcb3944904f1ba",
      "resolution": {
        "status": "resolved",
        "method": "domain_texture_basename_unique",
        "path": "item/texture/W31801.dds"
      },
      "previewAsset": {
        "status": "written",
        "url": "/models/runtime/origin/effects/assets/b4187e0a-w31801.png",
        "size": [
          256,
          256
        ],
        "alphaRange": [
          0,
          255
        ],
        "sizeBytes": 74173,
        "sha256": "46cc2b0b4198f86416223023454ab34bf8cee7d1457798113a05e2443f7d8649",
        "conversion": "Pillow Image.open(DDS).convert(RGBA).save(PNG)"
      },
      "sourceTextureBlockIndex": 15
    }
  ],
  "blockTypesNotExpanded": {
    "NiStringExtraData": 3,
    "NiTransformInterpolator": 1
  },
  "semanticBoundary": {
    "candidateMeshes": "All static source meshes other than the catalog principal selection; exclusion from the converted main mesh does not establish that a candidate is an engine effect.",
    "emitters": "NiPSys emitter configuration, mesh references, controller keys, and properties are preserved; particle instances are not sampled or synthesized.",
    "engineCompared": false
  },
  "diagnostics": []
}
