Browse Source

small cleanup

Nikolay Suslov 6 years ago
parent
commit
5bc9f5217a

+ 244 - 267
public/vwf/model/aframe.js

@@ -66,50 +66,51 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
                 },
                 setAFrameProperty: function (propertyName, propertyValue, aframeObject) {
                     //console.log(propertyValue);
-                            if (propertyValue.hasOwnProperty('x')) {
-                                aframeObject.setAttribute(propertyName, propertyValue)
-                            } else
-                                if (Array.isArray(propertyValue)) {
-                                    aframeObject.setAttribute(propertyName, { x: propertyValue[0], y: propertyValue[1], z: propertyValue[2] })
-                                } else if (typeof propertyValue === 'string') {
-                                    aframeObject.setAttribute(propertyName, AFRAME.utils.coordinates.parse(propertyValue))
-                                }
-                    
-                        },
-                   setFromValue: function ( propertyValue ) {
-
-                            var value = goog.vec.Vec3.create();
-                          if (propertyValue.hasOwnProperty('x')) {
-                              value = goog.vec.Vec3.createFromValues(propertyValue.x, propertyValue.y,  propertyValue.z)
-                          } 
-                          else if (Array.isArray(propertyValue) || propertyValue instanceof Float32Array ) {
-                              value = goog.vec.Vec3.createFromArray(propertyValue);}
-                          else if (typeof propertyValue === 'string') {
-                              let val = AFRAME.utils.coordinates.parse(propertyValue);
-                              value = goog.vec.Vec3.createFromValues(val.x, val.y, val.z)
-                              }
-                      
-                          return value
-                            }
+                    if (propertyValue.hasOwnProperty('x')) {
+                        aframeObject.setAttribute(propertyName, propertyValue)
+                    } else
+                        if (Array.isArray(propertyValue)) {
+                            aframeObject.setAttribute(propertyName, { x: propertyValue[0], y: propertyValue[1], z: propertyValue[2] })
+                        } else if (typeof propertyValue === 'string') {
+                            aframeObject.setAttribute(propertyName, AFRAME.utils.coordinates.parse(propertyValue))
+                        }
+
+                },
+                setFromValue: function (propertyValue) {
+
+                    var value = goog.vec.Vec3.create();
+                    if (propertyValue.hasOwnProperty('x')) {
+                        value = goog.vec.Vec3.createFromValues(propertyValue.x, propertyValue.y, propertyValue.z)
+                    }
+                    else if (Array.isArray(propertyValue) || propertyValue instanceof Float32Array) {
+                        value = goog.vec.Vec3.createFromArray(propertyValue);
+                    }
+                    else if (typeof propertyValue === 'string') {
+                        let val = AFRAME.utils.coordinates.parse(propertyValue);
+                        value = goog.vec.Vec3.createFromValues(val.x, val.y, val.z)
+                    }
+
+                    return value
+                }
             };
 
             this.state.kernel = this.kernel.kernel.kernel;
 
             this.aframeDef = {
-                'A-BOX':    [
+                'A-BOX': [
                     'depth', 'height', 'segments-depth',
                     'segments-height', 'segments-width',
                     'width'],
 
                 'A-SPHERE': [
-                    'phi-length', 'phi-start', 'radius', 
+                    'phi-length', 'phi-start', 'radius',
                     'segments-depth',
                     'segments-height', 'segments-width',
                     'theta-length', 'theta-start'
                 ],
 
                 'A-CYLINDER': [
-                   'height', 'radius',
+                    'height', 'radius',
                     'open-ended', 'radius-bottom', 'radius-top',
                     'segments-height', 'segments-radial',
                     'theta-length', 'theta-start'
@@ -123,36 +124,36 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
                 ],
 
                 'A-PLANE': [
-                    'height', 'segments-height', 'segments-width','width'
+                    'height', 'segments-height', 'segments-width', 'width'
                 ],
 
                 'A-TEXT': [
-                        'align', 'alpha-test', 'anchor',
-                        'baseline', 'color', 'font',
-                        'font-image', 'height',
-                        'letter-spacing', 'line-height',
-                        'opacity', 'shader',
-                        'side', 'tab-size',
-                        'transparent', 'value',
-                        'white-space', 'width',
-                        'wrap-count', 'wrap-pixels',
-                        'z-offset'
-                    ],
+                    'align', 'alpha-test', 'anchor',
+                    'baseline', 'color', 'font',
+                    'font-image', 'height',
+                    'letter-spacing', 'line-height',
+                    'opacity', 'shader',
+                    'side', 'tab-size',
+                    'transparent', 'value',
+                    'white-space', 'width',
+                    'wrap-count', 'wrap-pixels',
+                    'z-offset'
+                ],
 
                 'A-SKY': [
-                    'phi-length', 'phi-start', 'radius','segments-height',
+                    'phi-length', 'phi-start', 'radius', 'segments-height',
                     'segments-width',
                     'theta-length', 'theta-start',
-                    ],
+                ],
 
                 'A-LIGHT': [
                     'angle', 'color', 'decay', 'distance',
                     'ground-color', 'intensity', 'penumbra',
                     'type', 'target'
-                    ]
+                ]
             }
-           
-            
+
+
 
         },
 
@@ -212,9 +213,9 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
                 if (isAEntityDefinition(node.prototypes)) {
                     //updateStoredTransform( node );
-                    updateStoredTransformFor(node,'position');
-                    updateStoredTransformFor(node,'rotation');
-                    updateStoredTransformFor(node,'scale');
+                    updateStoredTransformFor(node, 'position');
+                    updateStoredTransformFor(node, 'rotation');
+                    updateStoredTransformFor(node, 'scale');
                 }
 
                 //notifyDriverOfPrototypeAndBehaviorProps();
@@ -259,30 +260,30 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
         // -- callingMethod ------------------------------------------------------------------------
 
-        callingMethod: function( nodeID, methodName, methodParameters ) {
+        callingMethod: function (nodeID, methodName, methodParameters) {
 
             var node = this.state.nodes[nodeID];
 
-            if(!node) return;
+            if (!node) return;
 
-            if (node && node.aframeObj ) {
+            if (node && node.aframeObj) {
 
                 if (methodName == 'lookAt') {
-                    console.log('lookAt: ' +  methodParameters[0]);
+                    console.log('lookAt: ' + methodParameters[0]);
                     let target = methodParameters[0];
                     node.aframeObj.object3D.lookAt(new THREE.Vector3(target.x, target.y, target.z));
                     let newRotation = node.aframeObj.getAttribute('rotation');
-                    self.kernel.setProperty(nodeID, "rotation", {x: 0, y: newRotation.y, z: 0}); 
+                    self.kernel.setProperty(nodeID, "rotation", { x: 0, y: newRotation.y, z: 0 });
                 }
 
                 if (methodName == 'worldRotation') {
 
-                    var worldQuat =  new THREE.Quaternion();
-                    node.aframeObj.object3D.getWorldQuaternion(worldQuat); 
+                    var worldQuat = new THREE.Quaternion();
+                    node.aframeObj.object3D.getWorldQuaternion(worldQuat);
 
                     let angle = (new THREE.Euler()).setFromQuaternion(worldQuat, 'YXZ');
                     let rotation = (new THREE.Vector3(THREE.Math.radToDeg(angle.x),
-                    THREE.Math.radToDeg(angle.y), THREE.Math.radToDeg(angle.z) ));
+                        THREE.Math.radToDeg(angle.y), THREE.Math.radToDeg(angle.z)));
                     return rotation
 
                 }
@@ -298,7 +299,7 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
             }
 
-           
+
         },
 
 
@@ -316,25 +317,25 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
                 if (!childNode) return;
 
 
-            if (childNode !== undefined) {
+                if (childNode !== undefined) {
 
-                if (childNode.children) {
+                    if (childNode.children) {
 
-                    for (var i = 0; i < childNode.children.length; i++) {
-                        this.deletingNode(childNode.children[i]);
+                        for (var i = 0; i < childNode.children.length; i++) {
+                            this.deletingNode(childNode.children[i]);
+                        }
+                    }
+
+                    if (childNode.aframeObj !== undefined) {
+                        // removes and destroys object
+                        childNode.aframeObj.parentNode.removeChild(childNode.aframeObj);
+                        childNode.aframeObj = undefined;
                     }
-                }
 
-                if (childNode.aframeObj !== undefined) {
-                    // removes and destroys object
-                    childNode.aframeObj.parentNode.removeChild(childNode.aframeObj);
-                    childNode.aframeObj = undefined;
+                    delete this.state.nodes[nodeID];
                 }
 
-                delete this.state.nodes[nodeID];
             }
-
-        }
         },
 
 
@@ -376,10 +377,10 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
                         case "position":
 
-                        var position = this.state.setFromValue(propertyValue || []); //goog.vec.Vec3.createFromArray( propertyValue || [] );
+                            var position = this.state.setFromValue(propertyValue || []); //goog.vec.Vec3.createFromArray( propertyValue || [] );
                             node.transform.position = goog.vec.Vec3.clone(position);
                             //value = propertyValue;
-                            node.transform.storedPositionDirty = true; 
+                            node.transform.storedPositionDirty = true;
                             //setTransformsDirty( threeObject );
                             //this.state.setAFrameProperty('position', propertyValue, aframeObject);
                             break;
