Skip to content
🌎 Explore Decentraland from a web browser
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci chore: adding exclude to tag upload (#286) [ok: menduz] Jun 24, 2019
.github chore: Initial implementation import Mar 9, 2019
.vscode feat: chain-ability of methods 2 (#169) May 13, 2019
packages fix: avatars being destroyed randomly when they shouldn't (#316) Jul 4, 2019
public chore: add GLTF materials test parcel (#329) Jul 15, 2019
scripts fix: scene messages (#288) Jun 25, 2019
static chore: update unity build 0.5.9 (#345) Jul 19, 2019
test fix: ignore warning readding entities to the engine (#294) Jun 27, 2019
.editorconfig chore: Initial implementation import Mar 9, 2019
.gitattributes fix: bulk of fixes (#553) Mar 9, 2019
.gitignore fix: unity teleport (#254) Jun 14, 2019
.prettierignore chore: Initial implementation import Mar 9, 2019
Babylon memory leaks.md chore: Initial implementation import Mar 9, 2019
LICENSE chore: Initial implementation import Mar 9, 2019
Makefile feat: use the new & faster content service endpoint (#224) Jun 14, 2019
README.md fix: change DEBUG url param to DEBUG_MODE (#287) Jun 24, 2019
appveyor.yml chore: Initial implementation import Mar 9, 2019
build.clean.json chore: Initial implementation import Mar 9, 2019
build.client.json chore: alert outdated ecs (#488) Mar 9, 2019
build.entryPoints.json chore: Initial implementation import Mar 9, 2019
build.hell-map.json feat: messages between parcels (#197) Jun 10, 2019
build.sdk.json feat: new scene lifecycle (#173) (#174) May 23, 2019
build.support.json chore: Initial implementation import Mar 9, 2019
build.test-scenes.json feat: messages between parcels (#197) Jun 10, 2019
codecov.yml chore: Initial implementation import Mar 9, 2019
package-lock.json chore: update auth dependency (#293) Jun 26, 2019
package.json chore: update auth dependency (#293) Jun 26, 2019
tsconfig.json feat: messages between parcels (#197) Jun 10, 2019
tslint.json chore: Initial implementation import Mar 9, 2019

README.md

CircleCI

Decentraland Client

This client is fully front-end, but uses a WebRTC Signalling Server to establish connections to other users.

Contributing

Please read the contribution guidelines

Important

This repo requires git lfs to track images and other binary files. https://git-lfs.github.com/ and the latest version of GNU make, install it using brew install make

Running locally

First, build the project:

make build

To start hacking, run:

make watch

To run the client in debug mode append the following query parameter to the URL:

http://localhost:8080/?DEBUG_MODE

To run the client in first person perspective append the following query parameter to the URL:

http://localhost:8080/?DEBUG_MODE&fps

To spawn in a specific set of coordinates append the following query paramter:

http://localhost:8080/?DEBUG_MODE&fps&position=10,10

Running tests

To run all test (and save new screenshots), run:

make generate-images

To see test logs/errors directly in the browser, run:

make watch and navigate to http://localhost:8080/test

Visual tests

Visual tests are meant to work in a similar way as snapshot tests. Each time a test parcel changes the author is required to commit new screenshots along the other changes. These screenshots are then validated to detect regressions at the time of the pull request. To generate new snapshot images to compare run npm run test:dry (it requires docker)

Test parcels

It is possible to define new parcels inside this repo for testing purposes. To do so, create a new folder in public/test-parcels. There are several conventions to be followed regarding the name of these folders and the positions of the parcels, these can be found in the README file.

All test parcels must be registered in the mock.json file located in the same folder. Using the test-local: prefix means that the parcel will only be available while running the client locally.

All test parcels can be accessed inside visual tests:

import { loadTestParcel } from 'test/testHelpers'

describe('My example test', function() {
  loadTestParcel(200, 10)
  // ...

To update babylon version

Run ./scripts/updateBabylon.sh VERSION, usually to develop we run ./scripts/updateBabylon.sh preview

For releases we should run ./scripts/updateBabylon.sh latest before.

Requires jq install using brew install jq

Copyright info

This repository is protected with a standard Apache 2 license. See the terms and conditions in the LICENSE file.

You can’t perform that action at this time.