---
title: "DropletIconError, DroppyKit"
description: "Why an Icon Composer document was refused."
canonical: "https://getdroppy.app/docs/droppykit/api/droplet-icon-error"
last-updated: "2026-09-09"
---

# DropletIconError

Why an Icon Composer document was refused.

`enum DropletIconError`

## Cases

### DropletIconError.missing(_:)

`case missing(String)`

Nothing exists at the path the manifest names.

### DropletIconError.notAnIconDocument(_:)

`case notAnIconDocument(String)`

The path is not a directory ending in `.icon`.

### DropletIconError.missingDocument

`case missingDocument`

`icon.json` is absent or unreadable.

### DropletIconError.malformedDocument(_:)

`case malformedDocument(String)`

`icon.json` is not valid JSON, or is not shaped like an icon document.

### DropletIconError.noLayers

`case noLayers`

The document declares no layers, so it would render as nothing.

### DropletIconError.missingAsset(layer:image:)

`case missingAsset(layer: String, image: String)`

A layer names an image that is not present in `Assets/`.

## Properties

### errorDescription

`var errorDescription: String? { get }`