@@ -389,32 +390,32 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
                             var rotation = this.state.setFromValue(propertyValue || []); //goog.vec.Vec3.createFromArray( propertyValue || [] );
                             node.transform.rotation = goog.vec.Vec3.clone(rotation);
                             //value = propertyValue;
-                            node.transform.storedRotationDirty = true; 
+                            node.transform.storedRotationDirty = true;
 
                             //this.state.setAFrameProperty('rotation', propertyValue, aframeObject);
                             break;
 
                         case "scale":
 
-                        var scale = this.state.setFromValue(propertyValue || []); //goog.vec.Vec3.createFromArray( propertyValue || [] );
-                        node.transform.scale = goog.vec.Vec3.clone(scale);
-                        //value = propertyValue;
-                        node.transform.storedScaleDirty = true; 
-                        //setTransformsDirty( threeObject );
-                        //this.state.setAFrameProperty('position', propertyValue, aframeObject);
+                            var scale = this.state.setFromValue(propertyValue || []); //goog.vec.Vec3.createFromArray( propertyValue || [] );
+                            node.transform.scale = goog.vec.Vec3.clone(scale);
+                            //value = propertyValue;
+                            node.transform.storedScaleDirty = true;
+                            //setTransformsDirty( threeObject );
+                            //this.state.setAFrameProperty('position', propertyValue, aframeObject);
 
-                        //this.state.setAFrameProperty('scale', propertyValue, aframeObject);
+                            //this.state.setAFrameProperty('scale', propertyValue, aframeObject);
                             break;
 
 
                         case "animationTimeUpdated":
-                                if (node.transform) {
-                                    node.transform.storedPositionDirty = true; 
-                                    node.transform.storedRotationDirty = true;
-                                    node.transform.storedScaleDirty = true;
-                                }
-                                
-                        break;
+                            if (node.transform) {
+                                node.transform.storedPositionDirty = true;
+                                node.transform.storedRotationDirty = true;
+                                node.transform.storedScaleDirty = true;
+                            }
+
+                            break;
 
                         case "clickable":
                             if (propertyValue) {
@@ -427,7 +428,7 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
 
                         case "ownedBy":
-                                aframeObject.setAttribute('ownedby', propertyValue);
+                            aframeObject.setAttribute('ownedby', propertyValue);
                             break;
 
                         case "visible":
@@ -470,11 +471,11 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
                         case "itemID":
                             aframeObject.setAttribute('id', propertyValue);
-                        break;
+                            break;
 
                         case "itemSrc":
                             aframeObject.setAttribute('src', propertyValue);
-                        break;
+                            break;
 
                         default:
                             value = undefined;
@@ -489,11 +490,11 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
                         case "itemID":
                             aframeObject.setAttribute('id', propertyValue);
-                        break;
+                            break;
 
                         case "itemSrc":
                             aframeObject.setAttribute('src', propertyValue);
-                        break;
+                            break;
 
                         // case "width":
                         //     aframeObject.width = propertyValue;
@@ -516,11 +517,11 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
                         case "itemID":
                             aframeObject.setAttribute('id', propertyValue);
-                        break;
+                            break;
 
                         case "itemSrc":
                             aframeObject.setAttribute('src', propertyValue);
-                        break;
+                            break;
 
                         default:
                             value = undefined;
@@ -535,11 +536,11 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
                         case "itemID":
                             aframeObject.setAttribute('id', propertyValue);
-                        break;
+                            break;
 
                         case "itemSrc":
                             aframeObject.setAttribute('src', propertyValue);
-                        break;
+                            break;
 
                         default:
                             value = undefined;
@@ -563,7 +564,7 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
                         element == propertyName ? aframeObject.setAttribute(element, propertyValue) :
                             value = undefined;
                     })
-                   
+
                 }
 
                 if (value === undefined && aframeObject.nodeName == "A-SCENE") {
@@ -572,12 +573,12 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
                     switch (propertyName) {
 
                         case "color":
-                        aframeObject.setAttribute('background', {'color': propertyValue} );
-                        break;
+                            aframeObject.setAttribute('background', { 'color': propertyValue });
+                            break;
 
                         case "transparent":
-                        aframeObject.setAttribute('background', {'transparent': propertyValue} );
-                        break;
+                            aframeObject.setAttribute('background', { 'transparent': propertyValue });
+                            break;
 
                         // case "fog":
                         //     aframeObject.setAttribute('fog', propertyValue);
@@ -591,28 +592,28 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
                             var assetsElement = document.querySelector('a-assets');
                             if (propertyValue) {
 
-                                let path =  JSON.parse(localStorage.getItem('lcs_app')).path.public_path;
+                                let path = JSON.parse(localStorage.getItem('lcs_app')).path.public_path;
                                 let worldName = path.slice(1);
                                 let dbPath = propertyValue.split(".").join("_");
-                                
+
 
                                 _LCS_WORLD_USER.get('worlds').get(worldName).get(dbPath).once().then(response => {
                                     if (response) {
 
-                                    console.log(JSON.parse(response.file));
-                                    let assets = JSON.parse(response.file);
-                                    for (var prop in assets) {
-                                        var elm = document.createElement(assets[prop].tag);
-                                        elm.setAttribute('id', prop);
-                                        elm.setAttribute('src', assets[prop].src);
-                                        assetsElement.appendChild(elm);
+                                        console.log(JSON.parse(response.file));
+                                        let assets = JSON.parse(response.file);
+                                        for (var prop in assets) {
+                                            var elm = document.createElement(assets[prop].tag);
+                                            elm.setAttribute('id', prop);
+                                            elm.setAttribute('src', assets[prop].src);
+                                            assetsElement.appendChild(elm);
 
-                                    }
+                                        }
 
 
-                                     }
+                                    }
                                 });
-                    
+
 
                                 // httpGetJson(propertyValue).then(function (response) {
                                 //     console.log(JSON.parse(response));
@@ -639,9 +640,9 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
                     }
                 }
 
-   
-   
-                
+
+
+
 
 
                 if (value === undefined && aframeObject.nodeName == "A-BOX") {
@@ -672,7 +673,7 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
                         default:
                             value = undefined;
-                            break; 
+                            break;
 
                     }
 
@@ -815,11 +816,11 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
                             aframeObject.setAttribute('user-height', propertyValue);
                             break;
 
-                            case "look-controls-enabled":
+                        case "look-controls-enabled":
                             aframeObject.setAttribute('look-controls-enabled', propertyValue);
                             break;
 
-                            case "wasd-controls-enabled":
+                        case "wasd-controls-enabled":
                             aframeObject.setAttribute('wasd-controls-enabled', propertyValue);
                             break;
 
@@ -884,51 +885,51 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
                             if (node.transform.position) {
 
-                            if ( node.transform.storedPositionDirty ) {
-                                updateStoredTransformFor( node, 'position' );
-                            }
+                                if (node.transform.storedPositionDirty) {
+                                    updateStoredTransformFor(node, 'position');
+                                }
 
-                            value = goog.vec.Vec3.clone(node.transform.position);
-                            //value =  node.transform.position;
-                        }
+                                value = goog.vec.Vec3.clone(node.transform.position);
+                                //value =  node.transform.position;
+                            }
                             break;
 
                         case "rotation":
 
-                        if (node.transform.rotation) {
+                            if (node.transform.rotation) {
 
-                            if ( node.transform.storedRotationDirty ) {
-                                updateStoredTransformFor( node, 'rotation' );
-                            }
+                                if (node.transform.storedRotationDirty) {
+                                    updateStoredTransformFor(node, 'rotation');
+                                }
 
-                            value = goog.vec.Vec3.clone(node.transform.rotation);
+                                value = goog.vec.Vec3.clone(node.transform.rotation);
 
-                            // var rot = aframeObject.getAttribute('rotation');
-                            // if (rot !== undefined) {
-                            //     value = rot//AFRAME.utils.coordinates.stringify(rot);
-                            // }
-                        }
+                                // var rot = aframeObject.getAttribute('rotation');
+                                // if (rot !== undefined) {
+                                //     value = rot//AFRAME.utils.coordinates.stringify(rot);
+                                // }
+                            }
 
                             break;
 
 
                         case "scale":
 
-                        if (node.transform.scale) {
+                            if (node.transform.scale) {
 
-                            if ( node.transform.storedScaleDirty ) {
-                                updateStoredTransformFor( node, 'scale' );
-                            }
+                                if (node.transform.storedScaleDirty) {
+                                    updateStoredTransformFor(node, 'scale');
+                                }
 
-                            value = goog.vec.Vec3.clone(node.transform.scale);
-                            // var scale = aframeObject.getAttribute('scale');
-                            // if (scale !== undefined) {
-                            //     value = scale//AFRAME.utils.coordinates.stringify(scale);
-                            // }
-                        }
+                                value = goog.vec.Vec3.clone(node.transform.scale);
+                                // var scale = aframeObject.getAttribute('scale');
+                                // if (scale !== undefined) {
+                                //     value = scale//AFRAME.utils.coordinates.stringify(scale);
+                                // }
+                            }
                             break;
 
-                      
+
 
                         case "clickable":
                             value = node.events.clickable;
@@ -959,81 +960,81 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
                     }
                 }
 
