Rewrite maintenance page renderer
This commit is contained in:
parent
5dfd173d22
commit
5ada4eeb97
|
|
@ -1174,6 +1174,16 @@
|
|||
"to-fast-properties": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"@chevrotain/types": {
|
||||
"version": "9.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-9.1.0.tgz",
|
||||
"integrity": "sha512-3hbCD1CThkv9gnaSIPq0GUXwKni68e0ph6jIHwCvcWiQ4JB2xi8bFxBain0RF04qHUWuDjgnZLj4rLgimuGO+g=="
|
||||
},
|
||||
"@chevrotain/utils": {
|
||||
"version": "9.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-9.1.0.tgz",
|
||||
"integrity": "sha512-llLJZ8OAlZrjGlBvamm6Zdo/HmGAcCLq5gx7cSwUX8No+n/8ip+oaC4x33IdZIif8+Rh5dQUIZXmfbSghiOmNQ=="
|
||||
},
|
||||
"@discoveryjs/json-ext": {
|
||||
"version": "0.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz",
|
||||
|
|
@ -1242,6 +1252,78 @@
|
|||
"@babel/runtime": "^7.6.2"
|
||||
}
|
||||
},
|
||||
"@react-spring/animated": {
|
||||
"version": "9.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.3.1.tgz",
|
||||
"integrity": "sha512-23YaERZ++BwZ8F8PxPFqrpOwp/JZun1Pj6aHZtPAU42j5LycBRasT9XMw7Eyr7zNFhT+rl3R3wFfd4WX6Ax+UA==",
|
||||
"requires": {
|
||||
"@react-spring/shared": "~9.3.0",
|
||||
"@react-spring/types": "~9.3.0"
|
||||
}
|
||||
},
|
||||
"@react-spring/core": {
|
||||
"version": "9.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.3.1.tgz",
|
||||
"integrity": "sha512-8rmfmEHLHGtF1CUiXRn64YJqsXNxv2cGX8oNnBnsuoE33c48Zc34t2VIMB4R9q5zwIUCvDBGfiEenA8ZAPxqOQ==",
|
||||
"requires": {
|
||||
"@react-spring/animated": "~9.3.0",
|
||||
"@react-spring/shared": "~9.3.0",
|
||||
"@react-spring/types": "~9.3.0"
|
||||
}
|
||||
},
|
||||
"@react-spring/rafz": {
|
||||
"version": "9.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.3.1.tgz",
|
||||
"integrity": "sha512-fEBMCarGVl+/2kdO+g6Zig4F+3ymwmcGN8S71gb1c7Cbbxb87kviPz8EhshfIHoiLeJPGlqwcuGbxNmZbBamvA=="
|
||||
},
|
||||
"@react-spring/shared": {
|
||||
"version": "9.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.3.1.tgz",
|
||||
"integrity": "sha512-jhPpxzURGo6Nty90ex1lkxmZae7w/VAbnGmb/nXcYoZwSoNR+W2aAd00iXsh2ZGz6MgoJOsc495JeG3uC7Am8A==",
|
||||
"requires": {
|
||||
"@react-spring/rafz": "~9.3.0",
|
||||
"@react-spring/types": "~9.3.0"
|
||||
}
|
||||
},
|
||||
"@react-spring/three": {
|
||||
"version": "9.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-spring/three/-/three-9.3.1.tgz",
|
||||
"integrity": "sha512-40iRIX2DrY+a81hIliOog6TMg/ZAtHGeZr95r0vKAsl+iX1g9Hs8XCS4wTeQIUgydZpbpShk/JL6mkcstEfBdw==",
|
||||
"requires": {
|
||||
"@react-spring/animated": "~9.3.0",
|
||||
"@react-spring/core": "~9.3.0",
|
||||
"@react-spring/shared": "~9.3.0",
|
||||
"@react-spring/types": "~9.3.0"
|
||||
}
|
||||
},
|
||||
"@react-spring/types": {
|
||||
"version": "9.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.3.1.tgz",
|
||||
"integrity": "sha512-W/YMJMX35XgGGzX0gKORBTwnvQ+1loDOFN3XlZkW5fgpEY+7VkRUpPyqPWXQr3n6lHrsLmHIGdpznqZi54ACTQ=="
|
||||
},
|
||||
"@react-three/drei": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@react-three/drei/-/drei-8.3.0.tgz",
|
||||
"integrity": "sha512-UFdWXUHCmucH2AGOIg/1/f46XF7TL7spIIiyqWId9Mp4Gz84BZkIQrHGU5vcMd7Ktmo3RWRTCTsR5MFOGK/qCw==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.11.2",
|
||||
"@react-spring/three": "^9.3.1",
|
||||
"@use-gesture/react": "^10.2.0",
|
||||
"detect-gpu": "^3.1.28",
|
||||
"glsl-noise": "^0.0.0",
|
||||
"lodash.omit": "^4.5.0",
|
||||
"lodash.pick": "^4.4.0",
|
||||
"react-composer": "^5.0.2",
|
||||
"react-merge-refs": "^1.1.0",
|
||||
"stats.js": "^0.17.0",
|
||||
"three-mesh-bvh": "^0.5.2",
|
||||
"three-stdlib": "^2.6.1",
|
||||
"troika-three-text": "^0.44.0",
|
||||
"use-asset": "^1.0.4",
|
||||
"utility-types": "^3.10.0",
|
||||
"zustand": "^3.5.13"
|
||||
}
|
||||
},
|
||||
"@react-three/fiber": {
|
||||
"version": "7.0.24",
|
||||
"resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-7.0.24.tgz",
|
||||
|
|
@ -1536,6 +1618,19 @@
|
|||
"resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz",
|
||||
"integrity": "sha1-DSUBJorY+ZYrdA04fEZU9fjiPlI="
|
||||
},
|
||||
"@use-gesture/core": {
|
||||
"version": "10.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.2.4.tgz",
|
||||
"integrity": "sha512-fk1LjCBj43BKb8NE05qkdtPOR0ngA7PwgvEqfFap/h+s7QHi+JTv4/mtDQ4wI9zzem+Ry5EKrHS/cVdBehI4wA=="
|
||||
},
|
||||
"@use-gesture/react": {
|
||||
"version": "10.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@use-gesture/react/-/react-10.2.4.tgz",
|
||||
"integrity": "sha512-CbqyRj+qNbRBOGmS8OWtaOa29fxEr7bKTYHvPuMQ1wsgQDh2/DqQxbp7cFxAg6WZ8oZjppDj/EkWnw22WpIIWQ==",
|
||||
"requires": {
|
||||
"@use-gesture/core": "10.2.4"
|
||||
}
|
||||
},
|
||||
"@webassemblyjs/ast": {
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
|
||||
|
|
@ -1682,6 +1777,11 @@
|
|||
"@xtuc/long": "4.2.2"
|
||||
}
|
||||
},
|
||||
"@webgpu/glslang": {
|
||||
"version": "0.0.15",
|
||||
"resolved": "https://registry.npmjs.org/@webgpu/glslang/-/glslang-0.0.15.tgz",
|
||||
"integrity": "sha512-niT+Prh3Aff8Uf1MVBVUsaNjFj9rJAKDXuoHIKiQbB+6IUP/3J3JIhBNyZ7lDhytvXxw6ppgnwKZdDJ08UMj4Q=="
|
||||
},
|
||||
"@webpack-cli/configtest": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.4.tgz",
|
||||
|
|
@ -1703,6 +1803,11 @@
|
|||
"integrity": "sha512-vgJ5OLWadI8aKjDlOH3rb+dYyPd2GTZuQC/Tihjct6F9GpXGZINo3Y/IVuZVTM1eDQB+/AOsjPUWH/WySDaXvw==",
|
||||
"dev": true
|
||||
},
|
||||
"@webxr-input-profiles/motion-controllers": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@webxr-input-profiles/motion-controllers/-/motion-controllers-1.0.0.tgz",
|
||||
"integrity": "sha512-Ppxde+G1/QZbU8ShCQg+eq5VtlcL/FPkerF1dkDOLlIml0LJD1tFqnCZYR0SrHzYleIQ2siRnOx7xbFLaCpExQ=="
|
||||
},
|
||||
"@xtuc/ieee754": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
|
||||
|
|
@ -2130,6 +2235,14 @@
|
|||
"integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
|
||||
"dev": true
|
||||
},
|
||||
"bidi-js": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.2.tgz",
|
||||
"integrity": "sha512-rzSy/k7WdX5zOyeHHCOixGXbCHkyogkxPKL2r8QtzHmVQDiWCXUWa18bLdMWT9CYMLOYTjWpTHawuev2ouYJVw==",
|
||||
"requires": {
|
||||
"require-from-string": "^2.0.2"
|
||||
}
|
||||
},
|
||||
"big.js": {
|
||||
"version": "5.2.2",
|
||||
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
|
||||
|
|
@ -2491,6 +2604,16 @@
|
|||
"integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=",
|
||||
"dev": true
|
||||
},
|
||||
"chevrotain": {
|
||||
"version": "9.1.0",
|
||||
"resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-9.1.0.tgz",
|
||||
"integrity": "sha512-A86/55so63HCfu0dgGg3j9u8uuuBOrSqly1OhBZxRu2x6sAKILLzfVjbGMw45kgier6lz45EzcjjWtTRgoT84Q==",
|
||||
"requires": {
|
||||
"@chevrotain/types": "^9.1.0",
|
||||
"@chevrotain/utils": "^9.1.0",
|
||||
"regexp-to-ast": "0.5.0"
|
||||
}
|
||||
},
|
||||
"chokidar": {
|
||||
"version": "3.5.2",
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
|
||||
|
|
@ -3273,6 +3396,14 @@
|
|||
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
|
||||
"dev": true
|
||||
},
|
||||
"detect-gpu": {
|
||||
"version": "3.1.30",
|
||||
"resolved": "https://registry.npmjs.org/detect-gpu/-/detect-gpu-3.1.30.tgz",
|
||||
"integrity": "sha512-WUOk8imHH56AWVt6iHry69qbNEFsPjtS6qsinurfxeI3bVYQZzFk8zECTaodLxfeRad7QspDjjkJWkp5vBo8WA==",
|
||||
"requires": {
|
||||
"webgl-constants": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"detect-node": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
|
||||
|
|
@ -3414,6 +3545,11 @@
|
|||
"integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==",
|
||||
"dev": true
|
||||
},
|
||||
"draco3d": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.0.tgz",
|
||||
"integrity": "sha512-8ESjH7o5xju1nfSvcS2A9vIbwSRQ3yYY0Yv7SFhNszsq4FlN4LGZuxNc3YfAPcg0AddaK0dE5AES3w1JoGeViA=="
|
||||
},
|
||||
"ee-first": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
||||
|
|
@ -3716,6 +3852,11 @@
|
|||
"websocket-driver": ">=0.5.1"
|
||||
}
|
||||
},
|
||||
"fflate": {
|
||||
"version": "0.6.10",
|
||||
"resolved": "https://registry.npmjs.org/fflate/-/fflate-0.6.10.tgz",
|
||||
"integrity": "sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg=="
|
||||
},
|
||||
"figures": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
|
||||
|
|
@ -4002,6 +4143,11 @@
|
|||
"slash": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"glsl-noise": {
|
||||
"version": "0.0.0",
|
||||
"resolved": "https://registry.npmjs.org/glsl-noise/-/glsl-noise-0.0.0.tgz",
|
||||
"integrity": "sha1-NndF86MzgsDu7Ey1S36Zz8HXZws="
|
||||
},
|
||||
"graceful-fs": {
|
||||
"version": "4.2.8",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
|
||||
|
|
@ -4814,6 +4960,11 @@
|
|||
"integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==",
|
||||
"dev": true
|
||||
},
|
||||
"ktx-parse": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ktx-parse/-/ktx-parse-0.2.1.tgz",
|
||||
"integrity": "sha512-I+2mYJ6nQdWGmOlE3m9d9idKfhn2MCw04zaVpgtzyuc19uQ8OwRmmYLf/TP5ueVFfYmHbdpM8mPmId2X5PBLEw=="
|
||||
},
|
||||
"laravel-mix": {
|
||||
"version": "6.0.29",
|
||||
"resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-6.0.29.tgz",
|
||||
|
|
@ -5064,6 +5215,16 @@
|
|||
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
|
||||
"dev": true
|
||||
},
|
||||
"lodash.omit": {
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz",
|
||||
"integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA="
|
||||
},
|
||||
"lodash.pick": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
|
||||
"integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM="
|
||||
},
|
||||
"lodash.uniq": {
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
|
||||
|
|
@ -5327,6 +5488,11 @@
|
|||
"minimist": "^1.2.5"
|
||||
}
|
||||
},
|
||||
"mmd-parser": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/mmd-parser/-/mmd-parser-1.0.4.tgz",
|
||||
"integrity": "sha512-Qi0VCU46t2IwfGv5KF0+D/t9cizcDug7qnNoy9Ggk7aucp0tssV8IwTMkBlDbm+VqAf3cdQHTCARKSsuS2MYFg=="
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
|
|
@ -5568,6 +5734,15 @@
|
|||
"is-wsl": "^2.2.0"
|
||||
}
|
||||
},
|
||||
"opentype.js": {
|
||||
"version": "1.3.4",
|
||||
"resolved": "https://registry.npmjs.org/opentype.js/-/opentype.js-1.3.4.tgz",
|
||||
"integrity": "sha512-d2JE9RP/6uagpQAVtJoF0pJJA/fgai89Cc50Yp0EJHk+eLp6QQ7gBoblsnubRULNY132I0J1QKMJ+JTbMqz4sw==",
|
||||
"requires": {
|
||||
"string.prototype.codepointat": "^0.2.1",
|
||||
"tiny-inflate": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"os-browserify": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
|
||||
|
|
@ -6346,6 +6521,11 @@
|
|||
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
|
||||
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ=="
|
||||
},
|
||||
"potpack": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz",
|
||||
"integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ=="
|
||||
},
|
||||
"pretty-time": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz",
|
||||
|
|
@ -6540,6 +6720,14 @@
|
|||
"warning": "^4.0.3"
|
||||
}
|
||||
},
|
||||
"react-composer": {
|
||||
"version": "5.0.2",
|
||||
"resolved": "https://registry.npmjs.org/react-composer/-/react-composer-5.0.2.tgz",
|
||||
"integrity": "sha512-6E2UNjUF0e7KRY+/faU2Hv7D9zagXnYdTfSSCGdYfuds6mRnVpN19vrbHXShaQzJNVXL4VOUb8qq6DvClDIG1g==",
|
||||
"requires": {
|
||||
"prop-types": "^15.6.0"
|
||||
}
|
||||
},
|
||||
"react-dom": {
|
||||
"version": "17.0.2",
|
||||
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
|
||||
|
|
@ -6738,6 +6926,11 @@
|
|||
"integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==",
|
||||
"dev": true
|
||||
},
|
||||
"regexp-to-ast": {
|
||||
"version": "0.5.0",
|
||||
"resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz",
|
||||
"integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw=="
|
||||
},
|
||||
"regexp.prototype.flags": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz",
|
||||
|
|
@ -6803,6 +6996,11 @@
|
|||
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
|
||||
"dev": true
|
||||
},
|
||||
"require-from-string": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
|
||||
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
|
||||
},
|
||||
"requires-port": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
|
||||
|
|
@ -7318,6 +7516,11 @@
|
|||
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
|
||||
"dev": true
|
||||
},
|
||||
"stats.js": {
|
||||
"version": "0.17.0",
|
||||
"resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz",
|
||||
"integrity": "sha1-scPcRtlEmLV4t/05hbgaznExzH0="
|
||||
},
|
||||
"statuses": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
|
||||
|
|
@ -7372,6 +7575,11 @@
|
|||
"strip-ansi": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"string.prototype.codepointat": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz",
|
||||
"integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg=="
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
||||
|
|
@ -7572,6 +7780,29 @@
|
|||
"resolved": "https://registry.npmjs.org/three/-/three-0.135.0.tgz",
|
||||
"integrity": "sha512-kuEpuuxRzLv0MDsXai9huCxOSQPZ4vje6y0gn80SRmQvgz6/+rI0NAvCRAw56zYaWKMGMfqKWsxF9Qa2Z9xymQ=="
|
||||
},
|
||||
"three-mesh-bvh": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmjs.org/three-mesh-bvh/-/three-mesh-bvh-0.5.2.tgz",
|
||||
"integrity": "sha512-DAKWujkp8xpSBqGiIsZbZC1utxAbYBg0SShQk9LdOG/xWWl1/OLK76eXDGfov47trl3L7PUTHi0hhRvZdVro1Q=="
|
||||
},
|
||||
"three-stdlib": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/three-stdlib/-/three-stdlib-2.6.1.tgz",
|
||||
"integrity": "sha512-6GulvDfTnJ8KmJmhwrKnLWAepRysb+9mH6fiDGQnZVai9O1Pg/Gr8pYKOX3+GD9VVxyGqhsEbApcsRmRJaIsCQ==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.14.6",
|
||||
"@webgpu/glslang": "^0.0.15",
|
||||
"@webxr-input-profiles/motion-controllers": "^1.0.0",
|
||||
"chevrotain": "^9.0.2",
|
||||
"draco3d": "^1.4.1",
|
||||
"fflate": "^0.6.9",
|
||||
"ktx-parse": "^0.2.1",
|
||||
"mmd-parser": "^1.0.4",
|
||||
"opentype.js": "^1.3.3",
|
||||
"potpack": "^1.0.1",
|
||||
"zstddec": "^0.0.2"
|
||||
}
|
||||
},
|
||||
"thunky": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
|
||||
|
|
@ -7593,6 +7824,11 @@
|
|||
"integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
|
||||
"dev": true
|
||||
},
|
||||
"tiny-inflate": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
|
||||
"integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="
|
||||
},
|
||||
"tiny-invariant": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz",
|
||||
|
|
@ -7631,6 +7867,26 @@
|
|||
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
|
||||
"dev": true
|
||||
},
|
||||
"troika-three-text": {
|
||||
"version": "0.44.0",
|
||||
"resolved": "https://registry.npmjs.org/troika-three-text/-/troika-three-text-0.44.0.tgz",
|
||||
"integrity": "sha512-YwqXczjXQ4yq2a2ufO9icOIjeJutE/ODS8PHmmt/WAzVFqoiqeemclp/Ewiqm0+sdI1KnWRm6lj8df/zmhU3Og==",
|
||||
"requires": {
|
||||
"bidi-js": "^1.0.2",
|
||||
"troika-three-utils": "^0.44.0",
|
||||
"troika-worker-utils": "^0.44.0"
|
||||
}
|
||||
},
|
||||
"troika-three-utils": {
|
||||
"version": "0.44.0",
|
||||
"resolved": "https://registry.npmjs.org/troika-three-utils/-/troika-three-utils-0.44.0.tgz",
|
||||
"integrity": "sha512-gaEpqrlWnkrVU5UgUx+YZTC8NrhsA2Tt6zEIbn3WNuom7pLtrgjuHpAM72gif7DoYdOWEyFco3Zb6rpJh9Fodg=="
|
||||
},
|
||||
"troika-worker-utils": {
|
||||
"version": "0.44.0",
|
||||
"resolved": "https://registry.npmjs.org/troika-worker-utils/-/troika-worker-utils-0.44.0.tgz",
|
||||
"integrity": "sha512-/ETcH1rUoO9hVBL6Ifea2WOoGPw90ncrk8b8SJKTLtzcQvEWRIZ4eUxlVCtU93fLechCV+DWPs1y8+Bjh1WaJg=="
|
||||
},
|
||||
"tslib": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
|
||||
|
|
@ -7868,6 +8124,11 @@
|
|||
"minimalistic-assert": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"webgl-constants": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/webgl-constants/-/webgl-constants-1.1.1.tgz",
|
||||
"integrity": "sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg=="
|
||||
},
|
||||
"webpack": {
|
||||
"version": "5.52.0",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.52.0.tgz",
|
||||
|
|
@ -8223,6 +8484,11 @@
|
|||
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
|
||||
"dev": true
|
||||
},
|
||||
"zstddec": {
|
||||
"version": "0.0.2",
|
||||
"resolved": "https://registry.npmjs.org/zstddec/-/zstddec-0.0.2.tgz",
|
||||
"integrity": "sha512-DCo0oxvcvOTGP/f5FA6tz2Z6wF+FIcEApSTu0zV5sQgn9hoT5lZ9YRAKUraxt9oP7l4e8TnNdi8IZTCX6WCkwA=="
|
||||
},
|
||||
"zustand": {
|
||||
"version": "3.6.7",
|
||||
"resolved": "https://registry.npmjs.org/zustand/-/zustand-3.6.7.tgz",
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
"webpack-subresource-integrity": "^5.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-three/drei": "^8.3.0",
|
||||
"@react-three/fiber": "^7.0.24",
|
||||
"@steveeeie/react-page-transition": "^1.2.1",
|
||||
"laravel-mix-react-css-modules": "^2.0.0",
|
||||
|
|
|
|||
|
|
@ -4,44 +4,17 @@
|
|||
import React, { useRef } from 'react';
|
||||
|
||||
import { Canvas, useFrame } from '@react-three/fiber';
|
||||
import { Instances, Instance, PerspectiveCamera } from '@react-three/drei'
|
||||
|
||||
import SetTitle from "../Helpers/Title.js";
|
||||
|
||||
const randomVector = (r) => [r / 2 - Math.random() * r, r / 2 - Math.random() * r, r / 2 - Math.random() * r];
|
||||
const randomEuler = () => [Math.random() * Math.PI, Math.random() * Math.PI, Math.random() * Math.PI];
|
||||
const randomData = Array.from({ length: 500 }, (r = 100) => ({ random: Math.random(), position: randomVector(r), rotation: randomEuler() }));
|
||||
|
||||
let Buttons = [];
|
||||
let ButtonsAlreadyTemplated = false;
|
||||
|
||||
function Box(props) {
|
||||
const ref = useRef();
|
||||
|
||||
const distanceFromCamera = Math.random() * 30
|
||||
|
||||
const rotX = (Math.random() * 200 - 100)/300
|
||||
const rotZ = (Math.random() * 200 - 100)/300
|
||||
|
||||
useFrame((state, delta) => {
|
||||
ref.current.position.y -= 0.6 * delta
|
||||
ref.current.rotation.x += rotX * delta
|
||||
ref.current.rotation.z += rotZ * delta
|
||||
|
||||
if(ref.current.position.y < -30)
|
||||
{
|
||||
ref.current.position.y = 30;
|
||||
}
|
||||
});
|
||||
|
||||
return (
|
||||
<mesh
|
||||
{...props}
|
||||
ref={ref}
|
||||
scale={1}
|
||||
position={[(Math.random() * 120) - 60, (Math.random() * 60) - 30, -distanceFromCamera]}
|
||||
rotation={[Math.random() * 360, Math.random() * 360, Math.random() * 360]}>
|
||||
<boxGeometry args={[1, 0.3, 0.5]} />
|
||||
<meshStandardMaterial color={'grey'} />
|
||||
</mesh>
|
||||
)
|
||||
}
|
||||
|
||||
function MakeButtons()
|
||||
{
|
||||
if(!ButtonsAlreadyTemplated)
|
||||
|
|
@ -60,6 +33,31 @@ function DoButton(position)
|
|||
console.log(position);
|
||||
}
|
||||
|
||||
function Box({ random, ...props }){
|
||||
const ref = useRef()
|
||||
useFrame((state) => {
|
||||
const t = state.clock.getElapsedTime() + random * 10000
|
||||
ref.current.rotation.set(Math.cos(t / 4) / 2, Math.sin(t / 4) / 2, Math.cos(t / 1.5) / 2)
|
||||
ref.current.position.y = Math.sin(t / 1.5) / 2
|
||||
});
|
||||
return (
|
||||
<group {...props}>
|
||||
<Instance ref={ref} />
|
||||
</group>
|
||||
)
|
||||
}
|
||||
|
||||
function Camera({ ...props }){
|
||||
const ref = useRef()
|
||||
useFrame((state) => {
|
||||
const t = state.clock.getElapsedTime() / 70
|
||||
ref.current.rotation.set(t, 0, t)
|
||||
});
|
||||
return (
|
||||
<PerspectiveCamera ref={ref} {...props} />
|
||||
)
|
||||
}
|
||||
|
||||
class Maintenance extends React.Component {
|
||||
|
||||
componentDidMount()
|
||||
|
|
@ -76,9 +74,16 @@ class Maintenance extends React.Component {
|
|||
<Canvas>
|
||||
<ambientLight />
|
||||
<pointLight position={[10, 10, 10]} />
|
||||
{
|
||||
[...Array(100)].map((e, i) => (<Box key={i}/>))
|
||||
}
|
||||
<Instances range={500}>
|
||||
<boxGeometry args={[1, 0.3, 0.5]} />
|
||||
<meshStandardMaterial color={'grey'} />
|
||||
{
|
||||
randomData.map((props, i) => (
|
||||
<Box key={i} {...props} />
|
||||
))
|
||||
}
|
||||
</Instances>
|
||||
<Camera makeDefault />
|
||||
</Canvas>
|
||||
</div>
|
||||
<div className="text-center mt-auto container">
|
||||
|
|
|
|||
Loading…
Reference in New Issue