Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GalleryEngine

Point it at a folder of photos and videos. It renders a live, real-time 3D slideshow with programmable effects, full-screen on an external display. Drop files in, walk away — no config required.

A native Swift/AppKit shell (folder watching, decode, curation, windowing) drives a three.js/WebGL2 effect runtime running in a WKWebView.

Run it

cd app
swift run GalleryEngine

Pick a folder and a display in the control window, then Start. Escape exits the show.

Built-in effects

Effect
Drift Floating panels that pan, slowly zoom, and cross-fade — the Ken Burns baseline.
Crossfade Full-screen dissolve between images — the minimal ambient baseline.
Reveal A directional wipe transition sweeps from one image to the next.
Mosaic Wall A grid of tiles that independently cross-fade to new images over time.
Carousel Panels arranged in a slowly rotating ring, viewed from outside.
Beach Photos drop as polaroids onto sand and settle into a gentle pile, with water and sunlight ambiance.
Family Dinner Table Prints land on a set table and settle into a stack, viewed from directly above.

Beach and Family Dinner Table are physics-driven (Rapier); the rest are ambient motion.

Extending it

Effects are a public plugin API — see sdk/README.md to write one, drop it in ~/Library/Application Support/GalleryEngine/Effects/, and it shows up in the picker with no rebuild. See CONTRIBUTING.md to get one merged as a built-in, and GalleryEnginePLAN.md for the full architecture and roadmap.

License

MIT

About

Point it at a folder of photos/videos, get a live 3D slideshow with programmable effects on an external display.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages