I found a solution, lurking in a reply to a slightly different question on another Help forum. The animation has to wait for the next video frame to be activated; an 'await' is enough for this
Here is the code, updated, and going through the three phases of the Blend3 animations, from 'Idle', to 'Walk', then 'Push', back to 'Walk', finishing on 'Idle'...
'''
lv_blen = lc_blen_idle
for lv_coun in range((lc_blen_idle*100),((lc_blen_walk*100)+1),1):
lv_blen = float(lv_coun)/100
lv_anim_tree.set("parameters/Blend3/blend_amount", lv_blen) # lc_text_walk)
await get_tree().process_frame
await get_tree().process_frame
lv_blen = lc_blen_walk
for lv_coun in range((lc_blen_walk*100),((lc_blen_push*100)+1),1):
lv_blen = float(lv_coun)/100
lv_anim_tree.set("parameters/Blend3/blend_amount", lv_blen) # lc_text_push)
await get_tree().process_frame
await get_tree().process_frame
lv_blen = lc_blen_push
for lv_coun in range((lc_blen_push*100),((lc_blen_walk*100)+1),-1):
lv_blen = float(lv_coun)/100
lv_anim_tree.set("parameters/Blend3/blend_amount", lv_blen) # lc_text_walk)
await get_tree().process_frame
await get_tree().process_frame
lv_blen = lc_blen_walk
for lv_coun in range((lc_blen_walk*100),((lc_blen_idle*100)+1),-1):
lv_blen = float(lv_coun)/100
lv_anim_tree.set("parameters/Blend3/blend_amount", lv_blen) # lc_text_idle)
await get_tree().process_frame
await get_tree().process_frame
'''
Using two 'await' instructions gives a reasonable delay between the actions in this case, more or less could be used in a different context.
There may be more elegant ways of achieving this result (I'd like to see them...), but this is enough to enable my Project to go forward. Thanks for reading this. :-)