<div class='sourceset sourceset-common'>Common</div>

```kotlin
@PlacementScopeMarker
    abstract class PlacementScope : Density
```

Receiver scope that permits explicit placement of a [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable).

While a [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) may be placed at any time, this explicit receiver scope is used to
discourage placement outside of [MeasureScope.layout](/jetpack-compose/androidx.compose.ui/ui/interfaces/MeasureScope) positioning blocks. This permits
Compose UI to perform additional layout optimizations allowing repositioning a [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable)
without remeasuring its original [Measurable](/jetpack-compose/androidx.compose.ui/ui/interfaces/Measurable) if factors contributing to its potential
measurement have not changed. The scope also allows automatic mirroring of children positions
in RTL layout direction contexts using the [placeRelative](#placerelative) methods available in the scope. If
the automatic mirroring is not desired, [place](#place) should be used instead.

## Properties

<div class='sourceset sourceset-common'>Common</div>

```kotlin
open val coordinates: LayoutCoordinates?
```

The [LayoutCoordinates](/jetpack-compose/androidx.compose.ui/ui/interfaces/LayoutCoordinates) of this layout, if known or `null` if the layout hasn't been
placed yet. [coordinates](#coordinates) will be `null` when determining alignment lines, preventing
alignment lines from depending on absolute coordinates.

When [coordinates](#coordinates) is `null`, there will always be a follow-up placement call in which
[coordinates](#coordinates) is not-`null`.

If you read a position from the coordinates during the placement block the block will be
automatically re-executed when the parent layout changes a position. If you don't read it
the placement block execution can be skipped as an optimization.

## Functions

<h2 id="current">current</h2>

```kotlin
open fun Ruler.current(: Float): Float
```

Returns the value for this [Ruler](/jetpack-compose/androidx.compose.ui/ui/classes/Ruler) or `defaultValue` if it wasn't
[provided](/jetpack-compose/androidx.compose.ui/ui/interfaces/RulerScope). [Ruler](/jetpack-compose/androidx.compose.ui/ui/classes/Ruler) values are unavailable while calculating
[AlignmentLine](/jetpack-compose/androidx.compose.ui/ui/classes/AlignmentLine)s.

<hr class="docs-overload-divider">

<h2 id="placerelative-position-zindex">placeRelative</h2>

```kotlin
fun Placeable.placeRelative(position: IntOffset, zIndex: Float = 0f) =
            placeAutoMirrored(position, zIndex, null)
```

Place a [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) at `position` in its parent's coordinate system. If the layout
direction is right-to-left, the given `position` will be horizontally mirrored so that
the position of the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) implicitly reacts to RTL layout direction contexts. If
this method is used outside the [MeasureScope.layout](/jetpack-compose/androidx.compose.ui/ui/interfaces/MeasureScope) positioning block, the automatic
position mirroring will not happen and the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) will be placed at the given
`position`, similar to the [place](#place) method.

#### Parameters

| | |
| --- | --- |
| position | position in the parent's coordinate system. |
| zIndex | controls the drawing order for the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable). A [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) with larger [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) will be drawn on top of all the children with smaller [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex). When children have the same [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) the order in which the items were placed is used. |

<hr class="docs-overload-divider">

<h2 id="placerelative-x-y-zindex">placeRelative</h2>

```kotlin
fun Placeable.placeRelative(x: Int, y: Int, zIndex: Float = 0f) =
            placeAutoMirrored(IntOffset(x, y), zIndex, null)
```

Place a [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) at `x`, `y` in its parent's coordinate system. If the layout
direction is right-to-left, the given position will be horizontally mirrored so that the
position of the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) implicitly reacts to RTL layout direction contexts. If this
method is used outside the [MeasureScope.layout](/jetpack-compose/androidx.compose.ui/ui/interfaces/MeasureScope) positioning block, the automatic
position mirroring will not happen and the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) will be placed at the given
position, similar to the [place](#place) method.

#### Parameters

| | |
| --- | --- |
| x | x coordinate in the parent's coordinate system. |
| y | y coordinate in the parent's coordinate system. |
| zIndex | controls the drawing order for the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable). A [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) with larger [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) will be drawn on top of all the children with smaller [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex). When children have the same [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) the order in which the items were placed is used. |

<hr class="docs-overload-divider">

<h2 id="place-x-y-zindex">place</h2>

```kotlin
fun Placeable.place(x: Int, y: Int, zIndex: Float = 0f) =
            placeApparentToRealOffset(IntOffset(x, y), zIndex, null)
```

Place a [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) at `x`, `y` in its parent's coordinate system. Unlike
[placeRelative](#placerelative), the given position will not implicitly react in RTL layout direction
contexts.

#### Parameters

| | |
| --- | --- |
| x | x coordinate in the parent's coordinate system. |
| y | y coordinate in the parent's coordinate system. |
| zIndex | controls the drawing order for the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable). A [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) with larger [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) will be drawn on top of all the children with smaller [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex). When children have the same [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) the order in which the items were placed is used. |

<hr class="docs-overload-divider">

<h2 id="place-position-zindex">place</h2>

```kotlin
fun Placeable.place(position: IntOffset, zIndex: Float = 0f) =
            placeApparentToRealOffset(position, zIndex, null)
```

Place a [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) at `position` in its parent's coordinate system. Unlike
[placeRelative](#placerelative), the given `position` will not implicitly react in RTL layout direction
contexts.

#### Parameters

| | |
| --- | --- |
| position | position in the parent's coordinate system. |
| zIndex | controls the drawing order for the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable). A [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) with larger [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) will be drawn on top of all the children with smaller [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex). When children have the same [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) the order in which the items were placed is used. |

<hr class="docs-overload-divider">

<h2 id="placerelativewithlayer-position-zindex-layerblock">placeRelativeWithLayer</h2>

```kotlin
fun Placeable.placeRelativeWithLayer(
            position: IntOffset,
            zIndex: Float = 0f,
            layerBlock: GraphicsLayerScope.() -> Unit = DefaultLayerBlock,
        ) = placeAutoMirrored(position, zIndex, layerBlock)
```

Place a [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) at `position` in its parent's coordinate system with an introduced
graphic layer. If the layout direction is right-to-left, the given `position` will be
horizontally mirrored so that the position of the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) implicitly reacts to RTL
layout direction contexts. If this method is used outside the [MeasureScope.layout](/jetpack-compose/androidx.compose.ui/ui/interfaces/MeasureScope)
positioning block, the automatic position mirroring will not happen and the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable)
will be placed at the given `position`, similar to the [place](#place) method.

#### Parameters

| | |
| --- | --- |
| position | position in the parent's coordinate system. |
| zIndex | controls the drawing order for the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable). A [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) with larger [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) will be drawn on top of all the children with smaller [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex). When children have the same [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) the order in which the items were placed is used. |
| layerBlock | You can configure any layer property available on [GraphicsLayerScope](/jetpack-compose/androidx.compose.ui/ui/interfaces/GraphicsLayerScope) via this block. If the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) will be placed with a new `position` next time only the graphic layer will be moved without requiring to redrawn the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) content. |

