-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
Assetv2: Unprocessed asset meta defaults. #13785
Conversation
I think it could get noisy having a settings file per extension. Would a map in a single settings file make more sense? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, I've taken a look. Opinions:
- I really like the ability to set defaults for these files: I think it's really essential to make working with larger numbers of assets actually ergonomic and usable for teams.
- I would prefer to build towards a model of specific-overrides-general nested meta files from the beginning, with a recursive upwards search through the folder structure, stopping when a matching meta-file is hit. This is generally very powerful, and should let us reduce the special-casing for per-file meta files.
- I'm fine with extension-specific meta-files for this PR. Being able to bundle multiples types into a dictionary is an interesting direction, but orthogonal to this work.
- Obviously, this code needs more work, docs etc. Bother me when you want a nitpicking pass.
I don't think so.
I did consider the map in a single file and actually started with that locally, but I think it is a lot more error prone. I'm thinking in terms of artist workflows for the most part, where dropping a "png.defaults" type file in a parent directory is pretty easy to figure out. |
- Change meta extension name to "defaults" - Define consts for meta and defaults extensions. - Properly support compound extensions. Fixes looking for "ron.defaults" instead of "cool.ron.defaults" - Update example to test parent directory defaults.
…/modify) anywhere in the assetsource filesystem tree.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great :) I like this design, the code quality is good, and there's new documentation addressing this. LGTM once CI is green and the typo I pointed out is fixed.
I need to investigate the other types of AssetReader, which don't yet support this feature. |
Objective
When processing assets, a meta file is produced per asset. By default, these meta files are redundant. If many assets are intended to be processed the same way, only one meta file should be needed per asset type.
This PR enables the creation of an "extension.defaults" file that will govern the processing behavior of all assets that do not have their own meta file.
An example where f.cool.ron will use cool.ron.defaults for processing because it has no meta file of its own.
Solution
Questions
Testing
Changelog
Migration Guide