DropletCreator
Who made a droplet.
struct DropletCreator
Every droplet carries one, and every surface that lists droplets shows it: the Store's rows, the droplet's detail page, and the cards on getdroppy.app/droplets. A user should never have to guess whether something came from Droppy or from the community.
Cases
DropletCreator.Kind.droppy
case droppy
Published by Droppy itself.
DropletCreator.Kind.community
case community
Published by a third-party developer.
Initializers
init(from:)
init(from decoder: any Decoder) throws
init(name:kind:url:avatar:)
init(name: String, kind: Kind, url: URL? = nil, avatar: String)
init(rawValue:)
init?(rawValue: String)
Properties
avatar
let avatar: String
Filename of the creator's avatar, relative to the droplet's Assets/ directory. Required.
A square PNG, at least 256×256, with no built-in rounding: every surface clips it to a circle itself, so a pre-rounded image ends up rounded twice and the corners go muddy. Transparency is allowed.
This is the small round mark beside the droplet's name in the Store, so it has to read at 20 points. A wordmark will not; a monogram, a face, or a symbol will.
kind
let kind: Kind
Whether this is a first-party or community droplet. Community submissions are always published as .community; the review tool refuses a submission that claims .droppy.
name
let name: String
Display name of the person or company, as it should appear in the Store. Sentence case, no marketing suffixes.
url
let url: URL?
A page the user can visit to learn who you are. Optional, but shown as a link on the detail page when present.