|  | @@ -357,9 +357,9 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                          case "position":
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                        var position = goog.vec.Vec3.createFromArray( propertyValue || [] );
 | 
	
		
			
				|  |  | -                            node.transform.position = position;
 | 
	
		
			
				|  |  | -                            value = propertyValue;
 | 
	
		
			
				|  |  | +                        var position = translationFromValue(propertyValue || []); //goog.vec.Vec3.createFromArray( propertyValue || [] );
 | 
	
		
			
				|  |  | +                            node.transform.position = goog.vec.Vec3.clone(position);
 | 
	
		
			
				|  |  | +                            //value = propertyValue;
 | 
	
		
			
				|  |  |                              node.storedTransformDirty = true; 
 | 
	
		
			
				|  |  |                              //setTransformsDirty( threeObject );
 | 
	
		
			
				|  |  |                              //this.state.setAFrameProperty('position', propertyValue, aframeObject);
 | 
	
	
		
			
				|  | @@ -839,12 +839,15 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 | 
	
		
			
				|  |  |                              //     value = pos//[pos.x, pos.y, pos.z]//AFRAME.utils.coordinates.stringify(pos);
 | 
	
		
			
				|  |  |                              // }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +                            if (node.transform.position) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |                              if ( node.storedTransformDirty ) {
 | 
	
		
			
				|  |  |                                  updateStoredTransform( node );
 | 
	
		
			
				|  |  |                              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                            //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 "scale":
 | 
	
	
		
			
				|  | @@ -1337,6 +1340,21 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    function translationFromValue ( 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
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      function updateStoredTransform( node ) {
 | 
	
		
			
				|  |  |          
 | 
	
	
		
			
				|  | @@ -1346,7 +1364,8 @@ define(["module", "vwf/model", "vwf/utility"], function (module, model, utility)
 | 
	
		
			
				|  |  |              // didn't need to load a model
 | 
	
		
			
				|  |  |              node.transform = {};
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            let pos = node.aframeObj.object3D.position;
 | 
	
		
			
				|  |  | +            //let pos = node.aframeObj.object3D.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.position = AFRAME.utils.coordinates.stringify(node.aframeObj.object3D.position);
 |