Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tags MVP #60

Merged
merged 4 commits into from
May 7, 2023
Merged

Tags MVP #60

merged 4 commits into from
May 7, 2023

Conversation

SmilyOrg
Copy link
Owner

@SmilyOrg SmilyOrg commented May 3, 2023

In their current form the tags can be a bit volatile, so consider them alpha-level and don't get too attached. 😊

Note: For this reason, you need to enable them explicitly first in the tags section of the configuration.

However, they have some cool features in their current form. The intention here is to form a foundation on top of which many other features can be built. See H_Q_'s comment thread from a while ago for details and ideas.

  1. Selection. You can select photos now via Ctrl + Click or Ctrl + (Shift) + Drag. Selections are handled as "system tags" (tags with sys: prefix) and persist across refreshes, restarts, and across browsers (as long as you keep the link and don't delete the database). You cannot do anything else with the selection right now, so functionally they're more of a tech demo (i.e. useless). This will make it easier to implement Delete / Remove photos #4 however.

  2. Tag picker. You can click the # button to show a photo's tags (excluding "system tags"). You can add and remove tags as you please using the multiselect with auto-complete. The ♥ button toggles a fav tag as a simple "liking" functionality.
    image

  3. Range tree tagging. This is an interesting implementation detail that makes it so that in some cases tags can be stored in a compressed "id range tree" manner, so that you can theoretically select/tag thousands of photos all at once. This should make it a lot more efficient to also add e.g. location tags to large subsets of photos for example as part of Add location information to timeline #59

PhotofieldSelection.mp4

I'm not 100% happy with the way tag IDs/revisions/etc. work right now, so that's something to look at in the future, but it's alright as a first draft.

Clearly the biggest missing part is search and/or filtering, which will actually make them a bit more useful than what is there. But let's see :)

Also bonus: fixes #21 in a hacky way (show the hand cursor for all canvas interaction regardless of photo or background)

@SmilyOrg SmilyOrg merged commit 1f3e909 into main May 7, 2023
@SmilyOrg SmilyOrg deleted the tags branch May 7, 2023 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cursor does not show up as a hand on hover
1 participant