Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Reveal effect (coach mark) for Compose Multiplatform targeting Android, iOS, Desktop and Web
| Date | Stars |
|---|---|
| 2026-07-30 | 611 |
| 2026-08-10 | 614 |
| 2026-08-30 | 614 |
| 2026-09-03 | 615 |
| 2026-09-04 | 616 |
| 2026-09-05 | 617 |
| 2026-09-09 | 618 |
| 2026-09-16 | 619 |
| 2026-09-29 | 620 |
| 2026-09-30 | 621 |
| 2026-10-07 | 622 |
| 2026-10-10 | 621 |
| 2026-10-19 | 622 |
| 2026-10-23 | 622 |
| 2026-10-24 | 623 |
| 2026-10-25 | 623 |
| 2026-10-27 | 623 |
| 2026-11-03 | 624 |
| 2026-11-04 | 624 |
Today
— stars today
This week
+1 stars this week
This month
+3 stars this month
Momentum
36.0
growth rate 0.16%/day






Reveal effect (also known as coach mark, onboarding, tutorial, walkthrough, etc.) with a beautiful
API for [Compose Multiplatform](https://www.jetbrains.com/lp/compose-multiplatform/) targeting
Android, iOS, Desktop and Web.

## Terminology
| Term | Description |
|-------------|--------------------------------------------------------------------------------------------|
| Revealable | An element which is revealed on the screen. |
| Reveal area | The area which is revealed around the revealable. Usually with a slight padding. |
| Overlay | The overlay which greys out all contents except revealable. Can contain explanatory items. |
## Getting started
### Compose Multiplatform
As of version `3.0` Reveal is based on Compose Multiplatform targeting Android, iOS, Desktop and
Web. However please note that except Android the other platforms are currently not well tested and
some of the targets are still alpha or experimental.
When using Reveal on Android, please make sure that the version of Google's Jetpack Compose is
compatible with the version of Compose Multiplatform that Reveal uses, which you can
find [here](./gradle/libs.versions.toml#L5).
### Installation
The minimum supported Android SDK is 23 (Android 6.0), which is a requirement of Jetpack Compose.
Add Reveal as a dependency to your project. It's available on Maven Central.
```kotlin
dependencies {
implementation("com.svenjacobs.reveal:reveal-core:$REVEAL_VERSION")
}
```
#### Artifacts
| Name | Description |
|------------------|--------------------------------------------|
| `reveal-core` | Contains core classes. You need this 🙂 |
| `reveal-shapes` | Additional shapes for explanatory items |
### Compose
The `Reveal` composable is responsible for registration of, interaction with and rendering the
effect for revealable items. There can be many `Reveal` instances; usually there should be at most
one `Reveal` per "screen" of an application. The overlay effect is rendered in a full screen popup,
so `Reveal` can be placed anywhere in the Compose hierarchy, including inside a `ModalBottomSheet`
or `Dialog`, and the effect is always drawn above the rest of that window's content.
```kotlin
@Composable
fun App() {
MainScreen()
}
@Composable
fun MainScreen() {
val revealState = rememberRevealState()
// Usually one instance per screen
Reveal(
revealState = revealState,
onRevealableClick = {},
onOverlayClick = {},
) {
// Contents
}
}
```
Inside `Reveal` specify revealable items via the `revealable` modifier.
```kotlin
enum class Keys { HelloWorld }
Column {
Text(
modifier = Modifier.revealable(key = Keys.HelloWorld),
text = "Hello world",
)
}
```
Now launch the reveal effect via `revealState.reveal(Keys.HelloWorld)`.
Nice, you just launched your first reveal effect. But what is missing is some explanatory item like
text or image next to the reveal area. So let's add one.
Explanatory items are specified via `overlayContent` of the `Reveal` composable.
```kotlin
Reveal(
overlayContent = { key ->
when (key) {
Keys.HelloWorld -> {
Surface(
modifier = Modifier
.align(horizontalArrangement = RevealOverlayArrangement.Horizontal.Start)
Excerpt of 7,438 characters
Read on GitHub190
121
Zongle Wang · China
3
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:1208649da8ed8b50, topic:tutorial, readme:tutorial