-               
+
 
                 if (value === undefined && aframeObject.nodeName == "A-ASSET-ITEM") {
 
                     switch (propertyName) {
-                        
+
                         case "itemID":
                             value = aframeObject.getAttribute('id');
-                        break;
-                    
+                            break;
+
                         case "itemSrc":
                             value = aframeObject.getAttribute('src');
-                        break;
+                            break;
+
 
-                      
                     }
                 }
 
                 if (value === undefined && aframeObject.nodeName == "IMG") {
 
                     switch (propertyName) {
-                        
+
                         case "itemID":
                             value = aframeObject.getAttribute('id');
-                        break;
-                    
+                            break;
+
                         case "itemSrc":
                             value = aframeObject.getAttribute('src');
-                        break;
+                            break;
 
                         case "width":
                             value = aframeObject.width;
-                        break;
+                            break;
 
                         case "height":
                             value = aframeObject.height;
-                        break;
-                      
+                            break;
+
                     }
                 }
 
                 if (value === undefined && aframeObject.nodeName == "AUDIO") {
 
                     switch (propertyName) {
-                        
+
                         case "itemID":
                             value = aframeObject.getAttribute('id');
-                        break;
-                    
+                            break;
+
                         case "itemSrc":
                             value = aframeObject.getAttribute('src');
-                        break;
+                            break;
                     }
                 }
 
                 if (value === undefined && aframeObject.nodeName == "VIDEO") {
 
                     switch (propertyName) {
-                        
+
                         case "itemID":
                             value = aframeObject.getAttribute('id');
-                        break;
-                    
+                            break;
+
                         case "itemSrc":
                             value = aframeObject.getAttribute('src');
-                        break;
+                            break;
 
                         case "videoWidth":
-                        value = aframeObject.videoWidth;
-                        break;
+                            value = aframeObject.videoWidth;
+                            break;
 
                         case "videoHeight":
                             value = aframeObject.videoHeight;
-                        break;
-                      
+                            break;
+
                     }
                 }
 
@@ -1043,23 +1044,23 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
                         // case "fog":
                         //     value = aframeObject.getAttribute('fog');
                         //     break;
-                        
+
                         case "color":
-                        if (aframeObject.getAttribute('background')) {
-                            value = aframeObject.getAttribute('background').color;
-                        }
+                            if (aframeObject.getAttribute('background')) {
+                                value = aframeObject.getAttribute('background').color;
+                            }
                             break;
 
                         case "transparent":