<hr class="docs-overload-divider">

<h2 id="placerelativewithlayer-x-y-zindex-layerblock">placeRelativeWithLayer</h2>

```kotlin
fun Placeable.placeRelativeWithLayer(
            x: Int,
            y: Int,
            zIndex: Float = 0f,
            layerBlock: GraphicsLayerScope.() -> Unit = DefaultLayerBlock,
        ) = placeAutoMirrored(IntOffset(x, y), zIndex, layerBlock)
```

Place a [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) at `x`, `y` in its parent's coordinate system with an introduced
graphic layer. If the layout direction is right-to-left, the given position will be
horizontally mirrored so that the position of the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) implicitly reacts to RTL
layout direction contexts. If this method is used outside the [MeasureScope.layout](/jetpack-compose/androidx.compose.ui/ui/interfaces/MeasureScope)
positioning block, the automatic position mirroring will not happen and the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable)
will be placed at the given position, similar to the [place](#place) method.

#### Parameters

| | |
| --- | --- |
| x | x coordinate in the parent's coordinate system. |
| y | y coordinate in the parent's coordinate system. |
| zIndex | controls the drawing order for the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable). A [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) with larger [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) will be drawn on top of all the children with smaller [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex). When children have the same [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) the order in which the items were placed is used. |
| layerBlock | You can configure any layer property available on [GraphicsLayerScope](/jetpack-compose/androidx.compose.ui/ui/interfaces/GraphicsLayerScope) via this block. If the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) will be placed with a new `x` or `y` next time only the graphic layer will be moved without requiring to redrawn the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) content. |

