A best-practices guide explaining why every Jetpack Compose composable that emits layout should expose a `modifier: Modifier` parameter. Three key problems arise when omitting it: callers lose the ability to customize layout behavior, implicit size modifiers like `fillMaxWidth()` can unexpectedly propagate up the layout tree, and the parent/child layout relationship is broken — preventing use of layout-specific scoped modifiers like `matchParentSize()` or `constrainAs()`. The fix is straightforward: add `modifier: Modifier = Modifier` to the function signature and pass it to the root layout element, letting the caller control sizing and positioning while the composable manages only its own content.
Table of contents
Modifiers ##1: Customizability and Re-Use ##2: Implicit layout behavior ##3: Breaking the parent/child layout relationship #The Fix #Everyone is a librarian now #2 Impressions