@threlte/xr 1.0.0-next.12 → 1.0.0-next.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ARButton.svelte +10 -3
- package/dist/components/ARButton.svelte.d.ts +2 -4
- package/dist/components/Controller.svelte +86 -46
- package/dist/components/Controller.svelte.d.ts +10 -10
- package/dist/components/Hand.svelte +109 -60
- package/dist/components/Hand.svelte.d.ts +6 -6
- package/dist/components/Headset.svelte +6 -4
- package/dist/components/Headset.svelte.d.ts +0 -1
- package/dist/components/VRButton.svelte +8 -3
- package/dist/components/VRButton.svelte.d.ts +0 -1
- package/dist/components/XR.svelte +156 -96
- package/dist/components/XR.svelte.d.ts +8 -9
- package/dist/components/XRButton.svelte +71 -38
- package/dist/components/XRButton.svelte.d.ts +8 -9
- package/dist/components/internal/Cursor.svelte +38 -25
- package/dist/components/internal/Cursor.svelte.d.ts +3 -4
- package/dist/components/internal/PointerCursor.svelte +46 -34
- package/dist/components/internal/PointerCursor.svelte.d.ts +2 -2
- package/dist/components/internal/ScenePortal.svelte +15 -12
- package/dist/components/internal/ScenePortal.svelte.d.ts +0 -1
- package/dist/components/internal/ShortRay.svelte +23 -12
- package/dist/components/internal/ShortRay.svelte.d.ts +2 -2
- package/dist/components/internal/TeleportCursor.svelte +51 -37
- package/dist/components/internal/TeleportCursor.svelte.d.ts +2 -2
- package/dist/components/internal/TeleportRay.svelte +76 -53
- package/dist/components/internal/TeleportRay.svelte.d.ts +2 -2
- package/dist/hooks/useController.d.ts +0 -1
- package/dist/hooks/useHand.d.ts +1 -1
- package/dist/hooks/useHandJoint.d.ts +1 -1
- package/dist/hooks/useHitTest.d.ts +0 -1
- package/dist/hooks/useXR.d.ts +0 -1
- package/dist/internal/stores.d.ts +0 -1
- package/dist/lib/getXRSessionOptions.d.ts +0 -1
- package/dist/lib/getXRSupportState.d.ts +1 -2
- package/dist/lib/toggleXRSession.d.ts +1 -2
- package/dist/plugins/pointerControls/context.d.ts +2 -2
- package/dist/plugins/pointerControls/index.d.ts +1 -1
- package/dist/plugins/teleportControls/context.d.ts +3 -3
- package/dist/plugins/teleportControls/index.d.ts +1 -1
- package/dist/types.d.ts +0 -1
- package/package.json +8 -8
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { T, useThrelte } from '@threlte/core'
|
|
3
|
+
import { Object3D } from 'three'
|
|
4
|
+
|
|
5
|
+
const { scene } = useThrelte()
|
|
6
|
+
|
|
7
|
+
const proxy = new Object3D()
|
|
8
|
+
proxy.add = (child) => {
|
|
9
|
+
scene.add(child)
|
|
10
|
+
return child
|
|
11
|
+
}
|
|
12
|
+
proxy.remove = (child) => {
|
|
13
|
+
scene.remove(child)
|
|
14
|
+
return child
|
|
15
|
+
}
|
|
13
16
|
</script>
|
|
14
17
|
|
|
15
18
|
<T
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="svelte" />
|
|
2
1
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
2
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
3
|
$$bindings?: Bindings;
|
|
@@ -1,12 +1,22 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { T } from '@threlte/core'
|
|
3
|
+
import { pointerState, teleportState, teleportIntersection } from '../../internal/stores'
|
|
4
|
+
import type { Snippet } from 'svelte'
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
handedness: 'left' | 'right'
|
|
8
|
+
children?: Snippet
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
let { handedness, children }: Props = $props()
|
|
12
|
+
|
|
13
|
+
let hovering = $derived($teleportState[handedness].hovering)
|
|
14
|
+
let intersection = $derived(teleportIntersection[handedness])
|
|
15
|
+
let visible = $derived(
|
|
16
|
+
$pointerState[handedness].enabled || (hovering && $intersection === undefined)
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
const vertexShader = `
|
|
10
20
|
uniform mat4 modelViewMatrix;
|
|
11
21
|
uniform mat4 projectionMatrix;
|
|
12
22
|
attribute vec2 uv;
|
|
@@ -15,13 +25,14 @@ const vertexShader = `
|
|
|
15
25
|
void main() {
|
|
16
26
|
vUv = uv;
|
|
17
27
|
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
18
|
-
}
|
|
19
|
-
|
|
28
|
+
}`
|
|
29
|
+
|
|
30
|
+
const fragmentShader = `
|
|
20
31
|
precision mediump float;
|
|
21
32
|
varying vec2 vUv;
|
|
22
33
|
void main() {
|
|
23
34
|
gl_FragColor = vec4(1.0, 1.0, 1.0, pow(vUv.y - 1.0, 2.0));
|
|
24
|
-
}
|
|
35
|
+
}`
|
|
25
36
|
</script>
|
|
26
37
|
|
|
27
38
|
<T.Group {visible}>
|
|
@@ -1,41 +1,55 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const { start, stop } = useTask(
|
|
13
|
-
() => {
|
|
14
|
-
if (intersection.current === void 0)
|
|
15
|
-
return;
|
|
16
|
-
const { point, face, object } = intersection.current;
|
|
17
|
-
ref.position.lerp(point, 0.4);
|
|
18
|
-
if (face) {
|
|
19
|
-
normalMatrix.getNormalMatrix(object.matrixWorld);
|
|
20
|
-
worldNormal.copy(face.normal).applyMatrix3(normalMatrix).normalize();
|
|
21
|
-
ref.lookAt(vec3.addVectors(point, worldNormal));
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
autoStart: false
|
|
26
|
-
}
|
|
27
|
-
);
|
|
28
|
-
const size = spring(0.1, { stiffness: 0.2 });
|
|
29
|
-
$effect.pre(() => {
|
|
30
|
-
if ($intersection === void 0) {
|
|
31
|
-
size.set(0.1);
|
|
32
|
-
stop();
|
|
33
|
-
} else {
|
|
34
|
-
size.set(1);
|
|
35
|
-
ref.position.copy($intersection.point);
|
|
36
|
-
start();
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { spring } from 'svelte/motion'
|
|
3
|
+
import { Group, Matrix3, Vector3 } from 'three'
|
|
4
|
+
import { T, useTask } from '@threlte/core'
|
|
5
|
+
import { teleportIntersection } from '../../internal/stores'
|
|
6
|
+
import Cursor from './Cursor.svelte'
|
|
7
|
+
import type { Snippet } from 'svelte'
|
|
8
|
+
|
|
9
|
+
interface Props {
|
|
10
|
+
handedness: 'left' | 'right'
|
|
11
|
+
children?: Snippet
|
|
37
12
|
}
|
|
38
|
-
|
|
13
|
+
|
|
14
|
+
let { handedness, children }: Props = $props()
|
|
15
|
+
|
|
16
|
+
const ref = new Group()
|
|
17
|
+
const vec3 = new Vector3()
|
|
18
|
+
const normalMatrix = new Matrix3()
|
|
19
|
+
const worldNormal = new Vector3()
|
|
20
|
+
|
|
21
|
+
let intersection = $derived(teleportIntersection[handedness])
|
|
22
|
+
|
|
23
|
+
const { start, stop } = useTask(
|
|
24
|
+
() => {
|
|
25
|
+
if (intersection.current === undefined) return
|
|
26
|
+
|
|
27
|
+
const { point, face, object } = intersection.current
|
|
28
|
+
ref.position.lerp(point, 0.4)
|
|
29
|
+
|
|
30
|
+
if (face) {
|
|
31
|
+
normalMatrix.getNormalMatrix(object.matrixWorld)
|
|
32
|
+
worldNormal.copy(face.normal).applyMatrix3(normalMatrix).normalize()
|
|
33
|
+
ref.lookAt(vec3.addVectors(point, worldNormal))
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
autoStart: false
|
|
38
|
+
}
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
const size = spring(0.1, { stiffness: 0.2 })
|
|
42
|
+
|
|
43
|
+
$effect.pre(() => {
|
|
44
|
+
if ($intersection === undefined) {
|
|
45
|
+
size.set(0.1)
|
|
46
|
+
stop()
|
|
47
|
+
} else {
|
|
48
|
+
size.set(1)
|
|
49
|
+
ref.position.copy($intersection.point)
|
|
50
|
+
start()
|
|
51
|
+
}
|
|
52
|
+
})
|
|
39
53
|
</script>
|
|
40
54
|
|
|
41
55
|
<T
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
2
|
declare const TeleportCursor: import("svelte").Component<{
|
|
3
|
-
handedness:
|
|
4
|
-
children?: Snippet
|
|
3
|
+
handedness: "left" | "right";
|
|
4
|
+
children?: Snippet;
|
|
5
5
|
}, {}, "">;
|
|
6
6
|
export default TeleportCursor;
|
|
@@ -1,58 +1,81 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const vec3 = new Vector3();
|
|
15
|
-
const v2_1 = new Vector2();
|
|
16
|
-
const v2_2 = new Vector2();
|
|
17
|
-
let intersection = $derived(teleportIntersection[handedness]);
|
|
18
|
-
const setCurvePoints = (alpha = 0.3) => {
|
|
19
|
-
if (intersection.current === void 0)
|
|
20
|
-
return;
|
|
21
|
-
const rayEnd = intersection.current.point;
|
|
22
|
-
targetRay.getWorldPosition(rayStart);
|
|
23
|
-
rayMidpoint.x = (rayStart.x + rayEnd.x) / 2;
|
|
24
|
-
rayMidpoint.y = (rayStart.y + rayEnd.y) / 2;
|
|
25
|
-
rayMidpoint.z = (rayStart.z + rayEnd.z) / 2;
|
|
26
|
-
const arc = Math.log1p(
|
|
27
|
-
v2_1.set(rayStart.x, rayStart.z).distanceTo(v2_2.set(rayEnd.x, rayEnd.z))
|
|
28
|
-
);
|
|
29
|
-
rayMidpoint.y += arc;
|
|
30
|
-
curve.v0.lerp(rayStart, alpha);
|
|
31
|
-
curve.v1.lerp(rayMidpoint, alpha);
|
|
32
|
-
curve.v2.lerp(rayEnd, alpha);
|
|
33
|
-
for (let i = 0, j = 0; i < rayDivisions; i += 1, j += 3) {
|
|
34
|
-
const t = i / rayDivisions;
|
|
35
|
-
curve.getPoint(t, vec3);
|
|
36
|
-
positions[j + 0] = vec3.x;
|
|
37
|
-
positions[j + 1] = vec3.y;
|
|
38
|
-
positions[j + 2] = vec3.z;
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Vector3, QuadraticBezierCurve3, type XRTargetRaySpace, Vector2 } from 'three'
|
|
3
|
+
import { Line2 } from 'three/examples/jsm/lines/Line2.js'
|
|
4
|
+
import { LineGeometry } from 'three/examples/jsm/lines/LineGeometry.js'
|
|
5
|
+
import { LineMaterial } from 'three/examples/jsm/lines/LineMaterial.js'
|
|
6
|
+
import { T, useTask } from '@threlte/core'
|
|
7
|
+
import { teleportIntersection } from '../../internal/stores'
|
|
8
|
+
import type { Snippet } from 'svelte'
|
|
9
|
+
|
|
10
|
+
interface Props {
|
|
11
|
+
handedness: 'left' | 'right'
|
|
12
|
+
targetRay: XRTargetRaySpace
|
|
13
|
+
children?: Snippet
|
|
39
14
|
}
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
()
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
15
|
+
|
|
16
|
+
let { handedness, targetRay, children }: Props = $props()
|
|
17
|
+
|
|
18
|
+
let lineGeometry = new LineGeometry()
|
|
19
|
+
|
|
20
|
+
const rayStart = new Vector3()
|
|
21
|
+
const rayMidpoint = new Vector3()
|
|
22
|
+
const curve = new QuadraticBezierCurve3()
|
|
23
|
+
const rayDivisions = 40
|
|
24
|
+
const positions = new Float32Array(rayDivisions * 3)
|
|
25
|
+
const vec3 = new Vector3()
|
|
26
|
+
|
|
27
|
+
const v2_1 = new Vector2()
|
|
28
|
+
const v2_2 = new Vector2()
|
|
29
|
+
|
|
30
|
+
let intersection = $derived(teleportIntersection[handedness])
|
|
31
|
+
|
|
32
|
+
const setCurvePoints = (alpha = 0.3) => {
|
|
33
|
+
if (intersection.current === undefined) return
|
|
34
|
+
|
|
35
|
+
const rayEnd = intersection.current.point
|
|
36
|
+
targetRay.getWorldPosition(rayStart)
|
|
37
|
+
|
|
38
|
+
rayMidpoint.x = (rayStart.x + rayEnd.x) / 2
|
|
39
|
+
rayMidpoint.y = (rayStart.y + rayEnd.y) / 2
|
|
40
|
+
rayMidpoint.z = (rayStart.z + rayEnd.z) / 2
|
|
41
|
+
|
|
42
|
+
const arc = Math.log1p(
|
|
43
|
+
v2_1.set(rayStart.x, rayStart.z).distanceTo(v2_2.set(rayEnd.x, rayEnd.z))
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
// Create an arc
|
|
47
|
+
rayMidpoint.y += arc
|
|
48
|
+
|
|
49
|
+
curve.v0.lerp(rayStart, alpha)
|
|
50
|
+
curve.v1.lerp(rayMidpoint, alpha)
|
|
51
|
+
curve.v2.lerp(rayEnd, alpha)
|
|
52
|
+
|
|
53
|
+
for (let i = 0, j = 0; i < rayDivisions; i += 1, j += 3) {
|
|
54
|
+
const t = i / rayDivisions
|
|
55
|
+
curve.getPoint(t, vec3)
|
|
56
|
+
positions[j + 0] = vec3.x
|
|
57
|
+
positions[j + 1] = vec3.y
|
|
58
|
+
positions[j + 2] = vec3.z
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
lineGeometry.setPositions(positions)
|
|
54
62
|
}
|
|
55
|
-
|
|
63
|
+
|
|
64
|
+
const { start, stop } = useTask(
|
|
65
|
+
() => {
|
|
66
|
+
setCurvePoints()
|
|
67
|
+
},
|
|
68
|
+
{ autoStart: false }
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
$effect.pre(() => {
|
|
72
|
+
if ($intersection === undefined) {
|
|
73
|
+
stop()
|
|
74
|
+
} else {
|
|
75
|
+
setCurvePoints(1)
|
|
76
|
+
start()
|
|
77
|
+
}
|
|
78
|
+
})
|
|
56
79
|
</script>
|
|
57
80
|
|
|
58
81
|
{#if children}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type XRTargetRaySpace } from 'three';
|
|
2
2
|
import type { Snippet } from 'svelte';
|
|
3
3
|
declare const TeleportRay: import("svelte").Component<{
|
|
4
|
-
handedness:
|
|
4
|
+
handedness: "left" | "right";
|
|
5
5
|
targetRay: XRTargetRaySpace;
|
|
6
|
-
children?: Snippet
|
|
6
|
+
children?: Snippet;
|
|
7
7
|
}, {}, "">;
|
|
8
8
|
export default TeleportRay;
|
package/dist/hooks/useHand.d.ts
CHANGED
|
@@ -5,4 +5,4 @@ export declare const right: CurrentWritable<XRHand | undefined>;
|
|
|
5
5
|
/**
|
|
6
6
|
* Provides a reference to a current XRHand, filtered by handedness.
|
|
7
7
|
*/
|
|
8
|
-
export declare const useHand: (handedness:
|
|
8
|
+
export declare const useHand: (handedness: "left" | "right") => CurrentWritable<undefined | XRHand>;
|
|
@@ -3,4 +3,4 @@ import type { HandJoints } from '../lib/handJoints';
|
|
|
3
3
|
/**
|
|
4
4
|
* Provides a reference to a requested hand joint, once available.
|
|
5
5
|
*/
|
|
6
|
-
export declare const useHandJoint: (handedness:
|
|
6
|
+
export declare const useHandJoint: (handedness: "left" | "right", joint: HandJoints) => import("@threlte/core").CurrentWritable<XRJointSpace | undefined>;
|
package/dist/hooks/useXR.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
/// <reference types="webxr" />
|
|
2
1
|
/**
|
|
3
2
|
* Gets the support state of requested session mode.
|
|
4
3
|
* @param mode Session mode: 'inline' | 'immersive-vr' | 'immersive-ar'
|
|
5
4
|
* @returns The current support state
|
|
6
5
|
*/
|
|
7
|
-
export declare const getXRSupportState: (mode: XRSessionMode) => Promise<
|
|
6
|
+
export declare const getXRSupportState: (mode: XRSessionMode) => Promise<"unsupported" | "insecure" | "blocked" | "supported">;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="webxr" />
|
|
2
1
|
/**
|
|
3
2
|
* Starts / ends an XR session.
|
|
4
3
|
*
|
|
@@ -11,4 +10,4 @@ export declare const toggleXRSession: (sessionMode: XRSessionMode, sessionInit?:
|
|
|
11
10
|
domOverlay?: {
|
|
12
11
|
root: HTMLElement;
|
|
13
12
|
} | undefined;
|
|
14
|
-
}) | undefined, force?:
|
|
13
|
+
}) | undefined, force?: "enter" | "exit") => Promise<XRSession | undefined>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Object3D } from 'three';
|
|
2
2
|
import type { ControlsContext, HandContext } from './types';
|
|
3
|
-
export declare const getHandContext: (hand:
|
|
4
|
-
export declare const setHandContext: (hand:
|
|
3
|
+
export declare const getHandContext: (hand: "left" | "right") => HandContext;
|
|
4
|
+
export declare const setHandContext: (hand: "left" | "right", context: HandContext) => void;
|
|
5
5
|
export declare const getControlsContext: () => ControlsContext;
|
|
6
6
|
export declare const setControlsContext: (context: ControlsContext) => void;
|
|
7
7
|
interface InternalContext {
|
|
@@ -21,7 +21,7 @@ export type PointerControlsOptions = {
|
|
|
21
21
|
*/
|
|
22
22
|
fixedStep?: number;
|
|
23
23
|
};
|
|
24
|
-
export declare const pointerControls: (handedness:
|
|
24
|
+
export declare const pointerControls: (handedness: "left" | "right", options?: PointerControlsOptions) => {
|
|
25
25
|
enabled: import("@threlte/core").CurrentWritable<boolean>;
|
|
26
26
|
hovered: Map<string, import("./types").IntersectionEvent>;
|
|
27
27
|
};
|
|
@@ -21,7 +21,7 @@ export interface HandContext {
|
|
|
21
21
|
active: CurrentWritable<boolean>;
|
|
22
22
|
hovered: CurrentWritable<Intersection | undefined>;
|
|
23
23
|
}
|
|
24
|
-
export declare const getHandContext: (hand:
|
|
25
|
-
export declare const setHandContext: (hand:
|
|
24
|
+
export declare const getHandContext: (hand: "left" | "right") => HandContext;
|
|
25
|
+
export declare const setHandContext: (hand: "left" | "right", context: HandContext) => void;
|
|
26
26
|
export declare const useTeleportControls: () => Context;
|
|
27
|
-
export declare const createTeleportContext: (compute: TeleportControlsOptions[
|
|
27
|
+
export declare const createTeleportContext: (compute: TeleportControlsOptions["compute"]) => Context;
|
|
@@ -12,7 +12,7 @@ export interface TeleportControlsOptions {
|
|
|
12
12
|
*/
|
|
13
13
|
fixedStep?: number;
|
|
14
14
|
}
|
|
15
|
-
export declare const teleportControls: (handedness:
|
|
15
|
+
export declare const teleportControls: (handedness: "left" | "right", options?: TeleportControlsOptions) => {
|
|
16
16
|
enabled: import("@threlte/core").CurrentWritable<boolean>;
|
|
17
17
|
hovered: import("@threlte/core").CurrentWritable<import("three").Intersection<import("three").Object3D<import("three").Object3DEventMap>> | undefined>;
|
|
18
18
|
active: import("@threlte/core").CurrentWritable<boolean>;
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="webxr" />
|
|
2
1
|
import type { Event, Group, XRTargetRaySpace, XRGripSpace, XRHandSpace } from 'three';
|
|
3
2
|
import type { XRControllerModel } from 'three/examples/jsm/webxr/XRControllerModelFactory.js';
|
|
4
3
|
import type { XRHandModel } from 'three/examples/jsm/webxr/XRHandModelFactory.js';
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@threlte/xr",
|
|
3
|
-
"version": "1.0.0-next.
|
|
3
|
+
"version": "1.0.0-next.13",
|
|
4
4
|
"author": "Micheal Parks <michealparks1989@gmail.com> (https://parks.lol)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Tools to more easily create VR and AR experiences with Threlte",
|
|
7
7
|
"devDependencies": {
|
|
8
|
-
"@sveltejs/adapter-auto": "^3.
|
|
9
|
-
"@sveltejs/kit": "^2.7.
|
|
8
|
+
"@sveltejs/adapter-auto": "^3.3.1",
|
|
9
|
+
"@sveltejs/kit": "^2.7.7",
|
|
10
10
|
"@sveltejs/package": "^2.3.7",
|
|
11
|
-
"@sveltejs/vite-plugin-svelte": "^
|
|
11
|
+
"@sveltejs/vite-plugin-svelte": "^4.0.0",
|
|
12
12
|
"@types/three": "^0.169.0",
|
|
13
13
|
"@typescript-eslint/eslint-plugin": "^7.6.0",
|
|
14
14
|
"@typescript-eslint/parser": "^7.6.0",
|
|
@@ -17,14 +17,14 @@
|
|
|
17
17
|
"eslint-plugin-svelte": "^2.36.0",
|
|
18
18
|
"postcss": "^8.4.38",
|
|
19
19
|
"publint": "^0.2.7",
|
|
20
|
-
"svelte": "^5.1.
|
|
20
|
+
"svelte": "^5.1.10",
|
|
21
21
|
"svelte-check": "^3.6.9",
|
|
22
|
-
"three": "^0.
|
|
22
|
+
"three": "^0.170.0",
|
|
23
23
|
"tslib": "^2.6.2",
|
|
24
|
-
"typescript": "^5.
|
|
24
|
+
"typescript": "^5.6.3",
|
|
25
25
|
"vite": "^5.2.8",
|
|
26
26
|
"vite-plugin-mkcert": "^1.17.5",
|
|
27
|
-
"@threlte/core": "8.0.0-next.
|
|
27
|
+
"@threlte/core": "8.0.0-next.28"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"svelte": ">=5",
|