Initial AOUSD formatting proposals - #2520
Conversation
This changelist contains an initial set of formatting proposals for the Standard Nodes specification, organized by the AOUSD Materials Working Group.
|
Generally speaking, I really like this new proposal: it's quite a bit easier to read, and the increased consistency of formatting and the use of the tables for inputs improves the ease of finding specific information. A few notes:
Some things we can discuss:
I would also suggest that while we're in this transition period, we should keep the original-format version around e.g. "MaterialX.StandardNodes.legacyformat.md" or something like that; once we're happy with the new format and are certain that no information from the legacy document is lost, the legacy-formatted version could be removed in a separate PR. |
ld-kerley
left a comment
There was a problem hiding this comment.
I've made some good progress on the automatic generation of this doc.
The comments below are the outstanding differences. Mainly either minor formatting changes, or places that look like small errors introduced in the human refactoring.
|
@dbsmythe regarding your questions:
For Accepted Values, we tried with it always there and it was pretty ugly, so we're inclined to keep it optional. We can try again if we manage to figure out a way of getting the table widths to always be 100% as maybe that will be less distracting . There normative description does indeed use equations to unambiguously define the operations of the nodes. In the cases where that would be onerous (e.g. fractals) we'll probbaly use pseudo-code. It sounds like you might be asking to include the normative descriptions in the MaterialX spec as well? |
|
@anderslanglands Responses to your responses: Re: accepted values optional vs always: as long as "accepted values" are shown wherever they make an important difference, I'm okay with leaving "accepted values" empty if any value of the type for that input is acceptable, and removing that column if all ports for a node can accept any value. Re: indicating nodegraph vs native implementations: I agree this is generally an implementation detail, though I thought it would be useful to those implementing new targets to know which nodes they'd need to implement explicitly for the target and which "come for free" via a nodegraph implementation. But I'll defer to the community if this detail isn't worth the added clutter to the tables. Re: adding equations/pseudocode descriptions to the Spec: I think this would worthwhile in some instances where there could be confusion, but would just be added clutter in most cases. If the normative descriptions become part of (or are tightly linked to) the Spec, then no additional equations/pseudocode descriptions would be necessary. |
|
@dbsmythe - Firstly thanks for all the feedback - I know you're super busy with production. Regarding annotating the nodegraphs - I would pose that anyone who is implementing a new target would also be required to investigate the actual data library files themselves, and so would "hopefully" have the expertise to understand which nodegraph elements they could choose adopt "for free". I'll note that implementors are free to choose to reimplemented, existing nodegraphs themselves as well. The specification is complete enough to stand alone, without any dependence on the data library. |
Add definition of "ports" to MaterialX Specification in the "Nodes" section, per discussion in PR AcademySoftwareFoundation#2520 to align with AOUSD terminology
Add definition of "ports" to MaterialX Specification in the "Nodes" section, per discussion in PR #2520 to align with AOUSD terminology
- Update the format of the `dot` node. - Improve the layout of the `place2d` node. - Add missing punctuation.
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
dbsmythe
left a comment
There was a problem hiding this comment.
Thanks- this all looks good as a solid starting point- I have some nitpicky formatting and clarifying change thoughts, and a few nodes haven't yet been updated to the new table-style format, but I think the best way forward would be to approve this, then I'll offer up my suggested changes as a follow-on PR to this.
Huge thanks to the AOUSD group for their efforts in this update.
|
Thanks @dbsmythe, and let's go ahead and merge this as a foundation for your upcoming improvements. Thanks to my colleagues at the AOUSD Materials Working Group, whose work made these improvements possible! |
42ce4e9
into
AcademySoftwareFoundation:main
This PR adds additional clarifications and fixes to the new Standard Nodes formatting from PR #2520. It also adds AOUSD-style tabular formatting for the remaining nodes that hadn't yet been updated.
This changelist contains an initial set of formatting proposals for the Standard Nodes specification, organized by the AOUSD Materials Working Group.