I will try to explain...
Imagine simple platformer game with player and obstacles.
How we move player in that world?
Every frame we somehow calculate player_delta_position value that we add to player_position.
But because we have obstacles in our way, we should correct that value.
First, we fire bunch of horizontal rays and get corrected_player_delta_position_x value in return.
Second, we cast vertical rays. But what start_x for vertical rays should be?
It should be player_position_x + some_offset_x_for_concrete_ray + corrected_player_delta_position_x.
Here the issue. In Defold, we request all rays at once. But corrected_player_delta_position_x available only after raycast_response.
When we have moving platforms, pushable and stackable crates things get "hairy" and out of control very quickly.
I can't say what that is impossible. Actually, i have working implementation with all of those things. It looks good at runtime. But this is definitely not should be implemented that way. I end up with sealed tilemaps, rays with 5-10k pixels length (that way ray always hit something) and crazy logic. And i reach raycast buffer length limit.
What I give up to implement, is slopes. If anyone has working implementation of how to climb and descend slopes in Defold (using raycasting), a would like to see the code.