We are trying to develop a View Dome function using ArcGIS JS API. The effect should look similar to View Dome function in ArcGIS Pro exploratory 3D analysis tools, where the areas blocked by other 3D objects will be rendered differently from areas that are "visible".

Right now, our idea was to create a point, allow users to input a radius value, use ObjectSymbol3D to render the point. But we stumble over the last step, that is, to render areas "blocked" differently from areas that are "visible".
Has anyone done something similar? Would love to discuss how this can be achieved.