Currently our signup screen is part of the website. To ease cross platform development the
screen will be ported and a part of unity-renderer
.
When a new user starts Decentraland (even as a guest). Our signup workflow get's started.
Kernel requests Avatar Editor in Unity.
User creates an avatar and press Done
.
Unity sends the avatar info upwards.
Kernel dispatches events regarding the change of the signup stage and deactivate Unity's rendering.
Website reacts to the stage change and displays the passport and ToS screen.
5a. User presses Back
. Events are dispatched with a
[SIGNUP_COME_BACK_TO_AVATAR_EDITOR]
event, kernel reacts to it and
requests Unity to show the Avatar Editor again coming back to step
1.
Website dispatches an event with the passport info (name and email).
Kernel finishes the signup with the passport info and converges to the normal signin workflow.
The passport and ToS screens will be ported into Unity. For kernel the workflow will be almost identical while all the related code for website will be removed.
The new flow should go as this:
Done
.Cross platform development can reuse this new signup workflow almost entirely.
The signup flow is drastically simplified as a side effect. The current implementation is hard to follow (mostly due to the lack of documentation) with all the events going up and down between kernel and website.