-
Notifications
You must be signed in to change notification settings - Fork 242
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
Draft for handling ignored validation warnings #591
base: main
Are you sure you want to change the base?
Conversation
Did we come to a conclusion regarding this topic? |
I did show this (I think to the Tooling TSG), and there was no "strong feedback". I'll bring it up again tomorrow, just to confirm, but if nobody has strong opinions, then I think this could be a reasonable approach for solving this. But... the implementation itself may have to be polished/reviewed:
I can do both (probably during the weekend), but am not sure how to handle some of that HTML/CSS stuff. Rant: This... That should be |
We had another look at this in the Tooling TSG, and agreed that it probably makes sense to handle the ignored warnings like this. The last commits contain minor cleanups, but feel free to apply or ask for changes during the review. |
Currently, if an asset has only the tangent space warnings and info, than the blue i label is shown. Is showing the i indicator more important than showing the number of infos? An example for this behaviour is AnimationPointerUVs. While I think that using absolute position for the number indicator looks a lot better, it runs into issues with large numbers.
|
No strong opinions from my side on this. I thought that showing the validator icon in the background and the number on top looked a bit nicer than just replacing the icon with the number. I'm not a CSS expert, and don't know how easy each of the options is that I could now brainstorm about:
For the question about the importance of the blue (i) vs. the number of "infos": When the asset contains warnings, then it also shows the yellow "(1)", and not that there may be 100 infos or so. So no information is "lost" with the new approach. Maybe one option (again, on the brainstorming level) could be to
Roughly like this, ... but not done in Paint 😬 and partially depending on how the "large numbers" issue is resolved. |
Regarding the i indicator: I think the current implementation is fine. Just wanted to double check. I think the the 100+ (or 999+ fits better I guess) is the best solution since even with the original solution it will look wierd with larger numbers at some point. |
There has been some feedback saying that the scary, yellow "Validation warnings" indicator, and the message
"Number of warnings: 123"
could be confusing, and raise questions for end users:
Dramatization via emoji by me
A specific aspect that raised concerns here was that many of the official sample models do generate warnings. And without further context, this could give users the impression that ~"The sample models are not really valid, somehow...". But this is not the case. The sample models are valid. And there are some models that even are intended for testing cases that generate warnings.
However, most of the warnings that had been generated for the "Showcase" models had been
MESH_PRIMITIVE_GENERATED_TANGENT_SPACE
which is described as
Leaving out the tangent space information can be a conscious decision by the creator of the model (to reduce the size). But it can limit portability in cases where the renderer/viewer does not generate proper tangent space information.
Different options for addressing this have been discussed in the 3D Formats Tooling Working Group. A previous pull request simply disabled this warning on the level of the validator. An undesirable side-effect of this was that
Another option is drafted (!) here:
When there are "infos", then the number of infos is displayed in a white circle:
When there are "errors", then the number of errors is displayed in a red circle:
When there are warnings, the special handling kicks in:
When there is any warning that is not one of the "ignored"
MESH_PRIMITIVE_GENERATED_TANGENT_SPACE
warnings, then the total number of warnings is displayed in a yellow circle:When all the warnings are the "ignored"
MESH_PRIMITIVE_GENERATED_TANGENT_SPACE
ones, then it shows an innocent, calming, "i" (for "info") in a Pale Blue Dot.If there have been "ignored" warnings, then the validator tab will show an elaborate message, saying how many warnings have been "ignored", and explaining the reason why this is OK for the sample viewer. (Wording TBD)
The current state of this PR is a DRAFT, to illustrate what this may look like for the end user.
The implementation will have to be cleaned up. And whenever I have to do anything that even remotely involves CSS, I'm reminded why I am not (and will never be) a web frontend developer. But I can do some cleanups, at least (e.g. the change from the previous PR is just commented out here).
@DRx3D @emackey @lexaknyazev