{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://shd.build/schemas/game-data-capture/screenshot-classification-v1.json", "title": "Screenshot classification v1", "type": "object", "additionalProperties": false, "required": ["family", "view", "gear_slot", "record_types", "confidence", "abstention_reason"], "properties": { "family": {"enum": ["weapon", "gear", "skill_chip", "os_protocol", "specialization", "unknown"]}, "view": {"type": "string"}, "gear_slot": {"type": ["string", "null"]}, "record_types": {"type": "array", "uniqueItems": true, "maxItems": 8, "items": {"type": "string"}}, "confidence": {"type": "number", "minimum": 0, "maximum": 1}, "abstention_reason": {"type": ["string", "null"]} }, "oneOf": [ { "properties": { "family": {"const": "weapon"}, "view": {"enum": ["detail", "blueprint", "crafting", "stat_range", "talent_grid", "augmentation"]}, "gear_slot": {"const": null}, "record_types": {"minItems": 1, "items": {"enum": ["weapon", "weapon_talent", "weapon_augmentation_profile"]}}, "abstention_reason": {"const": null} } }, { "properties": { "family": {"const": "gear"}, "view": {"enum": ["detail", "blueprint", "talent", "augmentation"]}, "gear_slot": {"enum": ["Mask", "Gloves", "Backpack", "Body Armor", "Holster", "Knee Pads"]}, "record_types": {"minItems": 1, "items": {"enum": ["gear", "brand_set", "gear_talent", "gear_augmentation_profile"]}}, "abstention_reason": {"const": null} } }, { "properties": { "family": {"const": "skill_chip"}, "view": {"enum": ["detail", "set_bonus", "talent"]}, "gear_slot": {"const": null}, "record_types": {"minItems": 1, "items": {"enum": ["skill_chip_set", "skill_chip_set_bonus", "skill_chip_roll_pool", "skill_chip_talent"]}}, "abstention_reason": {"const": null} } }, { "properties": { "family": {"const": "os_protocol"}, "view": {"enum": ["detail", "secondary_profile", "talent"]}, "gear_slot": {"const": null}, "record_types": {"minItems": 1, "items": {"enum": ["os_protocol", "os_protocol_secondary_profile", "os_protocol_talent"]}}, "abstention_reason": {"const": null} } }, { "properties": { "family": {"const": "specialization"}, "view": {"enum": ["overview", "details", "ability", "focus_details", "focus_tree", "rank_details"]}, "gear_slot": {"const": null}, "record_types": {"minItems": 1, "items": {"enum": ["specialization", "specialization_focus", "specialization_ability", "specialization_tree_node", "specialization_tree_rank"]}}, "abstention_reason": {"const": null} } }, { "properties": { "family": {"const": "unknown"}, "view": {"const": "unknown"}, "gear_slot": {"const": null}, "record_types": {"maxItems": 0}, "abstention_reason": {"enum": ["low_confidence", "ambiguous_family", "ambiguous_view", "unsupported_family", "unsupported_view", "insufficient_visual_evidence", "occluded", "corrupt_image", "resource_limit", "cancelled"]} } } ] }