Two main aspects: 1. Split the light linking collection into two: light and shadow linking. It is easier to understand than light+shadow state plus the state of None. 2. Inherit instancer receiver and blocker sets. This solves usecase when there are multiple rocks (instances of the same object) and only some of the instances are to be linked to the light. There is notable internal difference: the is-linked-id check was removed from the only function in the blenkernel. This allows to potentially do python-level overrides in the shot file. Check somewhere else in the interface might be needed. Pull Request: blender/blender#106950