Deprecating vtkCompositePolyDataMapper2 in favor of vtkCompositePolyDataMapper

Yes. It’s handled by the delegator machinery. You can listen to the vtkCommand::UpdateShaderEvent from vtkCompositePolyDataMapper. Are your observers not invoked? Please create an issue if it doesn’t work for you.

It’s implemented in vtkOpenGLBatchedPolyDataMapper.cxx#L889