Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions architecture.dot
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ digraph G {
]
ECS [
label=<ECS<FONT POINT-SIZE="10"><BR/>The public library to interact with Decentraland.<BR/>Sometimes people refers to the ECS as “The SDK”</FONT>>
URL="https://github.com/decentraland/explorer/tree/f4c30a3cab1ef014e1f20efdb2a0a12ef6c996e0/kernel/packages/decentraland-ecs"
URL="https://github.com/decentraland/js-sdk-toolchain/tree/5ba2a3616ea419a04974be07876850ed63eca7e2/packages/%40dcl/ecs"
]
UserCode [
label=<User Code<FONT POINT-SIZE="10"><BR/>User generated code is part of the bundle<BR/> of the Scenes</FONT>>
Expand All @@ -165,20 +165,20 @@ digraph G {
}
ClientComms[
label=<Client Comms<FONT POINT-SIZE="10"><BR/><BR/>Abstraction over the communications protocols</FONT>>
URL="https://github.com/decentraland/explorer/tree/df1d30412dcd1a94d933171a39796837aedc87a1/kernel/packages/shared/comms"
URL="https://github.com/decentraland/unity-renderer/tree/b16cd758edd9cdff7d384ac9f7950832fcbd6a3f/browser-interface/packages/shared/comms"
]
EthProvider[
label="Ethereum Provider"
]
ExplorerWebSite[
label=<Explorer Website<FONT POINT-SIZE="10"><BR/><BR/>React App to load kernel and renderer</FONT>>
URL="https://github.com/decentraland/explorer/tree/df1d30412dcd1a94d933171a39796837aedc87a1/kernel/packages/shared/comms"
label=<Explorer Website<FONT POINT-SIZE="10"><BR/><BR/>React App to load the explorer</FONT>>
URL="https://github.com/decentraland/unity-renderer/tree/b16cd758edd9cdff7d384ac9f7950832fcbd6a3f/browser-interface/packages/shared/comms"
]
ExplorerWebSite -> EthProvider
ClientComms -> ExplorerWebSite
subgraph cluster_Kernel {
label=<Kernel<FONT POINT-SIZE="10"><BR/><BR/>Code package to bind all low level constructs<BR/> of Decentraland to generate an<BR/> usable Explorer Arrows are omitted for clarity.<BR/> Assume everything is connected to Sagas.</FONT>>
URL="https://github.com/decentraland/kernel"
subgraph cluster_BrowserInterface {
label=<BrowserInterface<FONT POINT-SIZE="10"><BR/><BR/>Code package to bind all low level constructs<BR/> of Decentraland to generate an<BR/> usable Explorer Arrows are omitted for clarity.<BR/> Assume everything is connected to Sagas.</FONT>>
URL="https://github.com/decentraland/unity-renderer/tree/b16cd758edd9cdff7d384ac9f7950832fcbd6a3f/browser-interface"
bgcolor=5
node [shape=ellipse]
Sagas
Expand All @@ -200,19 +200,19 @@ digraph G {
]
VoiceChat[
label=<Voice Chat Module<BR/> <FONT POINT-SIZE="10">Set of components to hook<BR/>WebAudio and Worklets to comms</FONT>>
URL="https://github.com/decentraland/explorer/tree/af59463dd3882516874c86bc926726bc557d5184/kernel/packages/voice-chat-codec"
URL="https://github.com/decentraland/unity-renderer/tree/b16cd758edd9cdff7d384ac9f7950832fcbd6a3f/browser-interface/packages/voice-chat-codec"
]
SceneLoader [
label=<Scene Loader System<BR/> <FONT POINT-SIZE="10">High level wrapper around a runtime scene</FONT>>
URL="https://github.com/decentraland/explorer/tree/df1d30412dcd1a94d933171a39796837aedc87a1/kernel/packages/decentraland-loader"
URL="https://github.com/decentraland/unity-renderer/blob/b16cd758edd9cdff7d384ac9f7950832fcbd6a3f/browser-interface/packages/shared/scene-loader/"
]
Scene [
label=<Scene<BR/> <FONT POINT-SIZE="10">Loads and Unloads scenes around the User</FONT>>
URL="https://github.com/decentraland/explorer/blob/af59463dd3882516874c86bc926726bc557d5184/kernel/packages/unity-interface/UnityScene.ts#L19"
URL="https://github.com/decentraland/unity-renderer/blob/b16cd758edd9cdff7d384ac9f7950832fcbd6a3f/browser-interface/packages/shared/scene-loader/"
]
AvatarScene [
label=<Avatar Scene<BR/> <FONT POINT-SIZE="10">It is a regular Decentraland Scene,.<BR/>it has the size of the world.<BR/> And it renders the avatars using the SDK</FONT>>
URL="https://github.com/decentraland/explorer/blob/af59463dd3882516874c86bc926726bc557d5184/kernel/packages/ui/avatar/avatarSystem.ts"
URL="https://github.com/decentraland/unity-renderer/tree/b16cd758edd9cdff7d384ac9f7950832fcbd6a3f/browser-interface/packages/ui/avatar/avatarSystem.ts"
]
MatrixClient [
label=<Matrix Client<BR/> <FONT POINT-SIZE="10">Abstraction over the Matrix protocol to<BR/> enable Friends list and private chats</FONT>>
Expand All @@ -222,7 +222,7 @@ digraph G {
label=<Sagas<BR/> <FONT POINT-SIZE="10">Like an ESB: Everything is connected to sagas</FONT>>
]
SceneRuntime[
label=<Scene Runtime<BR/> <FONT POINT-SIZE="10">Handles SDK bindings<br/>and messaging with the Scene in Kernel</FONT>>
label=<Scene Runtime<BR/> <FONT POINT-SIZE="10">Handles SDK bindings<br/>and messaging with the Scene in the Explorer</FONT>>
URL="https://github.com/decentraland/matrix-client"
]
CatalystPeer -> ClientComms
Expand Down
Binary file added architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
41 changes: 20 additions & 21 deletions docs/dcl-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,17 @@ The following is a representation of the Decentraland Platform architecture and
- [Catalyst Client](#catalyst-client)
- [Web Browser](#web-browser)
- [Peer Library](#peer-library)
- [Kernel - Voice Chat Module](#kernel-voice-chat-module)
- [Kernel - Client Comms](#kernel-client-comms)
- [Kernel - Scene Loader System](#kernel-scene-loader-system)
- [Kernel - Scene](#kernel-scene)
- [Kernel - Avatar Scene](#kernel-avatar-scene)
- [BrowserInterface - Voice Chat Module](#browser-interface-voice-chat-module)
- [BrowserInterface - Client Comms](#browser-interface-client-comms)
- [BrowserInterface - Scene Loader System](#browser-interface-scene-loader-system)
- [BrowserInterface - Scene](#browser-interface-scene)
- [BrowserInterface - Avatar Scene](#browser-interface-avatar-scene)
- [Matrix Client](#matrix-client)
- [Sagas](#sagas)
- [Synapse](#synapse)
- [Explorer Website](#explorer-website)
- [Scene Runtime](#scene-runtime)
- [Kernel - Runtime](#kernel-runtime)
- [Scene Runtime Repo](#scene-runtime-repo)
- [Compiler Bundle](#compiler-bundle)
- [AMD](#amd)
- [ECS](#ecs)
Expand Down Expand Up @@ -110,8 +110,7 @@ This client [library](https://github.com/decentraland/catalyst-client) can be us
## Web Browser

**Repositories**:
- Explorer https://github.com/decentraland/explorer
- Kernel https://github.com/decentraland/kernel
- Explorer https://github.com/decentraland/unity-renderer
- Peer library https://github.com/decentraland/catalyst-comms-peer
### Peer Library

Expand All @@ -120,25 +119,25 @@ The [Peer Library](https://github.com/decentraland/catalyst-comms-peer) manages
**Repositories**:
- Library Source Code https://github.com/decentraland/catalyst-comms-peer
-
### Kernel - Voice Chat Module
### Browser Interface - Voice Chat Module

This [Module](https://github.com/decentraland/explorer/tree/af59463dd3882516874c86bc926726bc557d5184/kernel/packages/voice-chat-codec) is the codec to hook WebAudio & Worklets to comms
This [Module](https://github.com/decentraland/unity-renderer/tree/b16cd758edd9cdff7d384ac9f7950832fcbd6a3f/browser-interface/packages/voice-chat-codec) is the codec to hook WebAudio & Worklets to comms

### Kernel - Client Comms
### Browser Interface - Client Comms

[Abstraction](https://github.com/decentraland/explorer/tree/df1d30412dcd1a94d933171a39796837aedc87a1/kernel/packages/shared/comms) over the Communication Protocol
[Abstraction](https://github.com/decentraland/unity-renderer/tree/b16cd758edd9cdff7d384ac9f7950832fcbd6a3f/browser-interface/packages/shared/comms) over the Communication Protocol

### Kernel - Scene Loader System
### Browser Interface - Scene Loader System

[Module](https://github.com/decentraland/explorer/tree/df1d30412dcd1a94d933171a39796837aedc87a1/kernel/packages/decentraland-loader) that loads and unloads the scenes/parcels based on user position.
[Module](https://github.com/decentraland/unity-renderer/blob/b16cd758edd9cdff7d384ac9f7950832fcbd6a3f/browser-interface/packages/shared/scene-loader/) that loads and unloads the scenes/parcels based on user position.

### Kernel - Scene
### Browser Interface - Scene

High level [wrapper](https://github.com/decentraland/explorer/blob/af59463dd3882516874c86bc926726bc557d5184/kernel/packages/unity-interface/UnityScene.ts#L19) around the runtime scene
High level [wrapper](https://github.com/decentraland/unity-renderer/blob/b16cd758edd9cdff7d384ac9f7950832fcbd6a3f/browser-interface/packages/shared/scene-loader/) around the runtime scene

### Kernel - Avatar Scene
### Browser Interface - Avatar Scene

It is a regular Decentraland [Scene](https://github.com/decentraland/explorer/blob/af59463dd3882516874c86bc926726bc557d5184/kernel/packages/ui/avatar/avatarSystem.ts), it has the size of the world. And it renders the avatars using the SDK
It is a regular Decentraland [Scene](https://github.com/decentraland/unity-renderer/tree/b16cd758edd9cdff7d384ac9f7950832fcbd6a3f/browser-interface/packages/ui/avatar/avatarSystem.ts), it has the size of the world. And it renders the avatars using the SDK

### Matrix Client

Expand All @@ -154,15 +153,15 @@ Like an ESB. Everything is connected to Sagas

## Explorer Website

[REACT Application](https://github.com/decentraland/explorer-website) to load Kernel and Renderer
[REACT Application](https://github.com/decentraland/explorer-website) to load the Explorer

**Repositories**:
- Web Site https://github.com/decentraland/explorer-website
## Scene Runtime

### Kernel - Runtime
### Scene Runtime repo

The [Runtime](https://github.com/decentraland/explorer/blob/df1d30412dcd1a94d933171a39796837aedc87a1/kernel/packages/scene-system/sdk/SceneRuntime.ts) handles SDK bindings and messaging with the Scene in Kernel
The [Runtime](https://github.com/decentraland/scene-runtime) handles SDK bindings and messaging with the Scene in the Explorer

### Compiler Bundle

Expand Down