Skip to content
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

Clarification for content availability of implicit tileset roots #769

Closed
javagl opened this issue May 17, 2024 · 4 comments · Fixed by #771
Closed

Clarification for content availability of implicit tileset roots #769

javagl opened this issue May 17, 2024 · 4 comments · Fixed by #771

Comments

@javagl
Copy link
Contributor

javagl commented May 17, 2024

(Edited for more clarity...)

The specification text at https://github.com/CesiumGS/3d-tiles/tree/main/specification/ImplicitTiling#availability-1 says

If the implicit root tile does not have content then contentAvailability shall be omitted.

I was a bit surprised by that statement: It is phrased as a requirement to omit this property, but it only refers to the root tile. But the information cannot be omitted when there is content available in other cells of the subtree.

It could be clarified that when the contentAvailability is omitted, it just means availableCount:0/constant:0. But requiring to omit it depending on the presence of content only in the root tile does not seem to make sense.

(This came up in the forum at https://community.cesium.com/t/omitting-content-availability-when-using-implicit-tiling/32238 )

@lilleyse
Copy link
Contributor

I think this is referring to a tile without a content property, e.g.

{
  "root": {
    "boundingVolume": {
      "region": [-1.318, 0.697, -1.319, 0.698, 0, 20]
    },
    "refine": "REPLACE",
    "geometricError": 5000,
    "implicitTiling": {
      "subdivisionScheme": "QUADTREE",
      "availableLevels": 21,
      "subtreeLevels": 7,
      "subtrees": {
        "uri": "subtrees/{level}/{x}/{y}.json"
      }
    }
  }
}

contentAvailability would be omitted since this implicit tileset contains all empty tiles.

I think the line should be reworded to

If the implicit root tile does not have a content property then contentAvailability shall be omitted.

@javagl
Copy link
Contributor Author

javagl commented May 17, 2024

Now this makes sense, on the level of the specification. It may raise questions about use-cases for an implicit tileset that does not have content at all. But one could make a case for such a tileset serving only as a purely spatial datastructure that stores metadata, for example.

To avoid similar confusion, one could probably consider to elaborate that further, with something like

If the implicit root tile does not have a content or contents property, and therefore does not define a content template URI, then this means that none of the implicit tiles has any content, and the contentAvailability in the subtrees shall be omitted.

@lilleyse
Copy link
Contributor

@javagl that sounds good. Could you open a PR with that wording?

@javagl
Copy link
Contributor Author

javagl commented May 17, 2024

Yes, there are a few "smaller" things that I can try to address in a few small PRs during the weekend, like

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants