feat: Updated the background on the landing page to use react-three-f… (#966)

* feat: Updated the background on the landing page to use react-three-fiber to generate the backgrounds

* fix types & lint & pnpm-lock file

* fix popover import

* reverted the blue glow

* added back the blue glow

* feat: Fixed the issue where it was not displaying the image. + some optional UI changes

* feat: Updated based on feedback

---------

Co-authored-by: Marques Scripps <marques@rcracecontrol.com>
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
This commit is contained in:
Marques Scripps 2023-06-20 16:06:56 +01:00 committed by GitHub
parent 437f18081a
commit 021a5de4f7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 540 additions and 19 deletions

View file

@ -13,6 +13,8 @@
"@auth/core": "^0.7.1",
"@aws-sdk/client-ses": "^3.337.0",
"@planetscale/database": "^1.7.0",
"@react-three/drei": "^9.76.0",
"@react-three/fiber": "^8.13.3",
"@sd/assets": "workspace:*",
"@sd/ui": "workspace:*",
"@t3-oss/env-nextjs": "^0.3.1",
@ -40,6 +42,7 @@
"remark-gfm": "^3.0.1",
"remark-math": "^5.1.1",
"sharp": "^0.32.1",
"three": "^0.153.0",
"tsparticles": "^2.9.3",
"uuid": "^9.0.0",
"zod": "^3.21.4"
@ -52,6 +55,7 @@
"@types/react-burger-menu": "^2.8.3",
"@types/react-dom": "18.2.4",
"@types/react-helmet": "^6.1.6",
"@types/three": "^0.152.1",
"drizzle-kit": "db-push",
"postcss": "^8.4.23",
"tailwindcss": "^3.3.2",

View file

@ -16,7 +16,7 @@ function FooterLink(props: PropsWithChildren<{ link: string; blank?: boolean }>)
<Link
href={props.link}
target={props.blank ? '_blank' : ''}
className="text-gray-300 hover:text-white"
className="text-gray-300 hover:text-white hover:opacity-50 duration-300"
rel="noreferrer"
>
{props.children}
@ -26,16 +26,16 @@ function FooterLink(props: PropsWithChildren<{ link: string; blank?: boolean }>)
export function Footer() {
return (
<footer id="footer" className="z-50 w-screen border-t border-gray-550 bg-gray-850 pt-3">
<footer id="footer" className="z-50 w-screen border-t border-gray-550 backdrop-blur pt-3">
<div className="min-h-64 m-auto grid max-w-[100rem] grid-cols-2 gap-6 p-8 pb-20 pt-10 text-white sm:grid-cols-2 lg:grid-cols-6">
<div className="col-span-2">
<Image alt="Spacedrive logo" src={AppLogo} className="mb-5 h-10 w-10" />
<h3 className="mb-1 text-xl font-bold">Spacedrive</h3>
<p className="text-sm text-gray-350">
<p className="text-sm text-gray-350 opacity-50">
&copy; Copyright {new Date().getFullYear()} Spacedrive Technology Inc.
</p>
<div className="mb-10 mt-6 flex flex-row space-x-3">
<div className="mb-10 mt-12 flex flex-row space-x-3">
<FooterLink link="https://twitter.com/spacedriveapp">
<Twitter className="h-6 w-6" />
</FooterLink>

View file

@ -141,7 +141,7 @@ export function HomeCTA() {
</div>
<p
className={clsx(
'animation-delay-3 z-30 px-6 text-center text-sm text-gray-450 fade-in',
'animation-delay-3 z-30 px-6 text-center text-sm text-gray-400 fade-in',
{
'mt-10': waitlistError,
'mt-3': !waitlistError

View file

@ -59,10 +59,10 @@ export default function NavBar() {
return (
<div
className={clsx(
'fixed z-[55] h-16 w-full border-b px-2 transition',
'fixed z-[55] h-16 w-full px-2 transition',
isAtTop
? 'border-transparent bg-transparent'
: 'border-gray-550 bg-gray-700/80 backdrop-blur'
? 'bg-transparent'
: 'backdrop-blur'
)}
>
<div className="relative m-auto flex h-full max-w-[100rem] items-center p-5">
@ -138,17 +138,21 @@ export default function NavBar() {
<div className="absolute right-3 hidden flex-row space-x-5 lg:flex">
<Link href="https://discord.gg/gTaF2Z44f5" target="_blank" rel="noreferrer">
<Discord className="h-6 w-6 text-white" />
<Discord className="h-6 w-6 text-white opacity-100 hover:opacity-50 duration-300" />
</Link>
<Link
href="https://github.com/spacedriveapp/spacedrive"
target="_blank"
rel="noreferrer"
>
<Github className="h-6 w-6 text-white" />
<Github className="h-6 w-6 text-white opacity-100 hover:opacity-50 duration-300" />
</Link>
</div>
</div>
<div className="absolute flex bottom-0 w-full h-1 flex-row items-center justify-center opacity-100 pt-4">
<div className="bg-gradient-to-r from-transparent to-white/30 h-0.5 w-1/2"></div>
<div className="bg-gradient-to-l from-transparent to-white/30 h-0.5 w-1/2"></div>
</div>
</div>
);
}

View file

@ -12,7 +12,7 @@ const NewBanner: React.FC<NewBannerProps> = (props) => {
return (
<aside
onClick={() => (window.location.href = href)}
className="fade-in-whats-new z-10 mb-5 flex w-10/12 cursor-pointer flex-row rounded-full border border-gray-600 bg-gray-800/50 px-5 py-1.5 text-xs transition hover:border-gray-550 hover:bg-gray-750 sm:w-auto sm:text-base"
className="fade-in-whats-new z-10 mb-5 flex w-10/12 cursor-pointer flex-row rounded-full border border-blue-200 border-opacity-50 bg-gray-800/50 px-5 py-1.5 text-xs transition hover:border-gray-550 hover:bg-gray-750 sm:w-auto sm:text-base"
>
<strong className="truncate font-semibold text-gray-350">{headline}</strong>
<div role="separator" className="h-22 mx-4 w-[1px] bg-gray-500" />

View file

@ -3,9 +3,9 @@ import NavBar from './NavBar';
export default function PageWrapper({ children }: { children: React.ReactNode }) {
return (
<div className="overflow-hidden">
<div className="overflow-hidden dark:bg-[#030014] dark:bg-opacity-60">
<NavBar />
<main className="dark z-10 m-auto max-w-[100rem] dark:bg-black dark:text-white">
<main className="dark z-10 m-auto max-w-[100rem] dark:text-white">
{children}
</main>
<Footer />

View file

@ -0,0 +1,64 @@
import { PointMaterial, Points, Trail } from '@react-three/drei';
import { Canvas, useFrame } from '@react-three/fiber';
import * as random from 'maath/random/dist/maath-random.cjs';
import React, { useRef, useState } from 'react';
import * as THREE from 'three';
const Stars = (props: any) => {
const ref = useRef<THREE.Mesh>();
const [sphere] = useState(() => random.inSphere(new Float32Array(35000), { radius: 1 }));
useFrame((state, delta) => {
if (ref.current) {
ref.current.rotation.x -= delta / 100;
ref.current.rotation.y -= delta / 100;
}
});
return (
<group rotation={[0, 0, Math.PI / 4]}>
<Points ref={ref} positions={sphere} stride={3} frustumCulled={false} {...props}>
<PointMaterial
transparent
color="#ffffff"
size={0.001}
sizeAttenuation={true}
depthWrite={false}
/>
</Points>
</group>
);
};
function ShootingStar() {
const ref = useRef<any>();
useFrame((state) => {
const t = state.clock.getElapsedTime() * 0.5;
if (ref.current) {
ref.current.position.set(
Math.sin(t) * 4,
Math.atan(t) * Math.cos(t / 2) * 2,
Math.cos(t) * 4
);
}
});
return (
<Trail width={0.05} length={8} color={new THREE.Color(2, 1, 10)} attenuation={(t) => t * t}>
<mesh ref={ref}>
<sphereGeometry args={[0.005]} />
<meshBasicMaterial color={[10, 1, 10]} toneMapped={false} />
</mesh>
</Trail>
);
}
const Space: React.FunctionComponent = () => {
return (
<div className="absolute z-0 h-screen w-screen opacity-50">
<Canvas camera={{ position: [0, 0, 0] }}>
<ShootingStar />
<ShootingStar />
<Stars />
</Canvas>
</div>
);
};
export default Space;

View file

@ -5,11 +5,11 @@ import Link from 'next/link';
import { useRouter } from 'next/router';
import { useEffect, useState } from 'react';
import AppEmbed from '~/components/AppEmbed';
import { Bubbles } from '~/components/Bubbles';
import HomeCTA from '~/components/HomeCTA';
import NewBanner from '~/components/NewBanner';
import PageWrapper from '~/components/PageWrapper';
import { getWindow } from '~/utils/util';
import Space from "~/components/Space";
interface SectionProps {
orientation: 'left' | 'right';
@ -99,7 +99,7 @@ export default function HomePage() {
<meta name="author" content="Spacedrive Technology Inc." />
</Head>
<div className="mt-22 lg:mt-28" id="content" aria-hidden="true" />
<div className="mt-24 lg:mt-5" />
<div className="mt-24 lg:mt-8" />
<NewBanner
headline="Spacedrive raises $2M led by OSS Capital"
href="/blog/spacedrive-funding-announcement"
@ -119,7 +119,7 @@ export default function HomePage() {
</div>
)}
<h1 className="fade-in-heading z-30 mb-3 px-2 text-center text-4xl font-black leading-tight text-white md:text-6xl">
<h1 className="fade-in-heading z-30 mb-3 px-2 text-center text-4xl font-black leading-tight text-white md:text-7xl">
A file explorer from the future.
</h1>
<p className="animation-delay-1 fade-in-heading text-md leading-2 z-30 mb-8 mt-1 max-w-4xl text-center text-gray-450 lg:text-lg lg:leading-8">
@ -152,7 +152,7 @@ export default function HomePage() {
</>
}
/>
<Bubbles />
<Space/>
</div>
</PageWrapper>
);

View file

@ -266,3 +266,10 @@ pre {
color: rgb(156, 163, 175); /* Line number color */
content: attr(line);
}
.shadow-top {
box-shadow:
0 0px 50px -8px
linear-gradient(to right, rgb(59, 130, 246), rgb(75, 0, 130));
}

View file

@ -1,7 +1,7 @@
import * as Radix from '@radix-ui/react-popover';
import clsx from 'clsx';
import React, { useEffect, useRef, useState } from 'react';
import { tw } from '.';
import { tw } from './utils';
interface Props extends Radix.PopoverContentProps {
trigger: React.ReactNode;

View file

@ -41,6 +41,13 @@
transform: translate(-50%, -50%);
}
.inset-center-blur {
position: absolute;
top: 40%;
left: 50%;
transform: translate(-50%, -50%);
}
.mask-fade-out {
// -webkit-mask-image: linear-gradient(to top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
mask-image: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 50px);

View file

@ -1,4 +1,4 @@
lockfileVersion: '6.1'
lockfileVersion: '6.0'
settings:
autoInstallPeers: true
@ -141,6 +141,12 @@ importers:
'@planetscale/database':
specifier: ^1.7.0
version: 1.7.0
'@react-three/drei':
specifier: ^9.76.0
version: 9.76.0(@react-three/fiber@8.13.3)(@types/three@0.152.1)(react-dom@18.2.0)(react@18.2.0)(three@0.153.0)
'@react-three/fiber':
specifier: ^8.13.3
version: 8.13.3(react-dom@18.2.0)(react@18.2.0)(three@0.153.0)
'@sd/assets':
specifier: workspace:*
version: link:../../packages/assets
@ -222,6 +228,9 @@ importers:
sharp:
specifier: ^0.32.1
version: 0.32.1
three:
specifier: ^0.153.0
version: 0.153.0
tsparticles:
specifier: ^2.9.3
version: 2.9.3
@ -253,6 +262,9 @@ importers:
'@types/react-helmet':
specifier: ^6.1.6
version: 6.1.6
'@types/three':
specifier: ^0.152.1
version: 0.152.1
drizzle-kit:
specifier: db-push
version: 0.18.0-27440c3
@ -4209,6 +4221,29 @@ packages:
'@egjs/component': 3.0.4
dev: false
/@chevrotain/cst-dts-gen@10.5.0:
resolution: {integrity: sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==}
dependencies:
'@chevrotain/gast': 10.5.0
'@chevrotain/types': 10.5.0
lodash: 4.17.21
dev: false
/@chevrotain/gast@10.5.0:
resolution: {integrity: sha512-pXdMJ9XeDAbgOWKuD1Fldz4ieCs6+nLNmyVhe2gZVqoO7v8HXuHYs5OV2EzUtbuai37TlOAQHrTDvxMnvMJz3A==}
dependencies:
'@chevrotain/types': 10.5.0
lodash: 4.17.21
dev: false
/@chevrotain/types@10.5.0:
resolution: {integrity: sha512-f1MAia0x/pAVPWH/T73BJVyO2XU5tI4/iE7cnxb7tqdNTNhQI3Uq3XkqcoteTmD4t1aM0LbHCJOhgIDn07kl2A==}
dev: false
/@chevrotain/utils@10.5.0:
resolution: {integrity: sha512-hBzuU5+JjB2cqNZyszkDHZgOSrUUT8V3dhgRl8Q9Gp6dAj/H5+KILGjbhDpc3Iy9qmqlm/akuOI2ut9VUtzJxQ==}
dev: false
/@colors/colors@1.5.0:
resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
engines: {node: '>=0.1.90'}
@ -5924,6 +5959,10 @@ packages:
react: 18.2.0
dev: false
/@mediapipe/tasks-vision@0.10.2-rc2:
resolution: {integrity: sha512-b9ar6TEUo8I07n/jXSuKDu5HgzkDah9pe4H8BYpcubhCEahlfDD5ixE+9SQyJM4HXHXdF9nN/wRQT7rEnLz7Gg==}
dev: false
/@motionone/animation@10.15.1:
resolution: {integrity: sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==}
dependencies:
@ -7792,6 +7831,22 @@ packages:
react: 18.2.0
dev: false
/@react-spring/three@9.6.1(@react-three/fiber@8.13.3)(react@18.2.0)(three@0.153.0):
resolution: {integrity: sha512-Tyw2YhZPKJAX3t2FcqvpLRb71CyTe1GvT3V+i+xJzfALgpk10uPGdGaQQ5Xrzmok1340DAeg2pR/MCfaW7b8AA==}
peerDependencies:
'@react-three/fiber': '>=6.0'
react: ^16.8.0 || ^17.0.0 || ^18.0.0
three: '>=0.126'
dependencies:
'@react-spring/animated': 9.6.1(react@18.2.0)
'@react-spring/core': 9.6.1(react@18.2.0)
'@react-spring/shared': 9.6.1(react@18.2.0)
'@react-spring/types': 9.6.1
'@react-three/fiber': 8.13.3(react-dom@18.2.0)(react@18.2.0)(three@0.153.0)
react: 18.2.0
three: 0.153.0
dev: false
/@react-spring/types@9.6.1:
resolution: {integrity: sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q==}
dev: false
@ -7810,6 +7865,81 @@ packages:
react-dom: 18.2.0(react@18.2.0)
dev: false
/@react-three/drei@9.76.0(@react-three/fiber@8.13.3)(@types/three@0.152.1)(react-dom@18.2.0)(react@18.2.0)(three@0.153.0):
resolution: {integrity: sha512-pF5jrVTcaAn5qkmvVmLZOUl9mZexNMdZVVWBZlFX7TjhQuBMbEo4lZG8HZgbj4jZ7J/McWXgn0+9UNdmONwILw==}
peerDependencies:
'@react-three/fiber': '>=8.0'
react: '>=18.0'
react-dom: '>=18.0'
three: '>=0.137'
peerDependenciesMeta:
react-dom:
optional: true
dependencies:
'@babel/runtime': 7.22.5
'@mediapipe/tasks-vision': 0.10.2-rc2
'@react-spring/three': 9.6.1(@react-three/fiber@8.13.3)(react@18.2.0)(three@0.153.0)
'@react-three/fiber': 8.13.3(react-dom@18.2.0)(react@18.2.0)(three@0.153.0)
'@use-gesture/react': 10.2.27(react@18.2.0)
camera-controls: 2.6.0(three@0.153.0)
detect-gpu: 5.0.29
glsl-noise: 0.0.0
lodash.clamp: 4.0.3
lodash.omit: 4.5.0
lodash.pick: 4.4.0
maath: 0.6.0(@types/three@0.152.1)(three@0.153.0)
meshline: 3.1.6(three@0.153.0)
react: 18.2.0
react-composer: 5.0.3(react@18.2.0)
react-dom: 18.2.0(react@18.2.0)
react-merge-refs: 1.1.0
stats.js: 0.17.0
suspend-react: 0.1.3(react@18.2.0)
three: 0.153.0
three-mesh-bvh: 0.6.0(three@0.153.0)
three-stdlib: 2.23.10(three@0.153.0)
troika-three-text: 0.47.2(three@0.153.0)
utility-types: 3.10.0
zustand: 3.7.2(react@18.2.0)
transitivePeerDependencies:
- '@types/three'
dev: false
/@react-three/fiber@8.13.3(react-dom@18.2.0)(react@18.2.0)(three@0.153.0):
resolution: {integrity: sha512-mCdTUB8D1kwlsOSxGhUg5nuGHt3HN3aNFc0s9I/N7ayk+nzT2ttLdn49c56nrHu+YK+SU1xnrxe6LqftZgIRmQ==}
peerDependencies:
expo: '>=43.0'
expo-asset: '>=8.4'
expo-gl: '>=11.0'
react: '>=18.0'
react-dom: '>=18.0'
react-native: '>=0.64'
three: '>=0.133'
peerDependenciesMeta:
expo:
optional: true
expo-asset:
optional: true
expo-gl:
optional: true
react-dom:
optional: true
react-native:
optional: true
dependencies:
'@babel/runtime': 7.22.5
'@types/react-reconciler': 0.26.7
its-fine: 1.1.1(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
react-reconciler: 0.27.0(react@18.2.0)
react-use-measure: 2.1.1(react-dom@18.2.0)(react@18.2.0)
scheduler: 0.21.0
suspend-react: 0.1.3(react@18.2.0)
three: 0.153.0
zustand: 3.7.2(react@18.2.0)
dev: false
/@remix-run/router@1.4.0:
resolution: {integrity: sha512-BJ9SxXux8zAg991UmT8slpwpsd31K1dHHbD3Ba4VzD+liLQ4WAMSxQp2d2ZPRPfN0jN2NPRowcSSoM7lCaF08Q==}
engines: {node: '>=14'}
@ -9858,6 +9988,9 @@ packages:
engines: {node: '>=10.13.0'}
dev: true
/@tweenjs/tween.js@18.6.4:
resolution: {integrity: sha512-lB9lMjuqjtuJrx7/kOkqQBtllspPIN+96OvTCeJ2j5FEzinoAXTdAMFnDAQT1KVPRlnYfBrqxtqP66vDM40xxQ==}
/@types/acorn@4.0.6:
resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
dependencies:
@ -9960,6 +10093,10 @@ packages:
/@types/doctrine@0.0.3:
resolution: {integrity: sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==}
/@types/draco3d@1.4.2:
resolution: {integrity: sha512-goh23EGr6CLV6aKPwN1p8kBD/7tT5V/bLpToSbarKrwVejqNrspVrv8DhliteYkkhZYrlq/fwKZRRUzH4XN88w==}
dev: false
/@types/ejs@3.1.2:
resolution: {integrity: sha512-ZmiaE3wglXVWBM9fyVC17aGPkLo/UgaOjEiI2FXQfyczrCefORPxIe+2dVmnmk3zkVIbizjrlQzmPGhSYGXG5g==}
dev: true
@ -10146,6 +10283,10 @@ packages:
/@types/npmlog@4.1.4:
resolution: {integrity: sha512-WKG4gTr8przEZBiJ5r3s8ZIAoMXNbOgQ+j/d5O4X3x6kZJRLNvyUJuUK/KoG3+8BaOHPhp2m7WC6JKKeovDSzQ==}
/@types/offscreencanvas@2019.7.0:
resolution: {integrity: sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg==}
dev: false
/@types/parse-json@4.0.0:
resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
dev: true
@ -10187,6 +10328,18 @@ packages:
'@types/react': 18.0.38
dev: true
/@types/react-reconciler@0.26.7:
resolution: {integrity: sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==}
dependencies:
'@types/react': 18.0.38
dev: false
/@types/react-reconciler@0.28.2:
resolution: {integrity: sha512-8tu6lHzEgYPlfDf/J6GOQdIc+gs+S2yAqlby3zTsB3SP2svlqTYe5fwZNtZyfactP74ShooP2vvi1BOp9ZemWw==}
dependencies:
'@types/react': 18.0.38
dev: false
/@types/react-router-dom@5.3.3:
resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==}
dependencies:
@ -10255,9 +10408,24 @@ packages:
/@types/stack-utils@2.0.1:
resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==}
/@types/stats.js@0.17.0:
resolution: {integrity: sha512-9w+a7bR8PeB0dCT/HBULU2fMqf6BAzvKbxFboYhmDtDkKPiyXYbjoe2auwsXlEFI7CFNMF1dCv3dFH5Poy9R1w==}
/@types/three@0.152.1:
resolution: {integrity: sha512-PMOCQnx9JRmq+2OUGTPoY9h1hTWD2L7/nmuW/SyNq1Vbq3Lwt3MNdl3wYSa4DvLTGv62NmIXD9jYdAOwohwJyw==}
dependencies:
'@tweenjs/tween.js': 18.6.4
'@types/stats.js': 0.17.0
'@types/webxr': 0.5.2
fflate: 0.6.10
lil-gui: 0.17.0
/@types/unist@2.0.6:
resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==}
/@types/webxr@0.5.2:
resolution: {integrity: sha512-szL74BnIcok9m7QwYtVmQ+EdIKwbjPANudfuvDrAF8Cljg9MKUlIoc1w5tjj9PMpeSH3U1Xnx//czQybJ0EfSw==}
/@types/yargs-parser@21.0.0:
resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==}
@ -10426,6 +10594,19 @@ packages:
wonka: 4.0.15
dev: false
/@use-gesture/core@10.2.27:
resolution: {integrity: sha512-V4XV7hn9GAD2MYu8yBBVi5iuWBsAMfjPRMsEVzoTNGYH72tf0kFP+OKqGKc8YJFQIJx6yj+AOqxmEHOmx2/MEA==}
dev: false
/@use-gesture/react@10.2.27(react@18.2.0):
resolution: {integrity: sha512-7E5vnWCxeslWlxwZ8uKIcnUZVMTRMZ8cvSnLLKF1NkyNb3PnNiAzoXM4G1vTKJKRhgOTeI6wK1YsEpwo9ABV5w==}
peerDependencies:
react: '>= 16.8.0'
dependencies:
'@use-gesture/core': 10.2.27
react: 18.2.0
dev: false
/@vercel/edge-config-fs@0.1.0:
resolution: {integrity: sha512-NRIBwfcS0bUoUbRWlNGetqjvLSwgYH/BqKqDN7vK1g32p7dN96k0712COgaz6VFizAm9b0g6IG6hR6+hc0KCPg==}
dev: false
@ -11249,6 +11430,12 @@ packages:
open: 8.4.2
dev: false
/bidi-js@1.0.2:
resolution: {integrity: sha512-rzSy/k7WdX5zOyeHHCOixGXbCHkyogkxPKL2r8QtzHmVQDiWCXUWa18bLdMWT9CYMLOYTjWpTHawuev2ouYJVw==}
dependencies:
require-from-string: 2.0.2
dev: false
/big-integer@1.6.51:
resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==}
engines: {node: '>=0.6'}
@ -11632,6 +11819,14 @@ packages:
engines: {node: '>=14.16'}
dev: true
/camera-controls@2.6.0(three@0.153.0):
resolution: {integrity: sha512-65vkZ+FQfRLtq5LHrNuDFeOALN8+gfoRFuIOwYwgwzVY7bjBxP+j3joj6RTgc5Ot+dTJupFWwfcq7ds4Iq4DGg==}
peerDependencies:
three: '>=0.126.1'
dependencies:
three: 0.153.0
dev: false
/caniuse-lite@1.0.30001498:
resolution: {integrity: sha512-LFInN2zAwx3ANrGCDZ5AKKJroHqNKyjXitdV5zRIVIaQlXKj3GmxUKagoKsjqUfckpAObPCEWnk5EeMlyMWcgw==}
@ -11684,6 +11879,17 @@ packages:
resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==}
dev: false
/chevrotain@10.5.0:
resolution: {integrity: sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A==}
dependencies:
'@chevrotain/cst-dts-gen': 10.5.0
'@chevrotain/gast': 10.5.0
'@chevrotain/types': 10.5.0
'@chevrotain/utils': 10.5.0
lodash: 4.17.21
regexp-to-ast: 0.5.0
dev: false
/chokidar@3.5.3:
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
engines: {node: '>= 8.10.0'}
@ -12486,6 +12692,10 @@ packages:
/dayjs@1.11.8:
resolution: {integrity: sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ==}
/debounce@1.2.1:
resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
dev: false
/debug@2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
peerDependencies:
@ -12703,6 +12913,12 @@ packages:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
/detect-gpu@5.0.29:
resolution: {integrity: sha512-DEqWxHXAKaoIHxF0rtFPDdWWINGoketQ6fk64KbahK3IC0I0LiZR6NbWZo4pwf7UH8khBLY8w4wS+1MHi81LSQ==}
dependencies:
webgl-constants: 1.1.1
dev: false
/detect-indent@6.1.0:
resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
engines: {node: '>=8'}
@ -12854,6 +13070,10 @@ packages:
resolution: {integrity: sha512-m55RtE8AsPeJBpOIFKihEmqUcoVncQIwo7x9U8ZwLEZw9ZpXboz2c+rvog+jUaJvVrZ5kBOeYQBX5+8Aa/OZQw==}
engines: {node: '>=12'}
/draco3d@1.5.6:
resolution: {integrity: sha512-+3NaRjWktb5r61ZFoDejlykPEFKT5N/LkbXsaddlw6xNSXBanUYpFc2AXXpbJDilPHazcSreU/DpQIaxfX0NfQ==}
dev: false
/dragselect@2.7.4:
resolution: {integrity: sha512-j0qFl4xvsyImlSTn9erDCCT4SSPUMssgKAYuKqhsPr8WPphLghHfjDd4WR2jLjL91fTQQlbbIJ/7T2qwD2hghQ==}
dev: false
@ -14425,6 +14645,9 @@ packages:
resolution: {integrity: sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==}
dev: true
/fflate@0.6.10:
resolution: {integrity: sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==}
/file-entry-cache@6.0.1:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
@ -15109,6 +15332,10 @@ packages:
resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
dev: true
/glsl-noise@0.0.0:
resolution: {integrity: sha512-b/ZCF6amfAUb7dJM/MxRs7AetQEahYzJ8PtgfrmEdtw6uyGOr+ZSGtgjFm6mfsBkxJ4d2W7kg+Nlqzqvn3Bc0w==}
dev: false
/gopd@1.0.1:
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
dependencies:
@ -16244,6 +16471,15 @@ packages:
html-escaper: 2.0.2
istanbul-lib-report: 3.0.0
/its-fine@1.1.1(react@18.2.0):
resolution: {integrity: sha512-v1Ia1xl20KbuSGlwoaGsW0oxsw8Be+TrXweidxD9oT/1lAh6O3K3/GIM95Tt6WCiv6W+h2M7RB1TwdoAjQyyKw==}
peerDependencies:
react: '>=18.0'
dependencies:
'@types/react-reconciler': 0.28.2
react: 18.2.0
dev: false
/jake@10.8.7:
resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==}
engines: {node: '>=10'}
@ -16698,6 +16934,10 @@ packages:
engines: {node: '>= 8'}
dev: true
/ktx-parse@0.4.5:
resolution: {integrity: sha512-MK3FOody4TXbFf8Yqv7EBbySw7aPvEcPX++Ipt6Sox+/YMFvR5xaTyhfNSk1AEmMy+RYIw81ctN4IMxCB8OAlg==}
dev: false
/language-subtag-registry@0.3.22:
resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
dev: true
@ -16772,6 +17012,9 @@ packages:
type-check: 0.4.0
dev: true
/lil-gui@0.17.0:
resolution: {integrity: sha512-MVBHmgY+uEbmJNApAaPbtvNh1RCAeMnKym82SBjtp5rODTYKWtM+MXHCifLe2H2Ti1HuBGBtK/5SyG4ShQ3pUQ==}
/lilconfig@2.1.0:
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
engines: {node: '>=10'}
@ -16818,6 +17061,10 @@ packages:
resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==}
dev: true
/lodash.clamp@4.0.3:
resolution: {integrity: sha512-HvzRFWjtcguTW7yd8NJBshuNaCa8aqNFtnswdT7f/cMd/1YKy5Zzoq4W/Oxvnx9l7aeY258uSdDfM793+eLsVg==}
dev: false
/lodash.curry@4.1.1:
resolution: {integrity: sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==}
dev: false
@ -16840,6 +17087,14 @@ packages:
/lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
/lodash.omit@4.5.0:
resolution: {integrity: sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==}
dev: false
/lodash.pick@4.4.0:
resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==}
dev: false
/lodash.throttle@4.1.1:
resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
@ -16966,6 +17221,16 @@ packages:
hasBin: true
dev: false
/maath@0.6.0(@types/three@0.152.1)(three@0.153.0):
resolution: {integrity: sha512-dSb2xQuP7vDnaYqfoKzlApeRcR2xtN8/f7WV/TMAkBC8552TwTLtOO0JTcSygkYMjNDPoo6V01jTw/aPi4JrMw==}
peerDependencies:
'@types/three': '>=0.144.0'
three: '>=0.144.0'
dependencies:
'@types/three': 0.152.1
three: 0.153.0
dev: false
/magic-string@0.26.7:
resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==}
engines: {node: '>=12'}
@ -17364,6 +17629,14 @@ packages:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
/meshline@3.1.6(three@0.153.0):
resolution: {integrity: sha512-8JZJOdaL5oz3PI/upG8JvP/5FfzYUOhrkJ8np/WKvXzl0/PZ2V9pqTvCIjSKv+w9ccg2xb+yyBhXAwt6ier3ug==}
peerDependencies:
three: '>=0.137'
dependencies:
three: 0.153.0
dev: false
/methods@1.1.2:
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
engines: {node: '>= 0.6'}
@ -18586,6 +18859,10 @@ packages:
engines: {node: '>=10'}
hasBin: true
/mmd-parser@1.0.4:
resolution: {integrity: sha512-Qi0VCU46t2IwfGv5KF0+D/t9cizcDug7qnNoy9Ggk7aucp0tssV8IwTMkBlDbm+VqAf3cdQHTCARKSsuS2MYFg==}
dev: false
/moti@0.24.2(react-dom@18.2.0)(react-native-reanimated@2.14.4)(react@18.2.0):
resolution: {integrity: sha512-68sd6pdF976MgAZIZSQzVMmJFd8ENRAFeD2A67N2FJTvZEhzsAqDbEwwIYwhoDgYer+MrT5Y9X0pqofVO61tUg==}
peerDependencies:
@ -19110,6 +19387,15 @@ packages:
is-wsl: 2.2.0
dev: true
/opentype.js@1.3.4:
resolution: {integrity: sha512-d2JE9RP/6uagpQAVtJoF0pJJA/fgai89Cc50Yp0EJHk+eLp6QQ7gBoblsnubRULNY132I0J1QKMJ+JTbMqz4sw==}
engines: {node: '>= 8.0.0'}
hasBin: true
dependencies:
string.prototype.codepointat: 0.2.1
tiny-inflate: 1.0.3
dev: false
/optionator@0.8.3:
resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
engines: {node: '>= 0.8.0'}
@ -19679,6 +19965,10 @@ packages:
picocolors: 1.0.0
source-map-js: 1.0.2
/potpack@1.0.2:
resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==}
dev: false
/preact-render-to-string@5.2.3(preact@10.11.3):
resolution: {integrity: sha512-aPDxUn5o3GhWdtJtW0svRC2SS/l8D9MAgo2+AWml+BhDImb27ALf04Q2d+AHqUUOc6RdSXFIBVa2gxzgMKgtZA==}
peerDependencies:
@ -20126,6 +20416,15 @@ packages:
react-dom: 18.2.0(react@18.2.0)
dev: false
/react-composer@5.0.3(react@18.2.0):
resolution: {integrity: sha512-1uWd07EME6XZvMfapwZmc7NgCZqDemcvicRi3wMJzXsQLvZ3L7fTHVyPy1bZdnWXM4iPjYuNE+uJ41MLKeTtnA==}
peerDependencies:
react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
dependencies:
prop-types: 15.8.1
react: 18.2.0
dev: false
/react-devtools-core@4.27.2:
resolution: {integrity: sha512-8SzmIkpO87alD7Xr6gWIEa1jHkMjawOZ+6egjazlnjB4UUcbnzGDf/vBJ4BzGuWWEM+pzrxuzsPpcMqlQkYK2g==}
dependencies:
@ -20507,6 +20806,17 @@ packages:
react: 18.2.0
dev: false
/react-reconciler@0.27.0(react@18.2.0):
resolution: {integrity: sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==}
engines: {node: '>=0.10.0'}
peerDependencies:
react: ^18.0.0
dependencies:
loose-envify: 1.4.0
react: 18.2.0
scheduler: 0.21.0
dev: false
/react-refresh@0.14.0:
resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
engines: {node: '>=0.10.0'}
@ -20660,6 +20970,17 @@ packages:
tsparticles-engine: 2.10.1
dev: false
/react-use-measure@2.1.1(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==}
peerDependencies:
react: '>=16.13'
react-dom: '>=16.13'
dependencies:
debounce: 1.2.1
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/react@18.2.0:
resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
engines: {node: '>=0.10.0'}
@ -20826,6 +21147,10 @@ packages:
resolution: {integrity: sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==}
dev: false
/regexp-to-ast@0.5.0:
resolution: {integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==}
dev: false
/regexp.prototype.flags@1.5.0:
resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==}
engines: {node: '>= 0.4'}
@ -21384,6 +21709,12 @@ packages:
/sax@1.2.4:
resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==}
/scheduler@0.21.0:
resolution: {integrity: sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==}
dependencies:
loose-envify: 1.4.0
dev: false
/scheduler@0.23.0:
resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
dependencies:
@ -21877,6 +22208,10 @@ packages:
define-property: 0.2.5
object-copy: 0.1.0
/stats.js@0.17.0:
resolution: {integrity: sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==}
dev: false
/statuses@1.5.0:
resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
engines: {node: '>= 0.6'}
@ -21946,6 +22281,10 @@ packages:
is-fullwidth-code-point: 3.0.0
strip-ansi: 6.0.1
/string.prototype.codepointat@0.2.1:
resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==}
dev: false
/string.prototype.matchall@4.0.8:
resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==}
dependencies:
@ -22190,6 +22529,14 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
/suspend-react@0.1.3(react@18.2.0):
resolution: {integrity: sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==}
peerDependencies:
react: '>=17.0'
dependencies:
react: 18.2.0
dev: false
/svg-parser@2.0.4:
resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==}
dev: true
@ -22437,6 +22784,37 @@ packages:
dependencies:
any-promise: 1.3.0
/three-mesh-bvh@0.6.0(three@0.153.0):
resolution: {integrity: sha512-4/oXeqVMLuN9/P0M3L5ezIVrFiXQXKvjVTErkiSYMjSaPoWfNPAwqulSgLf4bIUPn8/Lq3rmIJwxbCuD8qDobA==}
peerDependencies:
three: '>= 0.151.0'
dependencies:
three: 0.153.0
dev: false
/three-stdlib@2.23.10(three@0.153.0):
resolution: {integrity: sha512-y0DlxaN5HZXI9hKjEtqO2xlCEt7XyDCOMvD2M3JJFBmYjwbU+PbJ1n3Z+7Hr/6BeVGE6KZYcqPMnfKrTK5WTJg==}
peerDependencies:
three: '>=0.128.0'
dependencies:
'@types/draco3d': 1.4.2
'@types/offscreencanvas': 2019.7.0
'@types/webxr': 0.5.2
chevrotain: 10.5.0
draco3d: 1.5.6
fflate: 0.6.10
ktx-parse: 0.4.5
mmd-parser: 1.0.4
opentype.js: 1.3.4
potpack: 1.0.2
three: 0.153.0
zstddec: 0.0.2
dev: false
/three@0.153.0:
resolution: {integrity: sha512-OCP2/uQR6GcDpSLnJt/3a4mdS0kNWcbfUXIwLoEMgLzEUIVIYsSDwskpmOii/AkDM+BBwrl6+CKgrjX9+E2aWg==}
dev: false
/throat@5.0.0:
resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==}
@ -22462,6 +22840,10 @@ packages:
next-tick: 1.1.0
dev: true
/tiny-inflate@1.0.3:
resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==}
dev: false
/titleize@3.0.0:
resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==}
engines: {node: '>=12'}
@ -22533,6 +22915,30 @@ packages:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
dev: false
/troika-three-text@0.47.2(three@0.153.0):
resolution: {integrity: sha512-qylT0F+U7xGs+/PEf3ujBdJMYWbn0Qci0kLqI5BJG2kW1wdg4T1XSxneypnF05DxFqJhEzuaOR9S2SjiyknMng==}
peerDependencies:
three: '>=0.125.0'
dependencies:
bidi-js: 1.0.2
three: 0.153.0
troika-three-utils: 0.47.2(three@0.153.0)
troika-worker-utils: 0.47.2
webgl-sdf-generator: 1.1.1
dev: false
/troika-three-utils@0.47.2(three@0.153.0):
resolution: {integrity: sha512-/28plhCxfKtH7MSxEGx8e3b/OXU5A0xlwl+Sbdp0H8FXUHKZDoksduEKmjQayXYtxAyuUiCRunYIv/8Vi7aiyg==}
peerDependencies:
three: '>=0.125.0'
dependencies:
three: 0.153.0
dev: false
/troika-worker-utils@0.47.2:
resolution: {integrity: sha512-mzss4MeyzUkYBppn4x5cdAqrhBHFEuVmMMgLMTyFV23x6GvQMyo+/R5E5Lsbrt7WSt5RfvewjcwD1DChRTA9lA==}
dev: false
/trough@2.1.0:
resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
dev: false
@ -23545,6 +23951,11 @@ packages:
is-typed-array: 1.1.10
which-typed-array: 1.1.9
/utility-types@3.10.0:
resolution: {integrity: sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==}
engines: {node: '>= 4'}
dev: false
/utils-merge@1.0.1:
resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
engines: {node: '>= 0.4.0'}
@ -23913,6 +24324,14 @@ packages:
engines: {node: '>= 8'}
dev: false
/webgl-constants@1.1.1:
resolution: {integrity: sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg==}
dev: false
/webgl-sdf-generator@1.1.1:
resolution: {integrity: sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==}
dev: false
/webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
@ -24271,6 +24690,22 @@ packages:
/zod@3.21.4:
resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==}
/zstddec@0.0.2:
resolution: {integrity: sha512-DCo0oxvcvOTGP/f5FA6tz2Z6wF+FIcEApSTu0zV5sQgn9hoT5lZ9YRAKUraxt9oP7l4e8TnNdi8IZTCX6WCkwA==}
dev: false
/zustand@3.7.2(react@18.2.0):
resolution: {integrity: sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==}
engines: {node: '>=12.7.0'}
peerDependencies:
react: '>=16.8'
peerDependenciesMeta:
react:
optional: true
dependencies:
react: 18.2.0
dev: false
/zwitch@2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
dev: false