Giter Site home page Giter Site logo

aframevr / aframe-inspector Goto Github PK

View Code? Open in Web Editor NEW
640.0 640.0 194.0 28.01 MB

:mag: Visual inspector tool for A-Frame. Hit *<ctrl> + <alt> + i* on any A-Frame scene.

Home Page: https://aframe.io/aframe-inspector/examples/

License: MIT License

JavaScript 90.80% HTML 0.07% Stylus 9.10% Shell 0.03%
aframe editor inspector threejs virtual-reality virtualreality vr webvr

aframe-inspector's People

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  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  avatar  avatar  avatar  avatar

aframe-inspector's Issues

Hover entities

Implement hover event over each instance on the scene, both using cursor or mouse.
It should highlight the object (using a different color or shape than the selected status) and show some simple attributes on top, like for example ID or entity type.

Ability to pan editor camera

The editing camera is locked around the scene origin. It's hard to edit anything in detail without being able to pan around when zoomed in.

Exported scenes issues

  • shouldn't contain A-Frame injected CSS (i.e., <style type="text/css" data-href="src/style/aframe.css">).
  • offer an option to possibly rewrite the URLs to be absolute (if I exported a scene from http://dev.fernandojsg.com/aframe-editor/example/, then <script src="js/aframe.js"> should be written as <script src="http://dev.fernandojsg.com/aframe-editor/example/js/aframe.js">). I know this gets tricky. Because some people will be using the editor to inspect, edit, and fork others' scenes - while others will use it to quickly tweak their scenes
  • remove the injected Editor script (i.e., <script src="../build/aframe-editor.js"></script>)
  • remove the injected React elements from the Editor (and the <a download>)

Use `<label>`s where appropriate

To improve usability and ease of use with bigger clicker targets (and the keyboard navigation you get for free with tabindex) - and of course for accessibility too.

Examples:

image

Editing one transform accidentally rewrites other transforms

  1. Create an <a-entity>
  2. Set position to 2.00 2.00 2.00.
  3. Set rotation to 0.01 0.00 0.00.
  4. Notice position has changed to 2.00 2.00 0.00 and rotation to 0.0 0.00 0.00.

I noticed a ton of weirdness such as with this. And now when I did it again, the rotation Z value became 0.02. Weird!

image

Introduce a keyboard shortcut to toggle the Editor

If the Editor is opened and no form field or anything is focussed, perhaps just pressing Esc or e or whatever should dismiss the Editor.

And when I'm in non-Editor mode, I should be able to easily invoke the Editor by pressing option + e or something (again, when only document.activeElement is not a form field, contexteditable, etc.).

Clone entity

It would be super useful to be able to clone a entity.

component icons on entities are not clear

image

The camera one is obvious, but the rest are really hard to understand. I think we could probably do away with them if the components are already present in the attributes panel and just rely on entity labeling/ID.

Add support to create Mixins

Mixins could be created directly from an entity by selecting the components and attributes we would like to add to the mixin.

Consider moving "Create" to "Scene Graph"

  1. I was surprised to learn that "Create" meant add items to my scene graph.
  2. Can we have an "+ Add" button in the scene graph sidebar (perhaps flush left of the trash can)?

image

Purpose of "Edit" menu?

I don't see anything in Denys' mocks. Will this "Edit" drop-down menu be used for something?

Adding/removing mixins is a bit confusing

I know it's probably obvious to most, but I didn't actually understand that pressing the plus sign was taking the actively selected mixin in the <select> and adding it below.

I originally thought the mixins <select> menu was listing the active mixins on that entity:

image

Implement 2D Cameras

Implement common DCC 2D cameras: Top, Front & Right + Isometric.
As we're not going to use this cameras for a-frame I don't see the point on creating a component for ortho2d in aframe having already a perspective camera. I think we should just use THREE.OrthographicCamera directly.

Remove invalid component's attributes

If we have an entity with an standard material like:

<a-entity geometry="primitive: sphere" material="metalness:0.0;roughness:1.0;shader:standard"></a-entity>

And we change the shader, some of the parameters won't be available on this new shader (metalness, roughness):

<a-entity geometry="primitive: sphere" material="metalness:0.0;roughness:1.0;shader:noise"></a-entity>

So probably we should delete them, as it will keep giving warnings on the console:

core:schema:warn Unknown component property: metalness +0ms
browser.js:112 core:schema:warn Unknown component property: roughness +2ms

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.