{
  "title": "IconSymbol3DLayer",
  "type": "object",
  "$schema": "http://json-schema.org/draft-04/schema",
  "description": "IconSymbol3DLayer is used to render Point geometries using a flat 2D icon (e.g. a circle) with a PointSymbol3D in a SceneView.",
  "properties": {
    "anchor": {
      "type": "string",
      "enum": [
        "bottom",
        "bottomLeft",
        "bottomRight",
        "center",
        "left",
        "relative",
        "right",
        "top",
        "topLeft",
        "topRight"
      ],
      "default": "center"
    },
    "anchorPosition": {
      "type": "array",
      "description": "When `anchor` equals `relative`, this property specifies the position within the icon that should coincide with the feature geometry. Otherwise it is ignored. The position is defined as a factor of the icon dimensions that is added to the icon center: `positionInIcon = (0.5 + anchorPosition) * size`, where `size` is the original size of the icon resource.",
      "items": {
        "type": "number"
      },
      "minItems": 2,
      "maxItems": 2
    },
    "enable": {
      "type": "boolean"
    },
    "material": {
      "$ref": "material_schema.json"
    },
    "outline": {
      "$ref": "outline_schema.json"
    },
    "resource": {
      "$ref": "iconSymbol3DLayer_resource_schema.json"
    },
    "size": {
      "type": "number",
      "description": "Icon size in points, positive only",
      "minimum": 0
    },
    "type": {
      "type": "string",
      "description": "Specifies the type of symbol used.",
      "enum": [
        "Icon"
      ]
    }
  },
  "required": [
    "size",
    "type"
  ],
  "additionalProperties": false,
  "esriDocumentation": {
    "examples": [
      {
        "title": "Icon symbol layer",
        "code": {
          "symbolLayers": [
            {
              "type": "Icon",
              "resource": {
                "primitive": "kite"
              },
              "material": {
                "color": [
                  255,
                  255,
                  255
                ]
              },
              "size": 12,
              "anchor": "bottom",
              "outline": {
                "size": 1,
                "color": [
                  0,
                  0,
                  0
                ]
              }
            }
          ]
        }
      },
      {
        "title": "Icon symbol layer with custom anchor in the bottom right region of the icon",
        "code": {
          "symbolLayers": [
            {
              "type": "Icon",
              "resource": {
                "href": "http://hostname/icon.png"
              },
              "size": 12,
              "anchor": "relative",
              "anchorPosition": [
                0.25,
                0.4
              ]
            }
          ]
        }
      }
    ]
  }
}