<hr class="docs-overload-divider">

<h2 id="placewithlayer-x-y-zindex-layerblock">placeWithLayer</h2>

```kotlin
fun Placeable.placeWithLayer(
            x: Int,
            y: Int,
            zIndex: Float = 0f,
            layerBlock: GraphicsLayerScope.() -> Unit = DefaultLayerBlock,
        ) = placeApparentToRealOffset(IntOffset(x, y), zIndex, layerBlock)
```

Place a [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) at `x`, `y` in its parent's coordinate system with an introduced
graphic layer. Unlike [placeRelative](#placerelative), the given position will not implicitly react in
RTL layout direction contexts.

#### Parameters

| | |
| --- | --- |
| x | x coordinate in the parent's coordinate system. |
| y | y coordinate in the parent's coordinate system. |
| zIndex | controls the drawing order for the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable). A [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) with larger [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) will be drawn on top of all the children with smaller [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex). When children have the same [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) the order in which the items were placed is used. |
| layerBlock | You can configure any layer property available on [GraphicsLayerScope](/jetpack-compose/androidx.compose.ui/ui/interfaces/GraphicsLayerScope) via this block. If the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) will be placed with a new `x` or `y` next time only the graphic layer will be moved without requiring to redrawn the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) content. |

<hr class="docs-overload-divider">

<h2 id="placewithlayer-position-zindex-layerblock">placeWithLayer</h2>

```kotlin
fun Placeable.placeWithLayer(
            position: IntOffset,
            zIndex: Float = 0f,
            layerBlock: GraphicsLayerScope.() -> Unit = DefaultLayerBlock,
        ) = placeApparentToRealOffset(position, zIndex, layerBlock)
```

Place a [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) at `position` in its parent's coordinate system with an introduced
graphic layer. Unlike [placeRelative](#placerelative), the given `position` will not implicitly react in
RTL layout direction contexts.

#### Parameters

| | |
| --- | --- |
| position | position in the parent's coordinate system. |
| zIndex | controls the drawing order for the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable). A [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) with larger [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) will be drawn on top of all the children with smaller [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex). When children have the same [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) the order in which the items were placed is used. |
| layerBlock | You can configure any layer property available on [GraphicsLayerScope](/jetpack-compose/androidx.compose.ui/ui/interfaces/GraphicsLayerScope) via this block. If the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) will be placed with a new `position` next time only the graphic layer will be moved without requiring to redrawn the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) content. |

<hr class="docs-overload-divider">

<h2 id="placewithlayer-x-y-layer-zindex">placeWithLayer</h2>

```kotlin
fun Placeable.placeWithLayer(x: Int, y: Int, layer: GraphicsLayer, zIndex: Float = 0f) =
            placeApparentToRealOffset(IntOffset(x, y), zIndex, layer)
```

Place a [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) at `x`, `y` in its parent's coordinate system with an introduced
graphic layer. Unlike [placeRelative](#placerelative), the given position will not implicitly react in
RTL layout direction contexts.

#### Parameters

| | |
| --- | --- |
| x | x coordinate in the parent's coordinate system. |
| y | y coordinate in the parent's coordinate system. |
| zIndex | controls the drawing order for the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable). A [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) with larger [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) will be drawn on top of all the children with smaller [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex). When children have the same [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) the order in which the items were placed is used. |
| layer | [GraphicsLayer](/jetpack-compose/androidx.compose.ui/ui-graphics/classes/GraphicsLayer) to place this placeable with. If the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) will be placed with a new `x` or `y` next time only the graphic layer will be moved without requiring to redrawn the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) content. |

<hr class="docs-overload-divider">

<h2 id="placewithlayer-position-layer-zindex">placeWithLayer</h2>

```kotlin
fun Placeable.placeWithLayer(
            position: IntOffset,
            layer: GraphicsLayer,
            zIndex: Float = 0f,
        ) = placeApparentToRealOffset(position, zIndex, layer)
```

Place a [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) at `position` in its parent's coordinate system with an introduced
graphic layer. Unlike [placeRelative](#placerelative), the given `position` will not implicitly react in
RTL layout direction contexts.

#### Parameters

| | |
| --- | --- |
| position | position in the parent's coordinate system. |
| zIndex | controls the drawing order for the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable). A [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) with larger [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) will be drawn on top of all the children with smaller [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex). When children have the same [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) the order in which the items were placed is used. |
| layer | [GraphicsLayer](/jetpack-compose/androidx.compose.ui/ui-graphics/classes/GraphicsLayer) to place this placeable with. If the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) will be placed with a new `position` next time only the graphic layer will be moved without requiring to redrawn the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) content. |

