{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://visuals.thegr0ve.com/schemas/visual-atom.schema.json",
  "title": "Visual Atom",
  "type": "object",
  "required": [
    "atom_id",
    "atom_type",
    "medium",
    "slug",
    "title",
    "short_description",
    "alt_text",
    "license",
    "third_party_rights_risk",
    "provenance_status",
    "provenance_state",
    "primary_totem",
    "orientation",
    "download_variants",
    "canonical_url",
    "publish_status",
    "atom_state",
    "site_index_state",
    "mirror_state",
    "ratification_status",
    "phi",
    "phi_reason",
    "phi_role",
    "graph_4d_placement",
    "visual_atom_law",
    "source_lineage",
    "totem_placement",
    "wikilinks",
    "traversal_links",
    "created_at"
  ],
  "properties": {
    "atom_id": {
      "type": "string",
      "pattern": "^GVA-[0-9]{6}$"
    },
    "atom_type": {
      "type": "string",
      "enum": [
        "visual_atom",
        "atom_cluster_visual",
        "template_atom",
        "constitutional_aesthetic_lock_atom",
        "css_atom",
        "interactive_atom"
      ]
    },
    "medium": {
      "type": "string",
      "enum": [
        "png",
        "css",
        "css_png",
        "svg",
        "canvas",
        "interactive",
        "mixed",
        "unknown"
      ]
    },
    "slug": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "short_description": {
      "type": "string"
    },
    "long_description": {
      "type": "string"
    },
    "alt_text": {
      "type": "string"
    },
    "license": {
      "type": "string",
      "enum": [
        "CC0-1.0",
        "not_cleared",
        "blocked"
      ]
    },
    "license_url": {
      "type": "string"
    },
    "license_label": {
      "type": "string"
    },
    "source_tool": {
      "type": "string"
    },
    "source_file": {
      "type": "string"
    },
    "source_path": {
      "type": "string"
    },
    "source_prompt_or_prompt_summary": {
      "type": "string"
    },
    "reference_image_used": {
      "type": [
        "boolean",
        "string"
      ]
    },
    "third_party_rights_risk": {
      "type": "string",
      "enum": [
        "clear",
        "needs_review",
        "blocked"
      ]
    },
    "provenance_status": {
      "type": "string",
      "enum": [
        "unchecked",
        "rights_checked",
        "blocked"
      ]
    },
    "provenance_state": {
      "type": "string",
      "enum": [
        "unchecked",
        "rights_checked",
        "blocked",
        "cc0_approved"
      ]
    },
    "edit_lineage": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "surface_mode": {
      "type": "string",
      "enum": [
        "embossed_surface",
        "debossed_well",
        "flat_surface",
        "mixed",
        "unknown"
      ]
    },
    "native_gallery_z0_behavior": {
      "type": "string",
      "enum": [
        "seamless_site_baseline",
        "framed_asset",
        "not_applicable",
        "unknown"
      ]
    },
    "transparent_border_required": {
      "type": "boolean"
    },
    "reverse_border_frame": {
      "type": "string"
    },
    "primary_totem": {
      "type": "string"
    },
    "secondary_totems": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "visual_family": {
      "type": "string"
    },
    "dominant_colors": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "orientation": {
      "type": "string",
      "enum": [
        "portrait",
        "landscape",
        "square",
        "component",
        "mixed"
      ]
    },
    "aspect_ratio": {
      "type": "string"
    },
    "formats_available": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "download_variants": {
      "type": "array",
      "items": {
        "$ref": "asset-variant.schema.json"
      }
    },
    "neighbor_atoms": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "canonical_url": {
      "type": "string"
    },
    "pinterest_mirror_url": {
      "type": "string"
    },
    "social_post_urls": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "publish_status": {
      "type": "string",
      "enum": [
        "raw_substrate",
        "rights_checked",
        "polished_atom",
        "site_ready",
        "live_canonical",
        "mirror_ready",
        "queued_external",
        "published_external",
        "retired_or_superseded"
      ]
    },
    "atom_state": {
      "type": "string",
      "enum": [
        "needed",
        "generated_candidate",
        "bounded_atom",
        "lineage_complete",
        "operator_review_ready",
        "operator_approved",
        "retired_or_superseded"
      ]
    },
    "site_index_state": {
      "type": "string",
      "enum": [
        "not_indexed",
        "site_indexed_noindex",
        "public_ready",
        "site_indexed_public"
      ]
    },
    "mirror_state": {
      "type": "string",
      "enum": [
        "none",
        "mirror_ready",
        "queued_external",
        "published_external",
        "retired"
      ]
    },
    "ratification_status": {
      "type": "string",
      "enum": [
        "candidate",
        "accepted",
        "ratified",
        "superseded"
      ]
    },
    "phi": {
      "type": "number",
      "minimum": 0,
      "maximum": 1
    },
    "phi_reason": {
      "type": "string"
    },
    "phi_role": {
      "type": "string"
    },
    "graph_4d_placement": {
      "type": "object"
    },
    "visual_atom_law": {
      "type": "object"
    },
    "source_lineage": {
      "type": "object"
    },
    "totem_placement": {
      "type": "object"
    },
    "wikilinks": {
      "type": "object"
    },
    "traversal_links": {
      "type": "object"
    },
    "layout_hint": {
      "type": "object"
    },
    "created_at": {
      "type": "string"
    },
    "site_published_at": {
      "type": "string"
    },
    "external_published_at": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
