This blueprint gives a true signal for each corner if it is necessary or recommended to implement with a swapper.
The following logic should be viewed from the perspective of corners:
Platform 1
If this is c, then 1.
If there is something above this that is 1, then 1.
If this is S, which is below G, and there is no S or c to left, and c or 1 to its right, then 1.
If this is S, which is below G, and there is no S or c to right, and c or 1 to its left, then 1.
If there is a G below this and the two next to it are 1, then 1.
Platform 2
If this is 1, then 1.
If there is something above this that is 1, then 1.
If this is ( ( S or P or c ) and below it is G ), then the one on the right is also be ( 1 if ( S or P or c ) and the bottom layer is ( G or ( P above which is ( S or P or c )))) .
If this is (( S or P or c ) and below it is G ), then the one on the left is also be ( 1 if ( S or P or c ) and the bottom layer is ( G or ( P above which is ( S or P or c )))) .
If this is the bottom layer and this is P, which is above G, then 1.
The pins on the bottom layer above which there is a gap must be implemented with separate logic connected to your claw logic.