Open JGoldstone opened 1 day ago
What about keeping protocol and protocolVersion but updating the description to make it more generic? E.g. "In the case of a protocol, this is a free string by which it is uniquely identified" and "In the case of a protocol, this is a free string which uniquely identifies its version". To the second point I think for readability and parseability it is easier to keep them separate, but I am not set on this!
On reflection I think that the better thing is to change the definition of protocol to be a tuple of two strings, the first indicating the name of the protocol and the second the version. That avoids the whole issue of "what does it mean if the version is there, but not the name?". I will try and prototype and PR this after a mid-morning (NJ time) appointment here.
As the project is still camdkit, and not OpenTrackIOKit, one can imagine others building a different application with new application-specific metadata of their own added on top of core camdkit metadata perhaps used in OpenTrackIO, perhaps not.
The comment for ProtocolVersion in model.py reads "Free string that describes the version of the OpenTrackIO protocol that this sample employs." Through what was probably a copy-and-paste error, the same string is used to describe the Protocol property too.
I suggest two things:
That said, one issue raised here is that the presence of trackingProtocolVersion really necessitates the presence of trackingProtocol to be useful, and we don't have a way to express that one property requires another. A way around this would be to change trackingProtocol from being a free string to being a tuple of two free strings, the first being the name of the tracking protocol and the second the version of the tracking protocol.