getavalon / core

The safe post-production pipeline - https://getavalon.github.io/2.0
MIT License
218 stars 48 forks source link

Add visual changelog to Switch Asset UI as to what will receive changes or not #389

Open BigRoy opened 5 years ago

BigRoy commented 5 years ago

Issue

With #376 the Switch Asset UI now shows what the selected boxes "mean" for changes, but does not clearly showcase what it means for the end result on the selection. As such, it will be hard to figure out why some combinations may not be valid and result in no change - or what in the end the different containers will switch to.

Proposal

It'd be best to include a list widget that shows what the current selection will mean for the final result, how will it be influenced.

Here's a (very quickly!) drawn mock-up showcasing how that could work: switch_ui_mockup


Reference: https://github.com/getavalon/core/pull/376#issuecomment-499035838

Related:

BigRoy commented 3 years ago

With #551 still being open for performance improvements I thought it would be just as good a time as any to see if we can optimize and get this issue done too. Here's a quick visual prototype.

avalon_switch_asset_visual_view

Note that I've also taken the "preparation" code from #551 and improved the speed for that by making it simpler query with a single aggregation pipeline, thus a single query sent to the database - as I felt the time to when the popup showed still took some time with the new code. About another 30% speed improvement.

The changes made in #551 also mention a BUG introduced there reported by @tokejepsen where previously it allowed to choose a combination of changes that would NOT switch all selected assets but just a subset of them - which was not allowed anymore in #551. That original behavior and intention of the tool was also described here - specifically the switching to another shot, where the other shot could miss a specific subset and then still allow the change for all other pieces. I'm looking to revert the logic that causes the BUG so that it will indeed allow skipping some conversion but with the "change preview" it should also be clear as to what exactly is about to happen.

Pointers/ideas on how to easily improve how one can see what is about to change let me know. I'm not entirely happy with the two comparison lists.

Note to self: it could be worth looking into how Bulk/Batch Rename utilities provide previews of what is about to change. Or e.g. "refactoring" previews for code. Images are welcome!

@tokejepsen @davidlatwe @mkolar let me know if you have good references or ideas!

tokejepsen commented 3 years ago

Think this looks good!

Only comments are cosmetics from me:

BigRoy commented 3 years ago

Orange instead of purple to keep with the general Avalon theme.

Yes, this was me being lazy and just copy pasting the first HTML color code that came from a google search, very lazy me. I was thinking of even tinting each part of the string different, e.g. asset separate from subset, representation, etc.

The lists are big and only need a single line on each side.

This was actually to accomodate for when switching multiple loaded content, like this:

avalon_switch_asset_visual_view_multiple

Anyway, hope to find some time soon to continue with this :)

tokejepsen commented 3 years ago

Why is the representation red here? capture

davidlatwe commented 3 years ago

Would love to try out, but I am on vacation till next Monday.

Still, is this prototype can be git checkout somewhere in you fork ?

BigRoy commented 3 years ago

Why is the representation red here?

Still behavior from the code from #551 - I believe that's the bug you mentioned Toke.

@davidlatwe actually it isn't, sorry. It's mostly a cosmetic preview. :) After your vacation!

tokejepsen commented 3 years ago

Still behavior from the code from #551 - I believe that's the bug you mentioned Toke.

Ohh I see. Cool. Looks nice!