itwinjs-core icon indicating copy to clipboard operation
itwinjs-core copied to clipboard

Add optional nop fallback to frontend tiles and DPTA

Open mathieu-lemuzic opened this issue 1 year ago • 2 comments

Add optional Nop fallback to frontend tiles and DPTA so that we can catch tileset.json parsing errors earlier

We also exposed Nop fallback options to display test app test configuration options.

mathieu-lemuzic avatar Jul 03 '24 17:07 mathieu-lemuzic

Did you run ImageTests with this option enabled? Some 3d models exist that TilesetPublisher intentionally never includes in its tileset. Primarily, 3d models used in drawings and sheets, but technically any 3d model that is marked "private" and/or is not spatially located. BatchedSpatialTileTreeReferences falls back to using V1 tiles for those models. At a glance, it looks like your "nopFallback" will cause nothing to render for those models. Is the assumption that none of the test cases you want to run using the no-op fallback will include such models?

pmconne avatar Jul 03 '24 17:07 pmconne

Did you run ImageTests with this option enabled? Some 3d models exist that TilesetPublisher intentionally never includes in its tileset. Primarily, 3d models used in drawings and sheets, but technically any 3d model that is marked "private" and/or is not spatially located. BatchedSpatialTileTreeReferences falls back to using V1 tiles for those models. At a glance, it looks like your "nopFallback" will cause nothing to render for those models. Is the assumption that none of the test cases you want to run using the no-op fallback will include such models?

I will try it, but this nop option can be set for the whole test set, or for each single test, so in the worst case we can chose which tests shoud fallback to nop and which one to V1

mathieu-lemuzic avatar Jul 03 '24 17:07 mathieu-lemuzic

Some 3d models exist that TilesetPublisher intentionally never includes in its tileset. Primarily, 3d models used in drawings and sheets, but technically any 3d model that is marked "private" and/or is not spatially located. BatchedSpatialTileTreeReferences falls back to using V1 tiles for those models.

@pmconne Does that mean that there is another fallback to V1 somewhere else ? at the moment it seems that I'm only falling back to V1 if the tileset json is missing or if there is deserialization issue when reading the file...

mathieu-lemuzic avatar Jul 04 '24 11:07 mathieu-lemuzic

@pmconne Does that mean that there is another fallback to V1 somewhere else?

Yes, here for specific models not included in the batched tiles.

pmconne avatar Jul 04 '24 12:07 pmconne

@pmconne Does that mean that there is another fallback to V1 somewhere else?

Yes, here for specific models not included in the batched tiles.

I don't think this will be covered by the Nop fallback, here we only want to make sure we don't want to publish an invalid tileset json (it happended already).

As long as there is a valid tileset json found, we will proceed as usual.

mathieu-lemuzic avatar Jul 04 '24 12:07 mathieu-lemuzic