{
  "schema": "MAKNOW_D3D002_SYNTHETIC_TRANSFER_FIXTURE_v1.0",
  "fixture_id": "D3D-002-LAB1-TRANSFER",
  "asset_id": "SYNTH-REALTIME-PROP-02",
  "rights": "SYNTHETIC_RIGHTS_CLEARED",
  "decision": null,
  "target": {
    "target_ref": "target://D3D-002/NAMED_REALTIME_ORM",
    "material_model": "GLTF2_METALLIC_ROUGHNESS",
    "target_constraint_scope": "CONSTRAINED_NAMED_TARGET_ONLY",
    "uv_overlap_policy": "MIRROR_ALLOWED_FOR_DECLARED_REGION",
    "channel_packing": "PACKED_ORM",
    "packing_convention": {
      "R": "occlusion",
      "G": "roughness",
      "B": "metallic"
    }
  },
  "uv": {
    "uv_set": "UV_RT",
    "seam_intent": "TARGET_SPECIFIC_REALTIME_LAYOUT",
    "overlap_observation": "INTENTIONAL_MIRRORED",
    "stretch_check": {
      "metric": "SYNTHETIC_UV_STRETCH_RATIO_MAX",
      "threshold": {
        "operator": "<=",
        "value": 1.1
      },
      "observed": 1.06,
      "unit": "ratio",
      "evidence_ref": "evidence://transfer/uv-stretch"
    },
    "texel_density_policy": {
      "metric": "SYNTHETIC_TEXELS_PER_METER",
      "target_band": {
        "min": 460,
        "max": 540,
        "unit": "px_per_meter"
      },
      "observed_range": {
        "min": 474,
        "max": 526,
        "unit": "px_per_meter"
      },
      "evidence_ref": "evidence://transfer/texel-density"
    },
    "texel_density_observation": "WITHIN_DECLARED_SYNTHETIC_BAND"
  },
  "texture_resolution": "2048x2048_SYNTHETIC_EXERCISE",
  "channels": [
    {
      "role": "base_color",
      "map_ref": "synthetic://D3D002/rt/base_color",
      "transfer": "SRGB",
      "uv_set": "UV_RT",
      "packed_channel": null,
      "evidence_ref": "evidence://transfer/base_color"
    },
    {
      "role": "occlusion",
      "map_ref": "synthetic://D3D002/rt/orm",
      "transfer": "LINEAR",
      "uv_set": "UV_RT",
      "packed_channel": "R",
      "evidence_ref": "evidence://transfer/orm-r"
    },
    {
      "role": "roughness",
      "map_ref": "synthetic://D3D002/rt/orm",
      "transfer": "LINEAR",
      "uv_set": "UV_RT",
      "packed_channel": "G",
      "evidence_ref": "evidence://transfer/orm-g"
    },
    {
      "role": "metallic",
      "map_ref": "synthetic://D3D002/rt/orm",
      "transfer": "LINEAR",
      "uv_set": "UV_RT",
      "packed_channel": "B",
      "evidence_ref": "evidence://transfer/orm-b"
    },
    {
      "role": "normal",
      "map_ref": "synthetic://D3D002/rt/normal",
      "transfer": "LINEAR",
      "uv_set": "UV_RT",
      "packed_channel": null,
      "evidence_ref": "evidence://transfer/normal"
    }
  ],
  "normal_convention": "TANGENT_SPACE_POSITIVE_Y_DECLARED_TARGET",
  "ai_provenance": {
    "ai_assist_method": "SYNTHETIC_VARIATION_ASSIST_THEN_MANUAL_EDIT",
    "source_asset_ref": "synthetic://D3D002/rt/source",
    "rights_provenance_ref": "rights://D3D002/RT_SYNTHETIC_RIGHTS_CLEARED",
    "rights_status": "VERIFIED_RIGHTS_CLEARED",
    "manual_edit_log": [
      "mirrored region cleanup recorded",
      "ORM channel assembly recorded"
    ]
  },
  "lighting_validation": [
    {
      "lighting_id": "RT_NEUTRAL_SYNTH",
      "observation": "In the supplied neutral realtime observation, the mirrored region shows matched material response and no unintended channel swap is reported.",
      "evidence_ref": "evidence://transfer/light-neutral"
    },
    {
      "lighting_id": "RT_GRAZING_SYNTH",
      "observation": "In the supplied grazing-light observation, roughness variation remains visible and the packed ORM channels show the declared target-role ordering.",
      "evidence_ref": "evidence://transfer/light-grazing"
    }
  ],
  "interoperability_evidence": {
    "target_ref": "target://D3D-002/NAMED_REALTIME_ORM",
    "binding_checks": [
      {
        "check": "uv_set_binding",
        "expected": "Every used texture role declares UV_RT.",
        "observed": "base_color, occlusion, roughness, metallic, and normal each declare uv_set=UV_RT.",
        "evidence_ref": "evidence://transfer/interop-uv"
      },
      {
        "check": "orm_binding",
        "expected": "The named target declares one shared ORM map with R=occlusion, G=roughness, B=metallic.",
        "observed": "occlusion, roughness, and metallic share synthetic://D3D002/rt/orm and declare packed channels R, G, and B respectively.",
        "evidence_ref": "evidence://transfer/interop-orm"
      }
    ],
    "export_observation": "The fixture records target bindings directly; export completion is not used as the material-quality oracle.",
    "export_only_proof": false
  },
  "learner_task": "Independently rebuild the evidence pack and decision for this changed target. Do not copy the baseline decision."
}
