From 41bd30bd0558d50b29f3950a774b5e5f243f9007 Mon Sep 17 00:00:00 2001 From: Maxence G Date: Sat, 6 May 2023 23:52:50 +0200 Subject: [PATCH 1/6] Update to Aframe v1.4.2 --- index.html | 2 +- package.json | 16 +++------------- src/components/beat-cut-fx.js | 2 +- src/components/beat-generator.js | 10 +++++----- src/components/beat.js | 2 +- src/components/raycaster-target.js | 6 +++--- src/components/tail.js | 2 +- src/index.js | 2 +- vendor/Curve.js | 2 +- 9 files changed, 17 insertions(+), 27 deletions(-) diff --git a/index.html b/index.html index 7a47c98be..0919916e8 100644 --- a/index.html +++ b/index.html @@ -14,7 +14,7 @@ - + diff --git a/package.json b/package.json index 6a89e5c8f..e64481d7e 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "lint": "semistandard -v | snazzy", "lint:fix": "semistandard --fix", "predeploy": "cross-env NODE_ENV=production npm run build && shx mkdir -p .ghpages && cp -r index.html assets build vendor CNAME .ghpages", - "start": "webpack-dev-server --host 0.0.0.0 --progress --colors --hot-only --inline --port 3000" + "start": "cross-env NODE_OPTIONS=--openssl-legacy-provider webpack serve --host 0.0.0.0 --progress --color --hot-only --inline --port 3000" }, "dependencies": { "@babel/cli": "^7.17.0", @@ -30,7 +30,7 @@ "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/preset-env": "^7.16.11", "aframe-aabb-collider-component": "^3.1.0", - "aframe-atlas-uvs-component": "^2.1.0", + "aframe-atlas-uvs-component": "^3.0.0", "aframe-audioanalyser-component": "^6.0.0", "aframe-event-decorators": "^1.0.2", "aframe-event-set-component": "^4.2.1", @@ -40,7 +40,6 @@ "aframe-log-component": "^1.0.7", "aframe-orbit-controls": "^1.2.0", "aframe-proxy-event-component": "^2.1.0", - "aframe-render-order-component": "^1.1.0", "aframe-slice9-component": "^1.0.0", "aframe-state-component": "6.7.0", "aframe-super-hot-html-loader": "^1.2.0", @@ -61,24 +60,15 @@ "promise-polyfill": "^8.1.0", "style-loader": "^0.23.1", "super-nunjucks-loader": "^2.0.0", - "uglify-es": "git://github.com/mishoo/UglifyJS2.git#harmony", - "uglify-js": "git://github.com/mishoo/UglifyJS2#harmony", "uglifyjs-webpack-plugin": "0.4.6", "url-loader": "^1.1.2", "webpack": "^4.46.0", + "webpack-cli": "^4.10.0", "webpack-glsl-loader": "^1.0.1", "webpack-sources": "1.0.1", "zip-loader": "github:ngokevin/ziploader#xhrdist", "unzip-js": "^1.0.0" }, - "overrides": { - "aframe-render-order-component": { - "webpack": "~4.46.0" - }, - "uglifyjs-webpack-plugin": { - "webpack": "~4.46.0" - } - }, "devDependencies": { "cross-env": "4.0.0", "ghpages": "0.0.10", diff --git a/src/components/beat-cut-fx.js b/src/components/beat-cut-fx.js index 2d15c2f53..8da82b3ad 100644 --- a/src/components/beat-cut-fx.js +++ b/src/components/beat-cut-fx.js @@ -107,7 +107,7 @@ AFRAME.registerComponent('beat-cut-fx', { for (let i = 0; i < this.pieces.length; i++) { let piece = this.pieces[i]; piece.posVelocity.copy(AUX_VECTOR); - piece.rotation.z = THREE.Math.degToRad(ROTATIONS[beatDirection]); + piece.rotation.z = THREE.MathUtils.degToRad(ROTATIONS[beatDirection]); if (correctHit) { // Dir is a hardcoded value, based on the position of meshes in .OBJ files. let dir = i % 2 == 0 ? -0.001 : 0.001; diff --git a/src/components/beat-generator.js b/src/components/beat-generator.js index dc15f72ea..fd03f17b3 100644 --- a/src/components/beat-generator.js +++ b/src/components/beat-generator.js @@ -301,16 +301,16 @@ AFRAME.registerComponent('beat-generator', { const songPosition = ((noteInfo._time * msPerBeat) / durationMs) + positionOffset; // Set render order (back to front so decreasing render order as index increases). - const renderOrder = this.el.systems['render-order'].order.beats + 1 - songPosition; + //const renderOrder = this.el.systems['render-order'].order.beats + 1 - songPosition; if (data.gameMode === 'ride') { beatEl.components.plume.onGenerate(songPosition, horizontalPosition, verticalPosition, this.playerHeight.beatOffset); - beatEl.setAttribute('render-order', renderOrder); + //beatEl.setAttribute('render-order', renderOrder); } else { beatEl.components.beat.onGenerate(songPosition, horizontalPosition, verticalPosition, cutDirection, this.playerHeight.beatOffset); - beatEl.components.beat.blockEl.object3D.renderOrder = renderOrder; + //beatEl.components.beat.blockEl.object3D.renderOrder = renderOrder; } beatEl.play(); }, @@ -356,8 +356,8 @@ AFRAME.registerComponent('beat-generator', { // Set render order (back to front so decreasing render order as index increases). // For walls, set as the back end of the wall. - wallEl.object3D.renderOrder = this.el.systems['render-order'].order.beats + 1 - - (songPosition + lengthPercent); + //wallEl.object3D.renderOrder = this.el.systems['render-order'].order.beats + 1 - + // (songPosition + lengthPercent); }, generateEvent: function (event) { diff --git a/src/components/beat.js b/src/components/beat.js index 557b3cdb7..8c5e6cdab 100644 --- a/src/components/beat.js +++ b/src/components/beat.js @@ -397,7 +397,7 @@ AFRAME.registerComponent('beat', { el.object3D.position.x += this.beatSystem.horizontalPositions[horizontalPosition]; if (data.type !== DOT) { - el.object3D.rotation.z = THREE.Math.degToRad(ROTATIONS[cutDirection]); + el.object3D.rotation.z = THREE.MathUtils.degToRad(ROTATIONS[cutDirection]); } // Set up rotation warmup. diff --git a/src/components/raycaster-target.js b/src/components/raycaster-target.js index 1d1afb1da..6c0f17840 100644 --- a/src/components/raycaster-target.js +++ b/src/components/raycaster-target.js @@ -48,9 +48,9 @@ AFRAME.registerComponent('raycaster-target', { raycastTarget.object3D.visible = false; raycastTarget.object3D.position.copy(data.position); - raycastTarget.object3D.rotation.x = THREE.Math.degToRad(data.rotation.x); - raycastTarget.object3D.rotation.y = THREE.Math.degToRad(data.rotation.y); - raycastTarget.object3D.rotation.z = THREE.Math.degToRad(data.rotation.z); + raycastTarget.object3D.rotation.x = THREE.MathUtils.degToRad(data.rotation.x); + raycastTarget.object3D.rotation.y = THREE.MathUtils.degToRad(data.rotation.y); + raycastTarget.object3D.rotation.z = THREE.MathUtils.degToRad(data.rotation.z); el.appendChild(raycastTarget); }; diff --git a/src/components/tail.js b/src/components/tail.js index 3e5d95c93..5d8e02934 100644 --- a/src/components/tail.js +++ b/src/components/tail.js @@ -12,7 +12,7 @@ AFRAME.registerComponent('tail', { init: function () { const data = this.data; - const geometry = this.geometry = new THREE.PlaneBufferGeometry( + const geometry = this.geometry = new THREE.PlaneGeometry( data.width, data.height, data.segments, 1); geometry.deleteAttribute('normal'); geometry.translate(data.width / 2, 0, 0); diff --git a/src/index.js b/src/index.js index 994fc83fa..1e798baed 100644 --- a/src/index.js +++ b/src/index.js @@ -21,7 +21,7 @@ if (process.env.DEBUG_LOG) { } require('aframe-orbit-controls'); require('aframe-proxy-event-component'); -require('aframe-render-order-component'); +//require('aframe-render-order-component'); require('aframe-state-component'); require('aframe-slice9-component'); require('aframe-thumb-controls-component'); diff --git a/vendor/Curve.js b/vendor/Curve.js index 34e48d055..3ac1d16b0 100644 --- a/vendor/Curve.js +++ b/vendor/Curve.js @@ -1,6 +1,6 @@ // Modified to allow optional targets for GC. // TODO: Upstream. -const _Math = THREE.Math; +const _Math = THREE.MathUtils; const Vector3 = THREE.Vector3; const Matrix4 = THREE.Matrix4; From 8698c5ee289e86e15ee0838628b90bcce592d5e6 Mon Sep 17 00:00:00 2001 From: Maxence G Date: Tue, 9 May 2023 22:17:51 +0200 Subject: [PATCH 2/6] Remove deprecated vendor files --- vendor/aframe-master.js | 81482 ------------------------------ vendor/aframe-master.js.map | 395 - vendor/aframe-master.min.js | 447 - vendor/aframe-master.min.js.map | 1 - 4 files changed, 82325 deletions(-) delete mode 100644 vendor/aframe-master.js delete mode 100644 vendor/aframe-master.js.map delete mode 100644 vendor/aframe-master.min.js delete mode 100644 vendor/aframe-master.min.js.map diff --git a/vendor/aframe-master.js b/vendor/aframe-master.js deleted file mode 100644 index 584101ba0..000000000 --- a/vendor/aframe-master.js +++ /dev/null @@ -1,81482 +0,0 @@ -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.AFRAME = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i 0) { - throw new Error('Invalid string. Length must be a multiple of 4') - } - - // Trim off extra bytes after placeholder bytes are found - // See: https://github.com/beatgammit/base64-js/issues/42 - var validLen = b64.indexOf('=') - if (validLen === -1) validLen = len - - var placeHoldersLen = validLen === len - ? 0 - : 4 - (validLen % 4) - - return [validLen, placeHoldersLen] -} - -// base64 is 4/3 + up to two characters of the original data -function byteLength (b64) { - var lens = getLens(b64) - var validLen = lens[0] - var placeHoldersLen = lens[1] - return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen -} - -function _byteLength (b64, validLen, placeHoldersLen) { - return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen -} - -function toByteArray (b64) { - var tmp - var lens = getLens(b64) - var validLen = lens[0] - var placeHoldersLen = lens[1] - - var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) - - var curByte = 0 - - // if there are placeholders, only get up to the last complete 4 chars - var len = placeHoldersLen > 0 - ? validLen - 4 - : validLen - - for (var i = 0; i < len; i += 4) { - tmp = - (revLookup[b64.charCodeAt(i)] << 18) | - (revLookup[b64.charCodeAt(i + 1)] << 12) | - (revLookup[b64.charCodeAt(i + 2)] << 6) | - revLookup[b64.charCodeAt(i + 3)] - arr[curByte++] = (tmp >> 16) & 0xFF - arr[curByte++] = (tmp >> 8) & 0xFF - arr[curByte++] = tmp & 0xFF - } - - if (placeHoldersLen === 2) { - tmp = - (revLookup[b64.charCodeAt(i)] << 2) | - (revLookup[b64.charCodeAt(i + 1)] >> 4) - arr[curByte++] = tmp & 0xFF - } - - if (placeHoldersLen === 1) { - tmp = - (revLookup[b64.charCodeAt(i)] << 10) | - (revLookup[b64.charCodeAt(i + 1)] << 4) | - (revLookup[b64.charCodeAt(i + 2)] >> 2) - arr[curByte++] = (tmp >> 8) & 0xFF - arr[curByte++] = tmp & 0xFF - } - - return arr -} - -function tripletToBase64 (num) { - return lookup[num >> 18 & 0x3F] + - lookup[num >> 12 & 0x3F] + - lookup[num >> 6 & 0x3F] + - lookup[num & 0x3F] -} - -function encodeChunk (uint8, start, end) { - var tmp - var output = [] - for (var i = start; i < end; i += 3) { - tmp = - ((uint8[i] << 16) & 0xFF0000) + - ((uint8[i + 1] << 8) & 0xFF00) + - (uint8[i + 2] & 0xFF) - output.push(tripletToBase64(tmp)) - } - return output.join('') -} - -function fromByteArray (uint8) { - var tmp - var len = uint8.length - var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes - var parts = [] - var maxChunkLength = 16383 // must be multiple of 3 - - // go through the array every three bytes, we'll deal with trailing stuff later - for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { - parts.push(encodeChunk( - uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength) - )) - } - - // pad the end with zeros, but make sure to not forget the extra bytes - if (extraBytes === 1) { - tmp = uint8[len - 1] - parts.push( - lookup[tmp >> 2] + - lookup[(tmp << 4) & 0x3F] + - '==' - ) - } else if (extraBytes === 2) { - tmp = (uint8[len - 2] << 8) + uint8[len - 1] - parts.push( - lookup[tmp >> 10] + - lookup[(tmp >> 4) & 0x3F] + - lookup[(tmp << 2) & 0x3F] + - '=' - ) - } - - return parts.join('') -} - -},{}],4:[function(_dereq_,module,exports){ -'use strict'; -// For more information about browser field, check out the browser field at https://github.com/substack/browserify-handbook#browser-field. - -module.exports = { - // Create a tag with optional data attributes - createLink: function(href, attributes) { - var head = document.head || document.getElementsByTagName('head')[0]; - var link = document.createElement('link'); - - link.href = href; - link.rel = 'stylesheet'; - - for (var key in attributes) { - if ( ! attributes.hasOwnProperty(key)) { - continue; - } - var value = attributes[key]; - link.setAttribute('data-' + key, value); - } - - head.appendChild(link); - }, - // Create a