BreakVariant

data class BreakVariant(val format: BreakFormat, val assets: List<Asset> = emptyList(), val position: OverlayPosition? = null, val size: OverlaySize? = null, val opacity: Double? = null, val targeting: Targeting? = null, val rawFormat: String = format.value)

A break variant (format + ordered assets). The portable brain reads format/rawFormat/targeting/assets (variant selection — see selectVariantDetailed); the overlay layout fields (position/size/opacity) are resolved by the platform renderer and are populated only for BreakFormat.OVERLAY variants (null otherwise). Companion remains out of the portable model.

Constructors

Link copied to clipboard
constructor(format: BreakFormat, assets: List<Asset> = emptyList(), position: OverlayPosition? = null, size: OverlaySize? = null, opacity: Double? = null, targeting: Targeting? = null, rawFormat: String = format.value)

Properties

Link copied to clipboard

The ordered assets to play in this variant.

Link copied to clipboard

The layout this variant renders in; see rawFormat for the uncollapsed manifest string.

Link copied to clipboard

Overlay opacity 0.0-1.0; null defaults to fully opaque (BreakFormat.OVERLAY only).

Link copied to clipboard

Overlay placement within the player surface (BreakFormat.OVERLAY only).

Link copied to clipboard

The UNCOLLAPSED manifest format string. BreakFormat.from maps an unknown format to BreakFormat.SINGLE (forward-compatible parsing), but variant selection must treat an unknown format as NEVER playable — so the raw value survives here. Defaults to the enum's value.

Link copied to clipboard

Overlay size within the player surface (BreakFormat.OVERLAY only).

Link copied to clipboard

Variant-level targeting (manifest spec): a variant without a targeted deviceType is a default. Targeting.deviceType stays a raw string so an unrecognised value is targeted-but-unmatched (see Targeting).