I had a Gaussian splat asset in ion that was being displayed normally (Footage from Feb 9, 2026).
And I noticed that recently that same asset is apparently “broken”, with splats often “lining up”. That happens at both “My assets” page on Ion, Sandcastle, and standalone apps:
A workaround currently seems to be to not set the tileset.modelMatrix, but bake the desired transform into the root tile transform instead:
// Should work, but doesnt:
//tileset.modelMatrix = surfaceTransform;
// Use this instead:
function setTransformForRoot(tileset, transform) {
// XXX This should not be done like this, but is a workaround
// for https://github.com/CesiumGS/cesium/issues/13041
const oldRootTransform = tileset.root.transform;
const newRootTransform = Cesium.Matrix4.multiply(
transform, oldRootTransform, new Cesium.Matrix4());
tileset.root.transform = newRootTransform;
}
// Instead of setting the `modelMatrix`:
setTransformForRoot(tileset, surfaceTransform);
Here’s your sandcastle with this workaround applied:
Just wanted to add that the model was generated using the iTwin Capture API’s, using GS_3DT as the reality data output reconstruction, from a set of photos.
The issue is in CesiumJS (and I’d even hesitate to call it a “regression”), so the title of the issue may be a bit misleading, but let’s hope that it will be addressed soon.