Giter Club home page Giter Club logo

editor-legacy's Introduction

Marketplace

Decentraland's Marketplace

Frontend

Coverage Status

The Marketplace is a React static site. Its code can be found under the /webapp directory.

Backend

It can be found under /indexer.

How to contribute

Contributing to the Marketplace is easy, you just need to go through the following process:

  1. Look for issues in the Issues tab or create a new one with the proposed changes. We classify issues with the “Enhancement”, “Bug” or “Good first issue” tags. Feel free to check one of those first.
  2. Contact team members via the GitHub issue or use the Code Contribution Discord channel. It’s important to at least check on the issue status before starting.
  3. Set up your GPG key and sign all commits in your branch.
  4. Read the testing standards and the coding standards to produce code that fits the project standards.
  5. Create a PR with the changes, linking the PR to the created issue. If there are visual changes in the PR, attach images.

Copyright & License

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

editor-legacy's People

Contributors

andyli avatar bnolan avatar bobchao avatar caseyyee avatar coder206 avatar cvan avatar darkwing avatar delapuente avatar dirkk0 avatar dmarcos avatar donmccurdy avatar eordano avatar feiss avatar fernandojsg avatar jsantell avatar michaltakac avatar ngokevin avatar nicosantangelo avatar nucliweb avatar vershwal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

editor-legacy's Issues

Camera coordinates don't save with the scene

Create a scene in Editor
// Note that the Camera position is <0, 1.6, 0>
// Note that if you enter the scene with Alt+Ctrl+i you are looking at the scene from there
Move the camera to y=20M (up high), or <0, 20, 0>
Use Alt+Ctrl+i to confirm that the scene viewing initial camera position is high.
Publish the scene
Reload the scene
Camera is back at <0, 1.6, 0>

Editor lacks undo feature

Editor sorely needs a multillevel undo/redo capability.
Recommend using:
Ctrl+Z to undo (multiple levels)
Ctrl+Y to redo (multiple levels)

It would be acceptable if the undo stack was cleared upon a save.

Editor Chat window can cover the lower part of the Scenegraph panel, poor workarounds

The Editor text chat window covers the bottom of the left hand "scenegraph" panel.
This can make it hard to see all the entity hierarchy in the scene.
This is made worse if you don't have a huge pixel array monitor.
For example, on a laptop with a 1920 x 1080 display, the chat window covers some of even the small number of objects in the default starting scene.
There is no ability to move, hide, or collapse the chat window.

Partial workaround
Press Ctrl+- to zoom out the panels until you can see.
This will never be a completely sufficient workaround for complex scenes

There is no obvious way to import an external object to Editor

Summary: what are the recommended practices for importing foreign objects into IPFS or other web storage and then getting them into the "inline" storage (in the A-Frame sense of "inline")?

This MIGHT only be a documentation request.

