---
title: "ExpandedSurfaceSizeProposal, DroppyKit"
description: "What the host offers before asking a droplet how big its surface wants to be."
canonical: "https://getdroppy.app/docs/droppykit/api/expanded-surface-size-proposal"
last-updated: "2026-09-09"
---

# ExpandedSurfaceSizeProposal

What the host offers before asking a droplet how big its surface wants to be.

`struct ExpandedSurfaceSizeProposal`

Deliberately carries no transition flag. The host freezes your answer for the duration of its own open and close spring, so a droplet that also smoothed its answer would produce two interpolations of one number and the shelf would arrive at the wrong height. Answer with the size you want right now and let the host hold it.

## Initializers

### init(standardSize:maximumSize:surface:displayID:)

`init(standardSize: CGSize, maximumSize: CGSize, surface: DropletSurfaceKind, displayID: UInt32)`

Creates a proposal. Constructed by hosts, read by droplets.

## Properties

### displayID

`let displayID: UInt32`

The display the size is for.

### maximumSize

`let maximumSize: CGSize`

The ceiling for this display and surface style. The host clamps to it rather than refusing, so asking for more is safe and simply lands here.

### standardSize

`let standardSize: CGSize`

The size the host would use for a surface that expresses no preference.

### surface

`let surface: DropletSurfaceKind`

The surface kind the size is for.
