Hi Rob
Thank you for your review
+Each ports / port / endpoint can have its type if needed.
I think type should only apply to a port. ports is only a grouping for multiple ports. endpoints are just the connection. A port is a single data flow, so 2 endpoints on a port reflect 2 possible connections for that data flow.
+child node can take over parent node type. below example indicates +device0 type is "typeA" && "typeB", +device1 type is "typeA" && "typeB" && "typeC".
This does not make sense to me. A concrete example perhaps using HDMI audio would be helpful.
"type" on "port" only is OK. I will fix that.
Multi type feature (= take over from parent) and type on "endpoint" is not urgent at this point, so I will drop these in v2. I just thought that it will be necessary in the future.