LLM Restructure - UNTESTED!
This commit is contained in:
@@ -268,310 +268,263 @@
|
||||
{
|
||||
"input": "MessyTextures/Concrete_Damage_Set/concrete_col.png\nMessyTextures/Concrete_Damage_Set/concrete_N.png\nMessyTextures/Concrete_Damage_Set/concrete_rough.jpg\nMessyTextures/Concrete_Damage_Set/height_map_concrete.tif\nMessyTextures/Concrete_Damage_Set/Thumbs.db\nMessyTextures/Fabric_Pattern/pattern_01_diffuse.tga\nMessyTextures/Fabric_Pattern/pattern_01_ao.png\nMessyTextures/Fabric_Pattern/pattern_01_normal.png\nMessyTextures/Fabric_Pattern/notes.txt\nMessyTextures/Fabric_Pattern/variant_blue_diffuse.tga\nMessyTextures/Fabric_Pattern/fabric_flat.jpg",
|
||||
"output": {
|
||||
"predicted_assets": [
|
||||
{
|
||||
"suggested_asset_name": "Concrete_Damage_01",
|
||||
"predicted_asset_type": "Surface",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "MessyTextures/Concrete_Damage_Set/concrete_col.png",
|
||||
"predicted_file_type": "MAP_COL"
|
||||
},
|
||||
{
|
||||
"file_path": "MessyTextures/Concrete_Damage_Set/concrete_N.png",
|
||||
"predicted_file_type": "MAP_NRM"
|
||||
},
|
||||
{
|
||||
"file_path": "MessyTextures/Concrete_Damage_Set/concrete_rough.jpg",
|
||||
"predicted_file_type": "MAP_ROUGH"
|
||||
},
|
||||
{
|
||||
"file_path": "MessyTextures/Concrete_Damage_Set/height_map_concrete.tif",
|
||||
"predicted_file_type": "MAP_DISP"
|
||||
},
|
||||
{
|
||||
"file_path": "MessyTextures/Concrete_Damage_Set/Thumbs.db",
|
||||
"predicted_file_type": "FILE_IGNORE"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"suggested_asset_name": "Fabric_Pattern_01",
|
||||
"predicted_asset_type": "Surface",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "MessyTextures/Fabric_Pattern/pattern_01_diffuse.tga",
|
||||
"predicted_file_type": "MAP_COL"
|
||||
},
|
||||
{
|
||||
"file_path": "MessyTextures/Fabric_Pattern/pattern_01_ao.png",
|
||||
"predicted_file_type": "MAP_AO"
|
||||
},
|
||||
{
|
||||
"file_path": "MessyTextures/Fabric_Pattern/pattern_01_normal.png",
|
||||
"predicted_file_type": "MAP_NRM"
|
||||
},
|
||||
{
|
||||
"file_path": "MessyTextures/Fabric_Pattern/variant_blue_diffuse.tga",
|
||||
"predicted_file_type": "MAP_COL"
|
||||
},
|
||||
{
|
||||
"file_path": "MessyTextures/Fabric_Pattern/fabric_flat.jpg",
|
||||
"predicted_file_type": "EXTRA"
|
||||
},
|
||||
{
|
||||
"file_path": "MessyTextures/Fabric_Pattern/notes.txt",
|
||||
"predicted_file_type": "EXTRA"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
"individual_file_analysis": [
|
||||
{
|
||||
"relative_file_path": "MessyTextures/Concrete_Damage_Set/concrete_col.png",
|
||||
"classified_file_type": "MAP_COL",
|
||||
"proposed_asset_group_name": "Concrete_Damage_Set"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "MessyTextures/Concrete_Damage_Set/concrete_N.png",
|
||||
"classified_file_type": "MAP_NRM",
|
||||
"proposed_asset_group_name": "Concrete_Damage_Set"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "MessyTextures/Concrete_Damage_Set/concrete_rough.jpg",
|
||||
"classified_file_type": "MAP_ROUGH",
|
||||
"proposed_asset_group_name": "Concrete_Damage_Set"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "MessyTextures/Concrete_Damage_Set/height_map_concrete.tif",
|
||||
"classified_file_type": "MAP_DISP",
|
||||
"proposed_asset_group_name": "Concrete_Damage_Set"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "MessyTextures/Concrete_Damage_Set/Thumbs.db",
|
||||
"classified_file_type": "FILE_IGNORE",
|
||||
"proposed_asset_group_name": null
|
||||
},
|
||||
{
|
||||
"relative_file_path": "MessyTextures/Fabric_Pattern/pattern_01_diffuse.tga",
|
||||
"classified_file_type": "MAP_COL",
|
||||
"proposed_asset_group_name": "Fabric_Pattern_01"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "MessyTextures/Fabric_Pattern/pattern_01_ao.png",
|
||||
"classified_file_type": "MAP_AO",
|
||||
"proposed_asset_group_name": "Fabric_Pattern_01"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "MessyTextures/Fabric_Pattern/pattern_01_normal.png",
|
||||
"classified_file_type": "MAP_NRM",
|
||||
"proposed_asset_group_name": "Fabric_Pattern_01"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "MessyTextures/Fabric_Pattern/notes.txt",
|
||||
"classified_file_type": "EXTRA",
|
||||
"proposed_asset_group_name": "Fabric_Pattern_01"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "MessyTextures/Fabric_Pattern/variant_blue_diffuse.tga",
|
||||
"classified_file_type": "MAP_COL",
|
||||
"proposed_asset_group_name": "Fabric_Pattern_01"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "MessyTextures/Fabric_Pattern/fabric_flat.jpg",
|
||||
"classified_file_type": "EXTRA",
|
||||
"proposed_asset_group_name": "Fabric_Pattern_01"
|
||||
}
|
||||
],
|
||||
"asset_group_classifications": {
|
||||
"Concrete_Damage_Set": "Surface",
|
||||
"Fabric_Pattern_01": "Surface"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"input": "SciFi_Drone/Drone_Model.fbx\nSciFi_Drone/Textures/Drone_BaseColor.png\nSciFi_Drone/Textures/Drone_Metallic.png\nSciFi_Drone/Textures/Drone_Roughness.png\nSciFi_Drone/Textures/Drone_Normal.png\nSciFi_Drone/Textures/Drone_Emissive.jpg\nSciFi_Drone/ReferenceImages/concept.jpg",
|
||||
"output": {
|
||||
"predicted_assets": [
|
||||
{
|
||||
"suggested_asset_name": "SciFi_Drone",
|
||||
"predicted_asset_type": "Model",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "SciFi_Drone/Drone_Model.fbx",
|
||||
"predicted_file_type": "MODEL"
|
||||
},
|
||||
{
|
||||
"file_path": "SciFi_Drone/Textures/Drone_BaseColor.png",
|
||||
"predicted_file_type": "MAP_COL"
|
||||
},
|
||||
{
|
||||
"file_path": "SciFi_Drone/Textures/Drone_Metallic.png",
|
||||
"predicted_file_type": "MAP_METAL"
|
||||
},
|
||||
{
|
||||
"file_path": "SciFi_Drone/Textures/Drone_Roughness.png",
|
||||
"predicted_file_type": "MAP_ROUGH"
|
||||
},
|
||||
{
|
||||
"file_path": "SciFi_Drone/Textures/Drone_Normal.png",
|
||||
"predicted_file_type": "MAP_NRM"
|
||||
},
|
||||
{
|
||||
"file_path": "SciFi_Drone/Textures/Drone_Emissive.jpg",
|
||||
"predicted_file_type": "EXTRA"
|
||||
},
|
||||
{
|
||||
"file_path": "SciFi_Drone/ReferenceImages/concept.jpg",
|
||||
"predicted_file_type": "EXTRA"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
"individual_file_analysis": [
|
||||
{
|
||||
"relative_file_path": "SciFi_Drone/Drone_Model.fbx",
|
||||
"classified_file_type": "MODEL",
|
||||
"proposed_asset_group_name": "SciFi_Drone"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "SciFi_Drone/Textures/Drone_BaseColor.png",
|
||||
"classified_file_type": "MAP_COL",
|
||||
"proposed_asset_group_name": "SciFi_Drone"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "SciFi_Drone/Textures/Drone_Metallic.png",
|
||||
"classified_file_type": "MAP_METAL",
|
||||
"proposed_asset_group_name": "SciFi_Drone"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "SciFi_Drone/Textures/Drone_Roughness.png",
|
||||
"classified_file_type": "MAP_ROUGH",
|
||||
"proposed_asset_group_name": "SciFi_Drone"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "SciFi_Drone/Textures/Drone_Normal.png",
|
||||
"classified_file_type": "MAP_NRM",
|
||||
"proposed_asset_group_name": "SciFi_Drone"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "SciFi_Drone/Textures/Drone_Emissive.jpg",
|
||||
"classified_file_type": "EXTRA",
|
||||
"proposed_asset_group_name": "SciFi_Drone"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "SciFi_Drone/ReferenceImages/concept.jpg",
|
||||
"classified_file_type": "EXTRA",
|
||||
"proposed_asset_group_name": "SciFi_Drone"
|
||||
}
|
||||
],
|
||||
"asset_group_classifications": {
|
||||
"SciFi_Drone": "Model"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"input": "21_hairs_deposits.tif\n22_hairs_fabric.tif\n23_hairs_fibres.tif\n24_hairs_fibres.tif\n25_bonus_isolatedFingerprints.tif\n26_bonus_isolatedPalmprint.tif\n27_metal_aluminum.tif\n28_metal_castIron.tif\n29_scratcehes_deposits_shapes.tif\n30_scratches_deposits.tif",
|
||||
"output": {
|
||||
"predicted_assets": [
|
||||
{
|
||||
"suggested_asset_name": "21-Hairs-Deposits",
|
||||
"predicted_asset_type": "UtilityMap",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "21_hairs_deposits.tif",
|
||||
"predicted_file_type": "MAP_IMPERFECTION"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"suggested_asset_name": "22-Hairs-Fabric",
|
||||
"predicted_asset_type": "UtilityMap",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "22_hairs_fabric.tif",
|
||||
"predicted_file_type": "MAP_IMPERFECTION"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"suggested_asset_name": "23-Hairs-Deposits",
|
||||
"predicted_asset_type": "UtilityMap",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "23_hairs_fibres.tif",
|
||||
"predicted_file_type": "MAP_IMPERFECTION"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"suggested_asset_name": "24-Hairs-Fibres",
|
||||
"predicted_asset_type": "UtilityMap",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "24_hairs_fibres.tif",
|
||||
"predicted_file_type": "MAP_IMPERFECTION"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"suggested_asset_name": "27-MetalAluminium",
|
||||
"predicted_asset_type": "UtilityMap",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "27_metal_aluminum.tif",
|
||||
"predicted_file_type": "MAP_IMPERFECTION"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"suggested_asset_name": "28-MetalCastiron",
|
||||
"predicted_asset_type": "UtilityMap",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "28_metal_castIron.tif",
|
||||
"predicted_file_type": "MAP_IMPERFECTION"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"suggested_asset_name": "29-Scratches-Deposits-Shapes",
|
||||
"predicted_asset_type": "UtilityMap",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "29_scratcehes_deposits_shapes.tif",
|
||||
"predicted_file_type": "MAP_IMPERFECTION"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"suggested_asset_name": "30-Scrathes-Deposits",
|
||||
"predicted_asset_type": "UtilityMap",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "30_scratches_deposits.tif",
|
||||
"predicted_file_type": "MAP_IMPERFECTION"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"suggested_asset_name": "Bonus-IsolatedFingerprints",
|
||||
"predicted_asset_type": "UtilityMap",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "25_bonus_isolatedFingerprints.tif",
|
||||
"predicted_file_type": "MAP_IMPERFECTION"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"suggested_asset_name": "Bonus-IsolatedPalmprint",
|
||||
"predicted_asset_type": "UtilityMap",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "26_bonus_isolatedPalmprint.tif",
|
||||
"predicted_file_type": "MAP_IMPERFECTION"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
"individual_file_analysis": [
|
||||
{
|
||||
"relative_file_path": "21_hairs_deposits.tif",
|
||||
"classified_file_type": "MAP_IMPERFECTION",
|
||||
"proposed_asset_group_name": "Hairs_Deposits_21"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "22_hairs_fabric.tif",
|
||||
"classified_file_type": "MAP_IMPERFECTION",
|
||||
"proposed_asset_group_name": "Hairs_Fabric_22"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "23_hairs_fibres.tif",
|
||||
"classified_file_type": "MAP_IMPERFECTION",
|
||||
"proposed_asset_group_name": "Hairs_Fibres_23"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "24_hairs_fibres.tif",
|
||||
"classified_file_type": "MAP_IMPERFECTION",
|
||||
"proposed_asset_group_name": "Hairs_Fibres_24"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "25_bonus_isolatedFingerprints.tif",
|
||||
"classified_file_type": "MAP_IMPERFECTION",
|
||||
"proposed_asset_group_name": "Bonus_IsolatedFingerprints_25"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "26_bonus_isolatedPalmprint.tif",
|
||||
"classified_file_type": "MAP_IMPERFECTION",
|
||||
"proposed_asset_group_name": "Bonus_IsolatedPalmprint_26"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "27_metal_aluminum.tif",
|
||||
"classified_file_type": "MAP_IMPERFECTION",
|
||||
"proposed_asset_group_name": "Metal_Aluminum_27"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "28_metal_castIron.tif",
|
||||
"classified_file_type": "MAP_IMPERFECTION",
|
||||
"proposed_asset_group_name": "Metal_CastIron_28"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "29_scratcehes_deposits_shapes.tif",
|
||||
"classified_file_type": "MAP_IMPERFECTION",
|
||||
"proposed_asset_group_name": "Scratches_Deposits_Shapes_29"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "30_scratches_deposits.tif",
|
||||
"classified_file_type": "MAP_IMPERFECTION",
|
||||
"proposed_asset_group_name": "Scratches_Deposits_30"
|
||||
}
|
||||
],
|
||||
"asset_group_classifications": {
|
||||
"Hairs_Deposits_21": "UtilityMap",
|
||||
"Hairs_Fabric_22": "UtilityMap",
|
||||
"Hairs_Fibres_23": "UtilityMap",
|
||||
"Hairs_Fibres_24": "UtilityMap",
|
||||
"Bonus_IsolatedFingerprints_25": "UtilityMap",
|
||||
"Bonus_IsolatedPalmprint_26": "UtilityMap",
|
||||
"Metal_Aluminum_27": "UtilityMap",
|
||||
"Metal_CastIron_28": "UtilityMap",
|
||||
"Scratches_Deposits_Shapes_29": "UtilityMap",
|
||||
"Scratches_Deposits_30": "UtilityMap"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"input": "Part1/TextureSupply_Boards001_A_28x300cm-Albedo.jpg\nPart1/TextureSupply_Boards001_A_28x300cm-Normal.jpg\nPart1/TextureSupply_Boards001_B_28x300cm-Albedo.jpg\nPart1/TextureSupply_Boards001_B_28x300cm-Normal.jpg\nPart1/TextureSupply_Boards001_C_28x300cm-Albedo.jpg\nPart1/TextureSupply_Boards001_C_28x300cm-Normal.jpg\nPart1/TextureSupply_Boards001_D_28x300cm-Albedo.jpg\nPart1/TextureSupply_Boards001_D_28x300cm-Normal.jpg\nPart1/TextureSupply_Boards001_E_28x300cm-Albedo.jpg\nPart1/TextureSupply_Boards001_E_28x300cm-Normal.jpg\nPart1/TextureSupply_Boards001_F_28x300cm-Albedo.jpg\nPart1/TextureSupply_Boards001_F_28x300cm-Normal.jpg",
|
||||
"output": {
|
||||
"predicted_assets": [
|
||||
{
|
||||
"suggested_asset_name": "Boards001_A",
|
||||
"predicted_asset_type": "Surface",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "Part1/TextureSupply_Boards001_A_28x300cm-Albedo.jpg",
|
||||
"predicted_file_type": "MAP_COL"
|
||||
},
|
||||
{
|
||||
"file_path": "Part1/TextureSupply_Boards001_A_28x300cm-Normal.jpg",
|
||||
"predicted_file_type": "MAP_NRM"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"suggested_asset_name": "Boards001_B",
|
||||
"predicted_asset_type": "Surface",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "Part1/TextureSupply_Boards001_B_28x300cm-Albedo.jpg",
|
||||
"predicted_file_type": "MAP_COL"
|
||||
},
|
||||
{
|
||||
"file_path": "Part1/TextureSupply_Boards001_B_28x300cm-Normal.jpg",
|
||||
"predicted_file_type": "MAP_NRM"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"suggested_asset_name": "Boards001_C",
|
||||
"predicted_asset_type": "Surface",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "Part1/TextureSupply_Boards001_C_28x300cm-Albedo.jpg",
|
||||
"predicted_file_type": "MAP_COL"
|
||||
},
|
||||
{
|
||||
"file_path": "Part1/TextureSupply_Boards001_C_28x300cm-Normal.jpg",
|
||||
"predicted_file_type": "MAP_NRM"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"suggested_asset_name": "Boards001_D",
|
||||
"predicted_asset_type": "Surface",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "Part1/TextureSupply_Boards001_D_28x300cm-Albedo.jpg",
|
||||
"predicted_file_type": "MAP_COL"
|
||||
},
|
||||
{
|
||||
"file_path": "Part1/TextureSupply_Boards001_D_28x300cm-Normal.jpg",
|
||||
"predicted_file_type": "MAP_NRM"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"suggested_asset_name": "Boards001_E",
|
||||
"predicted_asset_type": "Surface",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "Part1/TextureSupply_Boards001_E_28x300cm-Albedo.jpg",
|
||||
"predicted_file_type": "MAP_COL"
|
||||
},
|
||||
{
|
||||
"file_path": "Part1/TextureSupply_Boards001_E_28x300cm-Normal.jpg",
|
||||
"predicted_file_type": "MAP_NRM"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"suggested_asset_name": "Boards001_F",
|
||||
"predicted_asset_type": "Surface",
|
||||
"files": [
|
||||
{
|
||||
"file_path": "Part1/TextureSupply_Boards001_F_28x300cm-Albedo.jpg",
|
||||
"predicted_file_type": "MAP_COL"
|
||||
},
|
||||
{
|
||||
"file_path": "Part1/TextureSupply_Boards001_F_28x300cm-Normal.jpg",
|
||||
"predicted_file_type": "MAP_NRM"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
"individual_file_analysis": [
|
||||
{
|
||||
"relative_file_path": "Part1/TextureSupply_Boards001_A_28x300cm-Albedo.jpg",
|
||||
"classified_file_type": "MAP_COL",
|
||||
"proposed_asset_group_name": "Boards001_A"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "Part1/TextureSupply_Boards001_A_28x300cm-Normal.jpg",
|
||||
"classified_file_type": "MAP_NRM",
|
||||
"proposed_asset_group_name": "Boards001_A"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "Part1/TextureSupply_Boards001_B_28x300cm-Albedo.jpg",
|
||||
"classified_file_type": "MAP_COL",
|
||||
"proposed_asset_group_name": "Boards001_B"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "Part1/TextureSupply_Boards001_B_28x300cm-Normal.jpg",
|
||||
"classified_file_type": "MAP_NRM",
|
||||
"proposed_asset_group_name": "Boards001_B"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "Part1/TextureSupply_Boards001_C_28x300cm-Albedo.jpg",
|
||||
"classified_file_type": "MAP_COL",
|
||||
"proposed_asset_group_name": "Boards001_C"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "Part1/TextureSupply_Boards001_C_28x300cm-Normal.jpg",
|
||||
"classified_file_type": "MAP_NRM",
|
||||
"proposed_asset_group_name": "Boards001_C"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "Part1/TextureSupply_Boards001_D_28x300cm-Albedo.jpg",
|
||||
"classified_file_type": "MAP_COL",
|
||||
"proposed_asset_group_name": "Boards001_D"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "Part1/TextureSupply_Boards001_D_28x300cm-Normal.jpg",
|
||||
"classified_file_type": "MAP_NRM",
|
||||
"proposed_asset_group_name": "Boards001_D"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "Part1/TextureSupply_Boards001_E_28x300cm-Albedo.jpg",
|
||||
"classified_file_type": "MAP_COL",
|
||||
"proposed_asset_group_name": "Boards001_E"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "Part1/TextureSupply_Boards001_E_28x300cm-Normal.jpg",
|
||||
"classified_file_type": "MAP_NRM",
|
||||
"proposed_asset_group_name": "Boards001_E"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "Part1/TextureSupply_Boards001_F_28x300cm-Albedo.jpg",
|
||||
"classified_file_type": "MAP_COL",
|
||||
"proposed_asset_group_name": "Boards001_F"
|
||||
},
|
||||
{
|
||||
"relative_file_path": "Part1/TextureSupply_Boards001_F_28x300cm-Normal.jpg",
|
||||
"classified_file_type": "MAP_NRM",
|
||||
"proposed_asset_group_name": "Boards001_F"
|
||||
}
|
||||
],
|
||||
"asset_group_classifications": {
|
||||
"Boards001_A": "Surface",
|
||||
"Boards001_B": "Surface",
|
||||
"Boards001_C": "Surface",
|
||||
"Boards001_D": "Surface",
|
||||
"Boards001_E": "Surface",
|
||||
"Boards001_F": "Surface"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"llm_endpoint_url": "http://100.65.14.122:1234/v1/chat/completions",
|
||||
"llm_endpoint_url": "https://api.llm.gestaltservers.com/v1/chat/completions",
|
||||
"llm_api_key": "",
|
||||
"llm_model_name": "",
|
||||
"llm_model_name": "qwen2.5-coder:3b",
|
||||
"llm_temperature": 0.5,
|
||||
"llm_request_timeout": 120,
|
||||
"llm_predictor_prompt": "You are an expert asset classification system. Your task is to analyze a list of file paths from a directory, identify patterns based on directory structure and filenames, and then group related files into logical assets. For each grouped asset, you must suggest a concise asset name, determine the overall asset type, and for each file within that asset, assign its specific file type.\n\nDefinitions:\n\nAsset Types: These define the overall category of an asset. Use one of the following keys for predicted_asset_type:\njson\n{ASSET_TYPE_DEFINITIONS}\n\n\nFile Types: These define the specific purpose of each file. Use one of the following keys for predicted_file_type:\njson\n{FILE_TYPE_DEFINITIONS}\n\n\nCore Task & Grouping Logic:\n\n1. Analyze Input: Examine the provided FILE_LIST. Pay close attention to directory paths and filenames (including prefixes, suffixes, separators like underscores or hyphens, and file extensions).\n2. Identify Potential Assets: Look for patterns that indicate files belong together:\n - Common Base Name: Files sharing a significant common prefix before map-type identifiers (e.g., Concrete_Damage_Set/concrete_ followed by col.png, N.png, rough.jpg).\n - Directory Grouping: Files located within the same immediate directory are often related, especially if their names follow a pattern (e.g., all files directly under SciFi_Drone/Textures/).\n - Model Association: If a MODEL file type (like .fbx, .obj) is present, group it with texture files that share its base name or are located in a plausible associated directory (like Textures/).\n - Single-File Assets (Utility Maps): Files whose names strongly suggest a UtilityMap type (e.g., scratches.tif, FlowMap.png, 21_hairs_deposits.tif) should typically form their own asset, unless they clearly belong to a larger PBR set based on naming conventions. Remember UtilityMap assets usually contain only one file as per their definition.\n - Variations: Files indicating variations (e.g., _A, _B or _variant_blue) should be grouped logically.\n - If variations represent complete, distinct sets (like Boards001_A and Boards001_B in the examples), create separate assets for each variation.\n - If variations seem like alternative maps or supplementary files for a single core asset (like pattern_01_diffuse.tga and variant_blue_diffuse.tga in the examples), group them under one asset. Use the base name (e.g., Fabric_Pattern_01) for the asset.\n3. Group Files: Based on the identified patterns, group the file paths into logical predicted_assets.\n4. Determine Asset Type: For each asset group, determine the most appropriate predicted_asset_type by considering the types of files it contains (e.g., presence of a .fbx suggests Model; multiple PBR maps like MAP_COL, MAP_NRM, MAP_ROUGH suggest Surface; a single imperfection map suggests UtilityMap). Refer to the ASSET_TYPE_DEFINITIONS.\n5. Suggest Asset Name: For each asset, generate a suggested_asset_name. This should be concise and derived from the common base filename or the immediate parent directory name. Clean up the name (e.g., use CamelCase or underscores consistently, remove redundant info like dimensions if not essential).\n6. Assign File Types: For each file_path within an asset, determine the most appropriate predicted_file_type based on its name, extension, and context within the asset. Use the keys from FILE_TYPE_DEFINITIONS.\n - Use FILE_IGNORE for files that should be ignored (e.g., Thumbs.db, .DS_Store).\n - Use EXTRA for files that belong to the asset but don't fit a standard map type (e.g., previews, text files, non-standard maps like Emissive unless you add a specific type for it).\n\nInput File List:\n\ntext\n{FILE_LIST}\n\n\nOutput Format:\n\nYour response MUST be ONLY a single, perfectly valid JSON object adhering strictly to the structure below. Do NOT include any text, explanations, or introductory phrases before or after the JSON object. Ensure all strings are correctly quoted and escaped, and there are NO trailing commas or comments (//, /* */).\n\nCRITICAL: The output must be strictly valid JSON parsable by standard libraries.\n\njson\n{\n \"predicted_assets\": [\n {\n \"suggested_asset_name\": \"string\", // Concise asset name derived from common file parts or directory\n \"predicted_asset_type\": \"string\", // Key from Asset Types definitions\n \"files\": [\n {\n \"file_path\": \"string\", // Exact relative path from the input list\n \"predicted_file_type\": \"string\" // Key from File Types definitions\n },\n // ... more files\n ]\n },\n // ... more assets\n ]\n}\n\n\nExamples:\n\nHere are examples of input file lists and the desired JSON output, illustrating the grouping logic:\n\njson\n[\n {EXAMPLE_INPUT_OUTPUT_PAIRS}\n]\n\n\nNow, process the provided FILE_LIST and generate ONLY the JSON output according to these instructions."
|
||||
"llm_predictor_prompt": "You are an expert asset classification system. Your task is to analyze a list of file paths, understand their relationships based on naming and directory structure, and output a structured JSON object that classifies each file individually and then classifies the logical asset groups they belong to.\n\nDefinitions:\n\nAsset Types: These define the overall category of a logical asset group. Use one of the following keys when classifying asset groups:\njson\n{ASSET_TYPE_DEFINITIONS}\n\n\nFile Types: These define the specific purpose of each individual file. Use one of the following keys when classifying individual files:\njson\n{FILE_TYPE_DEFINITIONS}\n\n\nCore Task & Logic:\n\n1. **Individual File Analysis:**\n * Examine each `relative_file_path` in the input `FILE_LIST`.\n * For EACH file, determine its most likely `classified_file_type` using the `FILE_TYPE_DEFINITIONS`. Pay attention to filename suffixes, keywords, and extensions. Use `FILE_IGNORE` for files like `Thumbs.db` or `.DS_Store`. Use `EXTRA` for previews, metadata, or unidentifiable maps.\n * For EACH file, propose a logical `proposed_asset_group_name` (string). This name should represent the asset the file likely belongs to, based on common base names (e.g., `WoodFloor01` from `WoodFloor01_col.png`, `WoodFloor01_nrm.png`) or directory structure (e.g., `SciFi_Drone` for files within that folder).\n * Files that seem to be standalone utility maps (like `scratches.png`, `FlowMap.tif`) should get a unique group name derived from their filename (e.g., `Scratches`, `FlowMap`).\n * If a file doesn't seem to belong to any logical group (e.g., a stray readme file in the root), you can propose `null` or a generic name like `Miscellaneous`.\n * Be consistent with the proposed names for files belonging to the same logical asset.\n * Populate the `individual_file_analysis` array with one object for *every* file in the input list, containing `relative_file_path`, `classified_file_type`, and `proposed_asset_group_name`.\n\n2. **Asset Group Classification:**\n * Collect all unique, non-null `proposed_asset_group_name` values generated in the previous step.\n * For EACH unique group name, determine the overall `asset_type` (using `ASSET_TYPE_DEFINITIONS`) based on the types of files assigned to that group name in the `individual_file_analysis`.\n * Example: If files proposed as `AssetGroup1` include `MAP_COL`, `MAP_NRM`, `MAP_ROUGH`, classify `AssetGroup1` as `Surface`.\n * Example: If files proposed as `AssetGroup2` include `MODEL` and texture maps, classify `AssetGroup2` as `Model`.\n * Example: If `AssetGroup3` only has one file classified as `MAP_IMPERFECTION`, classify `AssetGroup3` as `UtilityMap`.\n * Populate the `asset_group_classifications` dictionary, mapping each unique `proposed_asset_group_name` to its determined `asset_type`.\n\nInput File List:\n\ntext\n{FILE_LIST}\n\n\nOutput Format:\n\nYour response MUST be ONLY a single JSON object. You MAY include comments (using // or /* */) within the JSON structure for clarification if needed, but the core structure must be valid JSON. Do NOT include any text, explanations, or introductory phrases before or after the JSON object itself. Ensure all strings are correctly quoted and escaped.\n\nCRITICAL: The output JSON structure must strictly adhere to the following format:\n\n```json\n{\n \"individual_file_analysis\": [\n {\n // Optional comment about this file\n \"relative_file_path\": \"string\", // Exact relative path from the input list\n \"classified_file_type\": \"string\", // Key from FILE_TYPE_DEFINITIONS\n \"proposed_asset_group_name\": \"string_or_null\" // Your suggested group name for this file\n }\n // ... one object for EVERY file in the input list\n ],\n \"asset_group_classifications\": {\n // Dictionary mapping unique proposed group names to asset types\n \"ProposedGroupName1\": \"string\", // Key: proposed_asset_group_name, Value: Key from ASSET_TYPE_DEFINITIONS\n \"ProposedGroupName2\": \"string\"\n // ... one entry for each unique, non-null proposed_asset_group_name\n }\n}\n```\n\nExamples:\n\nHere are examples of input file lists and the desired JSON output, illustrating the two-part structure:\n\njson\n[\n {EXAMPLE_INPUT_OUTPUT_PAIRS}\n]\n\n\nNow, process the provided FILE_LIST and generate ONLY the JSON output according to these instructions. Remember to include an entry in `individual_file_analysis` for every single input file path."
|
||||
}
|
||||
Reference in New Issue
Block a user