GrimoireGL / GrimoireJS

A WebGL framework for Web development.
https://grimoire.gl
MIT License
350 stars 24 forks source link

Update ava to the latest version ๐Ÿš€ #539

Closed greenkeeper[bot] closed 6 years ago

greenkeeper[bot] commented 7 years ago

Version 0.23.0 of ava was just published.

Dependency ava
Current Version 0.22.0
Type devDependency

The version 0.23.0 is not covered by your current version range.

If you donโ€™t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

It might be worth looking into these changes and trying to get this project onto the latest version of ava.

If you have a solid test suite and good coverage, a passing build is a strong indicator that you can take advantage of these changes directly by merging the proposed change into your project. If the build fails or you donโ€™t have such unconditional trust in your tests, this branch is a great starting point for you to work on the update.


Release Notes 0.23.0

Highlights ๐Ÿ•ด

NODE_ENV=test โœจ

AVA will now set process.env.NODE_ENV to 'test', as long as the NODE_ENV environment variable has not already been set. 42e7c74

Improved snapshot storage location ๐Ÿ—ƒ

Snapshots are stored alongside your test files. This is great when your test file is executed directly but say if you're using TypeScript to precompile your test file AVA would store the snapshots in your build directory. In this release, if source maps are available, AVA determines the original test file location and uses that to store the snapshots.

You can also specify where snapshots are stored through the snapshotLocation option in the package.json file. 7fadc34

Matching anonymous tests ๐Ÿ•ต๏ธ

--match='*' now matches all tests, including those without a title. 1df502d

Miscellaneous ๐ŸŽ’

  • The verbose logger now only displays the timestamp when in watch mode 1ea758f
  • Anonymous functions are now included in stack traces c72f4f2
  • Concurrency is now capped at 2 in CI environments 3f81fc4
  • AVA no longer calls Bluebird.longStackTraces(). If you're using Bluebird you may want to call this yourself using a require script. ebf78b3 61101d9
  • There's a new recipe for endpoint testing using Mongoose c9fe8db
  • The browser testing recipe has been updated with an example of exposing global variables, such as jQuery f43d5ae
  • t.log() is now supported in the Flow and TypeScript type definitions 64b7755
  • t.title is now supported in the TypeScript type definitions 3c8b1be
  • t.snapshot() now has a better Flow type definition ded7ab8

All changes ๐Ÿ›‹

v0.22.0...v0.23.0

Thanks ๐Ÿ’Œ

๐Ÿ’– Huge thanks to @anshulwadhawan, @mliou8, @dehbmarques, @forivall, @forresst, @Couto, @impaler, @kristianmandrup, @lukechilds, @neoeno, @jugglinmike, @P-Seebauer, @philippotto, @ptim, @rhendric, @ntwb, @tdeschryver, @timothyjellison and @zellwk for helping us with this release. We couldnโ€™t have done it without you!

Get involved โœŒ๏ธ

We welcome new contributors. AVA is a friendly place to get started in open source. We have a great article on getting started contributing and a comprehensive contributing guide.

Commits

