Skip to content

Commit e3f2c53

Browse files
authored
Merge pull request #47 from 8thwall/8frame-1.5.0
8frame 1.5.0
2 parents 5f0ee76 + 80e4b39 commit e3f2c53

File tree

204 files changed

+12444
-6375
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

204 files changed

+12444
-6375
lines changed

.eslintrc.json

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
{
2+
"extends": ["semistandard", "standard-jsx"],
3+
"parserOptions": {
4+
"ecmaVersion": 12
5+
},
6+
"rules": {
7+
/* These rules are incompatible with ES5. */
8+
"no-var": "off",
9+
"object-shorthand": "off",
10+
"prefer-const": "off",
11+
"prefer-regex-literals": "off",
12+
13+
/* These rules are compatible with ES5
14+
However they involve non-trivial code changes
15+
Therefore need more careful review before adopting. */
16+
"array-callback-return": "off",
17+
"no-mixed-operators": "off",
18+
"no-unreachable-loop": "off",
19+
"no-useless-return": "off",
20+
"prefer-promise-reject-errors": "off",
21+
22+
/* These rules are compatible with ES5
23+
However they involve large-scale changes to the codebase, so
24+
careful co-ordination is needed in adopting the rule to avoid
25+
creating merge issues for other PRs. */
26+
"dot-notation": "off",
27+
"indent": "off",
28+
"no-multi-spaces": "off",
29+
"no-unused-vars": "off",
30+
"object-curly-spacing": "off",
31+
"quote-props": "off"
32+
},
33+
"overrides": [
34+
{
35+
/* Code within /src is restricted to using ES5 JavaScript
36+
The exception is that ES6 classes are used sparingly - see exceptions below. */
37+
"files": ["./src/**/*.js"],
38+
"parserOptions": {
39+
"sourceType": "script",
40+
"ecmaVersion": 5
41+
}
42+
},
43+
{
44+
/* These modules use ES6 classes, and so are parsed as ES6 to avoid errors. */
45+
"files": ["./src/core/**/a-*.js"],
46+
"parserOptions": {
47+
"ecmaVersion": 6
48+
}
49+
},
50+
{
51+
/* This module use ES6 classes, and so is parsed as ES6 to avoid errors. */
52+
"files": ["./src/extras/primitives/primitives.js"],
53+
"parserOptions": {
54+
"ecmaVersion": 6
55+
}
56+
},
57+
{
58+
/* This module uses ES6 */
59+
"files": ["./src/components/scene/real-world-meshing.js"],
60+
"parserOptions": {
61+
"ecmaVersion": 6
62+
}
63+
},
64+
{
65+
/* This module uses ES8 async / await due to WebXR Anchor Module integration */
66+
"files": ["./src/components/anchored.js"],
67+
"parserOptions": {
68+
"ecmaVersion": 8
69+
}
70+
},
71+
{
72+
/* This module uses ES6 for…of loops, and so is parsed as ES6 to avoid errors. */
73+
"files": ["./src/components/hand-tracking-controls.js"],
74+
"parserOptions": {
75+
"ecmaVersion": 6
76+
}
77+
},
78+
{
79+
/* This code is external, and the ES5 restrictions do not apply to it. */
80+
"files": ["./src/lib/**/*.js"],
81+
"parserOptions": {
82+
"sourceType": "module",
83+
"ecmaVersion": 12
84+
}
85+
}
86+
]
87+
}

CHANGELOG.md

