@holoscript/std 3.1.1 → 6.0.3
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/CHANGELOG.md +7 -0
- package/LICENSE +21 -0
- package/dist/__tests__/EconomicPrimitives.test.d.ts +2 -0
- package/dist/__tests__/EconomicTraits.test.d.ts +2 -0
- package/dist/__tests__/SimulationLabPrimitives.test.d.ts +2 -0
- package/dist/__tests__/collections.test.d.ts +2 -0
- package/dist/__tests__/events.test.d.ts +2 -0
- package/dist/__tests__/index.test.d.ts +2 -0
- package/dist/__tests__/index.test.d.ts.map +1 -0
- package/dist/__tests__/materials.test.d.ts +2 -0
- package/dist/__tests__/math.test.d.ts +2 -0
- package/dist/__tests__/physics.test.d.ts +2 -0
- package/dist/__tests__/spatial.test.d.ts +2 -0
- package/dist/__tests__/standard-library-fundamentals.test.d.ts +2 -0
- package/dist/__tests__/standard-library-fundamentals.test.d.ts.map +1 -0
- package/dist/__tests__/string-and-time-utilities.test.d.ts +2 -0
- package/dist/__tests__/string-and-time-utilities.test.d.ts.map +1 -0
- package/dist/__tests__/string-decoupled.test.d.ts +2 -0
- package/dist/__tests__/string.test.d.ts +2 -0
- package/dist/__tests__/time.test.d.ts +2 -0
- package/dist/chunk-7HVUYGPS.js +679 -0
- package/dist/chunk-7HVUYGPS.js.map +1 -0
- package/dist/chunk-P4O3WNG2.js +287 -0
- package/dist/chunk-P4O3WNG2.js.map +1 -0
- package/dist/chunk-PFX2JM4X.js +683 -0
- package/dist/chunk-PFX2JM4X.js.map +1 -0
- package/dist/chunk-W2Q3LUCM.js +348 -0
- package/dist/chunk-W2Q3LUCM.js.map +1 -0
- package/dist/chunk-WS6W35YC.js +443 -0
- package/dist/chunk-WS6W35YC.js.map +1 -0
- package/dist/chunk-ZXVZAQCZ.js +470 -0
- package/dist/chunk-ZXVZAQCZ.js.map +1 -0
- package/dist/collections.cjs +715 -0
- package/dist/collections.cjs.map +1 -0
- package/dist/collections.d.ts +177 -0
- package/dist/collections.js +17 -0
- package/dist/collections.js.map +1 -0
- package/dist/events.d.ts +32 -0
- package/dist/index.cjs +4101 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +101 -0
- package/dist/index.js +1270 -190
- package/dist/index.js.map +1 -0
- package/dist/materials.d.ts +50 -0
- package/dist/math.cjs +591 -0
- package/dist/math.cjs.map +1 -0
- package/dist/math.d.ts +162 -0
- package/dist/math.js +53 -0
- package/dist/math.js.map +1 -0
- package/dist/physics.d.ts +59 -0
- package/dist/spatial.d.ts +82 -0
- package/dist/string.basic.test.d.ts +5 -0
- package/dist/string.basic.test.d.ts.map +1 -0
- package/dist/string.cjs +422 -0
- package/dist/string.cjs.map +1 -0
- package/dist/string.d.ts +212 -0
- package/dist/string.d.ts.map +1 -1
- package/dist/string.js +107 -0
- package/dist/string.js.map +1 -0
- package/dist/string.test.d.ts +5 -0
- package/dist/string.test.d.ts.map +1 -0
- package/dist/time.cjs +512 -0
- package/dist/time.cjs.map +1 -0
- package/dist/time.d.ts +215 -0
- package/dist/time.js +43 -0
- package/dist/time.js.map +1 -0
- package/dist/traits/ARTraits.d.ts +14 -0
- package/dist/traits/EconomicPrimitives.cjs +335 -0
- package/dist/traits/EconomicPrimitives.cjs.map +1 -0
- package/dist/traits/EconomicPrimitives.d.ts +345 -0
- package/dist/traits/EconomicPrimitives.js +55 -0
- package/dist/traits/EconomicPrimitives.js.map +1 -0
- package/dist/traits/EconomicTraits.cjs +471 -0
- package/dist/traits/EconomicTraits.cjs.map +1 -0
- package/dist/traits/EconomicTraits.d.ts +71 -0
- package/dist/traits/EconomicTraits.js +17 -0
- package/dist/traits/EconomicTraits.js.map +1 -0
- package/dist/traits/IoTTraits.d.ts +14 -0
- package/dist/traits/SimulationLabPrimitives.d.ts +187 -0
- package/dist/traits/SimulationLabTraits.d.ts +42 -0
- package/dist/traits/VRRTraits.d.ts +150 -0
- package/dist/traits/__tests__/ARTraits.test.d.ts +2 -0
- package/dist/traits/__tests__/ARTraits.test.d.ts.map +1 -0
- package/dist/traits/__tests__/EconomicPrimitives.test.d.ts +2 -0
- package/dist/traits/__tests__/EconomicPrimitives.test.d.ts.map +1 -0
- package/dist/traits/__tests__/EconomicTraits.test.d.ts +2 -0
- package/dist/traits/__tests__/EconomicTraits.test.d.ts.map +1 -0
- package/dist/types.d.ts +202 -0
- package/error-utf8.log +6 -0
- package/error.log +0 -0
- package/package.json +30 -18
- package/src/__tests__/index.test.ts +14 -0
- package/src/__tests__/{Sprint33.test.ts → standard-library-fundamentals.test.ts} +70 -70
- package/src/__tests__/{Sprint56.test.ts → string-and-time-utilities.test.ts} +64 -64
- package/src/__tests__/string-decoupled.test.ts +0 -2
- package/src/string.basic.test.ts +1 -1
- package/src/string.test.ts +4 -4
- package/src/string.ts +30 -15
- package/src/time.ts +1 -1
- package/src/traits/__tests__/ARTraits.test.ts +14 -0
- package/src/traits/__tests__/EconomicPrimitives.test.ts +14 -0
- package/src/traits/__tests__/EconomicTraits.test.ts +14 -0
- package/std_error.log +5 -0
- package/tsup.config.ts +17 -0
- package/dist/__tests__/Sprint33.test.d.ts.map +0 -1
- package/dist/__tests__/Sprint56.test.d.ts.map +0 -1
package/dist/math.d.ts
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Math utilities for HoloScript
|
|
3
|
+
*
|
|
4
|
+
* Vector math, quaternion operations, interpolation, and noise functions.
|
|
5
|
+
*/
|
|
6
|
+
import type { Vec2, Vec3, Quat, EulerAngles, AABB } from './types.js';
|
|
7
|
+
export declare const PI: number;
|
|
8
|
+
export declare const TAU: number;
|
|
9
|
+
export declare const HALF_PI: number;
|
|
10
|
+
export declare const DEG_TO_RAD: number;
|
|
11
|
+
export declare const RAD_TO_DEG: number;
|
|
12
|
+
export declare const EPSILON = 0.000001;
|
|
13
|
+
export declare function clamp(value: number, min: number, max: number): number;
|
|
14
|
+
export declare function lerp(a: number, b: number, t: number): number;
|
|
15
|
+
export declare function inverseLerp(a: number, b: number, value: number): number;
|
|
16
|
+
export declare function remap(value: number, inMin: number, inMax: number, outMin: number, outMax: number): number;
|
|
17
|
+
export declare function smoothstep(edge0: number, edge1: number, x: number): number;
|
|
18
|
+
export declare function smootherstep(edge0: number, edge1: number, x: number): number;
|
|
19
|
+
export declare function degToRad(degrees: number): number;
|
|
20
|
+
export declare function radToDeg(radians: number): number;
|
|
21
|
+
export declare function mod(n: number, m: number): number;
|
|
22
|
+
export declare function fract(x: number): number;
|
|
23
|
+
export declare function sign(x: number): number;
|
|
24
|
+
export declare function step(edge: number, x: number): number;
|
|
25
|
+
export declare const vec2Math: {
|
|
26
|
+
add: (a: Vec2, b: Vec2) => Vec2;
|
|
27
|
+
sub: (a: Vec2, b: Vec2) => Vec2;
|
|
28
|
+
mul: (a: Vec2, s: number) => Vec2;
|
|
29
|
+
div: (a: Vec2, s: number) => Vec2;
|
|
30
|
+
dot: (a: Vec2, b: Vec2) => number;
|
|
31
|
+
length: (v: Vec2) => number;
|
|
32
|
+
lengthSq: (v: Vec2) => number;
|
|
33
|
+
normalize: (v: Vec2) => Vec2;
|
|
34
|
+
distance: (a: Vec2, b: Vec2) => number;
|
|
35
|
+
lerp: (a: Vec2, b: Vec2, t: number) => Vec2;
|
|
36
|
+
rotate: (v: Vec2, angle: number) => Vec2;
|
|
37
|
+
angle: (v: Vec2) => number;
|
|
38
|
+
angleBetween: (a: Vec2, b: Vec2) => number;
|
|
39
|
+
};
|
|
40
|
+
export declare const vec3Math: {
|
|
41
|
+
zero: () => Vec3;
|
|
42
|
+
one: () => Vec3;
|
|
43
|
+
up: () => Vec3;
|
|
44
|
+
down: () => Vec3;
|
|
45
|
+
forward: () => Vec3;
|
|
46
|
+
back: () => Vec3;
|
|
47
|
+
left: () => Vec3;
|
|
48
|
+
right: () => Vec3;
|
|
49
|
+
add: (a: Vec3, b: Vec3) => Vec3;
|
|
50
|
+
sub: (a: Vec3, b: Vec3) => Vec3;
|
|
51
|
+
mul: (a: Vec3, s: number) => Vec3;
|
|
52
|
+
div: (a: Vec3, s: number) => Vec3;
|
|
53
|
+
mulVec: (a: Vec3, b: Vec3) => Vec3;
|
|
54
|
+
dot: (a: Vec3, b: Vec3) => number;
|
|
55
|
+
cross: (a: Vec3, b: Vec3) => Vec3;
|
|
56
|
+
length: (v: Vec3) => number;
|
|
57
|
+
lengthSq: (v: Vec3) => number;
|
|
58
|
+
normalize: (v: Vec3) => Vec3;
|
|
59
|
+
distance: (a: Vec3, b: Vec3) => number;
|
|
60
|
+
distanceSq: (a: Vec3, b: Vec3) => number;
|
|
61
|
+
lerp: (a: Vec3, b: Vec3, t: number) => Vec3;
|
|
62
|
+
slerp: (a: Vec3, b: Vec3, t: number) => Vec3;
|
|
63
|
+
negate: (v: Vec3) => Vec3;
|
|
64
|
+
abs: (v: Vec3) => Vec3;
|
|
65
|
+
min: (a: Vec3, b: Vec3) => Vec3;
|
|
66
|
+
max: (a: Vec3, b: Vec3) => Vec3;
|
|
67
|
+
clamp: (v: Vec3, min: Vec3, max: Vec3) => Vec3;
|
|
68
|
+
floor: (v: Vec3) => Vec3;
|
|
69
|
+
ceil: (v: Vec3) => Vec3;
|
|
70
|
+
round: (v: Vec3) => Vec3;
|
|
71
|
+
reflect: (v: Vec3, normal: Vec3) => Vec3;
|
|
72
|
+
project: (v: Vec3, onto: Vec3) => Vec3;
|
|
73
|
+
angle: (a: Vec3, b: Vec3) => number;
|
|
74
|
+
equals: (a: Vec3, b: Vec3, epsilon?: number) => boolean;
|
|
75
|
+
};
|
|
76
|
+
export declare const quatMath: {
|
|
77
|
+
identity: () => Quat;
|
|
78
|
+
fromAxisAngle: (axis: Vec3, angle: number) => Quat;
|
|
79
|
+
fromEuler: (euler: EulerAngles) => Quat;
|
|
80
|
+
toEuler: (q: Quat) => EulerAngles;
|
|
81
|
+
multiply: (a: Quat, b: Quat) => Quat;
|
|
82
|
+
conjugate: (q: Quat) => Quat;
|
|
83
|
+
inverse: (q: Quat) => Quat;
|
|
84
|
+
normalize: (q: Quat) => Quat;
|
|
85
|
+
dot: (a: Quat, b: Quat) => number;
|
|
86
|
+
slerp: (a: Quat, b: Quat, t: number) => Quat;
|
|
87
|
+
rotateVec3: (q: Quat, v: Vec3) => Vec3;
|
|
88
|
+
lookAt: (forward: Vec3, up?: Vec3) => Quat;
|
|
89
|
+
};
|
|
90
|
+
export declare const aabbMath: {
|
|
91
|
+
contains: (aabb: AABB, point: Vec3) => boolean;
|
|
92
|
+
intersects: (a: AABB, b: AABB) => boolean;
|
|
93
|
+
center: (aabb: AABB) => Vec3;
|
|
94
|
+
size: (aabb: AABB) => Vec3;
|
|
95
|
+
expand: (aabb: AABB, point: Vec3) => AABB;
|
|
96
|
+
merge: (a: AABB, b: AABB) => AABB;
|
|
97
|
+
};
|
|
98
|
+
export declare const noise: {
|
|
99
|
+
/**
|
|
100
|
+
* 3D Perlin noise (-1 to 1)
|
|
101
|
+
*/
|
|
102
|
+
perlin3d: (x: number, y: number, z: number) => number;
|
|
103
|
+
/**
|
|
104
|
+
* 2D Perlin noise (-1 to 1)
|
|
105
|
+
*/
|
|
106
|
+
perlin2d: (x: number, y: number) => number;
|
|
107
|
+
/**
|
|
108
|
+
* Fractal Brownian Motion (fBm)
|
|
109
|
+
*/
|
|
110
|
+
fbm: (x: number, y: number, z: number, octaves?: number, lacunarity?: number, gain?: number) => number;
|
|
111
|
+
/**
|
|
112
|
+
* Simplex-like noise (approximation using perlin)
|
|
113
|
+
*/
|
|
114
|
+
simplex: (x: number, y: number) => number;
|
|
115
|
+
/**
|
|
116
|
+
* Worley/Cellular noise
|
|
117
|
+
*/
|
|
118
|
+
worley: (x: number, y: number, z: number) => number;
|
|
119
|
+
};
|
|
120
|
+
export declare const random: {
|
|
121
|
+
/**
|
|
122
|
+
* Random float between 0 and 1
|
|
123
|
+
*/
|
|
124
|
+
float: () => number;
|
|
125
|
+
/**
|
|
126
|
+
* Random float in range [min, max)
|
|
127
|
+
*/
|
|
128
|
+
range: (min: number, max: number) => number;
|
|
129
|
+
/**
|
|
130
|
+
* Random integer in range [min, max]
|
|
131
|
+
*/
|
|
132
|
+
int: (min: number, max: number) => number;
|
|
133
|
+
/**
|
|
134
|
+
* Random boolean with probability
|
|
135
|
+
*/
|
|
136
|
+
bool: (probability?: number) => boolean;
|
|
137
|
+
/**
|
|
138
|
+
* Random element from array
|
|
139
|
+
*/
|
|
140
|
+
pick: <T>(array: T[]) => T;
|
|
141
|
+
/**
|
|
142
|
+
* Shuffle array (Fisher-Yates)
|
|
143
|
+
*/
|
|
144
|
+
shuffle: <T>(array: T[]) => T[];
|
|
145
|
+
/**
|
|
146
|
+
* Random Vec3 in unit sphere
|
|
147
|
+
*/
|
|
148
|
+
insideUnitSphere: () => Vec3;
|
|
149
|
+
/**
|
|
150
|
+
* Random Vec3 on unit sphere surface
|
|
151
|
+
*/
|
|
152
|
+
onUnitSphere: () => Vec3;
|
|
153
|
+
/**
|
|
154
|
+
* Random Vec2 in unit circle
|
|
155
|
+
*/
|
|
156
|
+
insideUnitCircle: () => Vec2;
|
|
157
|
+
/**
|
|
158
|
+
* Seeded random number generator
|
|
159
|
+
*/
|
|
160
|
+
seeded: (seed: number) => () => number;
|
|
161
|
+
};
|
|
162
|
+
//# sourceMappingURL=math.d.ts.map
|
package/dist/math.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DEG_TO_RAD,
|
|
3
|
+
EPSILON,
|
|
4
|
+
HALF_PI,
|
|
5
|
+
PI,
|
|
6
|
+
RAD_TO_DEG,
|
|
7
|
+
TAU,
|
|
8
|
+
aabbMath,
|
|
9
|
+
clamp,
|
|
10
|
+
degToRad,
|
|
11
|
+
fract,
|
|
12
|
+
inverseLerp,
|
|
13
|
+
lerp,
|
|
14
|
+
mod,
|
|
15
|
+
noise,
|
|
16
|
+
quatMath,
|
|
17
|
+
radToDeg,
|
|
18
|
+
random,
|
|
19
|
+
remap,
|
|
20
|
+
sign,
|
|
21
|
+
smootherstep,
|
|
22
|
+
smoothstep,
|
|
23
|
+
step,
|
|
24
|
+
vec2Math,
|
|
25
|
+
vec3Math
|
|
26
|
+
} from "./chunk-7HVUYGPS.js";
|
|
27
|
+
export {
|
|
28
|
+
DEG_TO_RAD,
|
|
29
|
+
EPSILON,
|
|
30
|
+
HALF_PI,
|
|
31
|
+
PI,
|
|
32
|
+
RAD_TO_DEG,
|
|
33
|
+
TAU,
|
|
34
|
+
aabbMath,
|
|
35
|
+
clamp,
|
|
36
|
+
degToRad,
|
|
37
|
+
fract,
|
|
38
|
+
inverseLerp,
|
|
39
|
+
lerp,
|
|
40
|
+
mod,
|
|
41
|
+
noise,
|
|
42
|
+
quatMath,
|
|
43
|
+
radToDeg,
|
|
44
|
+
random,
|
|
45
|
+
remap,
|
|
46
|
+
sign,
|
|
47
|
+
smootherstep,
|
|
48
|
+
smoothstep,
|
|
49
|
+
step,
|
|
50
|
+
vec2Math,
|
|
51
|
+
vec3Math
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=math.js.map
|
package/dist/math.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @holoscript/std — Physics Module
|
|
3
|
+
*
|
|
4
|
+
* Provides physics primitives: ColliderShape, RigidbodyConfig, ForceField, Joint.
|
|
5
|
+
* Runtime representations for HoloScript physics blocks.
|
|
6
|
+
*
|
|
7
|
+
* @version 0.2.0
|
|
8
|
+
* @module @holoscript/std/physics
|
|
9
|
+
*/
|
|
10
|
+
import type { Vec3 } from './spatial.js';
|
|
11
|
+
export type ColliderShapeType = 'box' | 'sphere' | 'capsule' | 'mesh' | 'convex' | 'cylinder' | 'heightfield';
|
|
12
|
+
export interface ColliderConfig {
|
|
13
|
+
shape: ColliderShapeType;
|
|
14
|
+
isTrigger: boolean;
|
|
15
|
+
friction: number;
|
|
16
|
+
restitution: number;
|
|
17
|
+
radius?: number;
|
|
18
|
+
halfExtents?: Vec3;
|
|
19
|
+
height?: number;
|
|
20
|
+
meshAsset?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function createBoxCollider(halfExtents: Vec3, options?: Partial<ColliderConfig>): ColliderConfig;
|
|
23
|
+
export declare function createSphereCollider(radius: number, options?: Partial<ColliderConfig>): ColliderConfig;
|
|
24
|
+
export declare function createCapsuleCollider(radius: number, height: number, options?: Partial<ColliderConfig>): ColliderConfig;
|
|
25
|
+
export interface RigidbodyConfig {
|
|
26
|
+
mass: number;
|
|
27
|
+
useGravity: boolean;
|
|
28
|
+
linearDamping: number;
|
|
29
|
+
angularDamping: number;
|
|
30
|
+
freezePosition: [boolean, boolean, boolean];
|
|
31
|
+
freezeRotation: [boolean, boolean, boolean];
|
|
32
|
+
isKinematic: boolean;
|
|
33
|
+
}
|
|
34
|
+
export declare function createRigidbody(mass: number, options?: Partial<RigidbodyConfig>): RigidbodyConfig;
|
|
35
|
+
export type ForceFieldType = 'directional' | 'radial' | 'vortex' | 'buoyancy';
|
|
36
|
+
export interface ForceFieldConfig {
|
|
37
|
+
type: ForceFieldType;
|
|
38
|
+
strength: number;
|
|
39
|
+
direction?: Vec3;
|
|
40
|
+
falloff: 'none' | 'linear' | 'quadratic';
|
|
41
|
+
turbulence: number;
|
|
42
|
+
}
|
|
43
|
+
export type JointType = 'hinge' | 'slider' | 'ball_socket' | 'fixed' | 'd6' | 'spring';
|
|
44
|
+
export interface JointConfig {
|
|
45
|
+
type: JointType;
|
|
46
|
+
connectedBody?: string;
|
|
47
|
+
axis?: Vec3;
|
|
48
|
+
limits?: [number, number];
|
|
49
|
+
damping: number;
|
|
50
|
+
springForce?: number;
|
|
51
|
+
breakForce?: number;
|
|
52
|
+
}
|
|
53
|
+
export interface RaycastHit {
|
|
54
|
+
point: Vec3;
|
|
55
|
+
normal: Vec3;
|
|
56
|
+
distance: number;
|
|
57
|
+
objectName: string;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=physics.d.ts.map
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @holoscript/std — Spatial Module
|
|
3
|
+
*
|
|
4
|
+
* Provides spatial math utilities: Vec3, Quaternion, Transform, Ray, AABB, distance.
|
|
5
|
+
* Used by the HoloScript runtime for spatial computing operations.
|
|
6
|
+
*
|
|
7
|
+
* @version 0.2.0
|
|
8
|
+
* @module @holoscript/std/spatial
|
|
9
|
+
*/
|
|
10
|
+
export declare class Vec3 {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
z: number;
|
|
14
|
+
constructor(x?: number, y?: number, z?: number);
|
|
15
|
+
static zero(): Vec3;
|
|
16
|
+
static one(): Vec3;
|
|
17
|
+
static up(): Vec3;
|
|
18
|
+
static down(): Vec3;
|
|
19
|
+
static forward(): Vec3;
|
|
20
|
+
static right(): Vec3;
|
|
21
|
+
add(other: Vec3): Vec3;
|
|
22
|
+
sub(other: Vec3): Vec3;
|
|
23
|
+
mul(s: number): Vec3;
|
|
24
|
+
div(s: number): Vec3;
|
|
25
|
+
dot(other: Vec3): number;
|
|
26
|
+
cross(other: Vec3): Vec3;
|
|
27
|
+
length(): number;
|
|
28
|
+
lengthSquared(): number;
|
|
29
|
+
normalize(): Vec3;
|
|
30
|
+
distanceTo(other: Vec3): number;
|
|
31
|
+
lerp(other: Vec3, t: number): Vec3;
|
|
32
|
+
toArray(): [number, number, number];
|
|
33
|
+
static fromArray(arr: number[]): Vec3;
|
|
34
|
+
equals(other: Vec3, epsilon?: number): boolean;
|
|
35
|
+
toString(): string;
|
|
36
|
+
}
|
|
37
|
+
export declare class Quaternion {
|
|
38
|
+
x: number;
|
|
39
|
+
y: number;
|
|
40
|
+
z: number;
|
|
41
|
+
w: number;
|
|
42
|
+
constructor(x?: number, y?: number, z?: number, w?: number);
|
|
43
|
+
static identity(): Quaternion;
|
|
44
|
+
static fromEuler(x: number, y: number, z: number): Quaternion;
|
|
45
|
+
static fromAxisAngle(axis: Vec3, angle: number): Quaternion;
|
|
46
|
+
multiply(other: Quaternion): Quaternion;
|
|
47
|
+
rotateVec3(v: Vec3): Vec3;
|
|
48
|
+
slerp(other: Quaternion, t: number): Quaternion;
|
|
49
|
+
normalize(): Quaternion;
|
|
50
|
+
toEuler(): Vec3;
|
|
51
|
+
}
|
|
52
|
+
export declare class Transform {
|
|
53
|
+
position: Vec3;
|
|
54
|
+
rotation: Quaternion;
|
|
55
|
+
scale: Vec3;
|
|
56
|
+
constructor(position?: Vec3, rotation?: Quaternion, scale?: Vec3);
|
|
57
|
+
static identity(): Transform;
|
|
58
|
+
transformPoint(point: Vec3): Vec3;
|
|
59
|
+
transformDirection(dir: Vec3): Vec3;
|
|
60
|
+
}
|
|
61
|
+
export declare class Ray {
|
|
62
|
+
origin: Vec3;
|
|
63
|
+
direction: Vec3;
|
|
64
|
+
constructor(origin: Vec3, direction: Vec3);
|
|
65
|
+
pointAt(t: number): Vec3;
|
|
66
|
+
}
|
|
67
|
+
export declare class AABB {
|
|
68
|
+
min: Vec3;
|
|
69
|
+
max: Vec3;
|
|
70
|
+
constructor(min: Vec3, max: Vec3);
|
|
71
|
+
contains(point: Vec3): boolean;
|
|
72
|
+
intersects(other: AABB): boolean;
|
|
73
|
+
center(): Vec3;
|
|
74
|
+
size(): Vec3;
|
|
75
|
+
intersectsRay(ray: Ray): number | null;
|
|
76
|
+
}
|
|
77
|
+
export declare function distance(a: Vec3, b: Vec3): number;
|
|
78
|
+
export declare function lerp(a: number, b: number, t: number): number;
|
|
79
|
+
export declare function clamp(v: number, min: number, max: number): number;
|
|
80
|
+
export declare function degToRad(deg: number): number;
|
|
81
|
+
export declare function radToDeg(rad: number): number;
|
|
82
|
+
//# sourceMappingURL=spatial.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.basic.test.d.ts","sourceRoot":"","sources":["../src/string.basic.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|