decentraland / decentraland/builder
Publish to world implementation proposal
- Dominant language
- TypeScript
- Stars
- 156
- Forks
- 91
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 31
Description
I'm braindumping here what I think would be needed to add support to publish scenes to worlds:
## Publish:
1. The user clicks on Publish from the Editor
2. A third option in the modal to Publish to World
3. We need to add a new step where the user picks a name from a dropdown to deploy to (if no name available, suggest to claim one and link to claim page). Add also a checkbox to deploy to Foundation worlds content server that when unchecked should show an input to deploy to a custom server.
4. Skip the step to select which parcel to select to (we can hardcode 0,0 as the base).
5. Build and upload the scene the same way we always do but pointing to the selected wolrd content server (either Foundation or custom). For this we could create a `deployToWorldRequest` saga based on the `deployToLandRequest` saga that does the same thing but it uploads the content to the Foundation worlds content server instead of the catalyst, and it also adds the necessary stuff to the `scene.json` (like the `worldConfiguration.name` which will be necessary for the content to be accepted by the server).
## Status:
To show that a wolrd has been deployed to a world, we will need to:
1. Modify the `fetchDeploymentsRequest` saga to also fetch deployments to worlds. For this we will need to wait for the name to be already loaded, and then for each name request the Foundation worlds content server to retrieve the deployment for that world (if any). We then add those to the deployments of the `fetchDeploymentsSuccess` action.
2. We will need to modify the `Deployment` type to be able to add a `world` or `name` optional property that only scenes published to worlds will have.
3. We will need to modify the logic of the `getDeploymentsByProjectId` to also account for deployments to worlds.
4. We will need to modify the `DeploymentStatus` component to show the name of the world instead of the deployment base when the deployment is done to a wolrd.
5. We will need to modify the `DeploymentDetail` component to show something different (ie. the map thumbnail does not make scense, maybe remove that and show a wolrd icon and the world name?).
6. We might need to modify the SceneDetailPage to split the `DeploymentDetail` list into two sections (genesis city / wolrds?) or maybe not, but since they will show different stuff depending on where the scene was deployed, they might not look good being displayed all in the same list.
Contributor guide
Assessment
This issue has not been assessed yet.