Lines changed: 59 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,51 @@
1+
### 1.5.0 (Nov 14, 2023)
2+
3+
Multiview extension, Spatial computing UIs, Mixed Reality features, Hand manipulation interactions, Quest 3 support and much more!
4+
5+
### Bug fixes
6+
7+
- Use renderer.useLegacyLights instead of the deprecated renderer.physicallyCorrectLights in three r150, but keep the physicallyCorrectLights property name for the renderer system for backward compatibility (fix #5293) (@mrx)
8+
- Fix `hand-controls` animations (#5300)
9+
- Fix outdated link in error message (#5313) (fix #5275) (@kolson25)
10+
- Fix visibility of controller in model-viewer example (#5317) (@DougReeder)
11+
- Fix typo in phong shader properties (#5334) (@nightgryphon)
12+
- Adapt shaders to new THREE API (#5328) (@nightgryphon)
13+
- Traverse meshes instead of using a hardcoded index (#5340) (@diarmidmackenzie)
14+
- Fix examples miscellaneous errors (#5343) (@mrxz)
15+
- Fix back plane resizing when text component changes (#5357) (fix #2764) (@brycethomas)
16+
- Fix switching back and forth from hands to controller input (fix #5373) (@floe, @dmarcos)
17+
18+
### Enhancements
19+
20+
- Update to THREE r158 (@felixtrz, @dmarcos) (fix #5369)
21+
- Add `hand-tracking-grab-controls` component to make any entity manipulable with hands (@dmarcos)
22+
- Add support for WebXR Mesh and Planes Module (real-world-meshing component) (@dmarcos)
23+
- Add support for WebXR Anchors Module (anchored component) (@dmarcos)
24+
- Add support OVR_multiview extension (@felixtrz)
25+
- Add support for Quest 3 controllers (@dmarcos, @felixtrz)
26+
- New `obb-collider` implementing oriented bounding box colliders (@dmarcos)
27+
- Improve hand-trackin-controls pinch logic (@dmarcos)
28+
- Add `anisotropy` option to material and renderer (#5309) (@mrxz)
29+
- Linter improvements (#5342) (@diarmidmackenzie)
30+
- Add `loopStart` and `loopEnd` properties to sound component to play loops (#5364) (@JonathannJacobs)
31+
- Improve sorting / rendering order (#5332) (@diarmidmackenzie, @mrxz)
32+
- Redesign enter immersive mode UI (@vincentfretin, @msub2, @diarmidmackenzie, @thedart76, @dmarcos)
33+
- Replace the use of `getJointPose` with `fillPoses` and `fillJointRadii` in hand-tracking-controls to avoid memory allocations (#5298) (@mrs)
34+
- Handle conversion from sRGB to Linear-sRGB implicitly instead of calling `applyColorCorrection` (#5210) (@mrxz, @vincentfretin)
35+
- Add Pico 4 headset controllers support (#5281) (@felixtrz)
36+
- Update URL to basis encoder (#5329) (@vincentfretin)
37+
- Add Spatial Computing UI example (#7ea40c13) (@dmarcos)
38+
- Remove workaround for an old Chrome bug in the context of `a-assets` (#5335) (@mrxz)
39+
- Unit tests improvements (@mrxz, @dmarcos)
40+
- Consolidate references to the CDN URL in a global variable (#5333) (@diarmidmackenzie)
41+
- Docs improvements (@luc122c, @donmccurdy, @turbotimon, @lainshiHenry, @Rhys-Alexander, @vincentfretin, @dmarcos)
42+
43+
### Deprecations
44+
45+
- `vr-mode-ui` component renamed to `xr-mode-ui` (@dmarcos)
46+
- GearVR and Daydream support (@vincentfretin, @dmarcos)
47+
48+
149
### 1.4.2 (Apr 22, 2023)
250

351
### Bug fixes
@@ -28,32 +76,32 @@ Expose low / high refresh rates options for WebXR devices (https://github.com/af
2876

2977
### 1.4.0 (Dec 26, 2022)
3078

31-
A-Frame moved to custom elements V1, Oculus Quest Pro support, and tons of fixes and improvements in both A-Frame core and inspector 👏
79+
A-Frame moved to custom elements V1, Oculus Quest Pro support, and tons of fixes and improvements in both A-Frame core and inspector 👏
3280

33-
28 A-Framers contributed to this one! You're awesome 🙇
81+
28 A-Framers contributed to this one! You're awesome 🙇
3482

35-
[Sponsor](https://github.com/sponsors/dmarcos) A-Frame to help us move the 3D Web forward.
83+
[Sponsor](https://github.com/sponsors/dmarcos) A-Frame to help us move the 3D Web forward.
3684

37-
You can also [buy a cool t-shirt](https://cottonbureau.com/p/SX82KC/shirt/a-frame-og#/9479538/tee-men-standard-tee-vintage-black-tri-blend-s) 👕
85+
You can also [buy a cool t-shirt](https://cottonbureau.com/p/SX82KC/shirt/a-frame-og#/9479538/tee-men-standard-tee-vintage-black-tri-blend-s) 👕
3886

3987
### Major Changes
4088

4189
- Move A-Frame to [Custom Elements V1](https://developer.mozilla.org/en-US/docs/Web/API/Window/customElements) API from the now deprecated [Custom Elements V0](https://chromestatus.com/feature/4642138092470272) (fix #4262) (#5136) (@dmarcos)
42-
- Move build system from Browserify to Webpack adding support for ESM (#5116) (@vincentfretin)
90+
- Move build system from Browserify to Webpack adding support for ESM (#5116) (@vincentfretin)
4391
- Update to THREE r147 (@dmarcos @AdaRoseCannon @vincentfretin)
4492

4593
### Deprecations
4694

4795
- Cardboard mode is now disabled by default as a first step towards deprecation. Magic window is now the fallback on mobile when native WebXR API is not available (fix #4814) (@dmarcos)
4896

49-
### Enhancements
97+
### Enhancements
5098

5199
- Add support for Meta Quest Touch Pro controllers (fix #5138) (#5139) (@felixtrz @cabanier @dmarcos)
52100
- Replace `targetRaySpace` with `gripSpace to position WebXR tracked controllers (#88e8db12) (@felixtrz @dmarcos)
53101
- Add support for KTX2 texture compression in [gltf-model component](https://aframe.io/docs/1.3.0/components/gltf-model.html#sidebar) (#5101) (@jameskane05)
54102
- Add a default for Draco decoder URL for the [gltf model component](https://aframe.io/docs/1.3.0/components/gltf-model.html#sidebar) (#5156) (@kfarr)
55103
- Hide fullscreen button in desktop mode on iPad. Safari doesn't seem to support fullscreen mode. (fix #4841) (#5191)
56-
- Detach inactive pool entities from THREE Scene avoiding unnecessary matrix updates and raycaster checks / hits (#5188) (@diarmidmackenzie)
104+
- Detach inactive pool entities from THREE Scene avoiding unnecessary matrix updates and raycaster checks / hits (#5188) (@diarmidmackenzie)
57105
- Add support for WebXR [foveation level](https://aframe.io/docs/1.3.0/components/renderer.html#foveationlevel). Only WebVR API was previously supported (fix #5108) (#5110) (@mrxz)
58106
- Events emitted on a cursor entity also pass original [MouseEvent](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent) and [TouchEvent](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent) events when applies.
59107
- Update unit test stack and fix test suite (#5091) (@vincentfretin)
@@ -69,7 +117,7 @@ You can also [buy a cool t-shirt](https://cottonbureau.com/p/SX82KC/shirt/a-fram
69117
### Bug fixes
70118

71119
- Fix `triggerchanged` event not firing with Oculus Quest 2 controllers (#5149) (@msub2)
72-
- Fix issue of loading screen displayed indefinitely (#5033) (@diarmidmackenzie)
120+
- Fix issue of loading screen displayed indefinitely (#5033) (@diarmidmackenzie)
73121
- Remove duplicated update shader logic (#6858ed66) (@dmarcos)
74122
- Fix ray positioning for Oculus Quest 2 controllers (#5141) (@felixtrz)
75123
- Fix reflection component removal (#5125) (@vincentfretin)
@@ -91,9 +139,9 @@ You can also [buy a cool t-shirt](https://cottonbureau.com/p/SX82KC/shirt/a-fram
91139

92140
Huge pile of fixes!
93141

94-
[Sponsor](https://github.com/sponsors/dmarcos) A-Frame to help us move the 3D Web forward.
142+
[Sponsor](https://github.com/sponsors/dmarcos) A-Frame to help us move the 3D Web forward.
95143

96-
You can also [buy a cool t-shirt](https://cottonbureau.com/products/fragments#/6821945/tee-men-standard-tee-vintage-black-tri-blend-s) 👕
144+
You can also [buy a cool t-shirt](https://cottonbureau.com/products/fragments#/6821945/tee-men-standard-tee-vintage-black-tri-blend-s) 👕
97145

98146
### Major Changes
99147

@@ -120,7 +168,7 @@ You can also [buy a cool t-shirt](https://cottonbureau.com/products/fragments#/6
120168
- Automatic generation of environment map (#4797) (@AdaRoseCannon)
121169
- Fix copy in device orientation permission dialog (#4794) (@antoninklopp)
122170

123-
### Enhancements
171+
### Enhancements
124172

125173
- Add phong shader to [material component](https://aframe.io/docs/1.2.0/components/material.html#sidebar) (#5001) (@AdaRoseCannon)
126174
- Allow newer npm version in package.json (#4870) (@cwadrupldijjit)

README.md

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -65,26 +65,25 @@
6565

6666
## Features
6767

68-
:eyeglasses: **Virtual Reality Made Simple**: A-Frame handles the 3D and WebVR
69-
boilerplate required to get running across platforms including mobile, desktop, Vive, and Rift just by dropping in `<a-scene>`.
68+
:eyeglasses: **Virtual Reality Made Simple**: A-Frame handles the 3D and WebXR
69+
boilerplate required to get running across platforms including mobile, desktop, and all headsets (compatible with a WebXR capable browser) just by dropping in `<a-scene>`.
7070

7171
:heart: **Declarative HTML**: HTML is easy to read and copy-and-paste. Since
7272
A-Frame can be used from HTML, A-Frame is accessible to everyone: web
73-
developers, VR enthusiasts, educators, artists, makers, kids.
73+
developers, VR and AR enthusiasts, educators, artists, makers, kids.
7474

7575
:electric_plug: **Entity-Component Architecture**: A-Frame is a powerful
7676
framework on top of three.js, providing a declarative, composable, reusable
7777
entity-component structure for three.js. While A-Frame can be used from HTML,
78-
developers have unlimited access to JavaScript, DOM APIs, three.js, WebVR, and
78+
developers have unlimited access to JavaScript, DOM APIs, three.js, WebXR, and
7979
WebGL.
8080

8181
:zap: **Performance**: A-Frame is a thin framework on top of three.js.
8282
Although A-Frame uses the DOM, A-Frame does not touch the browser layout
8383
engine. Performance is a top priority, being battle-tested on highly
84-
interactive WebVR experiences.
84+
interactive WebXR experiences.
8585

86-
:globe_with_meridians: **Cross-Platform**: Build VR applications for Vive,
87-
Rift, Daydream, GearVR, and Cardboard. Don't have a headset or controllers? No
86+
:globe_with_meridians: **Cross-Platform**: Build VR and AR applications for any headset compatible with a WebXR capable browser. Don't have a headset or controllers? No
8887
problem! A-Frame still works on standard desktop and smartphones.
8988

9089
:mag: **Visual Inspector**: A-Frame provides a built-in visual 3D inspector
@@ -101,15 +100,15 @@ mountains, speech recognition, or teleportation!
101100

102101
### Example
103102

104-
Build VR scenes in the browser with just a few lines of HTML! To start playing
103+
Build VR and AR scenes in the browser with just a few lines of HTML! To start playing
105104
and publishing now, remix the starter example on:
106105

107106
[![Remix](https://cloud.githubusercontent.com/assets/674727/24572421/688f7fc0-162d-11e7-8a35-b02bc050c043.jpg)](https://glitch.com/~aframe) [![Fork](https://user-images.githubusercontent.com/39342/52831020-d42dcb80-3087-11e9-833f-2d6191c69eb9.png)](https://repl.it/@dmarcos/aframe)
108107

109108
```html
110109
<html>
111110
<head>
112-
<script src="https://aframe.io/releases/1.4.2/aframe.min.js"></script>
111+
<script src="https://aframe.io/releases/1.5.0/aframe.min.js"></script>
113112
</head>
114113
<body>
115114
<a-scene>
@@ -124,7 +123,7 @@ and publishing now, remix the starter example on:
124123
```
125124

126125
With A-Frame's [entity-component
127-
architecture](https://aframe.io/docs/1.4.2/introduction/entity-component-system.html), we can drop in community
126+
architecture](https://aframe.io/docs/1.5.0/introduction/entity-component-system.html), we can drop in community
128127
components from the ecosystem (e.g., ocean, physics) and plug them into our
129128
objects straight from HTML:
130129

@@ -133,10 +132,10 @@ objects straight from HTML:
133132
```html
134133
<html>
135134
<head>
136-
<script src="https://aframe.io/releases/1.4.2/aframe.min.js"></script>
135+
<script src="https://aframe.io/releases/1.5.0/aframe.min.js"></script>
137136
<script src="https://unpkg.com/[email protected]/dist/aframe-particle-system-component.min.js"></script>
138137
<script src="https://unpkg.com/aframe-extras.ocean@%5E3.5.x/dist/aframe-extras.ocean.min.js"></script>
139-
<script src="https://unpkg.com/aframe-gradient-sky@1.4.2/dist/gradientsky.min.js"></script>
138+
<script src="https://unpkg.com/aframe-gradient-sky@1.5.0/dist/gradientsky.min.js"></script>
140139
</head>
141140
<body>
142141
<a-scene>
@@ -164,11 +163,11 @@ objects straight from HTML:
164163

165164
### Builds
166165

167-
To use the latest stable build of A-Frame, include [`aframe.min.js`](https://aframe.io/releases/1.4.2/aframe.min.js):
166+
To use the latest stable build of A-Frame, include [`aframe.min.js`](https://aframe.io/releases/1.5.0/aframe.min.js):
168167

169168
```js
170169
<head>
171-
<script src="https://aframe.io/releases/1.4.2/aframe.min.js"></script>
170+
<script src="https://aframe.io/releases/1.5.0/aframe.min.js"></script>
172171
</head>
173172
```
174173

dist/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ script below from the [jsdelivr CDN](https://www.jsdelivr.com/):
88
```html
99
<html>
1010
<head>
11-
<script src="https://cdn.jsdelivr.net/gh/aframevr/aframe@cb0bb8407968be713b79008548b7044908ba5729/dist/aframe-master.min.js"></script>
11+
<script src="https://cdn.jsdelivr.net/gh/aframevr/aframe@114cb5dbc6ec3a726ab2cbdacd391e31ee731012/dist/aframe-master.min.js"></script>
1212
</head>
1313
<body>
1414
<a-scene>

0 commit comments

Comments
 (0)