@tresjs/cientos 3.4.0 → 3.5.0

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.
Files changed (77) hide show
  1. package/README.md +1 -1
  2. package/dist/composables/useLogger.d.ts +8 -0
  3. package/dist/core/abstractions/GlobalAudio.d.ts +50 -0
  4. package/dist/core/abstractions/Lensflare/RandUtils.d.ts +68 -0
  5. package/dist/core/abstractions/Lensflare/component.vue.d.ts +69 -0
  6. package/dist/core/abstractions/Lensflare/constants.d.ts +20 -0
  7. package/dist/core/abstractions/Lensflare/index.d.ts +36 -0
  8. package/dist/core/abstractions/Levioso.vue.d.ts +52 -0
  9. package/dist/core/abstractions/MouseParallax.vue.d.ts +58 -0
  10. package/dist/core/abstractions/Text3D.vue.d.ts +234 -0
  11. package/dist/core/abstractions/index.d.ts +10 -0
  12. package/dist/core/abstractions/useAnimations.d.ts +18 -0
  13. package/dist/core/abstractions/useFBO/component.vue.d.ts +37 -0
  14. package/dist/core/abstractions/useFBO/index.d.ts +10 -0
  15. package/dist/core/controls/CameraControls.vue.d.ts +10026 -0
  16. package/dist/core/controls/KeyboardControls.vue.d.ts +167 -0
  17. package/dist/core/controls/MapControls.vue.d.ts +54 -0
  18. package/dist/core/controls/OrbitControls.vue.d.ts +456 -0
  19. package/dist/core/controls/PointerLockControls.vue.d.ts +75 -0
  20. package/dist/core/controls/ScrollControls.vue.d.ts +101 -0
  21. package/dist/core/controls/TransformControls.vue.d.ts +124 -0
  22. package/dist/core/controls/index.d.ts +8 -0
  23. package/dist/core/directives/index.d.ts +5 -0
  24. package/dist/core/directives/vAlwaysLookAt.d.ts +4 -0
  25. package/dist/core/directives/vDistanceTo.d.ts +4 -0
  26. package/dist/core/directives/vLightHelper.d.ts +5 -0
  27. package/dist/core/directives/vLog.d.ts +3 -0
  28. package/dist/core/index.d.ts +8 -0
  29. package/dist/core/loaders/SVG/component.vue.d.ts +68 -0
  30. package/dist/core/loaders/index.d.ts +8 -0
  31. package/dist/core/loaders/useFBX/component.vue.d.ts +24 -0
  32. package/dist/core/loaders/useFBX/index.d.ts +9 -0
  33. package/dist/core/loaders/useGLTF/component.vue.d.ts +65 -0
  34. package/dist/core/loaders/useGLTF/index.d.ts +36 -0
  35. package/dist/core/loaders/useProgress.d.ts +6 -0
  36. package/dist/core/loaders/useVideoTexture.d.ts +28 -0
  37. package/dist/core/materials/index.d.ts +3 -0
  38. package/dist/core/materials/meshGlassMaterial/index.vue.d.ts +4 -0
  39. package/dist/core/materials/meshGlassMaterial/material.d.ts +31 -0
  40. package/dist/core/materials/meshWobbleMaterial/index.vue.d.ts +23 -0
  41. package/dist/core/materials/meshWobbleMaterial/material.d.ts +16 -0
  42. package/dist/core/misc/Stats.d.ts +13 -0
  43. package/dist/core/misc/StatsGl.d.ts +10 -0
  44. package/dist/core/misc/html/HTML.vue.d.ts +133 -0
  45. package/dist/core/misc/html/utils.d.ts +18 -0
  46. package/dist/core/misc/index.d.ts +5 -0
  47. package/dist/core/misc/useTweakPane/index.d.ts +10 -0
  48. package/dist/core/shapes/Box.vue.d.ts +53 -0
  49. package/dist/core/shapes/CatmullRomCurve3.vue.d.ts +112 -0
  50. package/dist/core/shapes/Circle.vue.d.ts +52 -0
  51. package/dist/core/shapes/Cone.vue.d.ts +52 -0
  52. package/dist/core/shapes/Dodecahedron.vue.d.ts +52 -0
  53. package/dist/core/shapes/Icosahedron.vue.d.ts +52 -0
  54. package/dist/core/shapes/Line2.vue.d.ts +120 -0
  55. package/dist/core/shapes/Octahedron.vue.d.ts +52 -0
  56. package/dist/core/shapes/Plane.vue.d.ts +52 -0
  57. package/dist/core/shapes/Ring.vue.d.ts +52 -0
  58. package/dist/core/shapes/Sphere.vue.d.ts +53 -0
  59. package/dist/core/shapes/Tetrahedron.vue.d.ts +52 -0
  60. package/dist/core/shapes/Torus.vue.d.ts +52 -0
  61. package/dist/core/shapes/TorusKnot.vue.d.ts +52 -0
  62. package/dist/core/shapes/Tube.vue.d.ts +53 -0
  63. package/dist/core/shapes/index.d.ts +16 -0
  64. package/dist/core/staging/Backdrop.vue.d.ts +44 -0
  65. package/dist/core/staging/Precipitation.vue.d.ts +226 -0
  66. package/dist/core/staging/Sky.vue.d.ts +77 -0
  67. package/dist/core/staging/Smoke.vue.d.ts +146 -0
  68. package/dist/core/staging/Stars.vue.d.ts +145 -0
  69. package/dist/core/staging/index.d.ts +8 -0
  70. package/dist/core/staging/useEnvironment/const.d.ts +51 -0
  71. package/dist/core/staging/useEnvironment/index.d.ts +3 -0
  72. package/dist/index.d.ts +2 -0
  73. package/dist/trescientos.js +40015 -0
  74. package/dist/trescientos.umd.cjs +1726 -0
  75. package/dist/utils/easing.d.ts +5 -0
  76. package/dist/utils/index.d.ts +22 -0
  77. package/package.json +24 -17
