-
Notifications
You must be signed in to change notification settings - Fork 156
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
3D Tiles Validator Roadmap #5
Comments
Hey team! I'm interested in using the validator, but see that things have stalled. I'd be open to contributing, but I'm not sure how up-to-date this roadmap is. Any chance someone familiar with this could give the checklist ☝️ a once over? |
Recently, there have been some efforts to revive the validator. I'll try to summarize the points from the roadmap here. The original points (or summaries thereof) are given in "italics". Comments/resolutions are given in plain text. Points that are already covered are omitted. Validator roadmap
Requirements/Architecture
tileset.json validationThe general validation (JSON schema, basic spatial coherence, ...) are covered now. The ones that are not covered yet:
Tile format validationThis section listed different aspects that could be validated for the tile formats Considering that everything is either addressed, obsolete, or tracked in existing issues, I think that this issue can be closed. |
Validator roadmap
Validates
b3dm
i3dm
pnts
vctr
cmpt
This is a non-exhaustive list, please add all corner-cases as you come across them. Also update the spec/schema with cases that they do not cover.
Requirements
Architecture
tileset.json validation
geometricError
must be<=
to the parent tile'sgeometricError
.root.geometricError
must be<=
the tileset'sgeometricError
.boundingVolume
must be inside/overlap its parent tile'sboundingVolume
(taking into account applyingtransform
s).boundingVolume
. See Bounding volume spatial coherence.transform
and glTF node hierarchy (use gltf-pipeline). Get enough experience before tackling this one.content
(because it is just used for culling), itsboundingVolume
must be completely inside its parent tile'sboundingVolume
. Also update the spec with this.tile.content.boundingVolume
, when defined, is completely insidetile.boundingVolume
(use Cesium's functions)tile.content.url
points to a file that exists (and a tile/tileset that validates)tile.content.url
is an external tileset, these rules must be followed.Tile format validation
b3dm
_BATCHID
.batchId
attributes are in range, i.e., they exist in the Batch Table.i3dm
BATCH_ID
semantic, if defined, is in range (have a generic validation function for this).NORMAL_UP
/NORMAL_RIGHT
(orNORMAL_UP_OCT32P
/NORMAL_RIGHT_OCT32P
) are defined, verify that they are orthonormal.pnts
BATCH_ID
semantic, if defined, is in range (have a generic validation function for this).RGBA
/RGB
/CONSTANT_RGBA
are in range.NORMAL
/NORMAL_OCT16P
are defined, verify they are of unit length.vctr
BATCH_ID
semantic, if defined, is in range (have a generic validation function for this).cmpt
Declarative styling validation
Do this last after the tileset.json and tile formats validation.
undefined
?The text was updated successfully, but these errors were encountered: