The icon

The Icon Composer document and the creator avatar, both required.

Every droplet ships two pieces of artwork, and a submission missing either is refused at intake rather than at review.

The droplet icon

An Icon Composer document, not a PNG. Droppy draws a droplet's icon at seven sizes, on light and dark chrome, behind glass, and beside a circular creator avatar in the Store's rows. A flat bitmap can only be right at one of those; an Icon Composer document carries the layers, so the host composes the correct thing for each surface.

Icon Composer ships with Xcode 26 and later: Xcode ▸ Open Developer Tool ▸ Icon Composer. droppykit new writes a starter document already wired to the right filename.

A .icon is a directory:

WorldClock.icon/
  icon.json          the document: groups, layers, fills, specializations
  Assets/
    dial.png         every image icon.json names by `image-name`

Layer names are yours; Droppy does not require particular ones. What it requires is that the document is well formed and self-contained.

Geometry. Author on a 1024×1024 square canvas and keep the mark inside the centre 820×820 — macOS rounds the corners and the Store clips further. Do not draw your own rounded rectangle and do not bake in a shadow; Icon Composer's own group shadow does that, and a painted-in one shows as a double edge.

What is checked. droppykit validate refuses an icon that is missing, is not a .icon directory, has no readable icon.json, declares no layers, or names an image that is not in Assets/. Whether the artwork is any good is what review is for — and the size that decides it is 28pt, the smallest the Store renders. Artwork that becomes a smudge there needs to be simpler, not sharper.

The creator avatar

The small round mark beside your droplet's name in the Store and on getdroppy.app/droplets. It says who made the thing at a glance, and it is what separates the Store's Community shelf from its By Droppy shelf visually rather than only by label.

  • A square PNG, at least 256×256.
  • No rounding of your own. Every surface clips it to a circle; a pre-rounded image is clipped twice and the two radii disagree by a pixel or two all the way around, which reads as a muddy edge rather than a circle.
  • It has to read at 20pt. A wordmark will not. A monogram, a face, or a single symbol will.

Transparency is fine. Name it in creator.avatar and place it in Assets/.

"creator": {
  "name": "Jane Doe",
  "kind": "community",
  "url": "https://jane.example",
  "avatar": "Creator.png"
}

See also