Offset of ClippingPlane for 3DTileset

1. A concise explanation of the problem you're experiencing.
Implementing a ClippingPlane into a BoundingSphere of a 3DTileset produces a repeatable Offset between the Plane and the visible Entity. How do I set the Entity and Plane on the same position?

2. A minimal code example. If you've found a bug, this helps us reproduce and repair it.
const plane = new Cesium.ClippingPlane(new Cesium.Cartesian3(0.0, -1.0, 0.0), 0.0)
let clippingPlanes = new Cesium.ClippingPlaneCollection({
        planes: [
let tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
        url: 'PATH_TO_TILESET.json',
        clippingPlanes: clippingPlanes,
tileset.readyPromise.then(function () {
            let planeEntity = viewer.entities.add({
            plane: {
                dimensions: new Cesium.Cartesian2(tileset.boundingSphere.radius * 2, tileset.boundingSphere.radius * 2),
                material: Cesium.Color.WHITE.withAlpha(1),
                plane: plane,
                outline: true,
                outlineColor: Cesium.Color.WHITE


3. Context. Why do you need to do this? We might know a better way to accomplish your goal.
Use the plane as slider (similiar as in the SandCastle Example for geological subsurface layers. I just copied the base code from the Sandcastle Example into my App but it produces always a little offset between Plane and Entity.

4. The Cesium version you're using, your operating system and browser.
Cesium 1.52, Linux Mint 19 (Tara), Firefox Quantum 63.0.3 (64-Bit),

the center of the boundingSphere and planeEntity have the same position:
Object { x: 4285832.617877408, y: 604679.6239251865, z: 4668261.3360750945 } for and
Object { x: 4285832.617877408, y: 604679.6239251865, z: 4668261.3360750945 } for planeEntity.position

I think I see the same offset in the Sandcastle example if you look real close. I think if it’s a constant offset the easiest way to fix this might be to just offset the visual plane slightly. I modified the Sandcastle example to make the visual plane entity use a different plane object so I can apply a relative offset.

Sandcastle link.

This is the modified plane update function:

function createPlaneUpdateFunction(clippingPlane, visualPlane) {

return function () {

clippingPlane.distance = targetY;

visualPlane.distance = clippingPlane.distance - 2;

return visualPlane;