{
  "schemaVersion": "gf-origin-weapon-effect-candidates/1",
  "clientId": "origin",
  "id": "source:ec39996844e1ff3a2a3b99dc4d440aebe96304071c050e1be6445dac5725b392",
  "source": {
    "path": "item/model/W660.nif",
    "pathSha256": "420a60c69ddcc85eb5b4012cfc0307804955bf3468adac30aec93704b3dabae8",
    "sha256": "ec39996844e1ff3a2a3b99dc4d440aebe96304071c050e1be6445dac5725b392",
    "catalogSha256": "ec39996844e1ff3a2a3b99dc4d440aebe96304071c050e1be6445dac5725b392",
    "sizeBytes": 11332,
    "header": {
      "headerString": "Gamebryo File Format, Version 20.2.0.8",
      "versionRaw": 335675400,
      "endian": "ENDIAN_LITTLE",
      "userVersionRaw": 0
    },
    "blockCount": 17,
    "blockTypeCounts": {
      "NiFloatData": 1,
      "NiFloatInterpolator": 1,
      "NiMaterialProperty": 1,
      "NiNode": 4,
      "NiSourceTexture": 2,
      "NiStringExtraData": 2,
      "NiTextureTransformController": 1,
      "NiTexturingProperty": 1,
      "NiTriStrips": 1,
      "NiTriStripsData": 1,
      "NiVertexColorProperty": 1,
      "NiZBufferProperty": 1
    },
    "blockCatalog": [
      {
        "blockIndex": 0,
        "type": "NiNode",
        "name": "Scene Root",
        "sourceOffset": 531,
        "sourceSizeBytes": 94
      },
      {
        "blockIndex": 1,
        "type": "NiZBufferProperty",
        "name": "",
        "sourceOffset": 625,
        "sourceSizeBytes": 14
      },
      {
        "blockIndex": 2,
        "type": "NiVertexColorProperty",
        "name": "",
        "sourceOffset": 639,
        "sourceSizeBytes": 14
      },
      {
        "blockIndex": 3,
        "type": "NiNode",
        "name": "W660",
        "sourceOffset": 653,
        "sourceSizeBytes": 94
      },
      {
        "blockIndex": 4,
        "type": "NiTriStrips",
        "name": "W660",
        "sourceOffset": 747,
        "sourceSizeBytes": 99
      },
      {
        "blockIndex": 5,
        "type": "NiMaterialProperty",
        "name": "Material #28",
        "sourceOffset": 846,
        "sourceSizeBytes": 68
      },
      {
        "blockIndex": 6,
        "type": "NiTexturingProperty",
        "name": "",
        "sourceOffset": 914,
        "sourceSizeBytes": 77
      },
      {
        "blockIndex": 7,
        "type": "NiTextureTransformController",
        "name": "",
        "sourceOffset": 991,
        "sourceSizeBytes": 39
      },
      {
        "blockIndex": 8,
        "type": "NiFloatInterpolator",
        "name": "",
        "sourceOffset": 1030,
        "sourceSizeBytes": 8
      },
      {
        "blockIndex": 9,
        "type": "NiFloatData",
        "name": "",
        "sourceOffset": 1038,
        "sourceSizeBytes": 40
      },
      {
        "blockIndex": 10,
        "type": "NiSourceTexture",
        "name": "",
        "sourceOffset": 1078,
        "sourceSizeBytes": 36
      },
      {
        "blockIndex": 11,
        "type": "NiSourceTexture",
        "name": "",
        "sourceOffset": 1114,
        "sourceSizeBytes": 36
      },
      {
        "blockIndex": 12,
        "type": "NiTriStripsData",
        "name": "",
        "sourceOffset": 1150,
        "sourceSizeBytes": 9986
      },
      {
        "blockIndex": 13,
        "type": "NiNode",
        "name": "W1",
        "sourceOffset": 11136,
        "sourceSizeBytes": 86
      },
      {
        "blockIndex": 14,
        "type": "NiStringExtraData",
        "name": "UserPropBuffer",
        "sourceOffset": 11222,
        "sourceSizeBytes": 8
      },
      {
        "blockIndex": 15,
        "type": "NiNode",
        "name": "W2",
        "sourceOffset": 11230,
        "sourceSizeBytes": 86
      },
      {
        "blockIndex": 16,
        "type": "NiStringExtraData",
        "name": "UserPropBuffer",
        "sourceOffset": 11316,
        "sourceSizeBytes": 8
      }
    ]
  },
  "extractor": {
    "path": "scripts/inspect-client-effects.py",
    "sha256": "51995a5f8e7f762483a63d7706cac90b6b57354d0d58e47193259772377c7a92",
    "sizeBytes": 103255,
    "nifToolsVersion": "0.1.1",
    "nifToolsArchiveSha256": "c8da8a1ffc57b6b28b8a59e19b53a2b2961a701220a68ecbfda652f22dd2ceaf"
  },
  "resumeKey": {
    "sourceSha256": "ec39996844e1ff3a2a3b99dc4d440aebe96304071c050e1be6445dac5725b392",
    "extractorSha256": "51995a5f8e7f762483a63d7706cac90b6b57354d0d58e47193259772377c7a92",
    "principalSelectionSha256": "ce0ca32a84963d83df05f25b9f6a368a7e5e769bd652dc68adf2a6302f7d041c",
    "texturesSha256": "7bf073cd313978fa49f4e197a9bb82d83ebfedd7bb8f84366c240fb283858207"
  },
  "principalSelection": {
    "principalGeometryBlockIndices": [
      4
    ],
    "selectionRule": "Largest textured geometry and meshes sharing its base texture",
    "selectionRuleStatus": "PROTOTYPE_MAPPING",
    "sha256": "ce0ca32a84963d83df05f25b9f6a368a7e5e769bd652dc68adf2a6302f7d041c",
    "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": [
    4
  ],
  "emitterMeshBlockIndices": [],
  "candidateMeshes": [],
  "particleSystems": [],
  "controllers": [
    {
      "controllerBlockIndex": 7,
      "type": "NiTextureTransformController",
      "name": "",
      "targetBlockIndex": 6,
      "targetType": "NiTexturingProperty",
      "flags": {
        "flagsRaw": 72,
        "cycleType": {
          "rawValue": 0,
          "name": "CYCLE_LOOP"
        },
        "active": true,
        "playBackwards": false,
        "computeScaledTime": true,
        "animType": {
          "rawValue": 0,
          "name": "APP_TIME"
        }
      },
      "frequencyRaw": 1.0,
      "phaseRaw": 0.0,
      "startTimeRaw": 0.0,
      "stopTimeRaw": 2.0,
      "kind": "uv",
      "shaderMapRaw": false,
      "textureSlot": {
        "rawValue": 4,
        "name": "GLOW_MAP"
      },
      "operation": {
        "rawValue": 1,
        "name": "TT_TRANSLATE_V",
        "knownValue": true
      },
      "interpolatorBlockIndex": 8,
      "dataBlockIndex": 9,
      "dataType": "NiFloatData",
      "interpolationType": {
        "rawValue": 2,
        "name": "QUADRATIC_KEY"
      },
      "keyCount": 2,
      "keys": [
        {
          "time": 0.0,
          "value": -1.0,
          "forward": -0.0,
          "backward": 2.0,
          "tbc": [
            0.0,
            0.0,
            0.0
          ]
        },
        {
          "time": 2.0,
          "value": 1.0,
          "forward": 2.0,
          "backward": -0.0,
          "tbc": [
            0.0,
            0.0,
            0.0
          ]
        }
      ],
      "runtimeTrack": null,
      "runtimeStatus": "RAW_KEYS_ONLY_UNSUPPORTED_INTERPOLATION",
      "sourcePath": "item/model/W660.nif"
    }
  ],
  "textures": [
    {
      "sourceFileNameRaw": "W66001.dds",
      "sourcePath": "item/texture/W66001.dds",
      "sourceSizeBytes": 131200,
      "sourceSha256": "f1e85da59ec0349b331fda8961bd3e16aa299a7c8fa77e35264f14278fd1edeb",
      "resolution": {
        "status": "resolved",
        "method": "domain_texture_basename_unique",
        "path": "item/texture/W66001.dds"
      },
      "previewAsset": {
        "status": "written",
        "url": "effects/assets/f1e85da5-w66001.png",
        "size": [
          512,
          512
        ],
        "alphaRange": [
          255,
          255
        ],
        "sizeBytes": 163649,
        "sha256": "30fe0788ad47f54269fafa2815312e3f7d2eb2b29ed2bf44b031cbcccc4ca782",
        "conversion": "Pillow Image.open(DDS).convert(RGBA).save(PNG)"
      },
      "sourceTextureBlockIndex": 10
    },
    {
      "sourceFileNameRaw": "W66051.dds",
      "sourcePath": "item/texture/W66051.dds",
      "sourceSizeBytes": 16512,
      "sourceSha256": "41714836655391de4e0cb8aa105f04d9fb78f068950e263f14bf8d70ae644539",
      "resolution": {
        "status": "resolved",
        "method": "domain_texture_basename_unique",
        "path": "item/texture/W66051.dds"
      },
      "previewAsset": {
        "status": "written",
        "url": "effects/assets/41714836-w66051.png",
        "size": [
          128,
          128
        ],
        "alphaRange": [
          0,
          203
        ],
        "sizeBytes": 18173,
        "sha256": "ce1414f21ae5aa7098fd5289e59294917f29640cf101da6024b392a52731bdfd",
        "conversion": "Pillow Image.open(DDS).convert(RGBA).save(PNG)"
      },
      "sourceTextureBlockIndex": 11
    }
  ],
  "blockTypesNotExpanded": {
    "NiStringExtraData": 2
  },
  "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": []
}
