The following example is a NextJs - React implementation of this effect using pixi.js from https://redstapler.co/ultra-realistic-water-ripple-effect-javascript-tutorial/ (vanilla js)
- Using NextJs dynamic load
- Using useApp as consumer (you can use things like app.resizeTo)
- Filters (Displacement)
- Resize canvas and image to full screen
- Interact with canvas to put buttons, so on...
Help is welcome!