package/README.md CHANGED
@@ -87,4 +87,4 @@ pnpm run docs:build
87
87
 
88
88
  ## Sponsors
89
89
 
90
- Be the first to support this project [here](https://github.com/sponsors/alvarosabu) ☺️
90
+ Be the first to support this project [here](https://github.com/sponsors/alvarosabu) ☺️.
@@ -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,50 @@
1
+ export interface AudioProps {
2
+ /**
3
+ * Path to your audio file.
4
+ * @type {string}
5
+ * @memberof AudioProps
6
+ *
7
+ */
8
+ src: string;
9
+ /**
10
+ * Id of the DOM element that trigger the play/pause state.
11
+ * @type {string}
12
+ * @memberof AudioProps
13
+ * @default renderer.domElement
14
+ *
15
+ */
16
+ playTrigger?: string;
17
+ /**
18
+ * Id of the DOM element that trigger the stop state.
19
+ * @type {string}
20
+ * @memberof AudioProps
21
+ * @default
22
+ *
23
+ */
24
+ stopTrigger?: string;
25
+ /**
26
+ * If the audio must be replayed when ends.
27
+ * @type {boolean}
28
+ * @memberof AudioProps
29
+ * @default false
30
+ *
31
+ */
32
+ loop?: boolean;
33
+ /**
34
+ * Volume of the audio.
35
+ * @type {number}
36
+ * @memberof AudioProps
37
+ * @default 0.5
38
+ *
39
+ */
40
+ volume?: number;
41
+ /**
42
+ * PlaybackRate of the audio.
43
+ * @type {number}
44
+ * @memberof AudioProps
45
+ * @default 1
46
+ *
47
+ */
48
+ playbackRate?: number;
49
+ }
50
+ export declare const GlobalAudio: import("vue").DefineComponent<AudioProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<AudioProps>, {}, {}>;
@@ -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,10 @@
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 { GlobalAudio } from './GlobalAudio';
6
+ import Lensflare from './Lensflare/component.vue';
7
+ import Fbo from './useFBO/component.vue';
8
+ export * from './useFBO/';
9
+ export * from '../staging/useEnvironment';
10
+ export { Text3D, useAnimations, MouseParallax, Levioso, Lensflare, GlobalAudio, Fbo, };
@@ -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
+ };
@@ -0,0 +1,37 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ width: {
3
+ type: import("vue").PropType<number>;
4
+ };
5
+ height: {
6
+ type: import("vue").PropType<number>;
7
+ };
8
+ settings: {
9
+ type: import("vue").PropType<import("three").WebGLRenderTargetOptions>;
10
+ default: undefined;
11
+ };
12
+ depth: {
13
+ type: import("vue").PropType<boolean>;
14
+ default: boolean;
15
+ };
16
+ }, {
17
+ value: import("vue").Ref<import("three").WebGLRenderTarget<import("three").Texture> | null>;
18
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
19
+ width: {
20
+ type: import("vue").PropType<number>;
21
+ };
22
+ height: {
23
+ type: import("vue").PropType<number>;
24
+ };
25
+ settings: {
26
+ type: import("vue").PropType<import("three").WebGLRenderTargetOptions>;
27
+ default: undefined;
28
+ };
29
+ depth: {
30
+ type: import("vue").PropType<boolean>;
31
+ default: boolean;
32
+ };
33
+ }>>, {
34
+ settings: import("three").WebGLRenderTargetOptions;
35
+ depth: boolean;
36
+ }, {}>;
37
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import type { WebGLRenderTargetOptions } from 'three';
2
+ import { WebGLRenderTarget } from 'three';
3
+ import type { Ref } from 'vue';
4
+ export interface FboOptions {
5
+ width?: number;
6
+ height?: number;
7
+ depth?: boolean;
8
+ settings?: WebGLRenderTargetOptions;
9
+ }
10
+ export declare function useFBO(options: FboOptions): Ref<WebGLRenderTarget<import("three").Texture> | null>;