A-Frame v0.4.0 Release Notes

Release Date: 2016-12-16 // over 7 years ago
  • ๐Ÿ‘ 0.4.0 contains Oculus Touch controller support, integration with the Registry ๐Ÿ’… by means of the Inspector, API polish, and bug fixes.

    Major Changes

    • getAttribute returns full computed rather than just defined component data set. (#1925)
    • setAttribute when passed an object (i.e., setAttribute('material', {color: 'red'})) no longer clobbers existing component data, it will instead extend existing component data. Pass a true flag as the third argument to clobber existing data.
    • Asset property type will directly pass the video element to a component if the value is a selector. (#2129)
    • ๐Ÿ”จ Refactored primitives to fix component dependencies and initialization ordering. (#2106)
    • โœ‚ Removed transforms feature from the registerPrimitive API. (#2045)
    • โœ‚ Removed deprecated look-at component. (#1913)
    • โœ‚ Removed deprecated Declarative Events API (<a-event>). (#1914)

    ๐Ÿ—„ Deprecations

    • ๐Ÿ—„ getComputedAttribute deprecated in favor of getAttribute. getDOMAttribute does what getAttribute used to do. (#1925)
    • ๐Ÿ—„ src schema property type deprecated in favor of asset, audio, map, model schema property types. (#2003)
    • ๐Ÿšš AFRAME.utils.isMobile, AFRAME.utils.isGearVR, AFRAME.utils.checkHeadsetConnected, and AFRAME.utils.isIOS have all moved to the AFRAME.utils.device namespace.

    โœจ Enhancements

    • โฌ†๏ธ Bumped three.js to r82. (#2081)
    • ๐Ÿ”จ Oculus Touch controller support and controller refactor. (#2132)
    • Inspector is pulled from unpkg.com CDN to be able to reference a fuzzy version. (e664fe6)
    • โž• Added reverseDrag property to look-controls component to reverse mouse drag (ideal for static 360° content). (#2024)
    • ๐Ÿ’ป auto-enter-vr component for Carmel browser support, may be replaced once link traversal lands. (ae69e1d)
    • โž• Added standard material map properties for ambient occlusion, displacements, normals, and spherical environments. (#1826, #2078)
    • ๐Ÿ“œ Asset parser no longer strictly demands URLs be wrapped with url(). (#2045)
    • โž• Added ability to take equirectangular and projection screenshots with a keyboard shortcut. (#1984)
    • โž• Added asset, map, model, audio schema property types. (#2054)
    • โž• Added wireframe properties to the standard and flat materials. (#1971)
    • Have raycaster component refresh its list of intersection targets when entities are attached or detached from the scene. (#1887)
    • โž• Added pool component for performant object pooling and reuse. (#1954)
    • โž• Added support for tracked-controls component to change its origin position (e.g., for teleportation). (#2002)
    • โž• Added pooling to the sound component. (#1924)
    • โž• Added intersection data to cursor component events. (#1920)
    • โž• Added events to entity setObject3D and removeObject3D. (#2075)
    • โž• Added pauseSound() method to the sound component. (#1996)
    • โž• Added loading feedback while A-Frame Inspector is being injected over the network. (#2006)
    • โž• Added console warning message if A-Frame script tag is included in the <body>. (#2000)
    • โž• Added support for non-QWERTY keyboard layouts in wasd-controls component. (#1832)
    • Automatically set playsinline and webkit-playsinline on video elements in asset system. (#2076)
    • ๐Ÿ‘‰ Used slightly faster function binding. (#1782)
    • Made stats component alert text more readable. (#1885)
    • ๐Ÿ‘ Allowed inspector component to be opened via postMessage. (#1997)
    • ๐Ÿ‘ Allowed stats component to be disabled via querystring. (#1836)
    • ๐Ÿ”ฆ Exposed component prototype. (#2062)
    • ๐Ÿ”ฆ Exposed XHRLoader in <a-assets>. (#2023)
    • โž• Added local Markdown documentation server npm run docs. (48ff50)
    • โž• Added documentation test and lint script for checking links, fix links. (#2080)

    ๐Ÿ›  Fixes

    • ๐Ÿ›  Fixed component dependencies where bugs manifested in the obj-model and raycaster components. (#2036)
    • ๐Ÿ›  Fixed int property type with empty data being turned to NaN. (#2063)
    • ๐Ÿ›  Fixed GearVR VR mode height by only removing camera.userHeight if positional tracking exists and the device is not a GearVR or smartphone. (#2044)
    • ๐Ÿ›  Fixed mixins not working with multiple-instanced components. (#1699)
    • ๐Ÿ›  Fixed default components (i.e., position, rotation, scale, visible) not being flushed to DOM in debug mode. (#2064)
    • ๐Ÿ›  Fixed cursor mouseleave event not being reliable with multiple close objects. (#1882)
    • ๐Ÿ›  Fixed cursor component intersecting itself. (#1936)
    • ๐Ÿ›  Fixed entity not being able to re-attach after being detached. (#1928)
    • ๐Ÿ›  Fixed typos for requestFullscreen calls. (#1963)
    • ๐Ÿ›  Fixed tracked-controls component if a mesh was not applied. (#1875)
    • ๐Ÿ›  Fixed raycaster component passing its actual intersection objects through events. (#1978)
    • ๐Ÿ›  Fixed stats component for Safari. (#1865)
    • ๐Ÿ’… Normalized Git-tracked files to Unix-style line feeds. (#1825)
    • ๐Ÿ›  Fixed stringifying default null values for object property types. (#2138)
    • ๐Ÿ›  Fixed material update referencing sceneEl when the scene has not yet loaded. (#2137)
    • ๐Ÿ›  Fixed default values of a schema property getting changed to weird values. (#2140)

    Known Issues

    • A regression in the October 29th version of Chromium passes microsecond-based timestamp into requestAnimationFrame instead of milliseconds, breaking animations.