mirror of
https://github.com/immich-app/immich.git
synced 2026-05-25 00:52:31 -04:00
6eab14f6a4
Adds firstInOrNearIndex / lastInOrNearIndex $state on TimelineDay and an updateAssetBoundaries() method that locates them via binary search on asset positions. Wired into both layout() (when positions change) and updateViewportProximities() (when scroll moves the viewport). This is purely additive — no consumer reads the new state yet. The existing ViewerAsset.$derived-based proximity machinery and TimelineDay.isInOrNearViewport .some() derive continue to work unchanged. Subsequent commits will (1) switch consumers to use the day-tier boundaries and (2) remove the now-redundant per-asset $derived. Change-Id: Ib4bdaec5df4801d1347f41bbabd607956a6a6964
Immich web project
This project uses the SvelteKit web framework. Please refer to the SvelteKit docs for information on getting started as a contributor to this project. In particular, it will help you navigate the project's code if you understand the basics of SvelteKit routing.
When developing locally, you will run a SvelteKit Node.js server. When this project is deployed to production, it is built as a SPA and deployed as part of the server project.