Skip to content

Interpreting "should" around extensions definition in spec #814

@weegeekps

Description

@weegeekps

This morning a discussion arose around what is the correct interpretation of "should" in this clause of the 3D Tiles spec:

All extensions used in a tileset or any descendant external tilesets shall be listed in the entry tileset JSON in the top-level extensionsUsed array property...

My interpretation of this clause is that the "shall" indicates that the specification is only satisfied if all criteria is true. That is that:

  • An extension is being used (included) in a extensions field for the tileset JSON of the tileset or a descendant external tileset.
  • The extension is specified in the extensionsUsed for the tileset.

So, in the event that only one of these components is true, then the implementation is incorrect. E.g. An extension is specified in extensionsUsed but not used anywhere in any extensions field for the tileset or its descendants.

As stated in the thread my interpretation is based on my understanding of the ISO directives that define "shall" and related terms.

I'm not entirely sure what the correct answer is here, but I think it's important for us to answer this question. If my interpretation is incorrect, I absolutely want to know. Conversely, if my interpretation is in fact correct, there's potentially a fix we need to do for Reality Analysis.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions