A-Frame/aframe: Release v0.4.0
0.4.0 contains Oculus Touch controller support, integration with the Registry by means of the Inspector, API polish, and bug fixes.
Major Changes
getAttributereturns full computed rather than just defined component data set. (#1925)setAttributewhen passed an object (i.e.,setAttribute('material', {color: 'red'})) no longer clobbers existing component data, it will instead extend existing component data. Pass atrueflag 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
transformsfeature from theregisterPrimitiveAPI. (#2045) - Removed deprecated
look-atcomponent. (#1913) - Removed deprecated Declarative Events API (
<a-event>). (#1914)
Deprecations
getComputedAttributedeprecated in favor ofgetAttribute.getDOMAttributedoes whatgetAttributeused to do. (#1925)srcschema property type deprecated in favor ofasset,audio,map,modelschema property types. (#2003)AFRAME.utils.isMobile,AFRAME.utils.isGearVR,AFRAME.utils.checkHeadsetConnected, andAFRAME.utils.isIOShave all moved to theAFRAME.utils.devicenamespace.
Enhancements
- Bumped three.js to r82. (#2081)
- Oculus Touch controller support and controller refactor. (#2132)
- Inspector is pulled from
unpkg.comCDN to be able to reference a fuzzy version. (e664fe6) - Added
reverseDragproperty tolook-controlscomponent to reverse mouse drag (ideal for static 360° content). (#2024) auto-enter-vrcomponent 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,audioschema property types. (#2054) - Added wireframe properties to the standard and flat materials. (#1971)
- Have
raycastercomponent refresh its list of intersection targets when entities are attached or detached from the scene. (#1887) - Added
poolcomponent for performant object pooling and reuse. (#1954) - Added support for
tracked-controlscomponent to change its origin position (e.g., for teleportation). (#2002) - Added pooling to the
soundcomponent. (#1924) - Added intersection data to
cursorcomponent events. (#1920) - Added events to entity
setObject3DandremoveObject3D. (#2075) - Added
pauseSound()method to thesoundcomponent. (#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-controlscomponent. (#1832) - Automatically set
playsinlineandwebkit-playsinlineon video elements in asset system. (#2076) - Used slightly faster function binding. (#1782)
- Made
statscomponent alert text more readable. (#1885) - Allowed
inspectorcomponent to be opened viapostMessage. (#1997) - Allowed
statscomponent to be disabled via querystring. (#1836) - Exposed component prototype. (#2062)
- Exposed
XHRLoaderin<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-modelandraycastercomponents. (#2036) - Fixed
intproperty type with empty data being turned toNaN. (#2063) - Fixed GearVR VR mode height by only removing
camera.userHeightif 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
cursormouseleaveevent not being reliable with multiple close objects. (#1882) - Fixed
cursorcomponent intersecting itself. (#1936) - Fixed entity not being able to re-attach after being detached. (#1928)
- Fixed typos for
requestFullscreencalls. (#1963) - Fixed
tracked-controlscomponent if a mesh was not applied. (#1875) - Fixed
raycastercomponent passing its actual intersection objects through events. (#1978) - Fixed
statscomponent for Safari. (#1865) - Normalized Git-tracked files to Unix-style line feeds. (#1825)
- Fix stringifying default
nullvalues for object property types. (#2138) - Fix material update referencing
sceneElwhen the scene has not yet loaded. (#2137) - Fix 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
requestAnimationFrameinstead of milliseconds, breaking animations.