A-Frame v0.2.0 Release Notes

Release Date: 2016-03-25 // about 8 years ago
  • 0.2.0 improves extensibility:

    • Component API has been greatly enhanced with more lifecycle methods, schema options, and property types.
    • Components can be applied to primitives (e.g., <a-box>).
    • Custom GLSL shaders can be shared and registered to provide more visual effects.

    Major Changes

    • ๐Ÿ”€ aframe-core merged with aframe. window.AFRAME exposes what aframe-core was exposing previously (e.g., AFRAME.registerComponent vs. AFRAME.aframeCore.registerComponent). (#368)
    • ๐Ÿฑ <a-assets> must be declared within <a-scene>. (#910)
    • <a-entity>.object3D is now a THREE.Group. Use <a-entity>.setObject3D API to add new 3D objects from components. (#847)
    • โฌ†๏ธ Bumped three.js to r74 stable. (#1006)
    • npm points to a prebuilt bundle of dist/aframe.js.
    • 0๏ธโƒฃ Scene <canvas> elements are now appended to the scene by default rather than to the document body. The scene can specify which <canvas> to render to. (c0aa360)
    • Primitives such as <a-sphere> directly extend <a-entity> rather than template them. They can be registered with AFRAME.registerPrimitive. (#883)
    • ๐Ÿšš <a-template> and HTML Imports logic have been removed. Use https://github.com/ngokevin/aframe-template-component in the meantime. (#883)
    • <a-camera> no longer creates a cursor on its own. Do <a-camera><a-cursor></a-cursor></a-camera> instead. (#883)
    • 0๏ธโƒฃ Default geometry depth, height, width property values changed from 2 to 1. (#1245)
    • 0๏ธโƒฃ Default color of primitive elements such as <a-box> changed to #FFF to not interfere with textures. (#1245)

    ๐Ÿ—„ Deprecations

    • ๐Ÿ—„ loader component deprecated in favor of collada-model and obj-model. (#913)
    • ๐Ÿ—„ <a-model> deprecated in favor of <a-collada-model> and <a-obj-model>. (#883)
    • ๐Ÿ‘€ <a-EVENTNAME> elements such as <a-mouseenter> deprecated in favor of <a-event name="EVENTNAME"> (unstable). (#883)
    • ๐Ÿ—„ <a-cube> deprecated in favor of <a-box>. (#883)

    โœจ Enhancements

    • Introduced shaders to extend the material component and to register custom GLSL shaders. (#861)
    • Component property types. Property types define how a component property is parsed and stringified. Custom property types can be registered or defined inline with the property in the schema. Built-in property types include array, boolean, color, int, number, selector, selectorAll, string, vec2, vec3, vec4. (d35e56e)
    • Single-property components. A component can define itself as consisting of only one property by specifying a type and/or a default value in the schema. (d35e56e)
    • Asset management system that blocks scene render.
    • Play/pause methods on entities and play/pause handlers on components. (9238861)
    • Tick method on components to register a function called on each scene tick. (#823)
    • Support for loading .OBJ and .MTL assets. (#788)
    • Texture caching for better performance when reusing textures. (#1116)
    • Components can be attached to primitives (e.g., <a-sphere>). (#883)
    • Introduce systems API (unstable) to provide global scope and services for components. They can be registered wtih AFRAME.registerSystem. (#924)
    • Entities, including the scene, wait for their children to load before emitting the loaded event. (a8a4f06)
    • Entities emit child-attach when children are attached.
    • ๐Ÿ”ง Most <a-scene> logic moved to configurable components and systems. (#776)
    • Support for multiple cameras in a scene and switching between them. (#745)
    • โž• Added more events for scene VR mode, material component, model components, and sound component.
    • 0๏ธโƒฃ Default geometry segments* property values increased for smoother meshes. (#1245)
    • โž• Added more meta tags for mobile web-app capabilities, automatically set properties to video elements for inline video playback on iOS. (#316)
    • โž• Added three.js stats to the stats component. (#1223)
    • โž• Added <a-torus> primitive. (#1184)