# Preserve the Compose internals accessed via reflection in CoralogixComposeInitializer
# and ComposeSemanticChildren. Without this rule, R8 will rename or remove
# AndroidComposeView.getSemanticsOwner() in minified consumer apps, causing a runtime crash.
-keepclassmembers class androidx.compose.ui.platform.AndroidComposeView {
    public androidx.compose.ui.semantics.SemanticsOwner getSemanticsOwner();
}

# SemanticsOwner is public Compose API (androidx.compose.ui.semantics) bundled with its own
# consumer rules, so getRootSemanticsNode() is ordinarily preserved. The explicit rule below
# is a belt-and-suspenders guard in case Compose's bundled rules change in a future version.
-keepclassmembers class androidx.compose.ui.semantics.SemanticsOwner {
    public * getRootSemanticsNode();
}
