RecordGif

@Target(allowedTargets = [AnnotationTarget.FUNCTION])
annotation class RecordGif(val name: String = "", val durationMs: Int = 3000, val fps: Int = 50, val widthPx: Int = 540, val heightPx: Int = 0, val theme: GifTheme = GifTheme.DARK, val interactionStartDelayMs: Int = 1000, val interactionNodeTag: String = "", val interactions: Array<GifInteraction> = [], val gestures: Array<GifGestureStep> = [])

Marks a parameterless @Composable function as a GIF capture scenario.

Properties

Link copied to clipboard
val durationMs: Int = 3000

Target recording duration in milliseconds.

Link copied to clipboard
val fps: Int = 50

Capture frame rate used for frame extraction.

Link copied to clipboard

Explicit low-level gesture steps to replay during capture.

Link copied to clipboard
val heightPx: Int = 0

Output height in pixels. Use 0 to keep aspect ratio and auto-resolve height.

Link copied to clipboard

Node tag used as the gesture target root.

Link copied to clipboard

High-level interactions expanded into low-level gesture steps.

Link copied to clipboard

Delay before replaying configured interactions/gestures.

Link copied to clipboard

Optional explicit scenario name. When blank, the KSP processor derives it from the function name.

Link copied to clipboard

Scenario theme metadata written into generated configuration.

Link copied to clipboard
val widthPx: Int = 540

Output width in pixels before GIF encoding.