@tresjs/cientos 3.4.0 → 3.4.1
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/README.md +1 -1
- package/dist/composables/useLogger.d.ts +8 -0
- package/dist/core/abstractions/Lensflare/RandUtils.d.ts +68 -0
- package/dist/core/abstractions/Lensflare/component.vue.d.ts +69 -0
- package/dist/core/abstractions/Lensflare/constants.d.ts +20 -0
- package/dist/core/abstractions/Lensflare/index.d.ts +36 -0
- package/dist/core/abstractions/Levioso.vue.d.ts +52 -0
- package/dist/core/abstractions/MouseParallax.vue.d.ts +58 -0
- package/dist/core/abstractions/Text3D.vue.d.ts +234 -0
- package/dist/core/abstractions/index.d.ts +7 -0
- package/dist/core/abstractions/useAnimations.d.ts +18 -0
- package/dist/core/controls/CameraControls.vue.d.ts +10026 -0
- package/dist/core/controls/KeyboardControls.vue.d.ts +167 -0
- package/dist/core/controls/MapControls.vue.d.ts +54 -0
- package/dist/core/controls/OrbitControls.vue.d.ts +456 -0
- package/dist/core/controls/PointerLockControls.vue.d.ts +75 -0
- package/dist/core/controls/ScrollControls.vue.d.ts +101 -0
- package/dist/core/controls/TransformControls.vue.d.ts +124 -0
- package/dist/core/controls/index.d.ts +8 -0
- package/dist/core/directives/index.d.ts +4 -0
- package/dist/core/directives/vAlwaysLookAt.d.ts +4 -0
- package/dist/core/directives/vLightHelper.d.ts +5 -0
- package/dist/core/directives/vLog.d.ts +3 -0
- package/dist/core/index.d.ts +8 -0
- package/dist/core/loaders/SVG/component.vue.d.ts +68 -0
- package/dist/core/loaders/index.d.ts +8 -0
- package/dist/core/loaders/useFBX/component.vue.d.ts +24 -0
- package/dist/core/loaders/useFBX/index.d.ts +9 -0
- package/dist/core/loaders/useGLTF/component.vue.d.ts +65 -0
- package/dist/core/loaders/useGLTF/index.d.ts +36 -0
- package/dist/core/loaders/useProgress.d.ts +6 -0
- package/dist/core/loaders/useVideoTexture.d.ts +28 -0
- package/dist/core/materials/index.d.ts +3 -0
- package/dist/core/materials/meshGlassMaterial/index.vue.d.ts +4 -0
- package/dist/core/materials/meshGlassMaterial/material.d.ts +31 -0
- package/dist/core/materials/meshWobbleMaterial/index.vue.d.ts +23 -0
- package/dist/core/materials/meshWobbleMaterial/material.d.ts +16 -0
- package/dist/core/misc/Stats.d.ts +1 -0
- package/dist/core/misc/StatsGl.d.ts +10 -0
- package/dist/core/misc/index.d.ts +4 -0
- package/dist/core/misc/useTweakPane/index.d.ts +10 -0
- package/dist/core/shapes/Box.vue.d.ts +53 -0
- package/dist/core/shapes/Circle.vue.d.ts +52 -0
- package/dist/core/shapes/Cone.vue.d.ts +52 -0
- package/dist/core/shapes/Dodecahedron.vue.d.ts +52 -0
- package/dist/core/shapes/Icosahedron.vue.d.ts +52 -0
- package/dist/core/shapes/Octahedron.vue.d.ts +52 -0
- package/dist/core/shapes/Plane.vue.d.ts +52 -0
- package/dist/core/shapes/Ring.vue.d.ts +52 -0
- package/dist/core/shapes/Sphere.vue.d.ts +53 -0
- package/dist/core/shapes/Tetrahedron.vue.d.ts +52 -0
- package/dist/core/shapes/Torus.vue.d.ts +52 -0
- package/dist/core/shapes/TorusKnot.vue.d.ts +52 -0
- package/dist/core/shapes/Tube.vue.d.ts +53 -0
- package/dist/core/shapes/index.d.ts +14 -0
- package/dist/core/staging/Backdrop.vue.d.ts +44 -0
- package/dist/core/staging/Precipitation.vue.d.ts +226 -0
- package/dist/core/staging/Sky.vue.d.ts +77 -0
- package/dist/core/staging/Smoke.vue.d.ts +146 -0
- package/dist/core/staging/Stars.vue.d.ts +145 -0
- package/dist/core/staging/index.d.ts +8 -0
- package/dist/core/staging/useEnvironment/component.d.ts +4 -0
- package/dist/core/staging/useEnvironment/index.d.ts +17 -0
- package/dist/index.d.ts +2 -0
- package/dist/trescientos.js +10915 -0
- package/dist/trescientos.umd.cjs +355 -0
- package/dist/utils/easing.d.ts +5 -0
- package/dist/utils/index.d.ts +20 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const isProd: boolean;
|
|
2
|
+
interface LoggerComposition {
|
|
3
|
+
logError: (message: string, error?: Error | ErrorEvent) => void;
|
|
4
|
+
logWarning: (message: string) => void;
|
|
5
|
+
logMessage: (name: string, value: any) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function useLogger(): LoggerComposition;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Seedable pseudorandom number tools
|
|
3
|
+
*/
|
|
4
|
+
export default class RandUtils {
|
|
5
|
+
private _getNext;
|
|
6
|
+
private _getGenerator;
|
|
7
|
+
/**
|
|
8
|
+
* Create a new seeded pseudorandom number generator.
|
|
9
|
+
* @param [seed=0] - the seed for the generator
|
|
10
|
+
* @param [getSeededRandomGenerator=getMulberry32] - a function that returns a pseudorandom number generator
|
|
11
|
+
* @constructor
|
|
12
|
+
*/
|
|
13
|
+
constructor(seed?: number, getSeededRandomGenerator?: (seed: number) => () => number);
|
|
14
|
+
/**
|
|
15
|
+
* Reseed the pseudorandom number generator
|
|
16
|
+
*/
|
|
17
|
+
seed(s: number): void;
|
|
18
|
+
/**
|
|
19
|
+
* Return the next pseudorandom number in the interval [0, 1]
|
|
20
|
+
*/
|
|
21
|
+
rand(): number;
|
|
22
|
+
/**
|
|
23
|
+
* Random float from <low, high> interval
|
|
24
|
+
* @param low - Low value of the interval
|
|
25
|
+
* @param high - High value of the interval
|
|
26
|
+
*/
|
|
27
|
+
float(low: number, high: number): number;
|
|
28
|
+
/**
|
|
29
|
+
* Random float from <-range/2, range/2> interval
|
|
30
|
+
* @param range - Interval range
|
|
31
|
+
*/
|
|
32
|
+
floatSpread(range: number): number;
|
|
33
|
+
/**
|
|
34
|
+
* Random integer from <low, high> interval
|
|
35
|
+
* @param low Low value of the interval
|
|
36
|
+
* @param high High value of the interval
|
|
37
|
+
*/
|
|
38
|
+
int(low: number, high: number): number;
|
|
39
|
+
/**
|
|
40
|
+
* Choose an element from an array.
|
|
41
|
+
* @param array The array to choose from
|
|
42
|
+
* @returns An element from the array or null if the array is empty
|
|
43
|
+
*/
|
|
44
|
+
choice<T>(array: T[]): T | null;
|
|
45
|
+
/**
|
|
46
|
+
* Choose an element from an array or return defaultValue if array is empty.
|
|
47
|
+
* @param array The array to choose from
|
|
48
|
+
* @param defaultValue The value to return if the array is empty
|
|
49
|
+
* @returns An element from the array or defaultValue if the array is empty
|
|
50
|
+
*/
|
|
51
|
+
defaultChoice<T>(array: T[], defaultValue: T): T;
|
|
52
|
+
/**
|
|
53
|
+
* Return n elements from an array.
|
|
54
|
+
* @param array The array to sample
|
|
55
|
+
* @param sampleSizeMin The minimum sample size
|
|
56
|
+
* @param sampleSizeMax The maximum sample size
|
|
57
|
+
*/
|
|
58
|
+
sample<T>(array: T[], sampleSizeMin: number, sampleSizeMax?: number): T[];
|
|
59
|
+
/**
|
|
60
|
+
* Shuffle an array. Not in-place.
|
|
61
|
+
* @param array The array to shuffle
|
|
62
|
+
*/
|
|
63
|
+
shuffle<T>(array: T[]): T[];
|
|
64
|
+
/**
|
|
65
|
+
* The default pseudorandom generator.
|
|
66
|
+
*/
|
|
67
|
+
private getMulberry32;
|
|
68
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Lensflare } from 'three/examples/jsm/objects/Lensflare';
|
|
2
|
+
import type { LensflareElementProps, SeedProps } from '.';
|
|
3
|
+
declare const _default: import("vue").DefineComponent<{
|
|
4
|
+
color: {
|
|
5
|
+
type: import("vue").PropType<import("three").ColorRepresentation | [r: number, g: number, b: number]>;
|
|
6
|
+
};
|
|
7
|
+
texture: {
|
|
8
|
+
type: import("vue").PropType<string | import("three").Texture>;
|
|
9
|
+
};
|
|
10
|
+
scale: {
|
|
11
|
+
type: import("vue").PropType<number>;
|
|
12
|
+
default: number;
|
|
13
|
+
};
|
|
14
|
+
elements: {
|
|
15
|
+
type: import("vue").PropType<Partial<LensflareElementProps>[]>;
|
|
16
|
+
default: undefined;
|
|
17
|
+
};
|
|
18
|
+
size: {
|
|
19
|
+
type: import("vue").PropType<number>;
|
|
20
|
+
};
|
|
21
|
+
distance: {
|
|
22
|
+
type: import("vue").PropType<number>;
|
|
23
|
+
};
|
|
24
|
+
seed: {
|
|
25
|
+
type: import("vue").PropType<number>;
|
|
26
|
+
default: undefined;
|
|
27
|
+
};
|
|
28
|
+
seedProps: {
|
|
29
|
+
type: import("vue").PropType<SeedProps[]>;
|
|
30
|
+
default: undefined;
|
|
31
|
+
};
|
|
32
|
+
}, {
|
|
33
|
+
value: import("vue").ShallowRef<Lensflare | undefined>;
|
|
34
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
35
|
+
color: {
|
|
36
|
+
type: import("vue").PropType<import("three").ColorRepresentation | [r: number, g: number, b: number]>;
|
|
37
|
+
};
|
|
38
|
+
texture: {
|
|
39
|
+
type: import("vue").PropType<string | import("three").Texture>;
|
|
40
|
+
};
|
|
41
|
+
scale: {
|
|
42
|
+
type: import("vue").PropType<number>;
|
|
43
|
+
default: number;
|
|
44
|
+
};
|
|
45
|
+
elements: {
|
|
46
|
+
type: import("vue").PropType<Partial<LensflareElementProps>[]>;
|
|
47
|
+
default: undefined;
|
|
48
|
+
};
|
|
49
|
+
size: {
|
|
50
|
+
type: import("vue").PropType<number>;
|
|
51
|
+
};
|
|
52
|
+
distance: {
|
|
53
|
+
type: import("vue").PropType<number>;
|
|
54
|
+
};
|
|
55
|
+
seed: {
|
|
56
|
+
type: import("vue").PropType<number>;
|
|
57
|
+
default: undefined;
|
|
58
|
+
};
|
|
59
|
+
seedProps: {
|
|
60
|
+
type: import("vue").PropType<SeedProps[]>;
|
|
61
|
+
default: undefined;
|
|
62
|
+
};
|
|
63
|
+
}>>, {
|
|
64
|
+
scale: number;
|
|
65
|
+
elements: Partial<LensflareElementProps>[];
|
|
66
|
+
seed: number;
|
|
67
|
+
seedProps: SeedProps[];
|
|
68
|
+
}, {}>;
|
|
69
|
+
export default _default;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { LensflareElementProps, SeedProps } from '.';
|
|
2
|
+
export declare const TEXTURE_PATH = "https://raw.githubusercontent.com/Tresjs/assets/93976c7d63ac83d4a254a41a10b2362bc17e90c9/textures/lensflare/";
|
|
3
|
+
export declare const circle = "https://raw.githubusercontent.com/Tresjs/assets/93976c7d63ac83d4a254a41a10b2362bc17e90c9/textures/lensflare/circle.png";
|
|
4
|
+
export declare const circleBlur = "https://raw.githubusercontent.com/Tresjs/assets/93976c7d63ac83d4a254a41a10b2362bc17e90c9/textures/lensflare/circleBlur.png";
|
|
5
|
+
export declare const circleRainbow = "https://raw.githubusercontent.com/Tresjs/assets/93976c7d63ac83d4a254a41a10b2362bc17e90c9/textures/lensflare/circleRainbow.png";
|
|
6
|
+
export declare const line = "https://raw.githubusercontent.com/Tresjs/assets/93976c7d63ac83d4a254a41a10b2362bc17e90c9/textures/lensflare/line.png";
|
|
7
|
+
export declare const poly6 = "https://raw.githubusercontent.com/Tresjs/assets/93976c7d63ac83d4a254a41a10b2362bc17e90c9/textures/lensflare/poly6.png";
|
|
8
|
+
export declare const polyStroke6 = "https://raw.githubusercontent.com/Tresjs/assets/93976c7d63ac83d4a254a41a10b2362bc17e90c9/textures/lensflare/polyStroke6.png";
|
|
9
|
+
export declare const rays = "https://raw.githubusercontent.com/Tresjs/assets/93976c7d63ac83d4a254a41a10b2362bc17e90c9/textures/lensflare/rays.png";
|
|
10
|
+
export declare const ring = "https://raw.githubusercontent.com/Tresjs/assets/93976c7d63ac83d4a254a41a10b2362bc17e90c9/textures/lensflare/ring.png";
|
|
11
|
+
export declare const starThin6 = "https://raw.githubusercontent.com/Tresjs/assets/93976c7d63ac83d4a254a41a10b2362bc17e90c9/textures/lensflare/starThin6.png";
|
|
12
|
+
export declare const oversize: SeedProps;
|
|
13
|
+
export declare const bodyRequired0: SeedProps;
|
|
14
|
+
export declare const bodyRequired1: SeedProps;
|
|
15
|
+
export declare const bodyOptional: SeedProps;
|
|
16
|
+
export declare const darkPurple: number, darkBlue: number;
|
|
17
|
+
export declare const front: SeedProps;
|
|
18
|
+
export declare const back: SeedProps;
|
|
19
|
+
export declare const defaultSeedProps: SeedProps[];
|
|
20
|
+
export declare const defaultLensflareElementProps: LensflareElementProps;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Texture } from 'three';
|
|
2
|
+
import type { TresColor } from '@tresjs/core';
|
|
3
|
+
import Lensflare from './component.vue';
|
|
4
|
+
export { Lensflare };
|
|
5
|
+
export interface SeedProps {
|
|
6
|
+
texture: string[];
|
|
7
|
+
color: TresColor[];
|
|
8
|
+
distance: [number, number];
|
|
9
|
+
size: [number, number];
|
|
10
|
+
length: [number, number];
|
|
11
|
+
seed?: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* To make creating a complex lensflare simpler, the component can generate some or all `LensflareElement` properties.
|
|
15
|
+
* The precendence in creating the final elements' props is as follows:
|
|
16
|
+
*
|
|
17
|
+
* 1. `elements`
|
|
18
|
+
* 2. `userDefaultElement` - `color`, `distance`, `size`, `texture` from component
|
|
19
|
+
* 3. seeded random props - if `seed` and/or `seedProps` is not `undefined`
|
|
20
|
+
* 4. system default
|
|
21
|
+
*
|
|
22
|
+
* @param elements - `undefined` or an array of (potentially) incomplete element props
|
|
23
|
+
* @param userDefaultElement - values to "fill in" missing partial elements fields – or overwrite seeded props
|
|
24
|
+
* @param seed - `undefined` or a number to seed random prop generation
|
|
25
|
+
* @param seedProps - `undefined` or an array of SeedProps for generating random seeded properties
|
|
26
|
+
* @param systemDefaultElement - default values to "fill in" any remaining missing props
|
|
27
|
+
* @returns LensflareElementProps[] - An array of complete props
|
|
28
|
+
**/
|
|
29
|
+
export declare const partialLensflarePropsArrayToLensflarePropsArray: (elements: Partial<LensflareElementProps>[] | undefined, userDefaultElement: Partial<LensflareElementProps>, seed?: number | undefined, seedProps?: SeedProps[] | undefined, systemDefaultElement?: LensflareElementProps) => LensflareElementProps[];
|
|
30
|
+
export interface LensflareElementProps {
|
|
31
|
+
texture: Texture | string;
|
|
32
|
+
size: number;
|
|
33
|
+
distance: number;
|
|
34
|
+
color: TresColor;
|
|
35
|
+
}
|
|
36
|
+
export declare function filterLensflareElementProps(props: Partial<LensflareElementProps>): Partial<LensflareElementProps>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
2
|
+
speed: {
|
|
3
|
+
type: import("vue").PropType<number>;
|
|
4
|
+
required: true;
|
|
5
|
+
default: number;
|
|
6
|
+
};
|
|
7
|
+
rotationFactor: {
|
|
8
|
+
type: import("vue").PropType<number>;
|
|
9
|
+
default: number;
|
|
10
|
+
};
|
|
11
|
+
floatFactor: {
|
|
12
|
+
type: import("vue").PropType<number>;
|
|
13
|
+
default: number;
|
|
14
|
+
};
|
|
15
|
+
range: {
|
|
16
|
+
type: import("vue").PropType<[number, number]>;
|
|
17
|
+
default: () => number[];
|
|
18
|
+
};
|
|
19
|
+
}, {
|
|
20
|
+
value: import("vue").ShallowRef<any>;
|
|
21
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
22
|
+
speed: {
|
|
23
|
+
type: import("vue").PropType<number>;
|
|
24
|
+
required: true;
|
|
25
|
+
default: number;
|
|
26
|
+
};
|
|
27
|
+
rotationFactor: {
|
|
28
|
+
type: import("vue").PropType<number>;
|
|
29
|
+
default: number;
|
|
30
|
+
};
|
|
31
|
+
floatFactor: {
|
|
32
|
+
type: import("vue").PropType<number>;
|
|
33
|
+
default: number;
|
|
34
|
+
};
|
|
35
|
+
range: {
|
|
36
|
+
type: import("vue").PropType<[number, number]>;
|
|
37
|
+
default: () => number[];
|
|
38
|
+
};
|
|
39
|
+
}>>, {
|
|
40
|
+
speed: number;
|
|
41
|
+
rotationFactor: number;
|
|
42
|
+
floatFactor: number;
|
|
43
|
+
range: [number, number];
|
|
44
|
+
}, {}>, {
|
|
45
|
+
default?(_: {}): any;
|
|
46
|
+
}>;
|
|
47
|
+
export default _default;
|
|
48
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
49
|
+
new (): {
|
|
50
|
+
$slots: S;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export interface MouseParallaxProps {
|
|
2
|
+
/**
|
|
3
|
+
* Whether to disable the mouse controls.
|
|
4
|
+
* @type {boolean}
|
|
5
|
+
* @default false
|
|
6
|
+
* @memberof MouseParallaxProps
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* The factor to multiply the mouse movement by.
|
|
12
|
+
* @type {number}
|
|
13
|
+
* @default 2.5
|
|
14
|
+
* @memberof MouseParallaxProps
|
|
15
|
+
*
|
|
16
|
+
**/
|
|
17
|
+
factor?: number;
|
|
18
|
+
/**
|
|
19
|
+
* The factor to multiply the mouse movement by.
|
|
20
|
+
* @type {number}
|
|
21
|
+
* @default 2.5
|
|
22
|
+
* @memberof MouseParallaxProps
|
|
23
|
+
*
|
|
24
|
+
**/
|
|
25
|
+
ease?: number;
|
|
26
|
+
}
|
|
27
|
+
declare const _default: import("vue").DefineComponent<{
|
|
28
|
+
disabled: {
|
|
29
|
+
type: import("vue").PropType<boolean>;
|
|
30
|
+
default: boolean;
|
|
31
|
+
};
|
|
32
|
+
factor: {
|
|
33
|
+
type: import("vue").PropType<number>;
|
|
34
|
+
default: number;
|
|
35
|
+
};
|
|
36
|
+
ease: {
|
|
37
|
+
type: import("vue").PropType<number>;
|
|
38
|
+
default: number;
|
|
39
|
+
};
|
|
40
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
41
|
+
disabled: {
|
|
42
|
+
type: import("vue").PropType<boolean>;
|
|
43
|
+
default: boolean;
|
|
44
|
+
};
|
|
45
|
+
factor: {
|
|
46
|
+
type: import("vue").PropType<number>;
|
|
47
|
+
default: number;
|
|
48
|
+
};
|
|
49
|
+
ease: {
|
|
50
|
+
type: import("vue").PropType<number>;
|
|
51
|
+
default: number;
|
|
52
|
+
};
|
|
53
|
+
}>>, {
|
|
54
|
+
disabled: boolean;
|
|
55
|
+
factor: number;
|
|
56
|
+
ease: number;
|
|
57
|
+
}, {}>;
|
|
58
|
+
export default _default;
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
export interface Glyph {
|
|
2
|
+
_cachedOutline: string[];
|
|
3
|
+
ha: number;
|
|
4
|
+
o: string;
|
|
5
|
+
}
|
|
6
|
+
export interface FontData {
|
|
7
|
+
boundingBox: {
|
|
8
|
+
yMax: number;
|
|
9
|
+
yMin: number;
|
|
10
|
+
};
|
|
11
|
+
familyName: string;
|
|
12
|
+
glyphs: {
|
|
13
|
+
[k: string]: Glyph;
|
|
14
|
+
};
|
|
15
|
+
resolution: number;
|
|
16
|
+
underlineThickness: number;
|
|
17
|
+
}
|
|
18
|
+
export interface Text3DProps {
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* The JSON font to use for the text.
|
|
22
|
+
* Text3D requires fonts in JSON format generated through [typeface.json](http://gero3.github.io/facetype.js)
|
|
23
|
+
*
|
|
24
|
+
* @type {(FontData | string)}
|
|
25
|
+
* @memberof Text3DProps
|
|
26
|
+
* @see https://threejs.org/docs/index.html?q=TEXT#examples/en/geometries/TextGeometry
|
|
27
|
+
*/
|
|
28
|
+
font: FontData | string;
|
|
29
|
+
/**
|
|
30
|
+
* The text to display.
|
|
31
|
+
*
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof Text3DProps
|
|
34
|
+
*/
|
|
35
|
+
text?: string;
|
|
36
|
+
/**
|
|
37
|
+
* The size of the text.
|
|
38
|
+
*
|
|
39
|
+
* @type {number}
|
|
40
|
+
* @memberof Text3DProps
|
|
41
|
+
* @default 0.5
|
|
42
|
+
*/
|
|
43
|
+
size?: number;
|
|
44
|
+
/**
|
|
45
|
+
* The height of the text.
|
|
46
|
+
*
|
|
47
|
+
* @type {number}
|
|
48
|
+
* @memberof Text3DProps
|
|
49
|
+
* @default 0.2
|
|
50
|
+
*/
|
|
51
|
+
height?: number;
|
|
52
|
+
/**
|
|
53
|
+
* The curve segments of the text.
|
|
54
|
+
*
|
|
55
|
+
* @type {number}
|
|
56
|
+
* @memberof Text3DProps
|
|
57
|
+
* @default 5
|
|
58
|
+
*/
|
|
59
|
+
curveSegments?: number;
|
|
60
|
+
/**
|
|
61
|
+
* Turn on bevel
|
|
62
|
+
*
|
|
63
|
+
* @type {boolean}
|
|
64
|
+
* @memberof Text3DProps
|
|
65
|
+
* @default true
|
|
66
|
+
*/
|
|
67
|
+
bevelEnabled?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* How deep into text bevel goes.
|
|
70
|
+
*
|
|
71
|
+
* @type {number}
|
|
72
|
+
* @memberof Text3DProps
|
|
73
|
+
* @default 0.05
|
|
74
|
+
*/
|
|
75
|
+
bevelThickness?: number;
|
|
76
|
+
/**
|
|
77
|
+
* How far from text outline is bevel.
|
|
78
|
+
*
|
|
79
|
+
* @type {number}
|
|
80
|
+
* @memberof Text3DProps
|
|
81
|
+
* @default 0.02
|
|
82
|
+
*/
|
|
83
|
+
bevelSize?: number;
|
|
84
|
+
/**
|
|
85
|
+
* How far from text outline is bevel.
|
|
86
|
+
*
|
|
87
|
+
* @type {number}
|
|
88
|
+
* @memberof Text3DProps
|
|
89
|
+
* @default 0
|
|
90
|
+
*/
|
|
91
|
+
bevelOffset?: number;
|
|
92
|
+
/**
|
|
93
|
+
* How many bevel segments.
|
|
94
|
+
*
|
|
95
|
+
* @type {number}
|
|
96
|
+
* @memberof Text3DProps
|
|
97
|
+
* @default 4
|
|
98
|
+
*/
|
|
99
|
+
bevelSegments?: number;
|
|
100
|
+
/**
|
|
101
|
+
* Whether to center the text.
|
|
102
|
+
*
|
|
103
|
+
* @type {boolean}
|
|
104
|
+
* @memberof Text3DProps
|
|
105
|
+
* @default false
|
|
106
|
+
*/
|
|
107
|
+
center?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Whether to update the text.
|
|
110
|
+
*
|
|
111
|
+
* @type {boolean}
|
|
112
|
+
* @memberof Text3DProps
|
|
113
|
+
* @default false
|
|
114
|
+
*/
|
|
115
|
+
needUpdates?: boolean;
|
|
116
|
+
}
|
|
117
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
118
|
+
height: {
|
|
119
|
+
type: import("vue").PropType<number>;
|
|
120
|
+
default: number;
|
|
121
|
+
};
|
|
122
|
+
font: {
|
|
123
|
+
type: import("vue").PropType<string | FontData>;
|
|
124
|
+
required: true;
|
|
125
|
+
};
|
|
126
|
+
text: {
|
|
127
|
+
type: import("vue").PropType<string>;
|
|
128
|
+
};
|
|
129
|
+
size: {
|
|
130
|
+
type: import("vue").PropType<number>;
|
|
131
|
+
default: number;
|
|
132
|
+
};
|
|
133
|
+
curveSegments: {
|
|
134
|
+
type: import("vue").PropType<number>;
|
|
135
|
+
default: number;
|
|
136
|
+
};
|
|
137
|
+
bevelEnabled: {
|
|
138
|
+
type: import("vue").PropType<boolean>;
|
|
139
|
+
default: boolean;
|
|
140
|
+
};
|
|
141
|
+
bevelThickness: {
|
|
142
|
+
type: import("vue").PropType<number>;
|
|
143
|
+
default: number;
|
|
144
|
+
};
|
|
145
|
+
bevelSize: {
|
|
146
|
+
type: import("vue").PropType<number>;
|
|
147
|
+
default: number;
|
|
148
|
+
};
|
|
149
|
+
bevelOffset: {
|
|
150
|
+
type: import("vue").PropType<number>;
|
|
151
|
+
default: number;
|
|
152
|
+
};
|
|
153
|
+
bevelSegments: {
|
|
154
|
+
type: import("vue").PropType<number>;
|
|
155
|
+
default: number;
|
|
156
|
+
};
|
|
157
|
+
center: {
|
|
158
|
+
type: import("vue").PropType<boolean>;
|
|
159
|
+
default: boolean;
|
|
160
|
+
};
|
|
161
|
+
needUpdates: {
|
|
162
|
+
type: import("vue").PropType<boolean>;
|
|
163
|
+
default: boolean;
|
|
164
|
+
};
|
|
165
|
+
}, {
|
|
166
|
+
value: import("vue").ShallowRef<any>;
|
|
167
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
168
|
+
height: {
|
|
169
|
+
type: import("vue").PropType<number>;
|
|
170
|
+
default: number;
|
|
171
|
+
};
|
|
172
|
+
font: {
|
|
173
|
+
type: import("vue").PropType<string | FontData>;
|
|
174
|
+
required: true;
|
|
175
|
+
};
|
|
176
|
+
text: {
|
|
177
|
+
type: import("vue").PropType<string>;
|
|
178
|
+
};
|
|
179
|
+
size: {
|
|
180
|
+
type: import("vue").PropType<number>;
|
|
181
|
+
default: number;
|
|
182
|
+
};
|
|
183
|
+
curveSegments: {
|
|
184
|
+
type: import("vue").PropType<number>;
|
|
185
|
+
default: number;
|
|
186
|
+
};
|
|
187
|
+
bevelEnabled: {
|
|
188
|
+
type: import("vue").PropType<boolean>;
|
|
189
|
+
default: boolean;
|
|
190
|
+
};
|
|
191
|
+
bevelThickness: {
|
|
192
|
+
type: import("vue").PropType<number>;
|
|
193
|
+
default: number;
|
|
194
|
+
};
|
|
195
|
+
bevelSize: {
|
|
196
|
+
type: import("vue").PropType<number>;
|
|
197
|
+
default: number;
|
|
198
|
+
};
|
|
199
|
+
bevelOffset: {
|
|
200
|
+
type: import("vue").PropType<number>;
|
|
201
|
+
default: number;
|
|
202
|
+
};
|
|
203
|
+
bevelSegments: {
|
|
204
|
+
type: import("vue").PropType<number>;
|
|
205
|
+
default: number;
|
|
206
|
+
};
|
|
207
|
+
center: {
|
|
208
|
+
type: import("vue").PropType<boolean>;
|
|
209
|
+
default: boolean;
|
|
210
|
+
};
|
|
211
|
+
needUpdates: {
|
|
212
|
+
type: import("vue").PropType<boolean>;
|
|
213
|
+
default: boolean;
|
|
214
|
+
};
|
|
215
|
+
}>>, {
|
|
216
|
+
height: number;
|
|
217
|
+
size: number;
|
|
218
|
+
curveSegments: number;
|
|
219
|
+
bevelEnabled: boolean;
|
|
220
|
+
bevelThickness: number;
|
|
221
|
+
bevelSize: number;
|
|
222
|
+
bevelOffset: number;
|
|
223
|
+
bevelSegments: number;
|
|
224
|
+
center: boolean;
|
|
225
|
+
needUpdates: boolean;
|
|
226
|
+
}, {}>, {
|
|
227
|
+
default?(_: {}): any;
|
|
228
|
+
}>;
|
|
229
|
+
export default _default;
|
|
230
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
231
|
+
new (): {
|
|
232
|
+
$slots: S;
|
|
233
|
+
};
|
|
234
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import Text3D from './Text3D.vue';
|
|
2
|
+
import { useAnimations } from './useAnimations';
|
|
3
|
+
import Levioso from './Levioso.vue';
|
|
4
|
+
import MouseParallax from './MouseParallax.vue';
|
|
5
|
+
import Lensflare from './Lensflare/component.vue';
|
|
6
|
+
export * from '../staging/useEnvironment';
|
|
7
|
+
export { Text3D, useAnimations, MouseParallax, Levioso, Lensflare, };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AnimationAction, AnimationClip, Object3D, Scene } from 'three';
|
|
2
|
+
import { AnimationMixer } from 'three';
|
|
3
|
+
import type { Ref } from 'vue';
|
|
4
|
+
/**
|
|
5
|
+
* Creates an AnimationMixer and returns it.
|
|
6
|
+
*
|
|
7
|
+
* @export
|
|
8
|
+
* @template T
|
|
9
|
+
* @param {T[]} animations
|
|
10
|
+
* @param {(Scene | Ref<Object3D | undefined | null>)} [modelRef]
|
|
11
|
+
* @return {*}
|
|
12
|
+
*/
|
|
13
|
+
export declare function useAnimations<T extends AnimationClip>(animations: T[], modelRef?: Scene | Ref<Object3D | undefined | null>): {
|
|
14
|
+
actions: import("vue").ShallowReactive<{
|
|
15
|
+
[key: string]: AnimationAction;
|
|
16
|
+
}>;
|
|
17
|
+
mixer: AnimationMixer;
|
|
18
|
+
};
|