[DAO:6295591] Update #1 for project "Protocol Squad - Alternative Explorers (Desktop, Mobile & VR)"

Author: 0x83f9192d59b393c8789b55d446e5d4a77075c820
Update Status: On Time
Project Health: :green_circle: On Track

Introduction

Thank you all for trusting us again. We’re pleased to continue this fantastic work and set the base two pure open-source alternatives for Decentraland.

Welcome to the first grant update. This team has the primary goal of developing an explorer version using two different technologies:

  • Bevy targeting to Desktop: featuring experimental and developer features to enhance the creator’s possibilities
  • Godot targeting to Mobile and VR: pointing to have a reliable and production-ready explorer.

Highlights

We are still updating the same project tracking here: DAO Explorers · GitHub

Bevy (Desktop)

The distant rendering tests are being done in this explorer, you can check for some videos in this update coment. This is work in progress, and it’s in its final stage.

A bunch of fixes were released recently, you can download the latest version to test it:

  • fix crash with unclosed text delimiters (<)
  • fix gltf collider name case sensitivity
  • fix blocking io threads cause failures on low-core systems
  • fix crash on nan-values in ui nodes
  • fix lag spikes from audio with insane start times
  • fix crash from nft despawning during creation
  • fix crash from combo-box despawning during activation

Godot: Mobile and VR

The improved sign-in is ready, we are still making some tests but the changes are already merged to main and with a bunch of fixes more:

  • feat: add webview and custom chrome/firefox/etc for android and webkit for ios tabs for signing-in
  • feat: loading only when you pass to another scene (default=true)
  • hotfix: pointer events not working (regression)
  • fix: animator, player transform, audio source out of the scene and TextShape align
  • refactor: bump gdext to previous version of setting MSRV 1.78
  • bump to Godot 4.3
  • feat: add network inspector UI
  • fix: avatar rendering and scene crashes doesn’t kill the scene anymore

Adaptation Layer

We’ve merged the changes made by the previous SDK team. Most of the functionalities are working, and the UI and 3D work fine. As a test, we could mine some meteors in Wondermine, and the GolfCraft scenes are just loading fine.

Improved Desktop UI (Scene)

The team is working in a proof-of-concept to build the UI with the current SDK7 runtime for the explorer. At the moment:

  • Mocked UI Screens to replace explorer client’s UI. They still need to be connected with the explorer API.
  • Loading and Login screens.
  • Main HUD without Map.
  • Menu navigation
  • First approach of Slider, Buttons and Dropdown styled components (WIP)
  • Avatar Profile structure (WIP)

Asset pipeline process

We started diagramming the pipeline to preprocess content assets as a second layer. This layer will improve loading time, memory consumption, and performance, especially for low-end platforms. It will also be used for distant rendering.

Catalyst endpoints collaboration

We are researching an improvement for the catalyst by caching scene entities: feat: set fixed cache for active scenes and add all scenes getter by leanmendoza · Pull Request #1829 · decentraland/catalyst · GitHub.

Profile image generation

We keep collaborating with Foundation to have a profile images generator: GitHub - decentraland/profile-images: Service to generate and profile images of avatars

Blockers

We raised a post in the forum to concern about the non-collaborative approach that the Foundation took for some of the new client systems: Report on Recent Changes in the New Foundation Client and Their Impact
We know they hold the Decentraland IP (Terms of Use), but one of the core well-diffused values has been the openness to the community.

We also ask them to work in a staging branch to test their concepts there before lighting them and to have clear playgrounds so the community can participate.

Next steps

We will be working on:

  • Finish the first iteration for the distant rendering and release the change in Bevy Explorer
  • Explorer Scene UI for Bevy Explorer
  • Finish the first iteration for the asset pipeline preprocess for both Explorers
  • Finish the asset optimized loading in Godot Explorer
  • Store implications in Godot Explorer

Additional notes and links

View this update on the Governance dApp

1 Like

Nice work! Has the foundation said anything about the client compatibility and staging area?

About the compatibility, they are preparing an ADR to document the changes they’ve already made; the hurt is already done.

We suggest they use a staging branch to avoid that in the future. For development things, in general, you have access to the next SDK version and have a couple of months to test the changes. If you are the creator testing those features, the risk is they might change, but you’re helping to test and iterate a new thing and its integration with existing ones.

I’m not sure what they’ll do; they first disagreed about the usage and then told us maybe it is a good idea for major changes, but the answer was ambiguous.