diff --git a/dev/studio-e2e-testing/sanity.config.ts b/dev/studio-e2e-testing/sanity.config.ts
index a7828281666..053e1ad845e 100644
--- a/dev/studio-e2e-testing/sanity.config.ts
+++ b/dev/studio-e2e-testing/sanity.config.ts
@@ -10,7 +10,6 @@ import {assistFieldActionGroup} from 'sanity-test-studio/fieldActions/assistFiel
import {resolveInitialValueTemplates} from 'sanity-test-studio/initialValueTemplates'
import {customInspector} from 'sanity-test-studio/inspectors/custom'
import {languageFilter} from 'sanity-test-studio/plugins/language-filter'
-import {presenceTool} from 'sanity-test-studio/plugins/presence'
import {defaultDocumentNode, newDocumentOptions, structure} from 'sanity-test-studio/structure'
import {customComponents} from './components-api'
@@ -92,7 +91,6 @@ export default defineConfig({
}),
// eslint-disable-next-line camelcase
muxInput({mp4_support: 'standard'}),
- presenceTool(),
],
beta: {
treeArrayEditing: {
diff --git a/dev/test-studio/package.json b/dev/test-studio/package.json
index 401dc29f3bc..3f1b5efb72d 100644
--- a/dev/test-studio/package.json
+++ b/dev/test-studio/package.json
@@ -18,9 +18,6 @@
"dependencies": {
"@portabletext/editor": "^1.0.8",
"@portabletext/react": "^3.0.0",
- "@react-three/cannon": "^6.5.2",
- "@react-three/drei": "^9.80.1",
- "@react-three/fiber": "^8.13.6",
"@sanity/assist": "^3.0.2",
"@sanity/block-tools": "3.50.0",
"@sanity/client": "^6.21.0",
@@ -47,14 +44,11 @@
"@sanity/visual-editing": "2.1.6",
"@turf/helpers": "^6.0.1",
"@turf/points-within-polygon": "^5.1.5",
- "@types/three": "^0.166.0",
"@vercel/stega": "0.1.2",
"chokidar": "^3.5.3",
"globby": "^10.0.0",
"history": "^5.3.0",
- "lamina": "^1.1.23",
"lodash": "^4.17.21",
- "polished": "^4.2.2",
"qs": "^6.10.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
@@ -64,9 +58,7 @@
"sanity": "workspace:*",
"sanity-plugin-hotspot-array": "^2.0.0",
"sanity-plugin-mux-input": "^2.2.1",
- "styled-components": "^6.1.11",
- "three": "^0.166.0",
- "three-stdlib": "^2.24.2"
+ "styled-components": "^6.1.11"
},
"devDependencies": {
"chokidar": "^3.6.0",
diff --git a/dev/test-studio/plugins/presence/Presence3D.tsx b/dev/test-studio/plugins/presence/Presence3D.tsx
deleted file mode 100644
index fb0238894d7..00000000000
--- a/dev/test-studio/plugins/presence/Presence3D.tsx
+++ /dev/null
@@ -1,218 +0,0 @@
-/* eslint-disable @typescript-eslint/no-shadow */
-/* eslint-disable react/no-unknown-property */
-// Fork of https://codesandbox.io/s/object-clump-ssbdsw
-
-import {Physics, useCylinder, useSphere} from '@react-three/cannon'
-import {Effects as EffectComposer, Environment, Sky, useTexture} from '@react-three/drei'
-import {Canvas, extend, useFrame, useThree} from '@react-three/fiber'
-import {Box, Card, Text} from '@sanity/ui'
-import {memo, useState} from 'react'
-import {useGlobalPresence, useUserColor, useWorkspace} from 'sanity'
-import {styled} from 'styled-components'
-import * as THREE from 'three'
-import {SSAOPass} from 'three-stdlib'
-
-extend({SSAOPass})
-
-const rfs = THREE.MathUtils.randFloatSpread
-const sphereGeometry = new THREE.SphereGeometry(1, 32, 32)
-const baubleMaterial = new THREE.MeshStandardMaterial({
- color: 'red',
- roughness: 0,
- envMapIntensity: 0.2,
- emissive: '#370037',
-})
-
-export const initial = {
- count: 40,
- color: 'red',
- roughness: 0,
- emissive: '#370037',
-}
-
-function Clump({
- mat = new THREE.Matrix4(),
- vec = new THREE.Vector3(),
- count,
- extra,
- ...props
-}: any) {
- const texture = useTexture('/static/cross.jpeg')
- const [ref, api] = useSphere(() => ({
- args: [1],
- mass: 1,
- angularDamping: 0.1,
- linearDamping: 0.65,
- position: [rfs(20), rfs(20), rfs(20)],
- }))
- useFrame((state) => {
- for (let i = 0; i < count; i++) {
- // Get current whereabouts of the instanced sphere
- ;(ref.current as any).getMatrixAt(i, mat)
- // Normalize the position and multiply by a negative force.
- // This is enough to drive it towards the center-point.
- api
- .at(i)
- .applyForce(
- vec.setFromMatrixPosition(mat).normalize().multiplyScalar(-50).toArray(),
- [0, 0, 0],
- )
- }
- })
- return (
-
- )
-}
-
-function UserClump({
- mat = new THREE.Matrix4(),
- vec = new THREE.Vector3(),
- imageUrl,
- userId,
- i: start,
- ...props
-}: any) {
- const color = useUserColor(userId)
- const [sphereGeometry] = useState(() => new THREE.CylinderGeometry(1.25, 1.25, 0.1, 64))
- const [baubleMaterial] = useState(
- () =>
- new THREE.MeshStandardMaterial({
- // color: presence?.color?.border,
- color: color?.border,
- roughness: 0,
- envMapIntensity: 0.2,
- // emissive: presence?.color?.text,
- emissive: color?.text,
- }),
- )
-
- // TODO: error recovery if image fails to load
- const texture = useTexture(imageUrl)
-
- const [ref, api] = useCylinder(() => ({
- args: [1],
- mass: 1,
- angularDamping: 0.1,
- linearDamping: 0.65,
- position: [rfs(20), rfs(20), rfs(20)],
- }))
- useFrame((state) => {
- // Get current whereabouts of the instanced sphere
- ;(ref.current as any).getMatrixAt(0, mat)
- // Normalize the position and multiply by a negative force.
- // This is enough to drive it towards the center-point.
- api
- .at(0)
- .applyForce(
- vec.setFromMatrixPosition(mat).normalize().multiplyScalar(-50).toArray(),
- [0, 0, 0],
- )
- })
- return (
-
- )
-}
-
-function Pointer() {
- const viewport = useThree((state) => state.viewport)
- const [, api] = useSphere(() => ({type: 'Kinematic', args: [3], position: [0, 0, 0]}))
- return useFrame((state) =>
- api.position.set(
- (state.mouse.x * viewport.width) / 2,
- (state.mouse.y * viewport.height) / 2,
- 0,
- ),
- )
-}
-
-function Effects(props: any) {
- const {scene, camera} = useThree()
- return (
-
- {/* @ts-expect-error -- @types/react doesn't know about this JSX Element */}
-
-
- )
-}
-
-const Container = styled(Box)`
- height: 100%;
- align-items: center;
- justify-content: center;
- flex-direction: column;
-`
-const Frame = styled(Card)`
- height: 640px;
- width: 640px;
- max-height: 100%;
- max-width: 100%;
-`
-
-export default memo(function Presence3D() {
- const globalPresence = useGlobalPresence()
- const {currentUser} = useWorkspace()
- const count = globalPresence?.length + 3
-
- return (
-
-
- The more people present the more fun! 🥳
-
-
-
-
-
- )
-})
diff --git a/dev/test-studio/plugins/presence/index.ts b/dev/test-studio/plugins/presence/index.ts
deleted file mode 100644
index a0ed13843f9..00000000000
--- a/dev/test-studio/plugins/presence/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './plugin'
diff --git a/dev/test-studio/plugins/presence/plugin.tsx b/dev/test-studio/plugins/presence/plugin.tsx
deleted file mode 100644
index e9e25f8a3f7..00000000000
--- a/dev/test-studio/plugins/presence/plugin.tsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import {JoystickIcon} from '@sanity/icons'
-import {lazy} from 'react'
-import {definePlugin} from 'sanity'
-import {route} from 'sanity/router'
-
-import {type PresenceToolConfig} from './types'
-
-const Presence3D = lazy(() => import('./Presence3D'))
-
-/**
- * Presence playground plugin
- */
-export const presenceTool = definePlugin((options) => {
- const {name, title, icon} = options || {}
-
- return {
- name: '@local/presence',
- tools: [
- {
- name: name || 'presence',
- title: title || 'Presence',
- icon: icon || JoystickIcon,
- component: Presence3D,
- router: route.create('/*'),
- },
- ],
- }
-})
diff --git a/dev/test-studio/plugins/presence/types.ts b/dev/test-studio/plugins/presence/types.ts
deleted file mode 100644
index 1a896172954..00000000000
--- a/dev/test-studio/plugins/presence/types.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import {type ComponentType} from 'react'
-
-export interface PresenceToolConfig {
- name?: string
- title?: string
- icon?: ComponentType
-}
diff --git a/dev/test-studio/sanity.config.ts b/dev/test-studio/sanity.config.ts
index 8b8dc305b3a..79a12a63a60 100644
--- a/dev/test-studio/sanity.config.ts
+++ b/dev/test-studio/sanity.config.ts
@@ -43,7 +43,6 @@ import {customInspector} from './inspectors/custom'
import {testStudioLocaleBundles} from './locales'
import {errorReportingTestPlugin} from './plugins/error-reporting-test'
import {languageFilter} from './plugins/language-filter'
-import {presenceTool} from './plugins/presence'
import {routerDebugTool} from './plugins/router-debug'
import {theme as tailwindTheme} from './sanity.theme.mjs'
import {schemaTypes} from './schema'
@@ -140,7 +139,6 @@ const sharedSettings = definePlugin({
// eslint-disable-next-line camelcase
muxInput({mp4_support: 'standard'}),
imageHotspotArrayPlugin(),
- presenceTool(),
routerDebugTool(),
errorReportingTestPlugin(),
tsdoc(),
diff --git a/dev/test-studio/schema/demos/3d/index.ts b/dev/test-studio/schema/demos/3d/index.ts
deleted file mode 100644
index b7de34d9ae6..00000000000
--- a/dev/test-studio/schema/demos/3d/index.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import {torusKnotType} from './torus-knot'
-
-export const demos3d = {
- types: [torusKnotType],
-}
diff --git a/dev/test-studio/schema/demos/3d/torus-knot/ColorInput.tsx b/dev/test-studio/schema/demos/3d/torus-knot/ColorInput.tsx
deleted file mode 100644
index 7cec10bbb09..00000000000
--- a/dev/test-studio/schema/demos/3d/torus-knot/ColorInput.tsx
+++ /dev/null
@@ -1,64 +0,0 @@
-import {Stack, Text} from '@sanity/ui'
-import {transparentize} from 'polished'
-import {type ChangeEventHandler, useCallback} from 'react'
-import {set, type StringInputProps} from 'sanity'
-import {styled} from 'styled-components'
-
-const StyledColorInput = styled.input.attrs({type: 'color'})`
- cursor: pointer;
- box-sizing: border-box;
- background: var(--card-border-color);
- border: 0 solid transparent;
- border-radius: 2px;
- padding: 0;
- appearance: none;
- margin: 0;
- height: 1.6rem;
- width: 8ch;
-
- &:hover {
- box-shadow: 0 0 0 2px ${({theme}) => theme.sanity.color.card.hovered.border};
- }
-
- &::-webkit-color-swatch-wrapper {
- padding: 0;
- }
-
- &::-webkit-color-swatch {
- padding: 0;
- border: 0 solid transparent;
- border-radius: 2px;
- box-shadow: inset 0 0 0 1px
- ${({theme}) => transparentize(0.8, theme.sanity.color.card.enabled.fg)};
- }
-
- &::-moz-color-swatch {
- padding: 0;
- border: 0 solid transparent;
- border-radius: 2px;
- box-shadow: inset 0 0 0 1px
- ${({theme}) => transparentize(0.8, theme.sanity.color.card.enabled.fg)};
- }
-`
-
-export default function ColorInput(props: StringInputProps) {
- const {value, onChange, id} = props
- // const id = useId()
- const handleChange = useCallback>(
- (event) => {
- onChange(set(event.target.value))
- },
- [onChange],
- )
-
- return (
-
-
-
-
- )
-}
diff --git a/dev/test-studio/schema/demos/3d/torus-knot/TorusKnotInput.tsx b/dev/test-studio/schema/demos/3d/torus-knot/TorusKnotInput.tsx
deleted file mode 100644
index 8155d23d407..00000000000
--- a/dev/test-studio/schema/demos/3d/torus-knot/TorusKnotInput.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-import {Skeleton, Stack} from '@sanity/ui'
-import {lazy, Suspense} from 'react'
-import {styled} from 'styled-components'
-
-const TorusKnotInputPreview = lazy(() => import('./TorusKnotInputPreview'))
-
-const SquareSkeleton = styled(Skeleton)`
- aspect-ratio: 1/1;
- width: 100%;
-`
-
-const fallback =
-
-export default function TorusKnotInputComponent(props: ObjectInputProps) {
- const {value, renderDefault} = props
- return (
-
-
- {value ? : fallback}
-
- {renderDefault(props)}
-
- )
-}
diff --git a/dev/test-studio/schema/demos/3d/torus-knot/TorusKnotInputPreview.tsx b/dev/test-studio/schema/demos/3d/torus-knot/TorusKnotInputPreview.tsx
deleted file mode 100644
index 82c7671a702..00000000000
--- a/dev/test-studio/schema/demos/3d/torus-knot/TorusKnotInputPreview.tsx
+++ /dev/null
@@ -1,40 +0,0 @@
-import {Canvas, type Vector3} from '@react-three/fiber'
-import {Box} from '@sanity/ui'
-import {memo, Suspense, useRef} from 'react'
-import {styled} from 'styled-components'
-
-import View from './TorusKnotScene'
-import {useLazyFrameloop} from './useLazyFrameLoop'
-
-const Container = styled(Box)`
- aspect-ratio: 1/1;
-`
-
-export type Props = {
- base: string
- colorA: string
- colorB: string
- position?: {x: number; y: number; z: number}
-}
-export default memo(function TorusKnotInputPreview(props: Props) {
- const {base, colorA, colorB, position = {x: 0, y: -0.75, z: 0.75}} = props
- const {x, y, z} = position
-
- const canvasRef = useRef(null)
- const frameloop = useLazyFrameloop(canvasRef)
-
- return (
-
-
-
- )
-})
diff --git a/dev/test-studio/schema/demos/3d/torus-knot/TorusKnotLazyComponents.tsx b/dev/test-studio/schema/demos/3d/torus-knot/TorusKnotLazyComponents.tsx
deleted file mode 100644
index 9a11913c1b5..00000000000
--- a/dev/test-studio/schema/demos/3d/torus-knot/TorusKnotLazyComponents.tsx
+++ /dev/null
@@ -1,37 +0,0 @@
-import {Skeleton, Stack, TextSkeleton} from '@sanity/ui'
-import {type ComponentProps, lazy, memo, Suspense} from 'react'
-
-const TorusKnotPreview = lazy(() => import('./TorusKnotPreview'))
-
-export const LazyPreviewMedia = memo(function LazyPreviewMedia(
- props: ComponentProps,
-) {
- return (
- }>
-
-
- )
-})
-
-const ColorInput = lazy(() => import('./ColorInput'))
-
-export const LazyColorInput = memo(function LazyColorInput(
- props: ComponentProps,
-) {
- return (
-
-
-
-
- }
- >
-
-
- )
-})
diff --git a/dev/test-studio/schema/demos/3d/torus-knot/TorusKnotPreview.tsx b/dev/test-studio/schema/demos/3d/torus-knot/TorusKnotPreview.tsx
deleted file mode 100644
index 371bc3d2be8..00000000000
--- a/dev/test-studio/schema/demos/3d/torus-knot/TorusKnotPreview.tsx
+++ /dev/null
@@ -1,69 +0,0 @@
-import {Canvas, type Vector3} from '@react-three/fiber'
-import {Box} from '@sanity/ui'
-import {memo, startTransition, Suspense, useEffect, useRef, useState} from 'react'
-import {styled} from 'styled-components'
-
-import View from './TorusKnotScene'
-import {useLazyFrameloop} from './useLazyFrameLoop'
-
-const Container = styled(Box)`
- overflow: hidden;
- overflow: clip;
- border-radius: 1px;
- aspect-ratio: 1/1;
- width: 100%;
-`
-
-export type Props = {
- base: string
- colorA: string
- colorB: string
- position?: {x: number; y: number; z: number}
-}
-export default memo(function TorusKnotPreview(props: Props) {
- const {base, colorA, colorB, position = {x: -1.75, y: 0, z: 0}} = props
- const {x, y, z} = position
- const canvasRef = useRef(null)
- const lazyFrameloop = useLazyFrameloop(canvasRef)
- const [frameloop, setFrameloop] = useState<'always' | 'demand'>('always')
-
- // eslint-disable-next-line consistent-return
- useEffect(() => {
- if (canvasRef.current) {
- // run animation loop on hover
- const paneItem = canvasRef.current.closest('[data-ui=PaneItem]')
- if (paneItem) {
- const onEnter = () => startTransition(() => setFrameloop('always'))
- const onLeave = () => startTransition(() => setFrameloop('demand'))
- paneItem.addEventListener('pointerenter', onEnter)
- paneItem.addEventListener('pointerleave', onLeave)
- return () => {
- paneItem.removeEventListener('pointerenter', onEnter)
- paneItem.removeEventListener('pointerleave', onLeave)
- }
- }
- }
- }, [])
-
- return (
-
-
-
- )
-})
diff --git a/dev/test-studio/schema/demos/3d/torus-knot/TorusKnotScene.tsx b/dev/test-studio/schema/demos/3d/torus-knot/TorusKnotScene.tsx
deleted file mode 100644
index 7c13a2aa1ee..00000000000
--- a/dev/test-studio/schema/demos/3d/torus-knot/TorusKnotScene.tsx
+++ /dev/null
@@ -1,98 +0,0 @@
-/* eslint-disable no-multi-assign */
-/* eslint-disable react/no-unknown-property */
-// Fork of https://codesandbox.io/s/layer-materials-nvup4
-
-import {Environment, OrbitControls} from '@react-three/drei'
-import {useFrame, useThree} from '@react-three/fiber'
-import {Color, Depth, Fresnel, LayerMaterial} from 'lamina'
-import {memo, useEffect, useRef} from 'react'
-import * as THREE from 'three'
-
-export default function View({element: {base, colorA, colorB, position}, preview = false}: any) {
- return (
- <>
-
-
-
-
-
-
-
-
-
-
-
-
- >
- )
-}
-
-export const SyncCamera = memo(function SyncCamera({x, y, z}: any) {
- const camera = useThree((state) => state.camera)
- useEffect(() => {
- camera.position.set(x, y, z)
- }, [x, y, z, camera.position])
-
- return null
-})
-
-export const Bg = memo(function Bg({base, colorA, colorB}: any) {
- const mesh = useRef()
- useFrame((state, delta) => {
- mesh.current.rotation.x = mesh.current.rotation.y = mesh.current.rotation.z += delta
- })
- return (
-
-
-
-
-
-
-
- )
-})
-
-export const Flower = memo(function Flower({base, colorA, colorB}: any) {
- const mesh = useRef()
- const depth = useRef()
- useFrame((state, delta) => {
- mesh.current.rotation.z += delta / 2
- depth.current.origin.set(-state.mouse.y, state.mouse.x, 0)
- })
- return (
-
-
-
-
-
-
-
-
-
- )
-})
diff --git a/dev/test-studio/schema/demos/3d/torus-knot/index.ts b/dev/test-studio/schema/demos/3d/torus-knot/index.ts
deleted file mode 100644
index 1bf23b3d1d6..00000000000
--- a/dev/test-studio/schema/demos/3d/torus-knot/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './schemaType'
diff --git a/dev/test-studio/schema/demos/3d/torus-knot/schemaType.tsx b/dev/test-studio/schema/demos/3d/torus-knot/schemaType.tsx
deleted file mode 100644
index ed2fb98385f..00000000000
--- a/dev/test-studio/schema/demos/3d/torus-knot/schemaType.tsx
+++ /dev/null
@@ -1,88 +0,0 @@
-import {defineType} from 'sanity'
-
-import {structureGroupOptions} from '../../../../structure/groupByOption'
-import TorusKnotInput from './TorusKnotInput'
-import {LazyColorInput, LazyPreviewMedia} from './TorusKnotLazyComponents'
-
-const initialBase = '#ff4eb8'
-const initialColorA = '#00ffff'
-const initialColorB = '#ff8f00'
-
-const TorusKnotIcon = () => (
-
-)
-
-export const torusKnotType = defineType({
- type: 'document',
- name: 'demo-3d-torus-knot',
- title: '3D Torus Knot',
- icon: TorusKnotIcon,
- options: structureGroupOptions({structureGroup: '3d'}),
- preview: {
- select: {
- title: 'title',
- base: 'scene.base',
- colorA: 'scene.colorA',
- colorB: 'scene.colorB',
- },
- prepare: (props: any) => {
- return {
- title: props.title,
- subtitle: `${props.base} | ${props.colorA} | ${props.colorB}`,
- media: ,
- layout: 'detail',
- }
- },
- },
- fields: [
- {
- type: 'string',
- name: 'title',
- title: 'Title',
- },
-
- {
- type: 'object',
- name: 'scene',
- title: '3D Scene',
- description: 'Based on the delightful https://codesandbox.io/s/layer-materials-nvup4',
-
- components: {
- input: TorusKnotInput,
- },
- fieldsets: [
- {
- name: 'colors',
- title: 'Colors',
- options: {columns: 3},
- },
- ],
- fields: [
- {
- type: 'string',
- name: 'base',
- title: 'Base',
- fieldset: 'colors',
- initialValue: initialBase,
- components: {input: LazyColorInput},
- },
- {
- type: 'string',
- name: 'colorA',
- title: 'Color A',
- fieldset: 'colors',
- initialValue: initialColorA,
- components: {input: LazyColorInput},
- },
- {
- type: 'string',
- name: 'colorB',
- title: 'Color B',
- fieldset: 'colors',
- initialValue: initialColorB,
- components: {input: LazyColorInput},
- },
- ],
- },
- ],
-})
diff --git a/dev/test-studio/schema/demos/3d/torus-knot/useLazyFrameLoop.ts b/dev/test-studio/schema/demos/3d/torus-knot/useLazyFrameLoop.ts
deleted file mode 100644
index 514eaab0ea7..00000000000
--- a/dev/test-studio/schema/demos/3d/torus-knot/useLazyFrameLoop.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import {usePrefersReducedMotion} from '@sanity/ui'
-import {startTransition, useEffect, useState} from 'react'
-
-export function useLazyFrameloop(ref: React.RefObject): 'always' | 'demand' | 'never' {
- const reduceMotion = usePrefersReducedMotion()
- const [frameloop, setFrameloop] = useState<'always' | 'never'>('never')
-
- useEffect(() => {
- if (!ref.current) return
- const observer = new IntersectionObserver(
- ([{isIntersecting}]) => {
- startTransition(() => setFrameloop(isIntersecting ? 'always' : 'never'))
- },
- {rootMargin: '0px', threshold: 0},
- )
-
- observer.observe(ref.current)
- // eslint-disable-next-line consistent-return
- return () => observer.disconnect()
- }, [ref])
-
- if (reduceMotion && frameloop === 'always') {
- return 'demand'
- }
-
- return frameloop
-}
diff --git a/dev/test-studio/schema/index.ts b/dev/test-studio/schema/index.ts
index 7edf1e4a58f..51b229532b6 100644
--- a/dev/test-studio/schema/index.ts
+++ b/dev/test-studio/schema/index.ts
@@ -76,7 +76,6 @@ import uploads from './debug/uploads'
import validation, {validationArraySuperType} from './debug/validation'
import {virtualizationDebug} from './debug/virtualizationDebug'
import {virtualizationInObject} from './debug/virtualizationInObject'
-import {demos3d} from './demos/3d'
import {v3docs} from './docs/v3'
import markdown from './externalPlugins/markdown'
import mux from './externalPlugins/mux'
@@ -290,7 +289,4 @@ export const schemaTypes = [
// Test documents for docs
...v3docs.types,
-
- // Demo documents for 3d experiments
- ...demos3d.types,
]
diff --git a/dev/test-studio/static/adamsbridge.hdr b/dev/test-studio/static/adamsbridge.hdr
deleted file mode 100644
index 49f95eab90c..00000000000
Binary files a/dev/test-studio/static/adamsbridge.hdr and /dev/null differ
diff --git a/dev/test-studio/static/cross.jpeg b/dev/test-studio/static/cross.jpeg
deleted file mode 100644
index 62fd09ad38a..00000000000
Binary files a/dev/test-studio/static/cross.jpeg and /dev/null differ
diff --git a/dev/test-studio/structure/resolveStructure.ts b/dev/test-studio/structure/resolveStructure.ts
index 8eae1058c85..bd001f6c17a 100644
--- a/dev/test-studio/structure/resolveStructure.ts
+++ b/dev/test-studio/structure/resolveStructure.ts
@@ -3,7 +3,6 @@ import {
CogIcon,
EarthGlobeIcon,
ImagesIcon,
- JoystickIcon,
PlugIcon,
RocketIcon,
SyncIcon,
@@ -401,14 +400,6 @@ export const structure: StructureResolver = (S, {schema, documentStore, i18n}) =
types: typesInOptionGroup(S, schema, 'v3'),
}),
- _buildTypeGroup(S, schema, {
- id: '3d',
- title: '3D Demos',
- icon: JoystickIcon,
- types: typesInOptionGroup(S, schema, '3d'),
- defaultLayout: 'detail',
- }),
-
S.divider(),
_buildTypeGroup(S, schema, {
@@ -434,7 +425,6 @@ export const structure: StructureResolver = (S, {schema, documentStore, i18n}) =
!EXTERNAL_PLUGIN_INPUT_TYPES.includes(id) &&
!DEBUG_FIELD_GROUP_TYPES.includes(id) &&
!typesInOptionGroup(S, schema, 'v3').includes(id) &&
- !typesInOptionGroup(S, schema, '3d').includes(id) &&
!TS_DOC_TYPES.includes(id)
)
})
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f2c5a63ec4c..f904ace3607 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -434,15 +434,6 @@ importers:
'@portabletext/react':
specifier: ^3.0.0
version: 3.1.0(react@18.3.1)
- '@react-three/cannon':
- specifier: ^6.5.2
- version: 6.6.0(@react-three/fiber@8.16.8)(react@18.3.1)(three@0.166.1)(typescript@5.5.3)
- '@react-three/drei':
- specifier: ^9.80.1
- version: 9.108.3(@react-three/fiber@8.16.8)(@types/react@18.3.3)(@types/three@0.166.0)(react-dom@18.3.1)(react@18.3.1)(three@0.166.1)
- '@react-three/fiber':
- specifier: ^8.13.6
- version: 8.16.8(react-dom@18.3.1)(react@18.3.1)(three@0.166.1)
'@sanity/assist':
specifier: ^3.0.2
version: 3.0.4(@sanity/mutator@packages+@sanity+mutator)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.11)
@@ -521,9 +512,6 @@ importers:
'@turf/points-within-polygon':
specifier: ^5.1.5
version: 5.1.5
- '@types/three':
- specifier: ^0.166.0
- version: 0.166.0
'@vercel/stega':
specifier: 0.1.2
version: 0.1.2
@@ -536,15 +524,9 @@ importers:
history:
specifier: ^5.3.0
version: 5.3.0
- lamina:
- specifier: ^1.1.23
- version: 1.1.23(@react-three/fiber@8.16.8)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(three@0.166.1)
lodash:
specifier: ^4.17.21
version: 4.17.21
- polished:
- specifier: ^4.2.2
- version: 4.3.1
qs:
specifier: ^6.10.2
version: 6.12.3
@@ -575,12 +557,6 @@ importers:
styled-components:
specifier: ^6.1.11
version: 6.1.11(react-dom@18.3.1)(react@18.3.1)
- three:
- specifier: ^0.166.0
- version: 0.166.1
- three-stdlib:
- specifier: ^2.24.2
- version: 2.30.4(three@0.166.1)
devDependencies:
vite:
specifier: ^4.5.3
@@ -4986,10 +4962,6 @@ packages:
'@lezer/common': 1.2.1
dev: false
- /@mediapipe/tasks-vision@0.10.8:
- resolution: {integrity: sha512-Rp7ll8BHrKB3wXaRFKhrltwZl1CiXGdibPxuWXvqGnKTnv8fqa/nvftYNuSbf+pbJWKYCXdBtYTITdAUTGGh0Q==}
- dev: false
-
/@microsoft/api-extractor-model@7.29.2(@types/node@18.19.31):
resolution: {integrity: sha512-hAYajOjQan3uslhKJRwvvHIdLJ+ZByKqdSsJ/dgHFxPtEbdKpzMDO8zuW4K5gkSMYl5D0LbNwxkhxr51P2zsmw==}
dependencies:
@@ -5030,15 +5002,6 @@ packages:
/@microsoft/tsdoc@0.15.0:
resolution: {integrity: sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==}
- /@monogrid/gainmap-js@3.0.5(three@0.166.1):
- resolution: {integrity: sha512-53sCTG4FaJBaAq/tcufARtVYDMDGqyBT9i7F453pWGhZ5LqubDHDWtYoHo9VhQqMcHTEexdJqSsR58y+9HVmQA==}
- peerDependencies:
- three: '>= 0.159.0'
- dependencies:
- promise-worker-transferable: 1.0.4
- three: 0.166.1
- dev: false
-
/@mux/mux-player-react@2.7.0(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1):
resolution: {integrity: sha512-QPPNowWVWXeg4vXwLzrqhCrQxLaUvR8je9ZPTtKpHzDwv705c7fiNLUlC7Dk0jF/eYTCQoGn3dBSjF9Yv1a0zQ==}
peerDependencies:
@@ -5783,14 +5746,6 @@ packages:
dependencies:
playwright: 1.44.1
- /@pmndrs/cannon-worker-api@2.4.0(three@0.166.1):
- resolution: {integrity: sha512-oJA1Bboc+WObksRaGDKJG0Wna9Q75xi1MdXVAZ9qXzBOyPsadmAnrmiKOEF0R8v/4zsuJElvscNZmyo3msbZjA==}
- peerDependencies:
- three: '>=0.139'
- dependencies:
- three: 0.166.1
- dev: false
-
/@pnpm/config.env-replace@1.1.0:
resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==}
engines: {node: '>=12.22.0'}
@@ -5866,507 +5821,6 @@ packages:
resolution: {integrity: sha512-5xk5MSyQU9CrDho3Rsguj38jhijhD36Mk8S6mZo3huv6PM+t4M/5kJN2KFIxgvt4ONpvOEs1pVIZAV0cL0Vi+Q==}
engines: {node: ^14.13.1 || >=16.0.0 || >=18.0.0}
- /@radix-ui/primitive@1.0.1:
- resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==}
- dependencies:
- '@babel/runtime': 7.24.8
- dev: false
-
- /@radix-ui/react-arrow@1.0.3(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: '*'
- react-dom: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@radix-ui/react-primitive': 1.0.3(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
- '@types/react': 18.3.3
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- dev: false
-
- /@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.3)(react@18.3.1):
- resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==}
- peerDependencies:
- '@types/react': '*'
- react: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@types/react': 18.3.3
- react: 18.3.1
- dev: false
-
- /@radix-ui/react-context@1.0.1(@types/react@18.3.3)(react@18.3.1):
- resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==}
- peerDependencies:
- '@types/react': '*'
- react: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@types/react': 18.3.3
- react: 18.3.1
- dev: false
-
- /@radix-ui/react-dismissable-layer@1.0.5(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: '*'
- react-dom: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@radix-ui/primitive': 1.0.1
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@radix-ui/react-primitive': 1.0.3(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.3.3)(react@18.3.1)
- '@types/react': 18.3.3
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- dev: false
-
- /@radix-ui/react-id@1.0.1(@types/react@18.3.3)(react@18.3.1):
- resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==}
- peerDependencies:
- '@types/react': '*'
- react: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@types/react': 18.3.3
- react: 18.3.1
- dev: false
-
- /@radix-ui/react-popper@1.1.3(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: '*'
- react-dom: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-arrow': 1.0.3(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@radix-ui/react-primitive': 1.0.3(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@radix-ui/react-use-rect': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@radix-ui/react-use-size': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@radix-ui/rect': 1.0.1
- '@types/react': 18.3.3
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- dev: false
-
- /@radix-ui/react-portal@1.0.4(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: '*'
- react-dom: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@radix-ui/react-primitive': 1.0.3(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
- '@types/react': 18.3.3
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- dev: false
-
- /@radix-ui/react-presence@1.0.1(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: '*'
- react-dom: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@types/react': 18.3.3
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- dev: false
-
- /@radix-ui/react-primitive@1.0.3(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: '*'
- react-dom: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@radix-ui/react-slot': 1.0.2(@types/react@18.3.3)(react@18.3.1)
- '@types/react': 18.3.3
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- dev: false
-
- /@radix-ui/react-slot@1.0.2(@types/react@18.3.3)(react@18.3.1):
- resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==}
- peerDependencies:
- '@types/react': '*'
- react: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@types/react': 18.3.3
- react: 18.3.1
- dev: false
-
- /@radix-ui/react-tooltip@1.0.7(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: '*'
- react-dom: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@radix-ui/primitive': 1.0.1
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-id': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@radix-ui/react-popper': 1.1.3(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-portal': 1.0.4(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-presence': 1.0.1(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-primitive': 1.0.3(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-slot': 1.0.2(@types/react@18.3.3)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@radix-ui/react-visually-hidden': 1.0.3(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
- '@types/react': 18.3.3
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- dev: false
-
- /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.3)(react@18.3.1):
- resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==}
- peerDependencies:
- '@types/react': '*'
- react: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@types/react': 18.3.3
- react: 18.3.1
- dev: false
-
- /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.3.3)(react@18.3.1):
- resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==}
- peerDependencies:
- '@types/react': '*'
- react: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@types/react': 18.3.3
- react: 18.3.1
- dev: false
-
- /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.3)(react@18.3.1):
- resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==}
- peerDependencies:
- '@types/react': '*'
- react: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@types/react': 18.3.3
- react: 18.3.1
- dev: false
-
- /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.3.3)(react@18.3.1):
- resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==}
- peerDependencies:
- '@types/react': '*'
- react: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@types/react': 18.3.3
- react: 18.3.1
- dev: false
-
- /@radix-ui/react-use-rect@1.0.1(@types/react@18.3.3)(react@18.3.1):
- resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==}
- peerDependencies:
- '@types/react': '*'
- react: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@radix-ui/rect': 1.0.1
- '@types/react': 18.3.3
- react: 18.3.1
- dev: false
-
- /@radix-ui/react-use-size@1.0.1(@types/react@18.3.3)(react@18.3.1):
- resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==}
- peerDependencies:
- '@types/react': '*'
- react: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.3.1)
- '@types/react': 18.3.3
- react: 18.3.1
- dev: false
-
- /@radix-ui/react-visually-hidden@1.0.3(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==}
- peerDependencies:
- '@types/react': '*'
- '@types/react-dom': '*'
- react: '*'
- react-dom: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- '@types/react-dom':
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@radix-ui/react-primitive': 1.0.3(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
- '@types/react': 18.3.3
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- dev: false
-
- /@radix-ui/rect@1.0.1:
- resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==}
- dependencies:
- '@babel/runtime': 7.24.8
- dev: false
-
- /@react-spring/animated@9.6.1(react@18.3.1):
- resolution: {integrity: sha512-ls/rJBrAqiAYozjLo5EPPLLOb1LM0lNVQcXODTC1SMtS6DbuBCPaKco5svFUQFMP2dso3O+qcC4k9FsKc0KxMQ==}
- peerDependencies:
- react: '*'
- dependencies:
- '@react-spring/shared': 9.6.1(react@18.3.1)
- '@react-spring/types': 9.6.1
- react: 18.3.1
- dev: false
-
- /@react-spring/core@9.6.1(react@18.3.1):
- resolution: {integrity: sha512-3HAAinAyCPessyQNNXe5W0OHzRfa8Yo5P748paPcmMowZ/4sMfaZ2ZB6e5x5khQI8NusOHj8nquoutd6FRY5WQ==}
- peerDependencies:
- react: '*'
- dependencies:
- '@react-spring/animated': 9.6.1(react@18.3.1)
- '@react-spring/rafz': 9.6.1
- '@react-spring/shared': 9.6.1(react@18.3.1)
- '@react-spring/types': 9.6.1
- react: 18.3.1
- dev: false
-
- /@react-spring/rafz@9.6.1:
- resolution: {integrity: sha512-v6qbgNRpztJFFfSE3e2W1Uz+g8KnIBs6SmzCzcVVF61GdGfGOuBrbjIcp+nUz301awVmREKi4eMQb2Ab2gGgyQ==}
- dev: false
-
- /@react-spring/shared@9.6.1(react@18.3.1):
- resolution: {integrity: sha512-PBFBXabxFEuF8enNLkVqMC9h5uLRBo6GQhRMQT/nRTnemVENimgRd+0ZT4yFnAQ0AxWNiJfX3qux+bW2LbG6Bw==}
- peerDependencies:
- react: '*'
- dependencies:
- '@react-spring/rafz': 9.6.1
- '@react-spring/types': 9.6.1
- react: 18.3.1
- dev: false
-
- /@react-spring/three@9.6.1(@react-three/fiber@8.16.8)(react@18.3.1)(three@0.166.1):
- resolution: {integrity: sha512-Tyw2YhZPKJAX3t2FcqvpLRb71CyTe1GvT3V+i+xJzfALgpk10uPGdGaQQ5Xrzmok1340DAeg2pR/MCfaW7b8AA==}
- peerDependencies:
- '@react-three/fiber': '>=6.0'
- react: '*'
- three: '>=0.126'
- dependencies:
- '@react-spring/animated': 9.6.1(react@18.3.1)
- '@react-spring/core': 9.6.1(react@18.3.1)
- '@react-spring/shared': 9.6.1(react@18.3.1)
- '@react-spring/types': 9.6.1
- '@react-three/fiber': 8.16.8(react-dom@18.3.1)(react@18.3.1)(three@0.166.1)
- react: 18.3.1
- three: 0.166.1
- dev: false
-
- /@react-spring/types@9.6.1:
- resolution: {integrity: sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q==}
- dev: false
-
- /@react-three/cannon@6.6.0(@react-three/fiber@8.16.8)(react@18.3.1)(three@0.166.1)(typescript@5.5.3):
- resolution: {integrity: sha512-lP9rJoVHQi0w+dYF8FJAm2xr5eLfNEckb04j72kjqndUkuOPr26N4rSBhQbHl5b5N3tEnhQaIMungAvHkcY8/A==}
- peerDependencies:
- '@react-three/fiber': '>=8'
- react: '*'
- three: '>=0.139'
- dependencies:
- '@pmndrs/cannon-worker-api': 2.4.0(three@0.166.1)
- '@react-three/fiber': 8.16.8(react-dom@18.3.1)(react@18.3.1)(three@0.166.1)
- cannon-es: 0.20.0
- cannon-es-debugger: 1.0.0(cannon-es@0.20.0)(three@0.166.1)(typescript@5.5.3)
- react: 18.3.1
- three: 0.166.1
- transitivePeerDependencies:
- - typescript
- dev: false
-
- /@react-three/drei@9.108.3(@react-three/fiber@8.16.8)(@types/react@18.3.3)(@types/three@0.166.0)(react-dom@18.3.1)(react@18.3.1)(three@0.166.1):
- resolution: {integrity: sha512-414jioJq9hGaq24kCfwCZ2mQ9HLkikICTmDjxU5eHaOYwT6MiSrfxZnFDsUNWUwY0GeuF9M8hJjsGagCtGA22Q==}
- peerDependencies:
- '@react-three/fiber': '>=8.0'
- react: '*'
- react-dom: '*'
- three: '>=0.137'
- peerDependenciesMeta:
- react-dom:
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@mediapipe/tasks-vision': 0.10.8
- '@monogrid/gainmap-js': 3.0.5(three@0.166.1)
- '@react-spring/three': 9.6.1(@react-three/fiber@8.16.8)(react@18.3.1)(three@0.166.1)
- '@react-three/fiber': 8.16.8(react-dom@18.3.1)(react@18.3.1)(three@0.166.1)
- '@use-gesture/react': 10.3.1(react@18.3.1)
- camera-controls: 2.8.5(three@0.166.1)
- cross-env: 7.0.3
- detect-gpu: 5.0.38
- glsl-noise: 0.0.0
- hls.js: 1.3.5
- maath: 0.10.8(@types/three@0.166.0)(three@0.166.1)
- meshline: 3.3.1(three@0.166.1)
- react: 18.3.1
- react-composer: 5.0.3(react@18.3.1)
- react-dom: 18.3.1(react@18.3.1)
- stats-gl: 2.2.8
- stats.js: 0.17.0
- suspend-react: 0.1.3(react@18.3.1)
- three: 0.166.1
- three-mesh-bvh: 0.7.6(three@0.166.1)
- three-stdlib: 2.30.4(three@0.166.1)
- troika-three-text: 0.49.1(three@0.166.1)
- tunnel-rat: 0.1.2(@types/react@18.3.3)(react@18.3.1)
- utility-types: 3.11.0
- uuid: 9.0.1
- zustand: 3.7.2(react@18.3.1)
- transitivePeerDependencies:
- - '@types/react'
- - '@types/three'
- - immer
- dev: false
-
- /@react-three/fiber@8.16.8(react-dom@18.3.1)(react@18.3.1)(three@0.166.1):
- resolution: {integrity: sha512-Lc8fjATtvQEfSd8d5iKdbpHtRm/aPMeFj7jQvp6TNHfpo8IQTW3wwcE1ZMrGGoUH+w2mnyS+0MK1NLPLnuzGkQ==}
- peerDependencies:
- expo: '>=43.0'
- expo-asset: '>=8.4'
- expo-file-system: '>=11.0'
- expo-gl: '>=11.0'
- react: '*'
- react-dom: '*'
- react-native: '>=0.64'
- three: '>=0.133'
- peerDependenciesMeta:
- expo:
- optional: true
- expo-asset:
- optional: true
- expo-file-system:
- optional: true
- expo-gl:
- optional: true
- react-dom:
- optional: true
- react-native:
- optional: true
- dependencies:
- '@babel/runtime': 7.24.8
- '@types/react-reconciler': 0.26.7
- '@types/webxr': 0.5.19
- base64-js: 1.5.1
- buffer: 6.0.3
- its-fine: 1.2.5(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-reconciler: 0.27.0(react@18.3.1)
- react-use-measure: 2.1.1(react-dom@18.3.1)(react@18.3.1)
- scheduler: 0.21.0
- suspend-react: 0.1.3(react@18.3.1)
- three: 0.166.1
- zustand: 3.7.2(react@18.3.1)
- dev: false
-
/@rexxars/gitconfiglocal@3.0.1:
resolution: {integrity: sha512-+/fA3IOwEw4IWjON1FVumvemdEBsAosk1aoy+2Y6l2FqDuxOSGSxjgehLuydfNXG62s0p/z9hzvv2pv7TL3UWQ==}
engines: {node: '>=12.0.0'}
@@ -7576,14 +7030,6 @@ packages:
'@sinonjs/commons': 3.0.1
dev: true
- /@stitches/react@1.2.8(react@18.3.1):
- resolution: {integrity: sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==}
- peerDependencies:
- react: '*'
- dependencies:
- react: 18.3.1
- dev: false
-
/@swc/counter@0.1.3:
resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
dev: false
@@ -7785,10 +7231,6 @@ packages:
'@turf/meta': 5.2.0
dev: false
- /@tweenjs/tween.js@23.1.2:
- resolution: {integrity: sha512-kMCNaZCJugWI86xiEHaY338CU5JpD0B97p1j1IKNn/Zto8PgACjQx0UxbHjmOcLl/dDOBnItwD07KmCs75pxtQ==}
- dev: false
-
/@types/archiver@6.0.2:
resolution: {integrity: sha512-KmROQqbQzKGuaAbmK+ZcytkJ51+YqDa7NmbXjmtC5YBLSyQYo21YaUnQ3HbaPFKL1ooo6RQ6OPYPIDyxfpDDXw==}
dependencies:
@@ -7876,10 +7318,6 @@ packages:
'@types/node': 18.19.31
dev: true
- /@types/draco3d@1.4.10:
- resolution: {integrity: sha512-AX22jp8Y7wwaBgAixaSvkoG4M/+PlAcm3Qs4OW8yT9DM4xUpWKeFhLueTAyZF39pviAdcDdeJoACapiAceqNcw==}
- dev: false
-
/@types/estree@1.0.5:
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
@@ -8014,10 +7452,6 @@ packages:
resolution: {integrity: sha512-lwGTVESDDV+XsQ1pH4UifpJ1f7OtXzQ6QBOX2Afq2bM/T3oOt8hF6exJMjjIjtEWeAN2YAo25J7HxWh97CCz9w==}
dev: true
- /@types/offscreencanvas@2019.7.3:
- resolution: {integrity: sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==}
- dev: false
-
/@types/parse-json@4.0.2:
resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
dev: true
@@ -8059,18 +7493,6 @@ packages:
'@types/react': 18.3.3
dev: false
- /@types/react-reconciler@0.26.7:
- resolution: {integrity: sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==}
- dependencies:
- '@types/react': 18.3.3
- dev: false
-
- /@types/react-reconciler@0.28.8:
- resolution: {integrity: sha512-SN9c4kxXZonFhbX4hJrZy37yw9e7EIxcpHCxQv5JUS18wDE5ovkQKlqQEkufdJCCMfuI9BnjUJvhYeJ9x5Ra7g==}
- dependencies:
- '@types/react': 18.3.3
- dev: false
-
/@types/react@18.3.3:
resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==}
dependencies:
@@ -8143,10 +7565,6 @@ packages:
resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
dev: true
- /@types/stats.js@0.17.3:
- resolution: {integrity: sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==}
- dev: false
-
/@types/stylis@4.2.5:
resolution: {integrity: sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==}
@@ -8169,26 +7587,6 @@ packages:
minipass: 4.2.8
dev: true
- /@types/three@0.163.0:
- resolution: {integrity: sha512-uIdDhsXRpQiBUkflBS/i1l3JX14fW6Ot9csed60nfbZNXHDTRsnV2xnTVwXcgbvTiboAR4IW+t+lTL5f1rqIqA==}
- dependencies:
- '@tweenjs/tween.js': 23.1.2
- '@types/stats.js': 0.17.3
- '@types/webxr': 0.5.19
- fflate: 0.8.2
- meshoptimizer: 0.18.1
- dev: false
-
- /@types/three@0.166.0:
- resolution: {integrity: sha512-FHMnpcdhdbdOOIYbfkTkUVpYMW53odxbTRwd0/xJpYnTzEsjnVnondGAvHZb4z06UW0vo6WPVuvH0/9qrxKx7g==}
- dependencies:
- '@tweenjs/tween.js': 23.1.2
- '@types/stats.js': 0.17.3
- '@types/webxr': 0.5.19
- fflate: 0.8.2
- meshoptimizer: 0.18.1
- dev: false
-
/@types/through@0.0.33:
resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==}
dependencies:
@@ -8213,10 +7611,6 @@ packages:
resolution: {integrity: sha512-dLhCHEIjf9++/vHaHCo/ngJzGqGGbPh/f7HKwznEk3WFL64t/VKuRiVpyQH4afX93YkCV94I9M0Cx+DBLk1Dsg==}
dev: true
- /@types/webxr@0.5.19:
- resolution: {integrity: sha512-4hxA+NwohSgImdTSlPXEqDqqFktNgmTXQ05ff1uWam05tNGroCMp4G+4XVl6qWm1p7GQ/9oD41kAYsSssF6Mzw==}
- dev: false
-
/@types/which@2.0.2:
resolution: {integrity: sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==}
dev: true
@@ -8519,19 +7913,6 @@ packages:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: true
- /@use-gesture/core@10.3.1:
- resolution: {integrity: sha512-WcINiDt8WjqBdUXye25anHiNxPc0VOrlT8F6LLkU6cycrOGUDyY/yyFmsg3k8i5OLvv25llc0QC45GhR/C8llw==}
- dev: false
-
- /@use-gesture/react@10.3.1(react@18.3.1):
- resolution: {integrity: sha512-Yy19y6O2GJq8f7CHf7L0nxL8bf4PZCPaVOCgJrusOeFHY1LvHgYXnmnXg6N5iwAnbgbZCDjo60SiM6IPJi9C5g==}
- peerDependencies:
- react: '*'
- dependencies:
- '@use-gesture/core': 10.3.1
- react: 18.3.1
- dev: false
-
/@vercel/error-utils@1.0.10:
resolution: {integrity: sha512-nsKy2sy+pjUWyKI1V/XXKspVzHMYgSalmj5+EsKWFXZbnNZicqxNtMR94J8Hs7SB4TQxh0s4KhczJtL59AVGMg==}
dev: true
@@ -9078,6 +8459,7 @@ packages:
/assign-symbols@1.0.0:
resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==}
engines: {node: '>=0.10.0'}
+ dev: true
/ast-types-flow@0.0.8:
resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
@@ -9122,11 +8504,6 @@ packages:
hasBin: true
dev: true
- /attr-accept@2.2.2:
- resolution: {integrity: sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==}
- engines: {node: '>=4'}
- dev: false
-
/available-typed-arrays@1.0.7:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
@@ -9634,36 +9011,9 @@ packages:
/camelize@1.0.1:
resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
- /camera-controls@2.8.5(three@0.166.1):
- resolution: {integrity: sha512-7VTwRk7Nu1nRKsY7bEt9HVBfKt8DETvzyYhLN4OW26OByBayMDB5fUaNcPI+z++vG23RH5yqn6ZRhZcgLQy2rA==}
- peerDependencies:
- three: '>=0.126.1'
- dependencies:
- three: 0.166.1
- dev: false
-
/caniuse-lite@1.0.30001641:
resolution: {integrity: sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==}
- /cannon-es-debugger@1.0.0(cannon-es@0.20.0)(three@0.166.1)(typescript@5.5.3):
- resolution: {integrity: sha512-sE9lDOBAYFKlh+0w+cvWKwUhJef8HYnUSVPWPL0jD15MAuVRQKno4QYZSGxgOoJkMR3mQqxL4bxys2b3RSWH8g==}
- peerDependencies:
- cannon-es: 0.x
- three: 0.x
- typescript: '>=3.8'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- cannon-es: 0.20.0
- three: 0.166.1
- typescript: 5.5.3
- dev: false
-
- /cannon-es@0.20.0:
- resolution: {integrity: sha512-eZhWTZIkFOnMAJOgfXJa9+b3kVlvG+FX4mdkpePev/w/rP5V8NRquGyEozcjPfEoXUlb+p7d9SUcmDSn14prOA==}
- dev: false
-
/castable-video@1.0.10:
resolution: {integrity: sha512-tJgUv+8/zE191y8EKojvB0eKIyKA9obIttd6Wpdm6x2qBmuwZ7wDgzVCSmf5cN2v9jBiuu0s7O5poz8a8cFX/w==}
dependencies:
@@ -9989,10 +9339,6 @@ packages:
dev: false
optional: true
- /colord@2.9.3:
- resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
- dev: false
-
/colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
dev: true
@@ -10325,14 +9671,6 @@ packages:
resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
dev: false
- /cross-env@7.0.3:
- resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
- engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
- hasBin: true
- dependencies:
- cross-spawn: 7.0.3
- dev: false
-
/cross-spawn@6.0.5:
resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
engines: {node: '>=4.8'}
@@ -10527,10 +9865,6 @@ packages:
date-now: 1.0.1
dev: false
- /debounce@1.2.1:
- resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
- dev: false
-
/debug@2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
peerDependencies:
@@ -10810,6 +10144,7 @@ packages:
/dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
+ dev: true
/destroy@1.2.0:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
@@ -10820,12 +10155,6 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /detect-gpu@5.0.38:
- resolution: {integrity: sha512-36QeGHSXYcJ/RfrnPEScR8GDprbXFG4ZhXsfVNVHztZr38+fRxgHnJl3CjYXXjbeRUhu3ZZBJh6Lg0A9v0Qd8A==}
- dependencies:
- webgl-constants: 1.1.1
- dev: false
-
/detect-indent@5.0.0:
resolution: {integrity: sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==}
engines: {node: '>=4'}
@@ -10987,10 +10316,6 @@ packages:
resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==}
engines: {node: '>=10'}
- /draco3d@1.5.7:
- resolution: {integrity: sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==}
- dev: false
-
/duplexer@0.1.2:
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
dev: true
@@ -12059,6 +11384,7 @@ packages:
engines: {node: '>=0.10.0'}
dependencies:
is-extendable: 0.1.1
+ dev: true
/extend-shallow@3.0.2:
resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==}
@@ -12066,6 +11392,7 @@ packages:
dependencies:
assign-symbols: 1.0.0
is-extendable: 1.0.1
+ dev: true
/extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
@@ -12155,14 +11482,6 @@ packages:
pend: 1.2.0
dev: false
- /fflate@0.6.10:
- resolution: {integrity: sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==}
- dev: false
-
- /fflate@0.8.2:
- resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
- dev: false
-
/figures@2.0.0:
resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==}
engines: {node: '>=4'}
@@ -12184,13 +11503,6 @@ packages:
flat-cache: 3.2.0
dev: true
- /file-selector@0.5.0:
- resolution: {integrity: sha512-s8KNnmIDTBoD0p9uJ9uD0XY38SCeBOtj0UMXyQSLg1Ypfrfj8+dAvwsLjYQkQ2GjhVtp2HrnF5cJzMhBjfD8HA==}
- engines: {node: '>= 10'}
- dependencies:
- tslib: 2.6.3
- dev: false
-
/file-type@3.9.0:
resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==}
engines: {node: '>=0.10.0'}
@@ -12381,6 +11693,7 @@ packages:
/for-in@1.0.2:
resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==}
engines: {node: '>=0.10.0'}
+ dev: true
/for-own@0.1.5:
resolution: {integrity: sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==}
@@ -12704,6 +12017,7 @@ packages:
/get-value@2.0.6:
resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==}
engines: {node: '>=0.10.0'}
+ dev: true
/git-config-path@1.0.1:
resolution: {integrity: sha512-KcJ2dlrrP5DbBnYIZ2nlikALfRhKzNSX0stvv3ImJ+fvC4hXKoV+U+74SV0upg+jlQZbrtQzc0bu6/Zh+7aQbg==}
@@ -12942,49 +12256,6 @@ 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
-
- /glsl-token-assignments@2.0.2:
- resolution: {integrity: sha512-OwXrxixCyHzzA0U2g4btSNAyB2Dx8XrztY5aVUCjRSh4/D0WoJn8Qdps7Xub3sz6zE73W3szLrmWtQ7QMpeHEQ==}
- dev: false
-
- /glsl-token-depth@1.1.2:
- resolution: {integrity: sha512-eQnIBLc7vFf8axF9aoi/xW37LSWd2hCQr/3sZui8aBJnksq9C7zMeUYHVJWMhFzXrBU7fgIqni4EhXVW4/krpg==}
- dev: false
-
- /glsl-token-descope@1.0.2:
- resolution: {integrity: sha512-kS2PTWkvi/YOeicVjXGgX5j7+8N7e56srNDEHDTVZ1dcESmbmpmgrnpjPcjxJjMxh56mSXYoFdZqb90gXkGjQw==}
- dependencies:
- glsl-token-assignments: 2.0.2
- glsl-token-depth: 1.1.2
- glsl-token-properties: 1.0.1
- glsl-token-scope: 1.1.2
- dev: false
-
- /glsl-token-functions@1.0.1:
- resolution: {integrity: sha512-EigGhp1g+aUVeUNY7H1o5tL/bnwIB3/FcRREPr2E7Du+/UDXN24hDkaZ3e4aWHDjHr9lJ6YHXMISkwhUYg9UOg==}
- dev: false
-
- /glsl-token-properties@1.0.1:
- resolution: {integrity: sha512-dSeW1cOIzbuUoYH0y+nxzwK9S9O3wsjttkq5ij9ZGw0OS41BirKJzzH48VLm8qLg+au6b0sINxGC0IrGwtQUcA==}
- dev: false
-
- /glsl-token-scope@1.1.2:
- resolution: {integrity: sha512-YKyOMk1B/tz9BwYUdfDoHvMIYTGtVv2vbDSLh94PT4+f87z21FVdou1KNKgF+nECBTo0fJ20dpm0B1vZB1Q03A==}
- dev: false
-
- /glsl-token-string@1.0.1:
- resolution: {integrity: sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg==}
- dev: false
-
- /glsl-tokenizer@2.1.5:
- resolution: {integrity: sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==}
- dependencies:
- through2: 0.6.5
- dev: false
-
/google-auth-library@9.9.0:
resolution: {integrity: sha512-9l+zO07h1tDJdIHN74SpnWIlNR+OuOemXlWJlLP9pXy6vFtizgpEzMuwJa4lqY9UAdiAv5DVd5ql0Am916I+aA==}
engines: {node: '>=14'}
@@ -13176,10 +12447,6 @@ packages:
dependencies:
'@babel/runtime': 7.24.8
- /hls.js@1.3.5:
- resolution: {integrity: sha512-uybAvKS6uDe0MnWNEPnO0krWVr+8m2R0hJ/viql8H3MVK+itq8gGQuIYoFHL3rECkIpNH98Lw8YuuWMKZxp3Ew==}
- dev: false
-
/hls.js@1.5.11:
resolution: {integrity: sha512-q3We1izi2+qkOO+TvZdHv+dx6aFzdtk3xc1/Qesrvto4thLTT/x/1FK85c5h1qZE4MmMBNgKg+MIW8nxQfxwBw==}
dev: false
@@ -13343,10 +12610,6 @@ packages:
resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
engines: {node: '>= 4'}
- /immediate@3.0.6:
- resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
- dev: false
-
/immer@10.0.4:
resolution: {integrity: sha512-cuBuGK40P/sk5IzWa9QPUaAdvPHjkk1c+xYsd9oZw+YQQEV+10G0P5uMpGctZZKnyQ+ibRO08bD25nWLmYi2pw==}
dev: false
@@ -13644,12 +12907,14 @@ packages:
/is-extendable@0.1.1:
resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
engines: {node: '>=0.10.0'}
+ dev: true
/is-extendable@1.0.1:
resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==}
engines: {node: '>=0.10.0'}
dependencies:
is-plain-object: 2.0.4
+ dev: true
/is-extglob@1.0.0:
resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==}
@@ -13834,10 +13099,6 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /is-promise@2.2.2:
- resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
- dev: false
-
/is-reference@1.2.1:
resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
dependencies:
@@ -14065,15 +13326,6 @@ packages:
set-function-name: 2.0.2
dev: true
- /its-fine@1.2.5(react@18.3.1):
- resolution: {integrity: sha512-fXtDA0X0t0eBYAGLVM5YsgJGsJ5jEmqZEPrGbzdf5awjv0xE7nqv3TVnvtUF060Tkes15DbDAKW/I48vsb6SyA==}
- peerDependencies:
- react: '*'
- dependencies:
- '@types/react-reconciler': 0.28.8
- react: 18.3.1
- dev: false
-
/jackspeak@3.1.2:
resolution: {integrity: sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==}
engines: {node: '>=14'}
@@ -14831,36 +14083,6 @@ packages:
resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
engines: {node: '>=6'}
- /lamina@1.1.23(@react-three/fiber@8.16.8)(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)(three@0.166.1):
- resolution: {integrity: sha512-sxcoOyws9fK73tHJFsXgZlIJho++nf+FwWzpbvAheUvayl30DyJmPd0U0Q6v/ECcJuuujb7Txcr4SLOZrdDPJA==}
- peerDependencies:
- '@react-three/fiber': '>=8.0'
- react: '*'
- react-dom: '*'
- three: '>=0.138'
- peerDependenciesMeta:
- '@react-three/fiber':
- optional: true
- react:
- optional: true
- react-dom:
- optional: true
- dependencies:
- '@react-three/fiber': 8.16.8(react-dom@18.3.1)(react@18.3.1)(three@0.166.1)
- glsl-token-descope: 1.0.2
- glsl-token-functions: 1.0.1
- glsl-token-string: 1.0.1
- glsl-tokenizer: 2.1.5
- leva: 0.9.35(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- three: 0.166.1
- three-custom-shader-material: 4.0.0(@react-three/fiber@8.16.8)(react@18.3.1)(three@0.166.1)
- transitivePeerDependencies:
- - '@types/react'
- - '@types/react-dom'
- dev: false
-
/language-subtag-registry@0.3.22:
resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
dev: true
@@ -14974,30 +14196,6 @@ packages:
- supports-color
dev: true
- /leva@0.9.35(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-sp/ZbHGrrzM+eq+wIAc9X7C5qFagNERYkwaulKI/xy0XrDPV67jLUSSqTCFSoSc0Uk96j3oephYoO/6I8mZNuw==}
- peerDependencies:
- react: '*'
- react-dom: '*'
- dependencies:
- '@radix-ui/react-portal': 1.0.4(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
- '@radix-ui/react-tooltip': 1.0.7(@types/react@18.3.3)(react-dom@18.3.1)(react@18.3.1)
- '@stitches/react': 1.2.8(react@18.3.1)
- '@use-gesture/react': 10.3.1(react@18.3.1)
- colord: 2.9.3
- dequal: 2.0.3
- merge-value: 1.0.0
- react: 18.3.1
- react-colorful: 5.6.1(react-dom@18.3.1)(react@18.3.1)
- react-dom: 18.3.1(react@18.3.1)
- react-dropzone: 12.1.0(react@18.3.1)
- v8n: 1.5.1
- zustand: 3.7.2(react@18.3.1)
- transitivePeerDependencies:
- - '@types/react'
- - '@types/react-dom'
- dev: false
-
/leven@3.1.0:
resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
engines: {node: '>=6'}
@@ -15036,12 +14234,6 @@ packages:
- supports-color
dev: true
- /lie@3.3.0:
- resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
- dependencies:
- immediate: 3.0.6
- dev: false
-
/lilconfig@2.0.5:
resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==}
engines: {node: '>=10'}
@@ -15245,16 +14437,6 @@ packages:
hasBin: true
dev: true
- /maath@0.10.8(@types/three@0.166.0)(three@0.166.1):
- resolution: {integrity: sha512-tRvbDF0Pgqz+9XUa4jjfgAQ8/aPKmQdWXilFu2tMy4GWj4NOsx99HlULO4IeREfbO3a0sA145DZYyvXPkybm0g==}
- peerDependencies:
- '@types/three': '>=0.134.0'
- three: '>=0.134.0'
- dependencies:
- '@types/three': 0.166.0
- three: 0.166.1
- dev: false
-
/magic-string@0.30.9:
resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==}
engines: {node: '>=12'}
@@ -15415,32 +14597,10 @@ packages:
/merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
- /merge-value@1.0.0:
- resolution: {integrity: sha512-fJMmvat4NeKz63Uv9iHWcPDjCWcCkoiRoajRTEO8hlhUC6rwaHg0QCF9hBOTjZmm4JuglPckPSTtcuJL5kp0TQ==}
- engines: {node: '>=0.10.0'}
- dependencies:
- get-value: 2.0.6
- is-extendable: 1.0.1
- mixin-deep: 1.3.2
- set-value: 2.0.1
- dev: false
-
/merge2@1.4.1:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
- /meshline@3.3.1(three@0.166.1):
- resolution: {integrity: sha512-/TQj+JdZkeSUOl5Mk2J7eLcYTLiQm2IDzmlSvYm7ov15anEcDJ92GHqqazxTSreeNgfnYu24kiEvvv0WlbCdFQ==}
- peerDependencies:
- three: '>=0.137'
- dependencies:
- three: 0.166.1
- dev: false
-
- /meshoptimizer@0.18.1:
- resolution: {integrity: sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==}
- dev: false
-
/methods@1.1.2:
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
engines: {node: '>= 0.6'}
@@ -15700,6 +14860,7 @@ packages:
dependencies:
for-in: 1.0.2
is-extendable: 1.0.1
+ dev: true
/mkdirp-classic@0.5.3:
resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
@@ -16235,11 +15396,6 @@ packages:
kind-of: 3.2.2
dev: true
- /object-hash@3.0.0:
- resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
- engines: {node: '>= 6'}
- dev: false
-
/object-inspect@1.13.2:
resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
engines: {node: '>= 0.4'}
@@ -16970,10 +16126,6 @@ packages:
picocolors: 1.0.1
source-map-js: 1.2.0
- /potpack@1.0.2:
- resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==}
- dev: false
-
/preferred-pm@3.1.3:
resolution: {integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==}
engines: {node: '>=10'}
@@ -17122,13 +16274,6 @@ packages:
retry: 0.12.0
dev: true
- /promise-worker-transferable@1.0.4:
- resolution: {integrity: sha512-bN+0ehEnrXfxV2ZQvU2PetO0n4gqBD4ulq3MI1WOPLgr7/Mg9yRQkX5+0v1vagr74ZTsl7XtzlaYDo2EuCeYJw==}
- dependencies:
- is-promise: 2.2.2
- lie: 3.3.0
- dev: false
-
/prompts@2.4.2:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
@@ -17297,25 +16442,6 @@ packages:
react: 18.3.1
dev: false
- /react-colorful@5.6.1(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==}
- peerDependencies:
- react: '*'
- react-dom: '*'
- dependencies:
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- dev: false
-
- /react-composer@5.0.3(react@18.3.1):
- resolution: {integrity: sha512-1uWd07EME6XZvMfapwZmc7NgCZqDemcvicRi3wMJzXsQLvZ3L7fTHVyPy1bZdnWXM4iPjYuNE+uJ41MLKeTtnA==}
- peerDependencies:
- react: '*'
- dependencies:
- prop-types: 15.8.1
- react: 18.3.1
- dev: false
-
/react-copy-to-clipboard@5.1.0(react@18.3.1):
resolution: {integrity: sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==}
peerDependencies:
@@ -17353,18 +16479,6 @@ packages:
scheduler: 0.25.0-rc-f994737d14-20240522
dev: false
- /react-dropzone@12.1.0(react@18.3.1):
- resolution: {integrity: sha512-iBYHA1rbopIvtzokEX4QubO6qk5IF/x3BtKGu74rF2JkQDXnwC4uO/lHKpaw4PJIV6iIAYOlwLv2FpiGyqHNog==}
- engines: {node: '>= 10.13'}
- peerDependencies:
- react: '*'
- dependencies:
- attr-accept: 2.2.2
- file-selector: 0.5.0
- prop-types: 15.8.1
- react: 18.3.1
- dev: false
-
/react-fast-compare@3.2.2:
resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==}
dev: false
@@ -17434,17 +16548,6 @@ packages:
resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==}
dev: false
- /react-reconciler@0.27.0(react@18.3.1):
- resolution: {integrity: sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==}
- engines: {node: '>=0.10.0'}
- peerDependencies:
- react: '*'
- dependencies:
- loose-envify: 1.4.0
- react: 18.3.1
- scheduler: 0.21.0
- dev: false
-
/react-refractor@2.2.0(react@18.3.1):
resolution: {integrity: sha512-UvWkBVqH/2b9nkkkt4UNFtU3aY1orQfd4plPjx5rxbefy6vGajNHU9n+tv8CbykFyVirr3vEBfN2JTxyK0d36g==}
peerDependencies:
@@ -17477,17 +16580,6 @@ packages:
prop-types: 15.8.1
dev: false
- /react-use-measure@2.1.1(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==}
- peerDependencies:
- react: '*'
- react-dom: '*'
- dependencies:
- debounce: 1.2.1
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- dev: false
-
/react@18.3.1:
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
engines: {node: '>=0.10.0'}
@@ -17558,15 +16650,6 @@ packages:
mute-stream: 1.0.0
dev: true
- /readable-stream@1.0.34:
- resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==}
- dependencies:
- core-util-is: 1.0.3
- inherits: 2.0.4
- isarray: 0.0.1
- string_decoder: 0.10.31
- dev: false
-
/readable-stream@1.1.14:
resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==}
dependencies:
@@ -18141,12 +17224,6 @@ packages:
dependencies:
xmlchars: 2.2.0
- /scheduler@0.21.0:
- resolution: {integrity: sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==}
- dependencies:
- loose-envify: 1.4.0
- dev: false
-
/scheduler@0.23.2:
resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
dependencies:
@@ -18274,6 +17351,7 @@ packages:
is-extendable: 0.1.1
is-plain-object: 2.0.4
split-string: 3.1.0
+ dev: true
/setprototypeof@1.2.0:
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
@@ -18627,6 +17705,7 @@ packages:
engines: {node: '>=0.10.0'}
dependencies:
extend-shallow: 3.0.2
+ dev: true
/split2@3.2.2:
resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==}
@@ -18678,16 +17757,6 @@ packages:
object-copy: 0.1.0
dev: true
- /stats-gl@2.2.8:
- resolution: {integrity: sha512-94G5nZvduDmzxBS7K0lYnynYwreZpkknD8g5dZmU6mpwIhy3caCrjAm11Qm1cbyx7mqix7Fp00RkbsonzKWnoQ==}
- dependencies:
- '@types/three': 0.163.0
- dev: false
-
- /stats.js@0.17.0:
- resolution: {integrity: sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==}
- dev: false
-
/statuses@2.0.1:
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
engines: {node: '>= 0.8'}
@@ -19234,60 +18303,6 @@ packages:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: true
- /three-custom-shader-material@4.0.0(@react-three/fiber@8.16.8)(react@18.3.1)(three@0.166.1):
- resolution: {integrity: sha512-oMlHSANeKJdpXiLnQTQILF0tY6p2q6tgzQiR5UzMtC9oCa+EQgMXh28dvzsnqtWVnnv6FGwXRfNFgqcv+mHW7Q==}
- peerDependencies:
- '@react-three/fiber': '>=8.0'
- react: '*'
- three: '>=0.140'
- peerDependenciesMeta:
- '@react-three/fiber':
- optional: true
- react:
- optional: true
- dependencies:
- '@react-three/fiber': 8.16.8(react-dom@18.3.1)(react@18.3.1)(three@0.166.1)
- glsl-token-functions: 1.0.1
- glsl-token-string: 1.0.1
- glsl-tokenizer: 2.1.5
- object-hash: 3.0.0
- react: 18.3.1
- three: 0.166.1
- dev: false
-
- /three-mesh-bvh@0.7.6(three@0.166.1):
- resolution: {integrity: sha512-rCjsnxEqR9r1/C/lCqzGLS67NDty/S/eT6rAJfDvsanrIctTWdNoR4ZOGWewCB13h1QkVo2BpmC0wakj1+0m8A==}
- peerDependencies:
- three: '>= 0.151.0'
- dependencies:
- three: 0.166.1
- dev: false
-
- /three-stdlib@2.30.4(three@0.166.1):
- resolution: {integrity: sha512-E7sN8UkaorSq2uRZU14AE7wXkdCBa2oFwPkPt92zaecuzrgd98BXkTt+2tFQVF1tPJRvfs7aMZV5dSOq4/vNVg==}
- peerDependencies:
- three: '>=0.128.0'
- dependencies:
- '@types/draco3d': 1.4.10
- '@types/offscreencanvas': 2019.7.3
- '@types/webxr': 0.5.19
- draco3d: 1.5.7
- fflate: 0.6.10
- potpack: 1.0.2
- three: 0.166.1
- dev: false
-
- /three@0.166.1:
- resolution: {integrity: sha512-LtuafkKHHzm61AQA1be2MAYIw1IjmhOUxhBa0prrLpEMWbV7ijvxCRHjSgHPGp2493wLBzwKV46tA9nivLEgKg==}
- dev: false
-
- /through2@0.6.5:
- resolution: {integrity: sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==}
- dependencies:
- readable-stream: 1.0.34
- xtend: 4.0.2
- dev: false
-
/through2@2.0.5:
resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
dependencies:
@@ -19420,30 +18435,6 @@ packages:
resolution: {integrity: sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==}
engines: {node: '>=0.10.0'}
- /troika-three-text@0.49.1(three@0.166.1):
- resolution: {integrity: sha512-lXGWxgjJP9kw4i4Wh+0k0Q/7cRfS6iOME4knKht/KozPu9GcFA9NnNpRvehIhrUawq9B0ZRw+0oiFHgRO+4Wig==}
- peerDependencies:
- three: '>=0.125.0'
- dependencies:
- bidi-js: 1.0.3
- three: 0.166.1
- troika-three-utils: 0.49.0(three@0.166.1)
- troika-worker-utils: 0.49.0
- webgl-sdf-generator: 1.1.1
- dev: false
-
- /troika-three-utils@0.49.0(three@0.166.1):
- resolution: {integrity: sha512-umitFL4cT+Fm/uONmaQEq4oZlyRHWwVClaS6ZrdcueRvwc2w+cpNQ47LlJKJswpqtMFWbEhOLy0TekmcPZOdYA==}
- peerDependencies:
- three: '>=0.125.0'
- dependencies:
- three: 0.166.1
- dev: false
-
- /troika-worker-utils@0.49.0:
- resolution: {integrity: sha512-1xZHoJrG0HFfCvT/iyN41DvI/nRykiBtHqFkGaGgJwq5iXfIZFBiPPEHFpPpgyKM3Oo5ITHXP5wM2TNQszYdVg==}
- dev: false
-
/ts-api-utils@1.3.0(typescript@5.4.5):
resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
engines: {node: '>=16'}
@@ -19549,16 +18540,6 @@ packages:
dependencies:
safe-buffer: 5.2.1
- /tunnel-rat@0.1.2(@types/react@18.3.3)(react@18.3.1):
- resolution: {integrity: sha512-lR5VHmkPhzdhrM092lI2nACsLO4QubF0/yoOhzX7c+wIpbN1GjHNzCc91QlpxBi+cnx8vVJ+Ur6vL5cEoQPFpQ==}
- dependencies:
- zustand: 4.5.4(@types/react@18.3.3)(react@18.3.1)
- transitivePeerDependencies:
- - '@types/react'
- - immer
- - react
- dev: false
-
/tunnel@0.0.6:
resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==}
engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'}
@@ -19974,14 +18955,6 @@ packages:
tslib: 2.6.3
dev: false
- /use-sync-external-store@1.2.0(react@18.3.1):
- resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
- peerDependencies:
- react: '*'
- dependencies:
- react: 18.3.1
- dev: false
-
/use-sync-external-store@1.2.2(react@18.3.1):
resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==}
peerDependencies:
@@ -20003,11 +18976,6 @@ packages:
/util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- /utility-types@3.11.0:
- resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==}
- engines: {node: '>= 4'}
- dev: false
-
/utils-merge@1.0.1:
resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
engines: {node: '>= 0.4.0'}
@@ -20023,6 +18991,7 @@ packages:
/uuid@9.0.1:
resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
hasBin: true
+ dev: true
/uuidv7@0.4.4:
resolution: {integrity: sha512-jjRGChg03uGp9f6wQYSO8qXkweJwRbA5WRuEQE8xLIiehIzIIi23qZSzsyvZPCPoFqkeLtZuz7Plt1LGukAInA==}
@@ -20042,10 +19011,6 @@ packages:
convert-source-map: 2.0.0
dev: true
- /v8n@1.5.1:
- resolution: {integrity: sha512-LdabyT4OffkyXFCe9UT+uMkxNBs5rcTVuZClvxQr08D5TUgo1OFKkoT65qYRCsiKBl/usHjpXvP4hHMzzDRj3A==}
- dev: false
-
/valibot@0.31.1:
resolution: {integrity: sha512-2YYIhPrnVSz/gfT2/iXVTrSj92HwchCt9Cga/6hX4B26iCz9zkIsGTS0HjDYTZfTi1Un0X6aRvhBi1cfqs/i0Q==}
dev: false
@@ -20195,14 +19160,6 @@ packages:
dependencies:
defaults: 1.0.4
- /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==}
dev: true
@@ -20579,35 +19536,3 @@ packages:
/zod@3.23.8:
resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
-
- /zustand@3.7.2(react@18.3.1):
- resolution: {integrity: sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==}
- engines: {node: '>=12.7.0'}
- peerDependencies:
- react: '*'
- peerDependenciesMeta:
- react:
- optional: true
- dependencies:
- react: 18.3.1
- dev: false
-
- /zustand@4.5.4(@types/react@18.3.3)(react@18.3.1):
- resolution: {integrity: sha512-/BPMyLKJPtFEvVL0E9E9BTUM63MNyhPGlvxk1XjrfWTUlV+BR8jufjsovHzrtR6YNcBEcL7cMHovL1n9xHawEg==}
- engines: {node: '>=12.7.0'}
- peerDependencies:
- '@types/react': '>=16.8'
- immer: '>=9.0.6'
- react: '*'
- peerDependenciesMeta:
- '@types/react':
- optional: true
- immer:
- optional: true
- react:
- optional: true
- dependencies:
- '@types/react': 18.3.3
- react: 18.3.1
- use-sync-external-store: 1.2.0(react@18.3.1)
- dev: false