Steps to reproduce the UX problem:

  1. Open editor, new or existing scene
  2. In the DCL Editor scenegraph panel on left, click on Add... - .obj
    // see a selection tool appear at the origin
    // optionally move this to somewhere you want the object to initially appear.
  3. Scroll to bottom of the Components panel on right
    // observe a place to enter paths for .mtl and .obj
    // If you look at the paths for the DCL logo disk object, you see paths that are relative to some root which is nowhwere documented what it is.
    // /obj/Decentral_2.mtl
    // /obj/Decentral_2.obj
  4. Wonder how to get objects and materials uploaded in a way that they can then be used with paths like this
  5. Tried putting the .obj and .mtl into the A-Frame Asset Uploader (UploadCare) https://cdn.aframe.io/
  6. Tried putting the full paths with domain names of the uploaded files into the scene.
  7. The object appeared (the mtl didn't, but that may be a different issue)

Need a way to move camera to selected entity

Steps to reproduce:
Place an entity at a higher Z elevation, (anything too high to see with current camera position), or just Lose track of where it is off-camera in a Scene.
Try to find it
// You have to use right mouse click and drag the camera up or around to find it

Suggested solution:

  1. When you select an object in scene entity list on left, the camera moves to it.
    or
  2. There is another (zoom to) icon on entities in the scene entity list that can be clicked to move camera there.

Having a build number or version number available in the UI or ViewSource would expedite testing

It would be good to have a way to know the build number and/or datetime of the Editor you are currently using.
This would be especially helpful for testing / issue reporting. If an issue is reported without that information, it adds work and/or uncertainty for anyone dealing with whether and how to fix it and whether a new build is newer than a fix, e.g. for verification of fix.

The IPNS/IPFS report is differently formatted/hotlinked on Save vs. Load pages

Although the reported IPNS and IPFS when reopening a scene match what was reported when it was last saved, the formatting of the information is different between the pages (like whether there is more than the hash), and the use of hottext.

I'd say: if having the hotlink is useful, use that format on both pages.

There needs to be a Help button or icon in the Editor

The Editor needs a help menu, button, or icon.

There are two types of help that should be made available:

  1. Shortcuts (which can be obtained today using the "h" key)

  2. Bringing up an Editor Help documentation web area. This could for now be a Wiki URL, either in Github or in wiki.decentraland.org

The second person entering a scene may see it differently than the scene creator.

When 2nd person enters a new scene, the boilerplate objects might change from where the scene creator has them

Steps:
Dave created a new scene (on mac)
Carl enters the scene
Carl sees the bottom blue bar superimposed with the top one (wrongly located)

This might be an issue pertaining to persistence problems.
For example, Carl's PC browser cache (Chrome) might be remembering the location of a boilerplate component from an previously viewed or edited scene.

There needs to be an official place for Editor documentation

One place for Editor documenting could be to enable the Wiki in this github editor repository
Another could be an established/permanent page in the wiki.decentraland.org wiki.

(Once it is decided, there should be way to get to it from a help control in the Editor, which is covered in Issue #12)

There is no restriction against placing objects on lands you don't own

Open Loader
Select land (buy it if you don't own it).
Open editor on your land
Place some object in the scene.
Move the X or Z position of the well off of land you own.
// Expected some sort of constraint barrier against doing so and a warning/explanation.
Publish scene.
Close editor
Reopen Editor from the same land selection
// expected: The object isn't off your land
// actual: the object got saved on the other owner's land.

Collaborative editing - deletes and moves affect two users' scenes differently.

This is probably related to #16
But this issue is better described -- here are specific reproducible steps that can be performed by one person with two browsers.

Tested with the current/latest Editor on editor.decentraland.org starting on Nov 13, 2017 at 8:06PM Central (GMT-6)

In browser 1: (e.g. Chrome)
Create a scene
// e.g. https://editor.decentraland.org/scene/CarlFravelTest%202017%2011%2013%202006
Save scene
Scene "CarlFravelTest%202017%2011%2013%202006" saved to IPFS
The IPNS locator is: /ipns/QmUCg2BKf2MojPcEVMKZN6eYmq4mSQKNMzJmW3jbW1APQT
The IPFS hash pointed to is:
Continue editing

In Browser 2: (e.g. FireFox)
Open the the same Scene URL
See the same hierarchy

In browser 1:
Delete the middle blue bar //
// scene has no now, just 2 and 4

In browser 2:
// expected: middle bar is gone
// actual: (bottom bar) is gone from scene and from hierarchy

In BOTH browsers, using the scenegraph on the left, select
// expected: top bar is selected in each browser
// actual: in browser 1, boxes 2 and 4 are now colocated where the top bar should be.

In browser 1:
Drag in the direction of the blue arrow
In browser 2:
// expected: will have moved
// actual has moved

In browser 1:
Save
Scene "CarlFravelTest%202017%2011%2013%202006" saved to IPFS
The IPNS locator is: /ipns/QmUCg2BKf2MojPcEVMKZN6eYmq4mSQKNMzJmW3jbW1APQT
The IPFS hash pointed to is: QmayG4KJVkYPkuUdemHv1Y9gp5qv5Y8i7hwvD9Yn8LQq7m

Do not save in browser 2.

Editor - Save doesn't persist scene changes

Save and reload of scene does not get the changes back.

// Steps to repro
Create new scene
Move or delete boilerplate objects
Save scene
Capture the hash number
Close editor
Open editor on the same using the URL with the scene name
// expect: see changes
// actual: see original boilerplate
Open editor on the same using the URL with the scene hash
// expect: see changes
// actual: see original boilerplate

In collaborative editing, if a Mac user moves an object, the PC user doesn't see the selection tools move until they are hovered over

Dave (on Mac) and Carl (on PC) go into same scene (not yet saved)
Dave and Crrl both select the same object
Dave moves it
// expected: Carl sees both the object and its selection tools move
// actual: Carl sees object move, but selection tools stay behind
Carl hovers over an arrow on selection tool, it jumps to the correct new place.
// Note, the opposite is not true: If Carl moves the object, Dave sees the object and selection tools both move properly.

// note, a variable may be who created the scene. This scene was probably created by Dave.

This is relatively minor, no harmful side effects have so far been noticed.

If you reenter editor immediately after a publish, you may load the previous version

Open editor on a scene.
Publish the scene (v1)
Make a noticable change to the scene.
Publish the scene (v2)
Right after clicking [Submit] on the MetaMask wallet, reload the Editor on the same parcels, or just reload it in the Browser.
// Expected: see v2
// Actual: You will probably see scene v1, because the network save process hasn't completed.

// Suggestion: provide some sort of save-progress indicator that displays until the new version is confirmed as saved.

// Think about a mechanism that will protect other collaborative editor from reloading the old version during that window, too.

The positions of the scene light isn't restored from the previous scene save

Open Loader
Select land (buy it if you don't own it).
Open editor on your land
Place some object in the scene.
Move the Y position of the <a-entity [object] [light] [material]> to 50m (higher in the sky)
Publish scene.
Close editor
Reopen Editor from the same land selection
// expected: the light remains where you put it
// actual: the light is back at the default position of 10,10,10

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.