Releases: aframevr/aframe
v1.0.2
Bug fixes
Subscribe to the newsletter to continue to support A-Frame!
Fixes
- Track DeviceMotionControls yaw delta instead of absolute value to honor initial camera orientation (fix #4368) (@dmarcos)
- Disable touchmove / mousemove tracking in VR mode. Pose is preserved when exiting VR (@dmarcos)
- Hide Device Motion permission dialog on desktop requests from mobile devices. Only the alert about requesting mobile page is shown (fix #4369) (@dmarcos)
- Reset camera rotation to 0 when entering VR to prevent collision between magic window and WebXR poses (fix #4371) (@karanganesan, @dmarcos)
- Check if headset is connected before disabling mouse controls (fix #4370) (@KrisMerckx, @dmarcos)
v1.0.1
1.0.0 post release bug fixes.
Subscribe to the newsletter to continue to support A-Frame!
Fixes
- Reintroduce a-asset-item logic to assign response type to
glTF
models automatically. It now ignores query parameters that made it fail before. (#4219) (@dmarcos) - Prevent zoom on enter
VR / AR buttons
when double tapping on touch screens (@dmarcos) - Apply style to reset the enter
AR / VR buttons
background on mouseleave. CSS Hover is sticky on mobile devices (@dmarcos) - Fix
magic window mode
in Daydream / ARCore Android devices. Use DeviceOrientationControls for tracking. (#4355) (@MK-LucidWeb, @vincentfretin, @dmarcos) - Honor model property in
laser-controls
(#4354) (@dala00, @dmarcos) - Reduce
video-sphere / photo-sphere
radius to prevent far plane clipping in VR mode on Android devices (#4365) (@AntoineLucidWeb, @dmarcos)
Enhancements
- Improve visual design of
modal dialogs
(#4359) (@thedart76, @dmarcos) - Reinstate
WebXR
as the default code path for Oculus Browser. Oculus Browser 7.1 now ships the gamepad module (#4360) (@dmarcos) - Show
alert dialog
if the site is served over HTTP (#4357) (@brendanciccone, @thedart76, @mkungla, @dmarcos) - Improve text of
desktop requests dialog
. Change Ok button text to Close (@dmarcos)
v1.0.0
WebXR final spec support!
Subscribe to the newsletter to continue to support A-Frame!
Major Changes
WebXR
spec support (@klausw, @Artyom17, @dmarcos)- Support
WebXR gamepads
module (#4322) (@dmarcos, @arpu) - Support experimental
WebXR AR
mode (#4281) (@klausw) - New enter VR and AR icons (#4326) (@klausw, @brendanciccone, @ngokevin, @thedart76 and all members of the community that provided feedback)
Quest
controller support (#4073) (@DigiTec, @dmarcos)- Set
72Hz mode
by default on Oculus Browser for Quest (#4232) (@dmarcos) - Fallback to WebVR on Oculus Browser until WebXR gamepad module ships (#4342) (@dmarcos)
- Permission dialog to request access to
DeviceOrientation
events due to iOS 13 new policy (#4303) (@KevinEverywhere, @dmarcos) - Update to THREE r111
Fixes
- Fix resolution drop on exiting VR mode (#4246) (@tomegz)
- Don't emit synthetic
vrdisplaypresentchange
event unless there's native WebVR implementation (#4301) (@dmarcos) - Set
xrSession
to undefined after exiting VR mode (#4321) (@klausw, @dmarcos) - Emit cursor
mouseup
ifmousedown
if it's only originated on scene (#4249) (@edsilv, @dmarcos) - Fix
IE 11
fullscreen mode (#4243) (@AlexandraWins) - Bump
animejs
fork to fix flattenArray (#4158) (@ngokevin) - Replace undefined check to prevent ReferenceError in
JavaScriptCore
(#4318) (@nuel, @dmarcos) - Fix component.events singleton, events being overridden by components of the same type (#4250) (@ngokevin)
- Honor
embedded mode
on loading screen (#4245) (@dmarcos) - Fix incorrect response type inference for glb/gltf files (#4219) (@Ely-S)
- Fix WebVR deep-linking / navigation (#4199) (@Artyom17)
- Restore render target to canvas to prevent freezes (@dmarcos)
- Adjust
three-bmfont-text
to THREE r111 API changes (#4331) (@dmarcos) - Don't consider Firefox Reality and Oculus Browser mobile / phone browsers (#4338) (@dmarcos)
DracoLoader
Path set for THREE v108 (#4272) (@arpu)- Use glTF header to determine a-asset-item response type (#4228) (@Ely-S)
- Remove
setTimeout
call in tick if not raycaster.showLine (#4192) (@ngokevin) - isMobileVR differentiates Samsung Internet for Gear VR from Samsung Internet for Android (#4188) (@DougReeder)
- Apply handedness to Oculus Go controller (#4162) (@dmarcos)
- Fix button mapping for Vive Focus (fix #4344) (@dmarcos, @IvoJager)
Deprecations
v0.9.2
Follow-up fix to 0.9.1 for fixing vrdisplayactivate
and link traversal flow.
Fixes
- Move
vrdisplayactivate
handler back earlier to fix auto entering VR in many cases (#4155). - Fix
vrdisplayactivate
and link traversal due to last build having outdated version our three.js fork. - Fix
Entity.destroy
not catching if entity is not attached to scenegraph (#4140). - Fix exiting fullscreen on Chrome m71+ (#4136).
- Fix URL bar not hiding in iOS Safari in fullscreen (#4146).
- Fix wrong sized canvas in iOS VR by preventing multiple
requestPresent
calls if already presenting (#4148).
v0.9.1
Follow-up fixes and improvements to 0.9.0.
Released Hot Module Replacement loader for A-Frame: https://github.com/supermedium/aframe-super-hot-loader
Major Changes
- Detaching entity from scene will preserve component data. Add
Entity.destroy()
method to clear components and return their memory to the
pool (#4121). - Use controller index to determine left / right controllers which may impact
cases like Vive Trackers. Will look to make this more robust soon (#4013).
Deprecations
- Deprecate
utils.device.isOculusGo
in favor ofutils.device.isMobileVR
(#4032).
Fixes
- Updated documentation guides for 0.9.0.
- Fix text antialiasing from distance (#4039).
- Improve
vrdisplayactivate
path for more robust navigation (#4093, 3c2f68e). - Clean up object requested from pool by component to prevent pollution of old keys from other schemas (#4016).
- Fix initial camera position, rotation, scale potentially not getting applied (#4020).
- Fix
utils.coordinates.stringify
for zeroed vectors (#4017). - Handle if both WebVR and both WebXR APIs are available (#4022).
- Handle null device from WebXR (#4030).
- Catch
navigator.xr.requestDevice
error (#4035). - Fix animation for custom vec3 properties (#4051).
- Fix sound
onEnded
not settingisPlaying
to false (#4061, #4097, #4101). - Fix new materials not getting applied to
obj-model
recursively (#4062). - Fix boolean values in
.flushToDOM
(#4069). - Hide navigation buttons on Android (#4090).
- Fix Chrome gamepads by checking
getGamepads
on every tick for Chrome (#4116).
Enhancements
- Add
Component.events
API to define event handlers that are automatically attached and detached depending on entity lifecycle (#4114). - Improve animation error message when passing invalid
animation.property
(#4122). - Have
Entity.remove
detach entity to match HTML element behavior (#4082). - Migrate
hand-controls
model to glTF (#3932). - Add
shadow.enabled
property to shadow system (#4040). - Add
renderer.alpha
property to renderer system (#4040). - Add
AFRAME.coreComponents
for a list of the core components (#4064).
Performance
- Use a fork of anime.js that has memory improvements from Kevin (#4028).
v0.9.0
Performance improvements, WebXR support, Inspector updates!
We continued to battle test A-Frame to produce native-like VR experiences and
continue to add large performance gains. We have also introduced initial WebXR
support! Although the spec is heavily in flux and yet to have feature parity
with WebVR 1.1, we had A-Frame get a head start to help test it out and smooth
out the changes.
Major Changes
- Bump to three.js r101 on a branch with a few extra patches for WebXR support (f9f314).
- WebXR support (#3875).
- Remove
<a-animation>
in favor of new animation component (#3678). - Remove
collada-model
component (#3866). - Add
renderer.colorManagement
property (disabled by default) to accurately match colors against modeling tools, but may changes in scene colors when flipped on.renderer.gammaFactor
will be set to 2.2. Callscene.renderer.systems.applyColorCorrection
onTHREE.Color
s andTHREE.Texture
s to normalize changes (#3757). - Have raycasters only intersect against objects defined via
.setObject3D
.raycaster.objects
should be specified (e.g.,objects: [data-raycastable] or objects: .raycastable
) because raycasting is expensive.raycaster.recursive
property removed (#3980) but will default to be recursive only under objects defined via.setObject3D
(#3652). - Add
renderer
component (#3757). antialias
attribute moved torenderer.antialias
.- Raycaster events such as
raycaster-intersected
no longer directly contain intersection data. Use.getIntersection
function supplied in event detail orel.components.raycaster.getIntersection(el)
to retrieve intersection data. Done to reduce garbage (a87e3b). - Disable link portal appearance by default (
link.visualAspectEnabled
), link component defaults to purely to listening to an event to trigger navigation (#3743).
Fixes
- Frame-independent easing for
wasd-controls
to prevent judders during framedrops (#3830). - Enable matrix auto updates for
tracked-controls
to fix children of camera and controllers not following parent (#3867). - Fix removing mixins not removing components (#3982).
- Fix timing issues with mixins on still-initializing entities (#3859).
- setPoseTarget to underlying object3D to fix issues with entities as child of camera (#3820).
- Don't disable
matrixAutoUpdate
for tracked-controls outside VR (643fdc). - Render spectator view after VR submit frame (#3577).
- Fix mouse cursor events not being re-enabled on resume (#3904).
- Allow components to write to camera Z rotation when look-controls enabled (9a78a)
- Clear raycaster intersections when toggling disabled (#3594).
- Postpone renderer until scene is appended to DOM (#3574).
- Fix canvas textures (b47f20).
- Fix faces and vertices numbers on stats panel (#3573).
- Fix magic window mode on Chrome (aaa3bf).
- Fix audio asset preloading (2a899c).
- Fix raycaster flatten to only include objects part of
el.object3DMap
versus arbitrary children (8809e7). - Fix canvas getting squished on orientation change on mobile (64ed3d).
- Update position, rotation, scale components when calling
.setAttribute
on them (#3738). - Update canvas bounds for mouse cursor on renderer resize (a4cf08).
- Fix controller reconnecting on Oculus Go and GearVR (dc8662).
- Fix playing sound on event with
sound.on
(#3844). - Fix Chrome WebView (#3852).
- Fix raycaster not grabbing all entities when
raycaster.objects
is not set. But you should always set it (#3840). - Fix WebVR polyfill buffer scale override (#3863).
- Fix text when used with other geometry types (#3909).
- Fix
daydream-controls
trigger not working with cursor by default (#3916). - Fix accessing Inspector in pointer lock mode (#3947).
- Fix mouse cursor not emitting click when fuse is set (#4000).
- Fix screenshots (#3998).
- Fix camera offset getting applied when entering 2D fullscreen (#3902).
Enhancements
- Add
oculus-go-controls
, thanks Oculus! (cbbe75) - Add
vive-focus-controls
(#3876). - Add
loading-screen
component (#3760). - Add
?inspector={selector}
andEntity.inspect()
to automatically launch Inspector and focus on entity (#3894). - Add
renderer.highRefreshRate
to enable 72hz mode on Oculus Browser (#3967). - Add
tracked-controls.autoHide
property to configure whether controllers automatically hide when connected or disconnected (#3912). - Enable multiple raycasters on an entity (fc18cd).
- Support custom enter VR buttons through vr-mode-ui (#3606).
- Add
material.blending
property (#3543). - Add
light.shadowRadius
property (21b38). - Add ability to cap canvas size to pixel value (92b2f9).
- Reduce npm bundle (53f58f).
- Allow double underscores in component IDs (e.g.,
animation__foo__bar
) (030023). - Add
renderer.logarithmicDepthBuffer
option (d210a2). - Add
look-controls.reverseTouchDrag
property (#3761). - Switch to jsdelivr with rawgit going away.
- Support preprocessing of sound in
sound.playSound()
(2b2819). - Consolidate fullscreen styles under single CSS class (
html.a-fullscreen
) (#3828). - Emit
displayconnected
event when headset connected (#3918). - Enable antialias by default on Oculus Go (#3942).
- Update to webvr-polyfill v0.10.10 (#3993).
Performance
- Large refactor of core component update path, reducing memory allocation and using object pooling (#3772).
- Skip
buildData
if updating component directly. 2x speed boost on.setAttribute
(#3835). - Remove spamming
navigator.getGamepad
calls in tracked-controls (#3816). - Optimize coordinates / vector utilities (#3908).
- Remove object allocation in
.setAttribute(component, propertyName, value)
(#3812). - Simplify text shader hacks and make text alpha look prettier (#3557).
- Remove garbage and bubbling from tracked-controls (#3589).
- Remove redundant matrix world update in raycaster (ae7eba).
- Replace Oculus OBJ model with a glTF one (#3539).
- Optimize coordinate parse (bf66ba).
- Simply wasd-controls tick (#3763).
- Optimize text component (#3768).
- Remove memory allocations in material code (#3789).
- Remove garbage in sound component (2b2819).
- Improve grabbing class cursor performance in 2D look-controls (#3790).
- Remove unused and redundant mixin observers (#3831).
- Add warning to developers to specify
raycaster.objects
(#3839). - Cache asset property type regex (#3854).
Inspector
Kevin spent some time getting the Inspector into ship shape.
Major Changes
- Introducing the A-Frame Watcher to sync updates of entities with IDs from Inspector to HTML files.
- Remove HTML exporter.
- Remove old A-Frame Registry code.
- Remove broken Uploadcare uploader.
- Remove motion capture tools.
Enhancements
- Orthographic cameras.
- Improve raycasting to picking entities.
- Syntax highlighting of entities.
- Highlight and describe entities on viewport bar when hovering.
- Added
?inspector={selector}
to automatically launch Inspector and focus on entity. - Show bounding box of selected entities.
- Show with icon what entities contain text in scenegraph.
- Sort component properties alphabetically.
- Display class names on entity panel.
- Only show camera and light helpers when respective entity is selected.
- Improve position when focusing on entity.
- Polish components panel.
- Center editor controls to the scene camera position.
- Support arrow keys for number widgets.
- .glb export.
- Add
o
shortcut to toggle transform widget. - Add
esc
shortcut to unselect entity. - Refactor most everything (modularize, data flow, Stylus, Prettier).
- Tweak grid colors.
- Bigger checkboxes.
- Fix color picker in components panel.
- Fix display of mixins.
Performance
- Don't load 50 images when opening the Inspector.
- Optimize and fix helpers for position, rotation, scale.
- Speed up scene graph search.
- Remove global mutation observer.
v0.8.0
0.8.0 (March 9, 2018)
Performance improvements.
Major Changes
- Updated to three.js r90.
- Ability to update three.js Object3D position, rotation, scale, and visible directly while being in sync with A-Frame. (#3245)
Bubbleobject3dset
andobject3dremove
events no longer bubble. (#3220)- Raycaster intersection and cleared events now emitted once per event, not on every frame. (#3126)
- Remove VREffect / VRControls for three.js WebGLRenderer API. VR camera pose is managed by three.js. (#3152, #3327)
- Removed geometry.mergeTo. (#3191)
- Removed State mixins.
addState
andremoveState
event detail modified to be the state name, not object. (#3171) - Removed Scene.reload() (#2239)
Deprecations
- Entity.getOrCreateObject3D. (#3222)
Fixes
- Clone object type properties into oldData to fix update method not called on referenced objects. (#3409)
- Fix matrix composition when updating pose for controllers. (#3407)
- Fix component update getting overridden by mixin due to not passing in the whole attrValue into buildData. (#3302)
- Remove a-canvas z-index. (#3391)
- Fix parameters passed to the onButtonEvent function for Windows MR. (#3372)
- Fix black texture issue with a-sky and a-videosphere components with three r89. (#3370)
- Fix material array handling in shadow component. (#3348)
- Postpone the resize operation in iOS to ensure that the window size matches the viewport on orientation changes. (fix #3282) (#3306)
- Fix utils.entity.getComponentPropertyPath if defaultLightsEnabled not defined
- Look-controls don't read HMD position if no headset connected. (#3286)
- Fix raycaster direction. (#3239)
- Fix raycaster line update that wasn't triggered anymore. (#3124)
- Fix data from dom not parsed if skipTypeChecking. (#3153)
- Clone default array property type. (#3095)
- Fix Gear VR buttons highlighting. (#3103)
- Do not resize the canvas while presenting on mobile (#3080)
- Flipped the sign on sampleUV.x in the portal shader used by the link component (#3079)
Enhancements
- Add spectator camera mode and spectator scene component. (#3280)
- Support Pointer Lock API. (#3341)
- Allow mixin composition. (#3305)
- Add a background component for better performant plain color backgrounds than
<a-sky>
. (#2908) - Use MutationObserver and object3dset and object3dremove events to refresh raycaster list. (#3070)
- Allow specify container for pool component. (#3392)
- Expose raycaster.intersections array. (#3289)
- Remove cameraRig on setupDefaultCamera. (#3364)
- Add metalnessMap and roughnessMap. (#2722)
- Add spectator camera mode to the camera component and spectator scene component. (#3280)
- Add transparent flag to be able to define transparent backgrounds. (#3320)
- Improve function names in debugger call stacks. (#3310)
- Allow removal of mixed-in components. (#3275)
- Add xOffset option to allow text padding. (#3269)
- Allow disable shadow map auto update, fix shadow system init. (#3214)
- Use component event handlers insted of bound a-scene methods. (#3213)
- Support sources in video. (#3176)
- Make camera system aware of mixins. (#3196)
- Remove everGotGamepadEvent flag and gamepadconnected / gamepaddisconnected. (#3189)
- Register cursor event listeners on canvas, not window. (#3179)
- Do not update style.width and style.height on renderer resize to not override styles applied externally. (#3184)
- Factor out onButtonEvent method from controllers. (#3169)
- Add raycaster.enabled property to toggle tick handler. (#3148)
- Have camera call enter VR handler if scene already entered VR with display activate. (#3149)
- String-trim primitive attribute values. (#3145)
- Add customizeable colors to link portal and title. (#3106)
- Adapt cursor onMouseMove to also accept touchmove events. (#3143)
Performance
- Save array creations on each raycaster update. (#3317)
- Optimize event emit. (#3308)
- Throttle updateControllerList while keeping getGamepads call. (#3112)
- Get rid of some string split operations. (#3316)
- Default the raycaster interval/throttle to 0. (#3293)
- Have getAttribute(visible) return object3D.visible directly. (#3283)
- Optimize aframe.utils.diff. (#3271)
- Raycaster fixes and performance improvements. (#3250)
- Remove garbage for addBehavior/removeBehavior. (#3217)
- Reduce garbage in axismove in tracked-controls. (#3185)
- Prevent component leakage in updateComponents (#3212)
- Cache font image textures for text component (#3158)
- Remove two array allocations per deepEqual call (#3115)
- Reduce Object.keys usage in core/schema (#3117)
- Save object allocation on look-controls.calculateDeltaRotation (#3116)
v0.7.0
Support for Windows Mixed Reality Headsets and Microsoft Edge and glTF 2.0. Performance improvements to reduce garbage collection cycles.
Major Changes
- Add support for Windows Mixed Reality motion controllers. (#3013)
- Add glTF 2.0 support through upgrading three.js. glTF 1.0 is no longer supported. (#2986)
- Bump THREE to r87. (#2994)
Fixes
- Do not resize the canvas in VR which leads to resolution drop (#3031).
- Fix component build data when
previousData
is object and a property has anull
default value. (#3021) - Fix calculating mouse position for embedded scenes. (#2942)
- Fix missing detail property in a-scene onVRPresentChange. (#2920)
- Fix updates for the line component. (#2906)
Enhancements
- Handle
vrdisplayconnect
andvrdisplaydisconnect
events in VREffect and VRControls. (#3019) - Allow text component to take a number value. (6cbdac)
- Handle
vrdisplaypointerrestricted
event ina-scene
. (#3014) - Allow decoupling of touch events in look-contols. (#3012)
- Add support for VR headsets that do not provide
stageParameters
. (#3000) - Moves canvas initialization logic from a component to the scene. (#2985)
- Listen to
vrdisplayconnect
andvrdisplaydisconnect
to enter and exit VR when headset is plugged or unplugged. (#2900) - Add title info to Enter VR button. (#2905)
- Cursor example improvements. (#2916)
- Add
vertexColors
property to base material component. (#2901) - Add
emissive
andemissiveIntensity
properties to base material component. (#2896)
Performance
- Optimize tracked controls tick, discovery, and utilities. (#2943)
- Do not clone
attrValue
attributes into data anymore to reduce cloning. (#2939) - Optimize a-entity code. (#2959)
- Optimize wasd-controls with early returns and skipping of type checking. (#2945)
- Optimize vec3 parse utility. (#2947)
- Optimize component change/initialize events. (#2950)
- Optimize look-controls by reducing object allocations and skipping of type checking. (#2944)
- Optimize emit method by removing split/map/callback calls and allocations. (#2941)
- Save a couple of function callbacks and array creations on each frame. (#2937)
- Remove inline functions for critical code paths in tracked-controls/raycaster/component for garbage collection. (#2936)
- Do not update component when data not changed even if skipping type checking. (#2917)
v0.6.1
Bug fixes, support for Firefox on Android, mouse-based cursor, enable motion capture developer tools in the Inspector.
Enhancements
- Add a mouse-based cursor / raycaster, apply to the link traversal example. (#2861)
- Replace BlendCharacter dependency with ObjectLoader for hand-controls component. (#2876)
Bug Fixes
- Fix component updates when reusing same object by storing oldData after building component data. Pass undefined as oldData on component initialization for single-prop components. (#2840, #2871)
- More reliable entity loading order by checking against list of registered elements. (#2873)
- Bump polyfill that fixes Firefox for Android tracking issue. (#2865)
- Use attribute for animation color as
from
iffrom
is not defined. (#2855) - Re-add controller events after unpausing scene. (#2879)
- Fix line component being applied in raycaster when disabled.
v0.6.0
0.6.0 (June 29, 2017)
Link traversal for navigating from page to page while staying in VR. Support
for VR controllers across the board with the addition of Daydream and GearVR
controller components as well as laser interactions. Large performance
improvements around .getAttribute
and .setAttribute
.
Major Changes
- Bumped three.js to r84. (#2456)
- Updated WebVR polyfill to 0.9.35. (#2700, #2818)
- Removed auto-enter-vr component previously for Carmel debugging. (#2784)
Deprecations
- Renamed
AFRAME.utils.coordinates.isCoordinates
toAFRAME.utils.coordinates.isCoordinate
. (af3f89) - Removed reset sensor keyboard shortcut due to being removed from WebVR API. (#2531)
Enhancements
- Added support for link traversal. (#1575)
- Added link component with default portal appearance. (#1575)
- Added link-controls component in the examples. (#1575)
- Daydream controller support with daydream-controls, 3DoF support to tracked-controls with head/arm model. (#2538)
- GearVR controller support with gearvr-controls. (#2545)
- laser-controls component for responsive controls across 6DoF and 3DoF. (#2678)
- Added support for cursor component to draw a visible ray or project a mesh onto the intersection point. (#2678)
- Added
origin
anddirection
properties to configure raycaster component. (#2678) - Shadow support via shadow component and light properties. (#2350)
- Implement
thumbstickmoved
andaxismoved
for oculus-touch-controls. (#2513) - Implement system
.update
handler. (#2548, #2613) - Added
controllerconnected
andcontrollerdisconnected
events. (#2505) - Handle
onvrdisplaypresentchange
events to enter and exit VR. (#2751) - Exposed
material.alphaTest
andmaterial.depthWrite
properties. (#2516) - Exposed glTF animations. (#2417)
- Implemented
Component.tock
handler called after scene render for future post-processing support. (#1564) - Added support for A-Frame being required in a Node environment. (#2476, #2477, #2484, #2492, #2498)
- Implemented
trackpadmoved
event for vive-controls component. (#2415) - Added
response-type
attribute to<a-asset-item>
to support array buffer responses. (#2442) - Automatically set glTF response types to array buffer. (63d2f8)
- Apply
camera.userHeight
to controller when no stage parameters (e.g., Daydream). (#2448) - Allow unsetting of mixin with
.setAttribute('mixin', '')
and.removeAttribute('mixin')
. (a173509) - Allow default lights to be disabled with
<a-scene light="defaultLightsEnabled: false">
. (#2376) - Added panner properties to sound component. (#2374)
- Added non-positional audio support to sound component. (#2490)
- Refactored and unit test tracked-controls component. (#2396)
- Added triangle geometry. (#2573)
- Cleaned up cursor component when removed. (#2391)
- Normalized default component values to proper types rather than strings. (#2411)
- Removed unnecessary touching of
THREE.Cache
for asset responses. (#2435) - Throw error for developer if HTML is opened with
file://
protocol. (#2540) - Set
System.el
to the scene element. (#2566) - Use
isControllerPresent
utility rather than checkingnavigator.getGamepads
in order to fake oculus-touch-controls for motion capture. (#2604) - Check WebVR API rather than using a dolly to check for positional tracking capabilities. (#2602)
- Made default cone geometry look like a cone. (#2506)
- Show error message when loading Inspector. (#2525)
- Added validation warnings for schema default values. (#2511)
- Removed timestamps from debug and console messages to reduce noise. (#2550)
- Use
getElementById
vs.querySelector
for asset property types to be more strict. (#2578) - Added developer warnings for primitive mapping names. (#2631)
- Anti-alias by default on 2D desktop. (#2455)
- Added support for iOS 10 HLS video streaming. (#2597)
Performance
- Skipped schema type checking when object is passed through
.setAttribute
more than once to consider it a validated object. (#2679) - Made
.getAttribute
not clone component data object. Now returns raw reference to component data (#2689) - Disposed of unused texture objects from memory when no longer used by material component. (#2686)
- Throttled emitting of
componentchanged
event on each update to every 200ms. We recommend polling if more critical updates are needed. (#2683) - Avoided
string.split()
in.setAttribute()
to reduce memory in array instantiations. (#2674) - Removed duplicate asset requests by passing down
<img>
from<a-assets>
and by usingcrossorigin
from the start. (#2544) - Changed selector property types to support
getElementById
. (#2820) - Reduced default
<a-cursor>
segments. (#2821)
Fixes
- Fixed hand-controls blend-character animations between hand poses. (#2568)
- Fixed infinite loop when component
.init
handler calls.setAttribute
on itself. (#2454) - Fixed unreliable
requestAnimationFrame
timestamps by usingTHREE.Clock
in the render loop. (#2471) - Fixed error when entity detached while trying to load and then trying to initialize. (#2521)
- Fixed updating of
material.side
component. (#2528) - Fixed components sharing default array reference. (#2615)
- Fixed non-recursive raycasters. (#2331)
- Fixed various issues with sound component. (#2490)
- Fixed
AFRAME.utils.device.checkHeadsetConnected
to checkVRDisplay.isConnected
(for Windows Mixed Reality Headsets). (#2427) - Fixed video materials not respecting autoplay and controls attributes, set
playsinline
. (#2610) - Fixed cursor component
mouseup
event not being emitted if entity no longer intersecting. (#2678) - Fixed resetting material texture to null. (#2388)
- Fixed sound not playing when changing sound source. (#2457)
- Fixed
AFRAME.utils.deepEqual
recursion when comparing object with itself. (#2406) - Fixed
AFRAME.utils.deepEqual
when comparing non-Object objects like HTML elements (#2502) - Fixed loading of glTF files that did not include a default scene. (#2462)
- Fixed camera height when re-entering VR. (#2394)
- Fixed CSS cursor stuck to grabbing in Firefox. (#2684)
- Fixed tablets not being considered mobile devices in
AFRAME.utils.isMobile
. (#2309) - Fixed
AFRAME.utils.coordinates.isCoordinate
with scientific notation. (#2475) - Fixed pool component initializing twice. (#2407)
- Fixed error when injecting Inspector. (#2380)
- Fixed plane geometry segments. (#2499)
- Fixed grab CSS being applied when look-controls disabled. (#2642)
- Fixed look-controls enabling and disabling. (#2467)
- Fixed light targets. (#2715)
- Fixed
setAttribute
wiping out DOM-defined data on init. (#2727) - Fixed primitives mapping to non-default components. (#2767)
- Fixed vive-controls component button colors. (#2772)
- Fixed error if removing component before initialized. (#2713)
- Fixed booleans when updating component. (#2796)
- Fixed cursor component not waiting for canvas to load. (#2813)
- Fixed text component not updating text while font is loading. (#2814)
- Fixed WebVR polyfill being applied and user height not applied to GearVR browsers. (#2819)
- Fixed single-property mixins not working with primitives. (#2810)