well, what a seamless blend does is key one set of controls to the same location as the other when you do a blend, and do the switch across one frame.
i.e.: none seamless blend: take 10-15 frames to go from IK to FK, so the viewer sees motion as result of constraint animation (and the animator sees the arm move when he/she switches IK/FK)
seamless blend: take 1 frame to go from IK to FK. at (e.g.) the IK side, the FK bones are keyed to their visual rotations, so that the FK chain is responsible for the animation from one position ot another. If an animator is using an automated setup this is done (surprise) automatically: i.e. the animator switches to IK, resulting in moving the IK target to where the chain already is, and keying the visual rot of the FK chain, so there is no visible jump. the animator could of course, do this themselves (more or less) in practice.
my workflow:
animate in FK in frames 1-30 (e.g.)
at IK switch point: (frame 40 for example)
pose and key the armature in IK
then select the FK chain and key->visual rot
you’ll notice after you’ve done this that (at frame 40) the chain doesn’t move if you turn IK on or off- that’s a manual seamless blend!, furthermore, the interpolation between frame 30 and frame 40 is due to the FK bone interpolation, not to the IK influence, so it is a tad more predictable.
you can go the opposite way:
at your FK switch frame (say frame 61) turn the IK off
go to the last IK frame (frame 60), key your IK controllers for safety, select your FK chain and key visual rot
go to frame 70 and make your next pose in FK
yes, I realize it’s a hassle, but at least this way there is no mystery as to what happened during hte blend. if you want to adjust the poses or timing, you should know exactly what keys you need to move, or which bones you need to re-key, without mysteries. If a script does it, but doesn’t somehow automate over tweaks, it becomes slightly nightmarish…
btw, I still think there is a way to do this entirely automated, either in python completely or with some blender enhancement. you basically need a way for the software to keep a record of each constraint switch, store the keys it made to keep the visual appearance consistant, hide the info from the animator and just expose a “blending key” that they can then use to easily change where the blend happens. If you change the pose, the script/blender could automatically change the visual keying of the opposing (IK if you change the FK pose, FK if you change the IK pose) pose without disrupting the blend.
of course, this might result in some new sideffect I haven’t thought of.