Closed davidlatwe closed 5 years ago
(Subjective opinion) I'm not too much of a fan of the new icon color, I see why you decided for it against the selected color. But maybe a tad darker blue or lighter blue would already do wonders for this. Another option is having the green less bright/saturated. Also, keep in mind I'm used to the old... and it's always hard to force a new direction because you're dealing with opinions.
Both family will be shown in Loader GUI's family widget, but only the first family "reveries.xgen" will be able to filter out subsets.
This is actually due to another issue, it's the fact that the SubsetWidget in the Loader -> the one showing the publishes you can load. Doesn't actually use the families
, the same goes for its filter. My proposal would be to don't start using extra data like shadowFamilies
but instead we somehow adapt the widget to allow filtering by any of the options. As such, when any of the families is toggled off maybe it's hidden?
Then if you want to "exclude" one filter to be shown, then perhaps that would be a Project-based or Configuration-based option that can say: "disallow-filter", "hideFilter" or alike. That way it's clear that just the filtering part is not shown. I believe that's somewhat like you've done with shadowFilters
but admittedly the name kind of confused me. How about hideFilter
? This could also be an option inside the family itself in the project configuration? Could that work nicely?
For example, families currently support this in project configuration:
{
"name" : "colorbleed.animation",
"icon" : "male",
"label" : "Animation"
}
How about adding support for "hideFilter": True
?
I believe that would mean around here you would just do:
if family.get("hideFilter"):
continue
Somehow the name "shadowFilter" felt unclear to me as to what it is and what it would be doing.
Sorry, pressed the wrong button - did not intend to close
How about adding support for "hideFilter": True?
Ah, I like this. :)
adapt the widget to allow filtering by any of the options. As such, when any of the families is toggled off maybe it's hidden?
I did thought about this, works like pyblish
's plugin.match = pyblish.api.Subset
, right ?
For example:
I have a subset like this
{
"type": "subset",
"name": "xgenLegacyDefault",
"families": [
"reveries.xgen",
"reveries.xgen.legacy",
]
}
and another like
{
"type": "subset",
"name": "xgenInteractiveDefault",
"families": [
"reveries.xgen",
"reveries.xgen.interactive",
]
}
And in the GUI filter widget
When I turn off reveries.xgen.interactive
, only the xgenInteractiveDefault
subset will be filter out,
but if I turn off reveries.xgen
, they all go away.
If that's what option 1) is for, I think I like this better :D
Oh, one unrelated note for the example I described above, the families
still storing inside the version document here. Not moving to subset, yet.
When I turn off reveries.xgen.interactive, only the xgenInteractiveDefault subset will be filter out, but if I turn off reveries.xgen, they all go away.
Yes, that's basically what I meant on how it could work if the filtering was aware of the multiple families as opposed to one. ;) Visually the filters could even end up being shown indented, hehe. But that's more cosmetics than needed for it to function.
This functionality could then still of course be combined with hideFilter
to decrease visual complexity in the filter widget.
Oh, one unrelated note for the example I described above, the families still storing inside the version document here. Not moving to subset, yet.
Yes. That's correct. That is a different discussion though, see https://github.com/getavalon/core/issues/246
Reverted the family icon color change. :)
Dropped the shadowFamilies
and re-implement the feature by introducing new family property hideFilter
. Which will hide the family from filter widget if hideFilter = true
.
Enabled the family filter to interact with subset's all families, like this:
Spot this issue a few days ago :
If one subset/version has family that has been set to hideFilter = true
, it will not be shown in Loader.
Example:
# The families of the subset/version
subset_families = set([
"config.image",
"config.image.render"
])
# All families in database
existed_families = set([
"config.image",
# "config.image.render" # been set to `hideFilter = true`, will not be collected
...
])
VISIBLE = subset_families.issubset(existed_families)
# Since "config.image.render" has been ignored, the `VISIBLE` is `False`
assert not VISIBLE
The commit 04b2f6a solved this by filtering out item families that has been ignored, before calculation.
Quickly gave this a test run on our end. We don't have multiple families per publish yet I think, so regarding the masking I couldn't check much - I just checked for backward compatibility. It didn't break anything... so all good.
Feel free to merge.
Families icon color
Before
After
This change was aimed to improve the icon's visibility when it's been highlighted in the GUI.
Shadow Families
In some of our subset, may contain more then one family in the
data.families
document entry. For example:Both family will be shown in Loader GUI's family widget, but only the first family
"reveries.xgen"
will be able to filter out subsets.So I propose this, by adding a list of
"shadowFamilies"
into project data to mask out those families you might need to hide.