github aframevr/aframe v0.3.0


0.3.0 improves performance, adds support for the WebVR 1.0 API, and adds
tracked controllers (using experimental Gamepad APIs).

Major Changes

  • WebVR 1.0 API support. (#1423)
  • Default camera is now positioned at 0, 1.6, 0 rather than 0, 1.8, -4. In VR mode, the 1.6m height offset as defined by camera.userHeight is removed. (#1474, #1718)
  • Components no longer serialize stringified data to the DOM for performance. Introduced debug mode and flush-to-DOM methods. (#1323)
  • No longer able to provide own <canvas> element. (#1474)
  • Geometries default to be BufferGeometrys, saving memory at the cost of being more difficult to manually manipulate. Use geometry="buffer: false" to disable. (#633) -- Geometry data is preserved in geometry.metadata. (#1557).
  • Removed deprecated loader component and <a-cube>. (29446e0)
  • Abstract raycasting-related properties out of the cursor component into the raycaster component. (#1196)
  • Have shaders handle applying texture objects to material objects rather than material system. (2cee9eb)
  • Removed geometry component's translate property, added a pivot component in extras/. (#1339)
  • Renamed defaultAttributes to defaultComponents in registerPrimitive API. (#1460)
  • Default lighting setup tweaked. (#1478)
  • Made sound.src use the src property type. Sound URLs must now either be wrapped in url() or a selector to an <audio> element. (#1629)
  • Added A-Frame Code of Conduct. (#954)
  • Reduced webvr-polyfill BUFFER_SCALE to 1 / window.devicePixelRatio only for iOS versions under 10 as a workaround to a Webkit bug. This will cause decrease resolutions on iPhone VR mode temporarily. It can be overridden in window.WebVRConfig.BUFFER_SCALE, but will cause canvas sizing issues upon entering stereo causing people to have to rotate their phones back and forth. (#1803)



  • Added tracked-controls, vive-controls, and hand-controls components. (#1584)
  • Added API for multiple components of the same type (e.g., sound__1, sound__2). (#1596)
  • Added schemas to systems. (#1589)
  • <a-asset-item>s now truly cached and only fetched once. (#1700)
  • Added better support for embedded scenes with <a-scene embedded>. (#1474)
  • Can now enter fullscreen if headset is not connected. (#1474)
  • Added AFRAME.registerGeometry API such that each geometry type has its own distinct schema. (#1162)
  • Bumped webvr-polyfill to 0.9.15. (#1618)
  • Dispose THREE.Geometry and THREE.Material objects when no longer in use to save memory. (#1287)
  • Moved texture caching to material system. (#1315)
  • Reduced default <a-sky>, <a-videosphere> segments. (#1319, #1532)
  • Added geometry caching system to save memory. (#1347)
  • Improved GearVR support. (#1336)
  • Removed unnecessary object diffing calls. (1c924b6)
  • Added geometry merging API to reduce number of draw calls for geometries that share the same material. (bd0dbcb)
  • Added support for animation of color property types. (#1302)
  • Added icosahedron, dodecahedron, octahedron, tetrahedron geometries. (#1413, #1493)
  • Better NPM v3 support. (#1430)
  • Added more properties to the raycaster component. (#1196)
  • Added more properties to the sphere component. (#1454)
  • Added light.intensity, properties. (#1270, #1728)
  • Added camera.zoom property. (#1453)
  • Added <a-sound>, <a-torus-knot> primitives. (#1455, #1456)
  • Added componentremoved event for entities. (#1434)
  • Remove injected A-Frame favicon. (#1415)
  • Added end attribute for animations to stop on events. (#1481)
  • Added separate delay attribute for animations. (#1508)
  • Added material.flatShading, material.visible properties. (#1503, #1690)
  • Defaulted geometry.primitive to box. (#1523)
  • Versioned the A-Frame documentation.
  • Custom materials lifecycle methods only require to set this.material rather than return. (#1549)
  • Added support for <canvas> to be a source of texture for materials. (#1567)
  • Added utility functions for getting and setting properties of multi-prop components. (#1595)
  • selectorAll property type now converts NodeList to Array. (#1642)
  • Changed default stats UI background color to gray. (#1644)
  • Exposed list of registered primitives. (#1643)
  • Removed instances of hard-coded <a-scene>, done to support an independent augmented reality (AR) initiative. (#1665)
  • Added cursor grabbing styles to look-controls component. (#1680)
  • Added support for mixins being attached at runtime, done to support a third-party CSS syntax for components. (#1610)
  • Added <ctrl> + <alt> + i shortcut to inject the A-Frame Inspector tool. (#1599)
  • Removed a Function.prototype.bind call on each frame render (#1808)


  • Fixed deep-seated prototype callback order invocation bug in document.registerElement wrapper. (#1689)
  • Fixed look-controls component when dragging mouse off of canvas. (#1474)
  • Fixed primitives not correctly merging properties with defined components. (#1324)
  • Fixed being able to provide size to custom canvas. (#1322)
  • Fixed merging of mapped properties and component properties for primitives. (#1332)
  • Fixed not being able to disable video autoplay. (#1353)
  • Fixed dynamically attached entities not playing. (#1415)
  • Fixed primitives overriding defined attributes. (#1448)
  • Fixed raycasting on loaded models. (#1497)
  • Fixed having multiple COLLADA models in a scene. (#1511)
  • Fixed components not being initialized before playing. (#1565)
  • Fixed material.repeat not being able to be a float. (#1568)
  • Fixed single-property components with a default truthy value not obeying truthiness if defined in HTML without a value. (#1631)
  • Fixed spotlight angles. (#1728)
latest releases: v1.2.0, v1.1.0, v1.0.4...
4 years ago