First this. The key controls dont work for me. I suppose the functions are not in place yet. I have set the platform on default controls to be able to move the player. I had to change the gamepad triggers to a key trigger for the same reason.
You have doorObj.nextLayout set to "test_01" in the properties plane. Dont use the "'s In the properties plane to assign a string to an instance variable. Just test_01 without the ""-tingys.
That event can much easyer. This does allready what you want. And it is not running every tick the player is overlapping a door. Only when the key is pressed (had to change the gamepad trigger, dont have one).
Then there is something that i dont understand. The two player objects are set Global = No, in theire properties. Normaly, if you change layout, they should get destroyed. So you must create them somewhere, but i cant find the creations in your, dang well commented and organised, project.
Normaly, one would set those two objects to global. Global means, once added to a layout, they stay forever. Even if you change layouts. Till you destroy them, ofcourse. Theire instance variables will also survive a layout change. At this moment you move the object to global variables for a new x&y. Hence: Global. If you make those objects global, you could let the door write to instance variables of the player-helper, wich is more elegant, and flexible.
It is common use to start the game in a 'loader layout'. This layout contains the Global objects, it loads everything needed from Local storage, sounds ... etc. And then moves to the actual layouts, taking the Global Objects with it.
If i do so in the project, i get two players on layout change. They are not in layout of test 1 & 2, so they must be created somewhere. But i am to dumb to find the create actions, or i misunderstand something.
Something totaly differend. I dont like the lerp on the camera. Lerp expects static input. If you use non static inputs, the lerp will never reach the destination. Resulting in a restless camera and flickering, because you have pixelrounding set.
Hope i helped. The main problem was the "" in assigning text to instance variables in the properties plane.