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 atrue
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 theregisterPrimitive
API. (#2045) - Removed deprecated
look-at
component. (#1913) - Removed deprecated Declarative Events API (
<a-event>
). (#1914)
Deprecations
getComputedAttribute
deprecated in favor ofgetAttribute
.getDOMAttribute
does whatgetAttribute
used to do. (#1925)src
schema property type deprecated in favor ofasset
,audio
,map
,model
schema property types. (#2003)AFRAME.utils.isMobile
,AFRAME.utils.isGearVR
,AFRAME.utils.checkHeadsetConnected
, andAFRAME.utils.isIOS
have all moved to theAFRAME.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 tolook-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
andremoveObject3D
. (#2075) - Added
pauseSound()
method to thesound
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
andwebkit-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 viapostMessage
. (#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
andraycaster
components. (#2036) - Fixed
int
property type with empty data being turned toNaN
. (#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)
- Fix stringifying default
null
values for object property types. (#2138) - Fix material update referencing
sceneEl
when 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 intorequestAnimationFrame
instead of milliseconds, breaking
animations.