Work in progress!

This project is completely experimental right now, it’s far from production usable, and it still has a lot of bugs to be fixed.

Showcase.mp4

Disclaimer

Originally born as a concept project just to validate the implementation of real-time blur effect in Jetpack Compose, as you can see in the video, it was not ready to be put into a production environment as a library.

There are still a few things that need to be addressed to accomplish this feat, and once they are done, the project will be able to give birth to a lot of interesting effects, like pixelation.

Improvements

  • Fix flickering. The problem probably occurs in large part because recomposition happens all the time and it takes a bit of finesse to get rid of it, maybe something like Flow.debounce or Flow.distinctUntilChanged?
  • Use with accompanist’s Pager. The problem is here in Slack.
  • Draw the contents from the SurfaceView and TextureView. This should be solved by traversing the ViewGroup tree to draw each view (refers ), but not sure if this will affect performance.
  • A way to be able to observe changes of some composable content. The current view.isDirty is not available for Modifier.graphicsLayers and requires more practice here.
  • Support RenderEffect and more.

Contribution

Any PRs are always welcome, and I hope more people will come and work with me to complete and improve this project, which was the original purpose of pushing this project to Github, since I’m not a graphics master 😉.

GitHub

View Github