The new version differs by 30 commits.

  • 3b81e2c 0.23.0
  • 3f81fc4 Limit concurrency to 2 in a CI environment
  • 1cb9d4f Adjust NODE_PATH test to fix linting issue
  • 1ea758f Only display timestamp in verbose logger if watch mode is active (#1557)
  • c72f4f2 Include anonymous functions in stacktraces (#1508)
  • eebf26e Add Awesome mentioned badge
  • f43d5ae Recipe instructions for making jQuery available in browser (#1543)
  • 68ce4b8 Update tsconfig.json docs link in the TS recipe
  • 837b0dd Fix TypeScript recipe typo (#1549)
  • 2349316 Update package-lock with changes in #1407
  • bb91862 Version warning when local version is behind (#1407)
  • 42e7c74 Set NODE_ENV to to 'test' if not already set (#1523)
  • 64b7755 Add t.log() for Flow and TypeScript (#1538)
  • 8955e15 Lint test fixtures
  • fa4f73c Update to npm@5.4.2

There are 30 commits in total.

See the full diff

FAQ and help There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those donโ€™t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).

Your Greenkeeper bot :palm_tree:

greenkeeper[bot] commented 6 years ago

Version 0.24.0 just got published.

Update to this version instead ๐Ÿš€

Release Notes 0.24.0

Highlights ๐Ÿ’ก

This is a pretty small release, but a great one if you're solely developing for Node.js 8.3 or above.

You can now use object rest/spread properties in test files without any further Babel configuration. Note that if you're running tests on older versions of Node.js you'll still need to add the relevant Babel plugins, since this new language feature has not yet reached stage 4. 37c9122

Miscellaneous ๐Ÿ•ฏ

  • Before and after hooks are no longer run when all tests are skipped 1cd3a04
  • Improved output of assertion statements when tests fail 37e8b49
  • Improved feedback when t.is() values are deeply equal but not the same c41b2af
  • Updated the Typescript with an example of how to title macros f98a881

All changes ๐Ÿ“š

v0.23.0...v0.24.0

Thanks ๐Ÿ’Œ

๐Ÿ’– Huge thanks to @jedmao, @Lifeuser, @mightyiam, @ahmadawais and @codeslikejaggars for helping us with this release. We couldnโ€™t have done it without you!

Get involved โœŒ๏ธ

We welcome new contributors. AVA is a friendly place to get started in open source. We have a great article on getting started contributing and a comprehensive contributing guide.

Commits

The new version differs by 12 commits.

  • e401bd1 0.24.0
  • 8141395 Churn and dedupe package-lock
  • f2979a3 Bump dependencies
  • efc3b31 Code style tweaks
  • cb1c3f7 Fix documentation of snapshotDir option
  • c41b2af Provide feedback when t.is() values are deeply equal but not the same
  • 1cd3a04 Don't run before and after hooks when all tests are skipped
  • f98a881 Document how to title macros when using TypeScript
  • b3c4090 Fix broken link in contributing guide
  • 37c9122 Include syntax-object-rest-spread in default Babel options for Node.js >= 8.3.0
  • 035fd31 Verify package-lock when linting
  • 37e8b49 Use babel-generator to regenerate enhanced assertion statements

See the full diff

kyasbal commented 6 years ago

Grimoire.js E2E Test result

Commit: 3818cb6aeea1ffd4808b1e543b5fe693f948a2fb

Compared with d17006436f6a1faba2266f059c702677611d4076

This page or pull request reply was automatically generated.

Summary

Diff changed E2E result count : 17 / 17

forward-shading

Test results: 1 ### 0:forward-shading/pbr-rougness-metallic\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|http://jsrun.it/kyasbal/gCfn3#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|http://jsrun.it/kyasbal/gCfn3| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|forward-shading| |name|pbr-rougness-metallic|
---

fundamental

Test results: 9 ### 0:fundamental/texture-direction\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|https://codepen.io/kyasbal-1994/debug/gXMBJV#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|https://codepen.io/kyasbal-1994/debug/gXMBJV| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|fundamental| |name|texture-direction|
--- ### 1:fundamental/uv\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|https://codepen.io/kyasbal-1994/debug/vWXLLK#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|https://codepen.io/kyasbal-1994/debug/vWXLLK| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|fundamental| |name|uv|
--- ### 2:fundamental/normal\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|https://codepen.io/kyasbal-1994/debug/RjGroo#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|https://codepen.io/kyasbal-1994/debug/RjGroo| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|fundamental| |name|normal|
--- ### 3:fundamental/wireframe\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|https://codepen.io/kyasbal-1994/debug/MOmjyJ#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|https://codepen.io/kyasbal-1994/debug/MOmjyJ| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|fundamental| |name|wireframe|
--- ### 4:fundamental/canvasFollowRelative\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|https://codepen.io/kyasbal-1994/debug/bf323f6b9725ceb75f0865d6dddd68b9#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|https://codepen.io/kyasbal-1994/debug/bf323f6b9725ceb75f0865d6dddd68b9| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|fundamental| |name|canvasFollowRelative|
--- ### 5:fundamental/canvasConsiderBorder\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|https://codepen.io/kyasbal-1994/debug/d448653295e3678bdbbc626bf9192f79#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|https://codepen.io/kyasbal-1994/debug/d448653295e3678bdbbc626bf9192f79| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|fundamental| |name|canvasConsiderBorder|
--- ### 6:fundamental/dynamicParentSizeChange\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|https://codepen.io/kyasbal-1994/debug/074bef092e7a50ed3e33fe7c75c923e6#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|https://codepen.io/kyasbal-1994/debug/074bef092e7a50ed3e33fe7c75c923e6| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|fundamental| |name|dynamicParentSizeChange|
--- ### 7:fundamental/drawerContext\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|https://codepen.io/kyasbal-1994/debug/b26f4b576f96d077eb0aab1d6b88668f#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|https://codepen.io/kyasbal-1994/debug/b26f4b576f96d077eb0aab1d6b88668f| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|fundamental| |name|drawerContext|
--- ### 8:fundamental/drawerContext2\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|https://s.codepen.io/kyasbal-1994/debug/c0e1065f3c412d326859c69fc4befb52#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|https://s.codepen.io/kyasbal-1994/debug/c0e1065f3c412d326859c69fc4befb52| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|fundamental| |name|drawerContext2|
---

glTF

Test results: 7 ### 0:glTF/gltf-triangle\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|https://codepen.io/kyasbal-1994/debug/e8ca361b9c48e123380f391d31210de5#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|https://codepen.io/kyasbal-1994/debug/e8ca361b9c48e123380f391d31210de5| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|glTF| |name|gltf-triangle|
--- ### 1:glTF/gltf-triangle-without-indices\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|https://codepen.io/kyasbal-1994/debug/b5b1bc440f20c52166aeefd01cbb677e#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|https://codepen.io/kyasbal-1994/debug/b5b1bc440f20c52166aeefd01cbb677e| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|glTF| |name|gltf-triangle-without-indices|
--- ### 2:glTF/gltf-simple-meshes\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|https://codepen.io/kyasbal-1994/debug/6e959821e1870e44d75bb9eb5b76ad14#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|https://codepen.io/kyasbal-1994/debug/6e959821e1870e44d75bb9eb5b76ad14| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|glTF| |name|gltf-simple-meshes|
--- ### 3:glTF/gltf-suzane\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|https://s.codepen.io/kyasbal-1994/debug/fac20bbbeb4713f2a2169b09f615b741#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|https://s.codepen.io/kyasbal-1994/debug/fac20bbbeb4713f2a2169b09f615b741| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|glTF| |name|gltf-suzane|
--- ### 4:glTF/gltf-duck\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|https://s.codepen.io/kyasbal-1994/debug/a600e4dd689e739ba59ff8e01b69e92e#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|https://s.codepen.io/kyasbal-1994/debug/a600e4dd689e739ba59ff8e01b69e92e| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|glTF| |name|gltf-duck|
--- ### 5:glTF/gltf-embedded-simple-meshes\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|https://codepen.io/kyasbal-1994/debug/afa9b0bc42997cb884682dfaafd3529d#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|https://codepen.io/kyasbal-1994/debug/afa9b0bc42997cb884682dfaafd3529d| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|glTF| |name|gltf-embedded-simple-meshes|
--- ### 6:glTF/gltf-embedded-duck\[NOT TESTED BEFORE\] * load: FAIL * waitFor: FAIL OPEN
Logs ``` debug:%cGrimoire.js v1.0.9-beta6 plugins: 1 : grimoirejs-math@1.15.1 To suppress this message,please inject a line "gr.debug = false;" on the initializing timing. color:#44F;font-weight:bold; error:JSHandle@error ```
Meta |Key|Value| |:-:|:-:| |config|[object Object]| |loadTime|FAIL| |initializingTime|FAIL| |logs|[object Object],[object Object]| |diffTestResult|false| |url|https://codepen.io/kyasbal-1994/debug/079bead3a79fe8a059a41ae552b820bd#grimoirejs=staging-3818cb6aeea1ffd4808b1e543b5fe693f948a2fb|
Config |Key|Value| |:-:|:-:| |url|https://codepen.io/kyasbal-1994/debug/079bead3a79fe8a059a41ae552b820bd| |timeout|100000| |waitFor|| |width|640| |height|480| |threshold|3%| |shift|2| |group|glTF| |name|gltf-embedded-duck|
---