DroppyKitThemeResolution

Host-installed theme hooks.

enum DroppyKitThemeResolution

selectionBlueAuto promised "inside Droppy this is the user's chosen highlight color" from day one, but nothing delivered it: the token always read the system accent, so a droplet's selected segment rendered accent-blue beside native rows using the host's neutral default highlight. This bridge is the delivery mechanism.

Same shape and same reasoning as DroppyKitHostBridge: droplets run in-process, so the provider has no public setter and the first installation wins: a droplet loaded after launch cannot repoint the host's theme. Reads are lock-guarded, not @MainActor, because color tokens are read from off-main layout code too (mirrors the host's own ThemeSelectionCache).

Cases

DroppyKitThemeResolution.standalone

case standalone

Standalone previews and harnesses intentionally use the system accent. This is a distinct runtime mode, not a missing-host substitution.

DroppyKitThemeResolution.hosted

case hosted

Droppy installed a provider before any external product activated.