A-Frame v0.3.0 Release Notes
Release Date: 2016-08-17 // over 7 years ago-
🐎 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 than0, 1.8, -4
. In VR mode, the1.6m
height offset as defined bycamera.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 ingeometry.metadata
. (#1557). - ✂ Removed deprecated declarative events, 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 apivot
component inextras/
. (#1339) - 0️⃣ Renamed
defaultAttributes
todefaultComponents
inregisterPrimitive
API. (#1460) - 0️⃣ Default lighting setup tweaked. (#1478)
- Made
sound.src
use thesrc
property type. Sound URLs must now either be wrapped inurl()
or a selector to an<audio>
element. (#1629) - ➕ Added A-Frame Code of Conduct. (#954)
- ↪ Reduced webvr-polyfill
BUFFER_SCALE
to1 / 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 inwindow.WebVRConfig.BUFFER_SCALE
, but will cause canvas sizing issues upon entering stereo causing people to have to rotate their phones back and forth. (#1803)
🗄 Deprecations
- 🗄 Declarative Events deprecated in favor of ngokevin/aframe-event-set-component. (#1634)
- 🚚
look-at
component deprecated and moved to ngokevin/aframe-look-at-component. (#1447) - 🗄
<a-model>
primitive deprecated in favor of<a-collada-model>
and<a-obj-model>
. (#1525)
✨ Enhancements
- ➕ Added
tracked-controls
,vive-controls
, andhand-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
andTHREE.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
,light.target
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) - 0️⃣ Defaulted
geometry.primitive
tobox
. (#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 convertsNodeList
toArray
. (#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)