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! 🥳 - - - - - - - - - - - {globalPresence.map((presence, i) => { - return ( - - ) - })} - - - - - - - - ) -}) 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 ( - - - - - {value} - - - - ) -} 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