Bit more on lifts in Godot today. Re-engineered how the whole thing works: now everything is driven by the stationary lift doors. Each door has a reference to a lift and a target door. This makes the lift carriage itself rather passive: it will continue to reparent the player as before, but it no longer needs to track activations or have animating doors of it’s own. The doors just tell it where and when to go.
This has got proper targeting working so that a lift can now move between a pair of doors. It also allows for the player to call for the lift when it’s not positioned at the doors already. There are a few more dependencies amongst the various entities, but I think it makes for a more robust system.