I’ll have to check some details, and maybe create an own example for this, but to quickly confirm: When you do the same thing with componentType: INT32, then it behaves as expected?
(I.e. clicking the triangle does … not show anything or show something like “noData” (I’d have to check what CesiumJS does there exactly)?)
yes, tested with uint8/int8/int16/uint16/int32/uint32/float32/float64/string , then when attribute = nodata nothing shows up (as expected).
With Vector3 there is something else going wrong, I’ll make another issue for that.
This is an issue in CesiumJS. It compares the incoming value, which is of type bigint, to the noData value that was read from the schema, which is always of type number.
It should be an easy fix (in doubt, just removing a single =, maybe…), but some possible corner cases should be thought through.
(The obvious “corner” case would be that someone tries to define a noData value in the schema that does not fit into number - but … that’s broken on the level of JavaScript JSON parsing, and there is no reasonable way to avoid that…)