<hr class="docs-overload-divider">

<h2 id="placerelativewithlayer-x-y-layer-zindex">placeRelativeWithLayer</h2>

```kotlin
fun Placeable.placeRelativeWithLayer(
            x: Int,
            y: Int,
            layer: GraphicsLayer,
            zIndex: Float = 0f,
        ) = placeAutoMirrored(IntOffset(x, y), zIndex, layer)
```

Place a [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) at `x`, `y` in its parent's coordinate system with an introduced
graphic layer. If the layout direction is right-to-left, the given position will be
horizontally mirrored so that the position of the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) implicitly reacts to RTL
layout direction contexts. If this method is used outside the [MeasureScope.layout](/jetpack-compose/androidx.compose.ui/ui/interfaces/MeasureScope)
positioning block, the automatic position mirroring will not happen and the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable)
will be placed at the given position, similar to the [place](#place) method.

#### Parameters

| | |
| --- | --- |
| x | x coordinate in the parent's coordinate system. |
| y | y coordinate in the parent's coordinate system. |
| zIndex | controls the drawing order for the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable). A [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) with larger [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) will be drawn on top of all the children with smaller [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex). When children have the same [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) the order in which the items were placed is used. |
| layer | [GraphicsLayer](/jetpack-compose/androidx.compose.ui/ui-graphics/classes/GraphicsLayer) to place this placeable with. If the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) will be placed with a new `x` or `y` next time only the graphic layer will be moved without requiring to redrawn the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) content. |

<hr class="docs-overload-divider">

<h2 id="placerelativewithlayer-position-layer-zindex">placeRelativeWithLayer</h2>

```kotlin
fun Placeable.placeRelativeWithLayer(
            position: IntOffset,
            layer: GraphicsLayer,
            zIndex: Float = 0f,
        ) = placeAutoMirrored(position, zIndex, layer)
```

Place a [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) at `position` in its parent's coordinate system with an introduced
graphic layer. If the layout direction is right-to-left, the given `position` will be
horizontally mirrored so that the position of the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) implicitly reacts to RTL
layout direction contexts. If this method is used outside the [MeasureScope.layout](/jetpack-compose/androidx.compose.ui/ui/interfaces/MeasureScope)
positioning block, the automatic position mirroring will not happen and the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable)
will be placed at the given `position`, similar to the [place](#place) method.

#### Parameters

| | |
| --- | --- |
| position | position in the parent's coordinate system. |
| zIndex | controls the drawing order for the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable). A [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) with larger [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) will be drawn on top of all the children with smaller [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex). When children have the same [zIndex](/jetpack-compose/androidx.compose.ui/ui/modifiers/zIndex) the order in which the items were placed is used. |
| layer | [GraphicsLayer](/jetpack-compose/androidx.compose.ui/ui-graphics/classes/GraphicsLayer) to place this placeable with. If the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) will be placed with a new `position` next time only the graphic layer will be moved without requiring to redrawn the [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) content. |

<hr class="docs-overload-divider">

<h2 id="withmotionframeofreferenceplacement-block">withMotionFrameOfReferencePlacement</h2>

```kotlin
fun withMotionFrameOfReferencePlacement(block: PlacementScope.() -> Unit)
```

Placement done under `block`, will have their [Placeable](/jetpack-compose/androidx.compose.ui/ui/classes/Placeable) placed on the same frame of
reference as the current layout.

In [LayoutCoordinates](/jetpack-compose/androidx.compose.ui/ui/interfaces/LayoutCoordinates), this means that the offset introduced under `block` may be
excluded when calculating positions by passing `includeMotionFrameOfReference = false` in
[LayoutCoordinates.localPositionOf](/jetpack-compose/androidx.compose.ui/ui/interfaces/LayoutCoordinates).

Excluding the position set by certain layouts can be helpful to trigger lookahead based
animation when intended. The typical case are layouts that change frequently due to a
provided value, like [scroll](/jetpack-compose/androidx.compose.foundation/foundation/modifiers/verticalScroll).