How saeedn504/parallax-moment works
Parallax Moment turns a selected or bundled photo into a composed Android wallpaper: the WebView editor runs local subject cutout, lets the user adjust clock and composition, then sends the result through the native bridge for wallpaper application. The bridge also generates depth for the ticking live wallpaper, which reloads saved layers and renders frames. The tree contains a separate ClockVeil implementation with its own editor extension and layered renderer. The README documents the primary workflow; unsampled editor and bridge portions limit detail on their internal wiring.
Main entry points: index.html Web editor · MainActivity.java Native bridge · DeepFxBridge.kt ClockVeil bridge · ClockVeilWallpaperService.kt ClockVeil live service
Components 24
Photo editor
- Web editor
www/index.html - WebView host
android/app/src/main/java/com/depth/live/wallpaper/MainActivity.java - Photo picker
android/app/src/main/java/com/depth/live/wallpaper/MainActivity.java
Image processing
- Cutout hook
www/depth-cutout-hook.js - Imgly cutout engine
www/imgly/onnxruntime-web/ort-wasm-simd-threaded.mjs - Imgly model assets
www/imgly/models - MiDaS estimator
android/app/src/main/java/com/depth/live/wallpaper/MidasDepthEstimator.kt - MiDaS model
android/app/src/main/assets/midas_small_256_fp16.tflite
Wallpaper runtime
- Native bridge
android/app/src/main/java/com/depth/live/wallpaper/MainActivity.java - Saved wallpaper layers
android/app/src/main/java/com/depth/live/wallpaper/DepthLiveWallpaperService.java - Static wallpaper apply
android/app/src/main/java/com/depth/live/wallpaper/MainActivity.java - Live wallpaper service
android/app/src/main/java/com/depth/live/wallpaper/DepthLiveWallpaperService.java - Parallax renderer
android/app/src/main/java/com/depth/live/wallpaper/DepthParallaxRenderer.java
ClockVeil variant
- ClockVeil editor
clockveil/web/deepfx.html - Motion preview hook
clockveil/web/deepfx-hook.js - ClockVeil WebView
clockveil/app/src/main/java/com/deepfx/clock/MainActivity.kt - ClockVeil bridge
clockveil/app/src/main/java/com/deepfx/clock/DeepFxBridge.kt - ClockVeil depth estimator
clockveil/app/src/main/java/com/deepfx/clock/MidasDepthEstimator.kt - ClockVeil settings and layers
clockveil/app/src/main/java/com/deepfx/clock/SettingsStore.kt - ClockVeil live service
clockveil/app/src/main/java/com/deepfx/clock/ClockVeilWallpaperService.kt - Layer renderer
clockveil/app/src/main/java/com/deepfx/clock/LayerRenderer.kt - Clock painter
clockveil/app/src/main/java/com/deepfx/clock/ClockPainter.kt
Other components
- User
- Android system
Connections 30
- User → Web editor: chooses photo
- Web editor → WebView host: loads in
- WebView host → Photo picker: opens picker
- Photo picker → Web editor: returns image
- Web editor → Imgly cutout engine: segments locally
- Imgly cutout engine → Imgly model assets: loads model
- Web editor → Cutout hook: exports cutout
- Cutout hook → Native bridge: saves cutout
- Web editor → Native bridge: applies settings
- Native bridge → MiDaS estimator: estimates depth
- MiDaS estimator → MiDaS model: loads model
- Native bridge → Saved wallpaper layers: saves layers
- Native bridge → Static wallpaper apply: applies image
- Static wallpaper apply → Android system: sets wallpaper
- Native bridge → Android system: opens picker
- Android system → Live wallpaper service: starts service
- Live wallpaper service → Saved wallpaper layers: loads layers
- Live wallpaper service → Parallax renderer: renders frames
- Parallax renderer → Android system: draws surface
- User → ClockVeil editor: edits photo
- ClockVeil editor → Motion preview hook: extends preview
- ClockVeil WebView → ClockVeil editor: loads page
- ClockVeil editor → ClockVeil bridge: applies layers
- ClockVeil bridge → ClockVeil depth estimator: estimates depth
- ClockVeil bridge → ClockVeil settings and layers: writes layers
- ClockVeil bridge → Android system: opens picker
- Android system → ClockVeil live service: starts service
- ClockVeil live service → ClockVeil settings and layers: loads settings
- ClockVeil live service → Layer renderer: draws layers
- ClockVeil live service → Clock painter: draws clock