-                        if (aframeObject.getAttribute('background')) {
-                            value = aframeObject.getAttribute('background').transparent;
-                        }
+                            if (aframeObject.getAttribute('background')) {
+                                value = aframeObject.getAttribute('background').transparent;
+                            }
                             break;
                     }
                 }
 
                 if (value === undefined && aframeObject.nodeName == "A-SKY") {
-                    
+
                     self.aframeDef['A-SKY'].forEach(element => {
                         if (element == propertyName) {
                             value = aframeObject.getAttribute(element);
@@ -1068,7 +1069,7 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
                 }
 
-               
+
 
                 if (value === undefined && aframeObject.nodeName == "A-LIGHT") {
 
@@ -1080,11 +1081,11 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
                     switch (propertyName) {
                         case "castShadow":
-                        value = aframeObject.getAttribute('light').castShadow;
+                            value = aframeObject.getAttribute('light').castShadow;
                             break;
 
                         case "shadowCameraVisible":
-                        value = aframeObject.getAttribute('light').shadowCameraVisible;
+                            value = aframeObject.getAttribute('light').shadowCameraVisible;
                             break;
 
                     }
@@ -1092,17 +1093,17 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
                 }
 
                 if (value === undefined && aframeObject.nodeName == "A-BOX") {
-    
+
                     self.aframeDef['A-BOX'].forEach(element => {
                         if (element == propertyName) {
                             value = aframeObject.getAttribute(element);
                         }
                     })
-            }
+                }
 
                 if (value === undefined && aframeObject.nodeName == "A-PLANE") {
 
-                   self.aframeDef['A-PLANE'].forEach(element => {
+                    self.aframeDef['A-PLANE'].forEach(element => {
                         if (element == propertyName) {
                             value = aframeObject.getAttribute(element);
                         }
@@ -1211,20 +1212,20 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
                 }
 
                 if (value === undefined && aframeObject.nodeName == "A-SUN-SKY") {
-                    
-                    
-                                        switch (propertyName) {
-                                            case "sunPosition":
-                                                value = aframeObject.getAttribute('material').sunPosition;
-                                                break;
-                                        }
-                    
-                                        //    switch (propertyName) {
-                                        //         case "active":
-                                        //             value = aframeObject.getAttribute('camera').active;
-                                        //             break;
-                                        //         }
-                                    }
+
+
+                    switch (propertyName) {
+                        case "sunPosition":
+                            value = aframeObject.getAttribute('material').sunPosition;
+                            break;
+                    }
+
+                    //    switch (propertyName) {
+                    //         case "active":
+                    //             value = aframeObject.getAttribute('camera').active;
+                    //             break;
+                    //         }
+                }
 
                 if (value === undefined && aframeObject.nodeName == "A-COLLADA-MODEL") {
 
@@ -1249,13 +1250,13 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
 
                 if (value === undefined && aframeObject.nodeName == "A-GLTF-MODEL") {
-                    
-                                        switch (propertyName) {
-                                            case "src":
-                                                value = aframeObject.getAttribute('src');
-                                                break;
-                                        }
-                                    }
+
+                    switch (propertyName) {
+                        case "src":
+                            value = aframeObject.getAttribute('src');
+                            break;
+                    }
+                }
 
 
 
@@ -1284,20 +1285,20 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
         } else if (self.state.isAFrameClass(protos, "http://vwf.example.com/aframe/a-asset-item.vwf")) {
 
             let assets = document.querySelector('a-assets');
-            if (assets){
+            if (assets) {
 
                 aframeObj = document.createElement('a-asset-item');
-                aframeObj.setAttribute('id', "item-"+GUID());
+                aframeObj.setAttribute('id', "item-" + GUID());
                 aframeObj.setAttribute('src', "");
                 aframeObj.setAttribute('crossorigin', "anonymous");
                 assets.appendChild(aframeObj);
             }
-        
+
         } else if (self.state.isAFrameClass(protos, "http://vwf.example.com/aframe/a-asset-image-item.vwf")) {
 
             let assets = document.querySelector('a-assets');
-            if (assets){
-                let elID = "item-"+GUID();
+            if (assets) {
+                let elID = "item-" + GUID();
                 aframeObj = document.createElement('img');
                 aframeObj.setAttribute('id', elID);
                 aframeObj.setAttribute('src', "");
@@ -1308,10 +1309,10 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
         } else if (self.state.isAFrameClass(protos, "http://vwf.example.com/aframe/a-asset-audio-item.vwf")) {
 
             let assets = document.querySelector('a-assets');
-            if (assets){
+            if (assets) {
 
                 aframeObj = document.createElement('audio');
-                aframeObj.setAttribute('id', "item-"+GUID());
+                aframeObj.setAttribute('id', "item-" + GUID());
                 aframeObj.setAttribute('src', "");
                 aframeObj.setAttribute('crossorigin', "anonymous");
                 assets.appendChild(aframeObj);
@@ -1321,10 +1322,10 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
         } else if (self.state.isAFrameClass(protos, "http://vwf.example.com/aframe/a-asset-video-item.vwf")) {
 
             let assets = document.querySelector('a-assets');
-            if (assets){
+            if (assets) {
 
                 aframeObj = document.createElement('video');
-                aframeObj.setAttribute('id', "item-"+GUID());
+                aframeObj.setAttribute('id', "item-" + GUID());
                 aframeObj.setAttribute('src', "");
                 aframeObj.setAttribute('crossorigin', "anonymous");
                 aframeObj.setAttribute('autoplay', "");
@@ -1344,7 +1345,7 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
         } else if (self.state.isAFrameClass(protos, "http://vwf.example.com/aframe/acursor.vwf")) {
             aframeObj = document.createElement('a-cursor');
         } else if (self.state.isAFrameClass(protos, "http://vwf.example.com/aframe/a-sun-sky.vwf")) {
-                aframeObj = document.createElement('a-sun-sky');
+            aframeObj = document.createElement('a-sun-sky');
         } else if (self.state.isAFrameClass(protos, "http://vwf.example.com/aframe/abox.vwf")) {
             aframeObj = document.createElement('a-box');
         } else if (self.state.isAFrameClass(protos, "http://vwf.example.com/aframe/aplane.vwf")) {
@@ -1359,7 +1360,7 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
             aframeObj = document.createElement('a-collada-model');
         } else if (self.state.isAFrameClass(protos, "http://vwf.example.com/aframe/aobjmodel.vwf")) {
             aframeObj = document.createElement('a-obj-model');
-         } else if (self.state.isAFrameClass(protos, "http://vwf.example.com/aframe/agltfmodel.vwf")) {
+        } else if (self.state.isAFrameClass(protos, "http://vwf.example.com/aframe/agltfmodel.vwf")) {
             aframeObj = document.createElement('a-gltf-model');
         } else if (self.state.isAFrameClass(protos, "http://vwf.example.com/aframe/asphere.vwf")) {
             aframeObj = document.createElement('a-sphere');
@@ -1369,15 +1370,15 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
             aframeObj = document.createElement('a-entity');
         }
 
-        if (aframeObj.nodeName !== "A-ASSET-ITEM" && 
-            aframeObj.nodeName !== "IMG" && 
+        if (aframeObj.nodeName !== "A-ASSET-ITEM" &&
+            aframeObj.nodeName !== "IMG" &&
             aframeObj.nodeName !== "AUDIO" &&
             aframeObj.nodeName !== "VIDEO"
-        ){
+        ) {
             aframeObj.setAttribute('id', node.ID);
         }
 
-       
+
         return aframeObj;
     }
 
@@ -1395,10 +1396,10 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
                     //console.info( "Adding child: " + childID + " to " + nodeID );
                     if (node.aframeObj.nodeName !== "A-ASSET-ITEM" &&
                         node.aframeObj.nodeName !== "IMG" &&
-                      node.aframeObj.nodeName !== "AUDIO" &&
-                      node.aframeObj.nodeName !== "VIDEO"
-                    ){
-                    parent.aframeObj.appendChild(node.aframeObj);
+                        node.aframeObj.nodeName !== "AUDIO" &&
+                        node.aframeObj.nodeName !== "VIDEO"
+                    ) {
+                        parent.aframeObj.appendChild(node.aframeObj);
                     }
                 }
             }
@@ -1411,9 +1412,9 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
     }
 
 
-    function updateStoredTransform( node ) {
-        
-        if ( node && node.aframeObj) {
+    function updateStoredTransform(node) {
+
+        if (node && node.aframeObj) {
             // Add a local model-side transform that can stay pure even if the view changes the
             // transform on the threeObject - this already happened in creatingNode for those nodes that
             // didn't need to load a model
@@ -1425,60 +1426,38 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
             //node.transform.position = AFRAME.utils.coordinates.stringify(node.aframeObj.object3D.position);
             node.transform.rotation = AFRAME.utils.coordinates.stringify(node.aframeObj.object3D.rotation);
-            node.storedTransformDirty = false;             
+            node.storedTransformDirty = false;
         }
-      
-    }    
-
-
-    // function updateStoredTransformFor( node, propertyName ) { 
-
-    //     if ( node && node.aframeObj) {
-    //         // Add a local model-side transform that can stay pure even if the view changes the
-    //         // transform on the threeObject - this already happened in creatingNode for those nodes that
-    //         // didn't need to load a model
-    //         if(!node.transform)
-    //             node.transform = {};
 
-    //         if (propertyName == 'position' || propertyName == 'rotation' || propertyName == 'scale') {
-
-    //             let data = (new THREE.Vector3()).copy(node.aframeObj.object3D[propertyName]);
-    //             node.transform[propertyName] = goog.vec.Vec3.createFromValues(data.x, data.y, data.z);
-    //             node.transform['stored' + propertyName + 'Dirty'] = false; 
-    //             //node.transform.storedPositionDirty = false;
-    //         }
-
-    //     }
+    }
 
 
-   // }
+    function updateStoredTransformFor(node, propertyName) {
 
-    function updateStoredTransformFor( node, propertyName ) {
-        
-        if ( node && node.aframeObj) {
+        if (node && node.aframeObj) {
             // Add a local model-side transform that can stay pure even if the view changes the
             // transform on the threeObject - this already happened in creatingNode for those nodes that
             // didn't need to load a model
-            if(!node.transform)
+            if (!node.transform)
                 node.transform = {};
 
-            if (propertyName == 'position'){
+            if (propertyName == 'position') {
                 let pos = (new THREE.Vector3()).copy(node.aframeObj.object3D.position);
                 node.transform.position = goog.vec.Vec3.createFromValues(pos.x, pos.y, pos.z);
-                node.transform.storedPositionDirty = false; 
+                node.transform.storedPositionDirty = false;
             }
-           
-            if (propertyName == 'rotation'){
-               // let rot = (new THREE.Vector3()).copy(node.aframeObj.object3D.rotation);
-               let rot = node.aframeObj.getAttribute('rotation');
+
+            if (propertyName == 'rotation') {
+                // let rot = (new THREE.Vector3()).copy(node.aframeObj.object3D.rotation);
+                let rot = node.aframeObj.getAttribute('rotation');
                 node.transform.rotation = goog.vec.Vec3.createFromValues(rot.x, rot.y, rot.z);
-                node.transform.storedRotationDirty = false;   
+                node.transform.storedRotationDirty = false;
             }
 
-            if (propertyName == 'scale'){
+            if (propertyName == 'scale') {
                 let scale = (new THREE.Vector3()).copy(node.aframeObj.object3D.scale);
                 node.transform.scale = goog.vec.Vec3.createFromValues(scale.x, scale.y, scale.z);
-                node.transform.storedScaleDirty = false; 
+                node.transform.storedScaleDirty = false;
             }
 
             //node.transform.position = AFRAME.utils.coordinates.stringify(node.aframeObj.object3D.position);
@@ -1486,8 +1465,8 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
             // node.transform.rotation = AFRAME.utils.coordinates.stringify(node.aframeObj.object3D.rotation);
             // node.storedTransformDirty = false;             
         }
-      
-    }   
+
+    }
 
 
 
@@ -1524,8 +1503,6 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 
 
 
-
-
     // Changing this function significantly from the GLGE code
     // Will search hierarchy down until encountering a matching child
     // Will look into nodes that don't match.... this might not be desirable

+ 41 - 41
public/vwf/model/aframe/addon/aframe-interpolation.js

@@ -53,7 +53,7 @@ AFRAME.registerComponent('interpolation', {
     //console.log(timepassed);
 
     if (!this.node) {
-      let interNode = Object.entries(this.driver.state.nodes).find(el => 
+      let interNode = Object.entries(this.driver.state.nodes).find(el =>
         el[1].parentID == this.el.id && el[1].extendsID == "http://vwf.example.com/aframe/interpolation-component.vwf"
       );
       this.node = this.driver.nodes[interNode[0]];
@@ -63,16 +63,16 @@ AFRAME.registerComponent('interpolation', {
     if (this.enabled && this.node && this.node.interpolate) {
       this.setInterpolatedTransforms(timepassed);
 
-     // this.restoreTransforms();
+      // this.restoreTransforms();
 
     }
     this.lastTime = now;
 
-    
+
 
   },
 
-  tock: function(t, dt){
+  tock: function (t, dt) {
     if (this.node) {
       if (this.enabled && this.node.interpolate) {
         this.restoreTransforms();
@@ -85,17 +85,17 @@ AFRAME.registerComponent('interpolation', {
 
     let distance = a.distanceTo(b);
     //let distance = goog.vec.Vec3.distance(a,b);
-     if (distance > delta) {
-       return false;
-     }
- 
-     return true;
-   },
+    if (distance > delta) {
+      return false;
+    }
+
+    return true;
+  },
 
   vecCmp: function (a, b, delta) {
 
-   // let distance = a.distanceTo(b);
-   let distance = goog.vec.Vec3.distance(a,b);
+    // let distance = a.distanceTo(b);
+    let distance = goog.vec.Vec3.distance(a, b);
     if (distance > delta) {
       return false;
     }
@@ -105,9 +105,9 @@ AFRAME.registerComponent('interpolation', {
 
   restoreTransforms: function () {
 
-      this.restorePositionTransforms();
-      this.restoreRotationTransforms();
-      this.restoreScaleTransforms();
+    this.restorePositionTransforms();
+    this.restoreRotationTransforms();
+    this.restoreScaleTransforms();
   },
 
   restorePositionTransforms: function () {
@@ -126,7 +126,7 @@ AFRAME.registerComponent('interpolation', {
 
     var now = this.node.interpolate.rotation.selfTick;
 
-    if(now && this.node.needRotationRestore) {
+    if (now && this.node.needRotationRestore) {
       let r = new THREE.Euler();
       let rot = r.copy(now);
 
@@ -136,18 +136,18 @@ AFRAME.registerComponent('interpolation', {
     }
   },
 
-    restoreScaleTransforms: function () {
+  restoreScaleTransforms: function () {
+
+    var now = this.node.interpolate.scale.selfTick;
+
+    if (now && this.node.needScaleRestore) {
+      let pos = goog.vec.Vec3.clone(now);
+      this.el.object3D.scale.set(pos[0], pos[1], pos[2]);
+      this.node.needScaleRestore = false;
+    }
+
+  },
 
-      var now = this.node.interpolate.scale.selfTick;
-  
-      if (now && this.node.needScaleRestore) {
-        let pos = goog.vec.Vec3.clone(now);
-        this.el.object3D.scale.set(pos[0], pos[1], pos[2]);
-        this.node.needScaleRestore = false;
-      }
-  
-    },
-  
 
   setInterpolatedTransforms: function (deltaTime) {
 
@@ -157,7 +157,7 @@ AFRAME.registerComponent('interpolation', {
     deltaTime = Math.min(deltaTime, this.node.realTickDif)
     this.node.tickTime += deltaTime || 0;
 
-    
+
     this.interpolatePosition(step);
     this.interpolateRotation(step);
     this.interpolateScale(step);
@@ -221,12 +221,12 @@ AFRAME.registerComponent('interpolation', {
 
       if (!comp) {
 
-       var interp = goog.vec.Vec3.lerp(
+        var interp = goog.vec.Vec3.lerp(
           last, now,
           step || 0,
           goog.vec.Vec3.create()
         );
-       
+
         this.setPosition(interp);
         this.node.needPositionRestore = true;
       }
@@ -244,12 +244,12 @@ AFRAME.registerComponent('interpolation', {
 
       if (!comp) {
 
-       var interp = goog.vec.Vec3.lerp(
+        var interp = goog.vec.Vec3.lerp(
           last, now,
           step || 0,
           goog.vec.Vec3.create()
         );
-       
+
         this.setScale(interp);
         this.node.needScaleRestore = true;
       }
@@ -259,17 +259,17 @@ AFRAME.registerComponent('interpolation', {
   setPosition: function (interp) {
     let vec = goog.vec.Vec3.clone(interp);
     this.el.object3D.position.set(vec[0], vec[1], vec[2]);
-},
+  },
 
-setRotation: function (interp) {
-  let vec = (new THREE.Euler()).copy(interp);
-  this.el.object3D.rotation.set(vec.x, vec.y, vec.z);
-},
+  setRotation: function (interp) {
+    let vec = (new THREE.Euler()).copy(interp);
+    this.el.object3D.rotation.set(vec.x, vec.y, vec.z);
+  },
 
-setScale: function (interp) {
-  let vec = goog.vec.Vec3.clone(interp);
-  this.el.object3D.scale.set(vec[0], vec[1], vec[2]);
-},
+  setScale: function (interp) {
+    let vec = goog.vec.Vec3.clone(interp);
+    this.el.object3D.scale.set(vec[0], vec[1], vec[2]);
+  },
 
 
   pause: function () { },

+ 105 - 163
public/vwf/view/aframe.js

@@ -60,13 +60,13 @@ define(["module", "vwf/view"], function (module, view) {
 
                     function cb() {
                         resolve("ok");
-                    }    
+                    }
                     createAvatarControl(scene, cb);
-                  });
+                });
 
 
-                  prepairAvatar.then(res=>{
-                   // console.log(res);
+                prepairAvatar.then(res => {
+                    // console.log(res);
                     createAvatar.call(self, childID);
                     postLoadAction.call(self, childID);
 
@@ -88,7 +88,7 @@ define(["module", "vwf/view"], function (module, view) {
                             createWMRVR.call(this, childID, nodeName);
                         }
                     }
-    
+
                     if (this.wmrleft == true) {
                         console.log("CREATE WMR LEFT HERE!!");
                         if (AFRAME.utils.device.checkHasPositionalTracking()) {
@@ -98,7 +98,7 @@ define(["module", "vwf/view"], function (module, view) {
                         }
                     }
 
-                  })
+                })
                 // this.state.appInitialized  = true;
 
                 document.body.appendChild(scene); //append is not working in Edge browser
@@ -128,22 +128,22 @@ define(["module", "vwf/view"], function (module, view) {
         executed: function (nodeID, scriptText, scriptType) {
 
             var node = this.state.nodes[nodeID];
-                
+
             if (!(node)) {
                 return;
             }
-                
-                if (scriptText.includes('var print')){
-                    let print = self.nodes[nodeID].liveBindings.print;
 
-                    let me = self.kernel.moniker();
-                    let sender = self.nodes[nodeID].liveBindings.sender;
+            if (scriptText.includes('var print')) {
+                let print = self.nodes[nodeID].liveBindings.print;
 
-                    if (me == sender) {
-                        let data = JSON.stringify(print); //lively.lang.obj.inspect(print); 
-                        self.kernel.fireEvent(nodeID, "printEvent", [data]);
-                    }
+                let me = self.kernel.moniker();
+                let sender = self.nodes[nodeID].liveBindings.sender;
+
+                if (me == sender) {
+                    let data = JSON.stringify(print); //lively.lang.obj.inspect(print); 
+                    self.kernel.fireEvent(nodeID, "printEvent", [data]);
                 }
+            }
 
         },
 
@@ -161,16 +161,16 @@ define(["module", "vwf/view"], function (module, view) {
 
 
             if (node.prototypes.includes("http://vwf.example.com/aframe/aentity.vwf")) {
-                
-            var clientThatSatProperty = self.kernel.client();
-            var me = self.kernel.moniker();
-           
-
-            // If the transform property was initially updated by this view....
-            if ( clientThatSatProperty == me) {
-                self.kernel.callMethod(childID,"setOwner",[me]);
-            } 
-        }
+
+                var clientThatSatProperty = self.kernel.client();
+                var me = self.kernel.moniker();
+
+
+                // If the transform property was initially updated by this view....
+                if (clientThatSatProperty == me) {
+                    self.kernel.callMethod(childID, "setOwner", [me]);
+                }
+            }
 
 
             // if (propertyName == 'ownedBy')
@@ -213,20 +213,17 @@ define(["module", "vwf/view"], function (module, view) {
                 return;
             }
 
-            if (propertyName == 'position')
-            {
-                receiveModelTransformChanges( nodeId, 'position', propertyValue );
+            if (propertyName == 'position') {
+                receiveModelTransformChanges(nodeId, 'position', propertyValue);
             }
-            
-            if (propertyName == 'rotation')
-               {
-                receiveModelTransformChanges( nodeId, 'rotation', propertyValue );
-               }
 
-               if (propertyName == 'scale')
-               {
-                receiveModelTransformChanges( nodeId, 'scale', propertyValue );
-               }
+            if (propertyName == 'rotation') {
+                receiveModelTransformChanges(nodeId, 'rotation', propertyValue);
+            }
+
+            if (propertyName == 'scale') {
+                receiveModelTransformChanges(nodeId, 'scale', propertyValue);
+            }
 
             // if (node.aframeObj.nodeName == "AUDIO" && propertyName == 'itemSrc') {
 
@@ -303,24 +300,6 @@ define(["module", "vwf/view"], function (module, view) {
 
             }
 
-            //  if (node.aframeObj.nodeName == "A-BOX" && propertyName == 'color') {
-
-            //     console.log("sat color");
-            //     let materialName = '/' + node.name + '/material';
-            //     let materialID = vwf.find('', materialName)[0];
-            //     if (materialID) {
-
-            //         vwf.setProperty(materialID, propertyName, propertyValue);
-
-            //     }  
-
-            // }
-
-            // if (propertyName == 'position') {
-            //     this.nodes[nodeId].lastTransformStep = vwf.time();
-            // }
-
-
             // var aframeObject = node.aframeObj;
             // switch (propertyName) {
             //     case "clickable":
@@ -343,48 +322,48 @@ define(["module", "vwf/view"], function (module, view) {
         firedEvent: function (nodeID, eventName, eventParameters) {
 
             var node = this.state.nodes[nodeID];
-                
+
             if (!(node)) {
                 return;
             }
 
-            if ( eventName == "printIt" ) {
-            
+            if (eventName == "printIt") {
+
                 var clientThatSatProperty = self.kernel.client();
                 var me = self.kernel.moniker();
-               
+
 
                 // If the transform property was initially updated by this view....
-                if ( clientThatSatProperty == me) {
+                if (clientThatSatProperty == me) {
 
 
-                let selectedText = eventParameters[0];
-                let printText = _app.helpers.replaceSubStringALL(selectedText,'this','me');
+                    let selectedText = eventParameters[0];
+                    let printText = _app.helpers.replaceSubStringALL(selectedText, 'this', 'me');
 
-                if (!self.nodes[nodeID].liveBindings){
-                    self.nodes[nodeID].liveBindings = {}
-                }
+                    if (!self.nodes[nodeID].liveBindings) {
+                        self.nodes[nodeID].liveBindings = {}
+                    }
 
-                //let bindObject = self.nodes[nodeID].liveBindings;
-                let bindString = 'vwf.views["vwf/view/aframe"].nodes["'+ nodeID + '"].liveBindings';
-                let sender = JSON.stringify(eventParameters[1]);
-            
-                let scriptText = 'let binding = '+ bindString +'; binding.me = this; binding.sender = '+ sender +'; lively.vm.syncEval("var print = ' + printText + '",{topLevelVarRecorder: binding});';
-                vwf_view.kernel.execute(nodeID, scriptText);
+                    //let bindObject = self.nodes[nodeID].liveBindings;
+                    let bindString = 'vwf.views["vwf/view/aframe"].nodes["' + nodeID + '"].liveBindings';
+                    let sender = JSON.stringify(eventParameters[1]);
 
-            }
+                    let scriptText = 'let binding = ' + bindString + '; binding.me = this; binding.sender = ' + sender + '; lively.vm.syncEval("var print = ' + printText + '",{topLevelVarRecorder: binding});';
+                    vwf_view.kernel.execute(nodeID, scriptText);
+
+                }
 
             }
 
 
 
-            if ( eventName == "changingTransformFromView" ) {
+            if (eventName == "changingTransformFromView") {
                 var clientThatSatProperty = self.kernel.client();
                 var me = self.kernel.moniker();
 
                 // If the transform property was initially updated by this view....
-                if ( clientThatSatProperty == me ) {
-                    var node = this.state.nodes[ nodeID ];
+                if (clientThatSatProperty == me) {
+                    var node = this.state.nodes[nodeID];
                     node.ignoreNextTransformUpdate = true;
                 }
             }
@@ -395,11 +374,11 @@ define(["module", "vwf/view"], function (module, view) {
 
                 Object.entries(self.state.nodes).forEach(el => {
                     if (el[1].prototypes.includes("http://vwf.example.com/aframe/aentity.vwf")) {
-                        vwf_view.kernel.callMethod(el[0],"setOwner",[self.kernel.moniker()]);
+                        vwf_view.kernel.callMethod(el[0], "setOwner", [self.kernel.moniker()]);
                     }
 
-                    });
-             }
+                });
+            }
 
             var avatarName = 'avatar-' + self.kernel.moniker();
 
@@ -448,7 +427,7 @@ define(["module", "vwf/view"], function (module, view) {
                     }
 
                     //
-                    
+
 
                 }
 
@@ -464,13 +443,6 @@ define(["module", "vwf/view"], function (module, view) {
 
             }
 
-            // if (eventName == "setAvatarRotation") {
-            //     vwf_view.kernel.setProperty(avatarName, "rotation", [eventParameters.x, eventParameters.y, eventParameters.z]);
-            // }
-
-            //  if (eventName == "setAvatarPosition") {
-            //     vwf_view.kernel.setProperty(avatarName, "position", [eventParameters.x, eventParameters.y, eventParameters.z]);
-            // }
 
             if (eventName == "intersectEvent") {
 
@@ -478,12 +450,12 @@ define(["module", "vwf/view"], function (module, view) {
                 var me = self.kernel.moniker();
 
                 // If the transform property was initially updated by this view....
-                if ( clientThatSatProperty == me ) {
+                if (clientThatSatProperty == me) {
 
-                if ( me == eventParameters[0]) {
-                    vwf_view.kernel.callMethod(nodeID, "intersectEventMethod", [])
+                    if (me == eventParameters[0]) {
+                        vwf_view.kernel.callMethod(nodeID, "intersectEventMethod", [])
+                    }
                 }
-            }
 
             }
 
@@ -494,12 +466,12 @@ define(["module", "vwf/view"], function (module, view) {
                 var me = self.kernel.moniker();
 
                 // If the transform property was initially updated by this view....
-                if ( clientThatSatProperty == me ) {
+                if (clientThatSatProperty == me) {
 
-                if ( me == eventParameters[0]) {
-                    vwf_view.kernel.callMethod(nodeID, "clearIntersectEventMethod", [])
+                    if (me == eventParameters[0]) {
+                        vwf_view.kernel.callMethod(nodeID, "clearIntersectEventMethod", [])
+                    }
                 }
-            }
 
             }
 
@@ -547,8 +519,6 @@ define(["module", "vwf/view"], function (module, view) {
                 updateHandControllerVR('wmrvr-left-', '#wmrvrcontrolleft');
             }
 
-            // console.log(vwfTime);
-
             //lerpTick ();
         },
 
@@ -561,7 +531,7 @@ define(["module", "vwf/view"], function (module, view) {
             }
 
 
-            switch(methodName) {
+            switch (methodName) {
                 case "translateBy":
                 case "translateTo":
                     //resetInterpolationFromViewDriver(nodeID, methodParameters, 'position')
@@ -576,9 +546,9 @@ define(["module", "vwf/view"], function (module, view) {
                 // No need for transformBy or worldTransformBy because they call transformTo and worldTransformTo
                 case "transformTo":
                 case "worldTransformTo":
-                  //resetInterpolationFromViewDriver(nodeID, methodParameters, 'rotation')
-                  break;
-        }
+                    //resetInterpolationFromViewDriver(nodeID, methodParameters, 'rotation')
+                    break;
+            }
 
             if (this.nodes[nodeID].extends == "http://vwf.example.com/aframe/acamera.vwf") {
                 if (methodName == "setCameraToActive") {
@@ -594,10 +564,8 @@ define(["module", "vwf/view"], function (module, view) {
                 }
             }
 
-            if (methodName == "createGooglePoly") {
-
-
-            }
+            // if (methodName == "createGooglePoly") {
+            // }
 
 
         }
@@ -608,89 +576,64 @@ define(["module", "vwf/view"], function (module, view) {
 
     function resetInterpolationFromViewDriver(nodeID, methodParameters, propertyName) {
 
-        if(methodParameters.length < 2 || methodParameters[1] == 0) {
+        if (methodParameters.length < 2 || methodParameters[1] == 0) {
 
             let viewNode = self.nodes[nodeID];
-
-            if(viewNode.components.interpolation){
-             let interID = viewNode.components.interpolation;
-             let viewComponentDriver = vwf.views["vwf/view/aframeComponent"];
-             viewComponentDriver.resetInterpolation(interID, propertyName);
+            if (viewNode.components.interpolation) {
+                let interID = viewNode.components.interpolation;
+                let viewComponentDriver = vwf.views["vwf/view/aframeComponent"];
+                viewComponentDriver.resetInterpolation(interID, propertyName);
             }
-
-
+        }
     }
-}
 
 
-      // Receive Model Transform Changes algorithm 
+    // Receive Model Transform Changes algorithm 
     // 1.0 If (own view changes) then IGNORE (only if no external changes have occurred since the user’s view 
     //       requested this change – otherwise, will need to treat like 1.1 or 1.2)
     // 1.1 Elseif (other external changes and no outstanding own view changes) then ADOPT
     // 1.2 Else Interpolate to the model’s transform (conflict b/w own view and external sourced model changes)
 
-    function receiveModelTransformChanges(nodeID, propertyName, propertyValue ) {
+    function receiveModelTransformChanges(nodeID, propertyName, propertyValue) {
 
-        var node = self.state.nodes[ nodeID ];
+        var node = self.state.nodes[nodeID];
 
         // If the node does not exist in the state's list of nodes, then this update is from a prototype and we
         // should ignore it
-        if ( !node ) {
+        if (!node) {
             return;
         }
 
-         // If the transform property was initially updated by this view....
-         if ( node.ignoreNextTransformUpdate ) {
+        // If the transform property was initially updated by this view....
+        if (node.ignoreNextTransformUpdate) {
             node.outstandingTransformRequests.shift();
             node.ignoreNextTransformUpdate = false;
         } else {
-           // adoptTransform( node, transformMatrix );
-
-           let prop = self.state.setFromValue(propertyValue); 
-
-           if(propertyName == 'position') {  
-            let pos = goog.vec.Vec3.clone( prop );
-            node.aframeObj.object3D.position.set(pos[0], pos[1], pos[2]);
-           } else if (propertyName == 'rotation') {
-            let rot = goog.vec.Vec3.clone( prop );
-
-            node.aframeObj.object3D.rotation.set(
-                THREE.Math.degToRad(rot[0]),
-                THREE.Math.degToRad(rot[1]),
-                THREE.Math.degToRad(rot[2])
-            )
-            //node.aframeObj.object3D.rotation.set(rot[0], rot[1], rot[2]);
-           } else if (propertyName == 'scale') {
-            let scale = goog.vec.Vec3.clone( prop);
-            node.aframeObj.object3D.scale.set(scale[0], scale[1], scale[2]);
-           }
-          
-           
-           //setAFrameProperty ('position', propertyValue, node.aframeObj)
-        }
+            // adoptTransform( node, transformMatrix );
 
+            let prop = self.state.setFromValue(propertyValue);
 
+            if (propertyName == 'position') {
+                let pos = goog.vec.Vec3.clone(prop);
+                node.aframeObj.object3D.position.set(pos[0], pos[1], pos[2]);
+            } else if (propertyName == 'rotation') {
+                let rot = goog.vec.Vec3.clone(prop);
 
+                node.aframeObj.object3D.rotation.set(
+                    THREE.Math.degToRad(rot[0]),
+                    THREE.Math.degToRad(rot[1]),
+                    THREE.Math.degToRad(rot[2])
+                )
+                //node.aframeObj.object3D.rotation.set(rot[0], rot[1], rot[2]);
+            } else if (propertyName == 'scale') {
+                let scale = goog.vec.Vec3.clone(prop);
+                node.aframeObj.object3D.scale.set(scale[0], scale[1], scale[2]);
+            }
 
+        }
     }
 
 
-    function setAFrameProperty (propertyName, propertyValue, aframeObject) {
-        //console.log(propertyValue);
-                if (propertyValue.hasOwnProperty('x')) {
-                    aframeObject.setAttribute(propertyName, propertyValue)
-                } else
-                    if (Array.isArray(propertyValue) || propertyValue instanceof Float32Array ) {
-                        aframeObject.setAttribute(propertyName, { x: propertyValue[0], y: propertyValue[1], z: propertyValue[2] })
-                    } 
-                    
-                    else if (typeof propertyValue === 'string') {
-                        aframeObject.setAttribute(propertyName, AFRAME.utils.coordinates.parse(propertyValue))
-                    }
-        
-            }
-
-
     function compareCoordinates(a, b, delta) {
         return Math.abs(a.x - b.x) > delta || Math.abs(a.y - b.y) > delta || Math.abs(a.z - b.z) > delta
 
@@ -698,7 +641,6 @@ define(["module", "vwf/view"], function (module, view) {
 
     function getWorldRotation(el, order) {
 
-
         var worldQuat = new THREE.Quaternion();
         el.object3D.getWorldQuaternion(worldQuat);
 
@@ -986,7 +928,7 @@ define(["module", "vwf/view"], function (module, view) {
     }
 
 
-    function updateMaterial(node){
+    function updateMaterial(node) {
 
         let elID = '#' + node.aframeObj.getAttribute('id');
         Object.entries(self.state.nodes).forEach(el => {
@@ -994,7 +936,7 @@ define(["module", "vwf/view"], function (module, view) {
             if (material) {
                 if (!material.src) {
                     let materialID = vwf.find(el[0], 'material');
-                    self.kernel.callMethod(materialID, "refreshSrc",[]);
+                    self.kernel.callMethod(materialID, "refreshSrc", []);
                 }
                 else if (material.src) {
                     if (material.src !== "") {

+ 140 - 168
public/vwf/view/aframeComponent.js

@@ -25,31 +25,31 @@ define(["module", "vwf/view"], function (module, view) {
             this.lastRealTick = performance.now();
 
             this.state.appInitialized = false;
-            
-                        if (typeof options == "object") {
-            
-                            this.rootSelector = options["application-root"];
-                        }
-                        else {
-                            this.rootSelector = options;
-                        }
-
-                        
-
-        this.resetInterpolation = function(nodeID, propertyName){
-           
-            if(propertyName == 'position') {
-                self.nodes[nodeID].interpolate.position.lastTick = getPosition(nodeID);
-                self.nodes[nodeID].interpolate.position.selfTick =  goog.vec.Vec3.clone(self.nodes[nodeID].interpolate.position.lastTick);
+
+            if (typeof options == "object") {
+
+                this.rootSelector = options["application-root"];
+            }
+            else {
+                this.rootSelector = options;
             }
 
-            if(propertyName == 'rotation') {
-            self.nodes[nodeID].interpolate.rotation.lastTick = getRotation(nodeID);
-            self.nodes[nodeID].interpolate.rotation.selfTick = self.nodes[nodeID].interpolate.rotation.lastTick;
+
+
+            this.resetInterpolation = function (nodeID, propertyName) {
+
+                if (propertyName == 'position') {
+                    self.nodes[nodeID].interpolate.position.lastTick = getPosition(nodeID);
+                    self.nodes[nodeID].interpolate.position.selfTick = goog.vec.Vec3.clone(self.nodes[nodeID].interpolate.position.lastTick);
+                }
+
+                if (propertyName == 'rotation') {
+                    self.nodes[nodeID].interpolate.rotation.lastTick = getRotation(nodeID);
+                    self.nodes[nodeID].interpolate.rotation.selfTick = self.nodes[nodeID].interpolate.rotation.lastTick;
+                }
+
             }
 
-        }
-         
         },
 
         // initializedNode: function( nodeID, childID ) {
@@ -67,52 +67,52 @@ define(["module", "vwf/view"], function (module, view) {
             }
 
 
-            if(this.state.nodes[childID]) {
+            if (this.state.nodes[childID]) {
                 this.nodes[childID] = {
-                    id:childID,
-                    extends:childExtendsID,
+                    id: childID,
+                    extends: childExtendsID,
                     entityID: this.state.nodes[childID].parentID,
                     liveBindings: {}
                 };
 
                 let entityID = this.state.nodes[childID].parentID;
                 let viewDriver = vwf.views["vwf/view/aframe"];
-                let entityNode = Object.entries(viewDriver.nodes).find(el => 
+                let entityNode = Object.entries(viewDriver.nodes).find(el =>
                     el[1].id == entityID
-                  )[1];
+                )[1];
 
-                  if(!entityNode.components) 
+                if (!entityNode.components)
                     entityNode.components = {}
 
-            
-                    entityNode.components[this.state.nodes[childID].name] = childID;
-                  //console.log(entityNode);
 
+                entityNode.components[this.state.nodes[childID].name] = childID;
+                //console.log(entityNode);
 
-            } 
+
+            }
             // else if (this.state.nodes[childID] && this.state.nodes[childID].aframeObj) {
             //     this.nodes[childID] = {
             //         id:childID,
             //         extends:childExtendsID
             //     };
             // }
-          
+
         },
 
-        initializedNode: function( nodeID, childID ) {
-            
-                        var node = this.state.nodes[childID];
+        initializedNode: function (nodeID, childID) {
 
-                        if (!node) {
-                            return;
-                        }
+            var node = this.state.nodes[childID];
 
-                        if (this.nodes[childID].extends == "http://vwf.example.com/aframe/a-sound-component.vwf"){
-                            console.log(vwf.getProperty(childID, 'isPlaying'));
-                            self.kernel.callMethod(childID, "playSound");
-                    }
+            if (!node) {
+                return;
+            }
+
+            if (this.nodes[childID].extends == "http://vwf.example.com/aframe/a-sound-component.vwf") {
+                console.log(vwf.getProperty(childID, 'isPlaying'));
+                self.kernel.callMethod(childID, "playSound");
+            }
 
-                    },
+        },
 
         createdProperty: function (nodeId, propertyName, propertyValue) {
             return this.satProperty(nodeId, propertyName, propertyValue);
@@ -125,86 +125,68 @@ define(["module", "vwf/view"], function (module, view) {
 
 
         satProperty: function (nodeId, propertyName, propertyValue) {
-           
-            var node = this.state.nodes[ nodeId ];
-            
-                        if ( !( node && node.aframeObj ) ) {
-                            return;
-                        }
-
-                        if (node.name == "material") {
-
-                            if (propertyName == 'repeat') {
-
-                                self.kernel.callMethod(nodeId, "refreshSrc", []);
-
-                                // let src = node.aframeObj.el.getAttribute('material').src;
-                                // if (src) {
-                                //     let srcID = src.id;
-                                //     let elID = '#'+ srcID;
-                                //     if(srcID) self.kernel.callMethod(nodeId, "updateSrc", [elID])
-                                // }
-                               
-     
-                             }
-
-
-                        } 
-
-                        
-            // if (node.name == "material" && propertyName == 'color') {
-    
-            //     console.log("sat color on material");
-            //     // let nodeColor = vwf.getProperty(node.parentID, propertyName);
-             
-
-            // }             
-
-            // switch (propertyName) {
-            //     case "color":
-            //         if (propertyValue) {
-            //            // self.kernel.callMethod (nodeId, 'initLang');
-            //           // console.log("sat color "+ propertyValue)
-            //         }
-            //         break;
-            // }
-            
+
+            var node = this.state.nodes[nodeId];
+
+            if (!(node && node.aframeObj)) {
+                return;
+            }
+
+            if (node.name == "material") {
+
+                if (propertyName == 'repeat') {
+
+                    self.kernel.callMethod(nodeId, "refreshSrc", []);
+
+                    // let src = node.aframeObj.el.getAttribute('material').src;
+                    // if (src) {
+                    //     let srcID = src.id;
+                    //     let elID = '#'+ srcID;
+                    //     if(srcID) self.kernel.callMethod(nodeId, "updateSrc", [elID])
+                    // }
+
+
+                }
+
+
+            }
+
 
         },
 
         firedEvent: function (nodeID, eventName, eventParameters) {
 
             var node = this.state.nodes[nodeID];
-                
+
             if (!(node)) {
                 return;
             }
 
-            if ( eventName == "printIt" ) {
-            
+            if (eventName == "printIt") {
+
                 var clientThatSatProperty = self.kernel.client();
                 var me = self.kernel.moniker();
-               
+
 
                 // If the transform property was initially updated by this view....
-                if ( clientThatSatProperty == me) {
+                if (clientThatSatProperty == me) {
 
 
-                let selectedText = eventParameters[0];
-                let printText = _app.helpers.replaceSubStringALL(selectedText,'this','me');
+                    let selectedText = eventParameters[0];
+                    let printText = _app.helpers.replaceSubStringALL(selectedText, 'this', 'me');
 
-                if (!self.nodes[nodeID].liveBindings){
-                    self.nodes[nodeID].liveBindings = {}
-                }
+                    if (!self.nodes[nodeID].liveBindings) {
+                        self.nodes[nodeID].liveBindings = {}
+                    }
 
-                //let bindObject = self.nodes[nodeID].liveBindings;
-                let bindString = 'vwf.views["vwf/view/aframeComponent"].nodes["'+ nodeID + '"].liveBindings';
-                let sender = JSON.stringify(eventParameters[1]);
-            
-                let scriptText = 'let binding = '+ bindString +'; binding.me = this; binding.sender = '+ sender +'; lively.vm.syncEval("var print = ' + printText + '",{topLevelVarRecorder: binding});';
-                vwf_view.kernel.execute(nodeID, scriptText);
+                    //let bindObject = self.nodes[nodeID].liveBindings;
+                    let bindString = 'vwf.views["vwf/view/aframeComponent"].nodes["' + nodeID + '"].liveBindings';
+                    let sender = JSON.stringify(eventParameters[1]);
 
-            }
+                    let scriptText = 'let binding = ' + bindString + '; binding.me = this; binding.sender = ' + sender + '; lively.vm.syncEval("var print = ' + printText + '",{topLevelVarRecorder: binding});';
+                    vwf_view.kernel.execute(nodeID, scriptText);
+
+                }
 
             }
 
@@ -213,34 +195,34 @@ define(["module", "vwf/view"], function (module, view) {
         executed: function (nodeID, scriptText, scriptType) {
 
             var node = this.state.nodes[nodeID];
-                
+
             if (!(node)) {
                 return;
             }
 
-            if (scriptText.includes('var print')){
+            if (scriptText.includes('var print')) {
                 let print = self.nodes[nodeID].liveBindings.print;
 
                 let me = self.kernel.moniker();
                 let sender = self.nodes[nodeID].liveBindings.sender;
 
                 if (me == sender) {
-                    let data = JSON.stringify(print); //lively.lang.obj.inspect(print); 
+                    let data = lively.lang.obj.inspect(print); //JSON.stringify(print); 
                     self.kernel.fireEvent(nodeID, "printEvent", [data]);
                 }
             }
 
-    },
+        },
 
         ticked: function (vwfTime) {
 
-            lerpTick ();
+            lerpTick();
 
         },
 
         tocked: function (vwfTime) {
 
-           // lerpTock ();
+            // lerpTock ();
 
         },
 
@@ -263,7 +245,7 @@ define(["module", "vwf/view"], function (module, view) {
 
         },
 
-        calledMethod: function( nodeID, methodName, methodParameters, methodValue ) {
+        calledMethod: function (nodeID, methodName, methodParameters, methodValue) {
 
             var node = this.state.nodes[nodeID];
 
@@ -271,9 +253,9 @@ define(["module", "vwf/view"], function (module, view) {
                 return;
             }
 
-    
-            if (this.nodes[nodeID].extends == "http://vwf.example.com/aframe/a-sound-component.vwf"){
-                if (methodName == "stopSound"){
+
+            if (this.nodes[nodeID].extends == "http://vwf.example.com/aframe/a-sound-component.vwf") {
+                if (methodName == "stopSound") {
 
                     console.log("stop sound");
                     node.aframeObj.el.components.sound.stopSound();
@@ -281,7 +263,7 @@ define(["module", "vwf/view"], function (module, view) {
                     //node.aframeObj.stopSound();
                 }
 
-                if (methodName == "playSound"){
+                if (methodName == "playSound") {
 
                     console.log("play sound");
                     node.aframeObj.el.components.sound.playSound();
@@ -289,7 +271,7 @@ define(["module", "vwf/view"], function (module, view) {
                     //node.aframeObj.stopSound();
                 }
 
-                if (methodName == "pauseSound"){
+                if (methodName == "pauseSound") {
 
                     console.log("pause sound");
                     node.aframeObj.el.components.sound.pauseSound();
@@ -303,63 +285,53 @@ define(["module", "vwf/view"], function (module, view) {
 
     });
 
-    function lerpTick () {
+    function lerpTick() {
         // var now = performance.now();
         // self.realTickDif = now - self.lastRealTick;
 
         // self.lastRealTick = now;
- 
+
         //reset - loading can cause us to get behind and always but up against the max prediction value
-       // self.tickTime = 0;
-
-       let interNodes = Object.entries(self.nodes).filter(node => 
-        node[1].extends == 'http://vwf.example.com/aframe/interpolation-component.vwf');
-
-       interNodes.forEach(node => {
-           let nodeID = node[0];
-        if ( self.state.nodes[nodeID] ) {    
-            
-            if(!self.nodes[nodeID].lastRealTick)
-                self.nodes[nodeID].lastRealTick = performance.now();
-
-            var now = performance.now();
-            self.nodes[nodeID].realTickDif = now - self.nodes[nodeID].lastRealTick;
-            self.nodes[nodeID].lastRealTick = now;
-     
-            self.nodes[nodeID].tickTime = 0;
-            //console.log(self.nodes[nodeID].realTickDif);
-
-            if(!self.nodes[nodeID].interpolate)
-            {
-                self.nodes[nodeID].interpolate = {
-                    'position': {},
-                    'rotation': {},
-                    'scale': {}
-                }
-            }
+        // self.tickTime = 0;
 
-            self.nodes[nodeID].interpolate.position.lastTick = (self.nodes[nodeID].interpolate.position.selfTick);
-            self.nodes[nodeID].interpolate.position.selfTick = getPosition(nodeID);
+        let interNodes = Object.entries(self.nodes).filter(node =>
+            node[1].extends == 'http://vwf.example.com/aframe/interpolation-component.vwf');
 
-            self.nodes[nodeID].interpolate.rotation.lastTick = (self.nodes[nodeID].interpolate.rotation.selfTick);
-            self.nodes[nodeID].interpolate.rotation.selfTick = getRotation(nodeID);
+        interNodes.forEach(node => {
+            let nodeID = node[0];
+            if (self.state.nodes[nodeID]) {
 
-            self.nodes[nodeID].interpolate.scale.lastTick = (self.nodes[nodeID].interpolate.scale.selfTick);
-            self.nodes[nodeID].interpolate.scale.selfTick = getScale(nodeID);
-            //console.log(self.nodes[nodeID].interpolate.rotation.selfTick);
-            //self.nodes[nodeID].lastTickTransform = self.nodes[nodeID].selfTickTransform;
-            //self.nodes[nodeID].selfTickTransform = getTransform(nodeID);
-        }
-       })
+                if (!self.nodes[nodeID].lastRealTick)
+                    self.nodes[nodeID].lastRealTick = performance.now();
+
+                var now = performance.now();
+                self.nodes[nodeID].realTickDif = now - self.nodes[nodeID].lastRealTick;
+                self.nodes[nodeID].lastRealTick = now;
+
+                self.nodes[nodeID].tickTime = 0;
+                //console.log(self.nodes[nodeID].realTickDif);
 
-        // for ( var nodeID in interNodes ) {
-        //     if ( self.state.nodes[nodeID] ) {      
-        //         self.nodes[nodeID].tickTime = 0;
-        //         self.nodes[nodeID].lastTickTransform = self.nodes[nodeID].selfTickTransform;
-        //         self.nodes[nodeID].selfTickTransform = getTransform(nodeID);
-        //     }
-        // }
+                if (!self.nodes[nodeID].interpolate) {
+                    self.nodes[nodeID].interpolate = {
+                        'position': {},
+                        'rotation': {},
+                        'scale': {}
+                    }
+                }
+
+                self.nodes[nodeID].interpolate.position.lastTick = (self.nodes[nodeID].interpolate.position.selfTick);
+                self.nodes[nodeID].interpolate.position.selfTick = getPosition(nodeID);
+
+                self.nodes[nodeID].interpolate.rotation.lastTick = (self.nodes[nodeID].interpolate.rotation.selfTick);
+                self.nodes[nodeID].interpolate.rotation.selfTick = getRotation(nodeID);
 
+                self.nodes[nodeID].interpolate.scale.lastTick = (self.nodes[nodeID].interpolate.scale.selfTick);
+                self.nodes[nodeID].interpolate.scale.selfTick = getScale(nodeID);
+                //console.log(self.nodes[nodeID].interpolate.rotation.selfTick);
+                //self.nodes[nodeID].lastTickTransform = self.nodes[nodeID].selfTickTransform;
+                //self.nodes[nodeID].selfTickTransform = getTransform(nodeID);
+            }
+        })
 
     }
 
@@ -369,7 +341,7 @@ define(["module", "vwf/view"], function (module, view) {
         let rot = r.copy(self.state.nodes[id].aframeObj.el.object3D.rotation);
         //let rot = self.state.nodes[id].aframeObj.el.getAttribute('rotation');
         //let interp = (new THREE.Vector3()).fromArray(Object.values(rot))//goog.vec.Mat4.clone(self.state.nodes[id].threeObject.matrix.elements);
-        
+
         return rot;
     }
 
@@ -377,12 +349,12 @@ define(["module", "vwf/view"], function (module, view) {
         // let p = new THREE.Vector3();
         // let pos = p.copy(self.state.nodes[id].aframeObj.el.object3D.position);
         let p = (new THREE.Vector3()).copy(self.state.nodes[id].aframeObj.el.object3D.position);
-        let pos =  goog.vec.Vec3.createFromValues(p.x, p.y, p.z)
+        let pos = goog.vec.Vec3.createFromValues(p.x, p.y, p.z)
 
 
         //let pos = self.state.nodes[id].aframeObj.el.getAttribute('position');
         //let interp = (new THREE.Vector3()).fromArray(Object.values(pos))//goog.vec.Mat4.clone(self.state.nodes[id].threeObject.matrix.elements);
-        
+
         return pos;
     }
 
@@ -390,12 +362,12 @@ define(["module", "vwf/view"], function (module, view) {
         // let p = new THREE.Vector3();
         // let pos = p.copy(self.state.nodes[id].aframeObj.el.object3D.position);
         let p = (new THREE.Vector3()).copy(self.state.nodes[id].aframeObj.el.object3D.scale);
-        let data =  goog.vec.Vec3.createFromValues(p.x, p.y, p.z)
+        let data = goog.vec.Vec3.createFromValues(p.x, p.y, p.z)
 
 
         //let pos = self.state.nodes[id].aframeObj.el.getAttribute('position');
         //let interp = (new THREE.Vector3()).fromArray(Object.values(pos))//goog.vec.Mat4.clone(self.state.nodes[id].threeObject.matrix.elements);
-        
+
         return data;
     }