DroppyKitMotionBridge
Host-installed motion hooks.
enum DroppyKitMotionBridge
Supplies the host's current state, opening and closing animations, including its shelf size, speed and accessibility preferences.
Like DroppyKitThemeBridge, the first installation wins. The lock protects provider registration; preset reads retain the animation API's UI-thread requirement and invoke the provider on the caller's thread.
Cases
DroppyKitMotionBridge.Preset.state
case state
DroppyKitMotionBridge.Preset.notchOpen
case notchOpen
DroppyKitMotionBridge.Preset.notchClose
case notchClose
Type properties
isProviderInstalled
static var isProviderInstalled: Bool { get }
Whether a host installed a motion provider. false is the normal state outside Droppy (previews, the harness), where the bridged presets use their standalone formulas.
Type methods
installProvider(_:)
@discardableResult static func installProvider(_ provider: @escaping @Sendable (Preset) -> Animation) -> Bool
Installs the host's motion provider. Host processes only.
The provider is called on every bridged preset read and must resolve the host's current animation fresh each time. Caching a value here would freeze a curve the user can still change. The first call wins and later calls are ignored.
- Returns:
truewhen this call installed the provider,falsewhen one was already installed and nothing changed.