feat: photos app - #529
Draft
dschmidt wants to merge 4 commits into
Draft
Conversation
dschmidt
force-pushed
the
feat/photos-app
branch
8 times, most recently
from
August 17, 2026 11:28
656fdaf to
010b81b
Compare
dschmidt
force-pushed
the
feat/photos-app
branch
from
August 17, 2026 13:04
487f595 to
f34bd69
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is early stages, feel free to play around and suggest features, UX and visual improvements
Don't expect the code to be perfect yet
A photos app: timeline over the whole library (graph search with date aggregations, content-visibility based virtualization, scrubber, day deep links), lightbox with slideshow (progress via the standard progress bar extension point), motion photo playback on tiles and in the lightbox, and an explicit statistics page. The timeline is the entry point ("/" redirects to /timeline), topped by a "do you remember" memories strip whose polaroids jump (with a glow) to the photo's spot in the timeline. The statistics page links back into the timeline: month bars, camera rows and tags open it filtered. Albums are postponed for the initial version (kept on the feat/photos-app-full branch).
Runs only against the demo stack for now:
feat/graph-search-full-2consolidation branch (search aggregations, sortProperties, facets on search hits)feat/graph-search-full-2consolidation branch (motion photo support, loading service unload option); link its unreleased web-pkg by runningpnpm link <path-to-web-checkout>/packages/web-pkgin this workspace's root. pnpm records the link inpnpm-workspace.yaml,package.jsonand the lockfile; keep those changes local,git checkout -- .reverts them.2048x512preset for the timeline tiles: the app requests previews at that size withprocessor=fit(constant row height, width follows the aspect ratio), and the thumbnailer silently rounds unknown sizes UP to the next preset, which makes every tile decode far more pixels than it displays. E.g.THUMBNAILS_RESOLUTIONS: 16x16,32x32,64x64,128x128,2048x512,1080x1920,1920x1080,2160x3840,3840x2160,4320x7680,7680x4320. The lightbox uses the stock1920x1080preset.Draft until the underlying server and web PRs have landed.
Todo
src/places.ts), needs real reverse geocoding (on the fly or server-side)l10n/translations.jsonis an empty stubfeat/photos-app-full)Screenshots