DropletEnvironmentService
Read-only facts about the host and the machine it is running on.
@MainActor protocol DropletEnvironmentService : AnyObject
Properties
appVersion
@MainActor var appVersion: String { get }
Marketing version of the running Droppy, for example "15.2.2".
containerDirectory
@MainActor var containerDirectory: URL { get }
A private, per-droplet directory that persists across updates. Create it lazily; the host guarantees the parent exists.
didChange
@MainActor var didChange: AnyPublisher<Void, Never> { get }
Fires whenever notchGeometry or surfaceAppearance changes.
isHarness
@MainActor var isHarness: Bool { get }
Whether this process is the local development harness rather than Droppy itself. Prefer feature detection over branching on this; it exists for diagnostics and for demo data in previews.
notchGeometry
@MainActor var notchGeometry: DropletNotchGeometry { get }
Geometry of the notch surface the droplet is currently rendered on.
surfaceAppearance
@MainActor var surfaceAppearance: DropletSurfaceAppearance { get }
The appearance the host's surfaces are currently drawn in.