jetc.dev Newsletter Issue #296

Published: 2026-01-06

Welcome to 2026! This week, we look at frame rates, testing recomposition counts, and Compose for Desktop modules. And, we see two libraries for creating system-level floating windows on Android, powered by composable contents.

With luck, the “One Off the Stack, One Off the Slack” section will return in future issues.

Ooooo… What Did We Get?

Reviewing the release notes for the latest Jetpack Compose update!

Shortly before the end of 2025, Jetpack Media3 reached a stable 1.9.0 release, including androidx.media3:media3-ui-compose:1.9.0 and androidx.media3:media3-ui-compose-material3:1.9.0.

Composable Commentary

Posts, videos, and other new information related to Jetpack Compose!

Medium: The Anatomy of a Frame: Understanding the 16.6ms Pipeline in Jetpack Compose

Tetiana Synytsyna walks us through what all happens during a single frame of a 60fps Compose experience. This includes how Compose ties into VSync and Choreographer on Android, along with how various sources of jank affect the rendering pipeline.

Medium: Catching excessive recompositions in Jetpack Compose with tests

Sahand Zehtabchi demonstrates a trackRecompositions() custom modifier and a corresponding assertRecompositionCount() that can be used from your unit tests to confirm that your composables are not recomposing more frequently than is expected.

Minimal setup for Compose Desktop

Marcin Moskala explains how to set up a Compose for Desktop app module, based on Compose Multiplatform, for an existing project.

The Different Node Types in Jetpack Compose

Wolfram Rittmeyer (Mastodon) dives deep into Compose internals and explains the various node trees that are generated and maintained by our composable functions in a Compose UI project.

Resource Roundup

100% pure code!

Sigil

GitHub user codeyousef previously built Materia, a KMP library for building 3D scenes rendered by WebGPU/Vulkan. Sigil is a Compose wrapper around Materia, leveraging Compose’s state-and-snapshot system but for rendering 3D using Materia.

GitHub: YazanAesmael / JetOverlay

GitHub user YazanAesmael brings us a library that lets us build an Android system overlay using composables. It supports drag-based positioning, support for multiple overlays

GitHub: pascaladitia / FloatingWidgetCompose

Pascal Aditia Muclis also brings us a library that lets us build an Android system overlay using composables.

Notable Releases

Compose Unstyled is up to 1.49.4. This release adds auto-size support to Text() and fixes a smattering of bugs.