@minecraft/math 1.5.1 → 2.0.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.
@@ -1,187 +1,185 @@
1
- "use strict";
2
1
  // Copyright (c) Microsoft Corporation.
3
2
  // Licensed under the MIT License.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- const vitest_1 = require("vitest");
6
- const coreHelpers_1 = require("./coreHelpers");
7
- (0, vitest_1.describe)('Vector3 operations', () => {
3
+ import { describe, expect, it } from 'vitest';
4
+ import { Vector2Utils, VECTOR3_LEFT, VECTOR3_UP, Vector3Utils } from './coreHelpers.js';
5
+ describe('Vector3 operations', () => {
8
6
  const v1 = { x: 1, y: 2, z: 3 };
9
7
  const v2 = { x: 4, y: 5, z: 6 };
10
- (0, vitest_1.it)('successfully compares vectors', () => {
8
+ it('successfully compares vectors', () => {
11
9
  const v3 = { x: 1, y: 2, z: 3 };
12
- (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.equals(v1, v3)).toBe(true);
13
- (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.equals(v1, v2)).toBe(false);
14
- });
15
- (0, vitest_1.it)('successfully adds vectors and returns a new vector', () => {
16
- const result = coreHelpers_1.Vector3Utils.add(v1, v2);
17
- (0, vitest_1.expect)(result).toEqual({ x: 5, y: 7, z: 9 });
18
- (0, vitest_1.expect)(result).not.toBe(v1);
19
- });
20
- (0, vitest_1.it)('successfully subtracts vectors and returns a new vector', () => {
21
- const result = coreHelpers_1.Vector3Utils.subtract(v1, v2);
22
- (0, vitest_1.expect)(result).toEqual({ x: -3, y: -3, z: -3 });
23
- (0, vitest_1.expect)(result).not.toBe(v1);
24
- });
25
- (0, vitest_1.it)('successfully scales a vector and returns a new vector', () => {
26
- const result = coreHelpers_1.Vector3Utils.scale(v1, 2);
27
- (0, vitest_1.expect)(result).toEqual({ x: 2, y: 4, z: 6 });
28
- (0, vitest_1.expect)(result).not.toBe(v1);
29
- });
30
- (0, vitest_1.it)('successfully computes the dot product of a vector', () => {
31
- const result = coreHelpers_1.Vector3Utils.dot(v1, v2);
32
- (0, vitest_1.expect)(result).toBe(32);
33
- });
34
- (0, vitest_1.it)('successfully computes the dot product of a vector with a 0 vector', () => {
35
- const result = coreHelpers_1.Vector3Utils.dot(v1, { x: 0, y: 0, z: 0 });
36
- (0, vitest_1.expect)(result).toBe(0);
37
- });
38
- (0, vitest_1.it)('successfully computes the cross product of a vector and returns a new vector', () => {
39
- const result = coreHelpers_1.Vector3Utils.cross(v1, v2);
40
- (0, vitest_1.expect)(result).toEqual({ x: -3, y: 6, z: -3 });
41
- (0, vitest_1.expect)(result).not.toBe(v1);
42
- (0, vitest_1.expect)(result).not.toBe(v2);
43
- });
44
- (0, vitest_1.it)('returns a zero vector for a cross product of parallel vectors', () => {
45
- const result = coreHelpers_1.Vector3Utils.cross({ x: 3, y: 0, z: 0 }, { x: 7, y: 0, z: 0 });
46
- (0, vitest_1.expect)(result).toEqual({ x: 0, y: 0, z: 0 });
47
- });
48
- (0, vitest_1.it)('returns a zero vector for a cross product of with a zero vector', () => {
49
- const result = coreHelpers_1.Vector3Utils.cross(v1, { x: 0, y: 0, z: 0 });
50
- (0, vitest_1.expect)(result).toEqual({ x: 0, y: 0, z: 0 });
51
- (0, vitest_1.expect)(result).not.toBe(v1);
52
- });
53
- (0, vitest_1.it)('returns the unit z vector for a cross product of unit x and unit y vectors', () => {
54
- const result = coreHelpers_1.Vector3Utils.cross({ x: 1, y: 0, z: 0 }, { x: 0, y: 1, z: 0 });
55
- (0, vitest_1.expect)(result).toEqual({ x: 0, y: 0, z: 1 });
56
- });
57
- (0, vitest_1.it)('calculates the magnitude', () => {
58
- const result = coreHelpers_1.Vector3Utils.magnitude(v1);
59
- (0, vitest_1.expect)(result).toBeCloseTo(3.74, 2);
60
- });
61
- (0, vitest_1.it)('calculates the distance between two vectors', () => {
62
- const result = coreHelpers_1.Vector3Utils.distance(v1, v2);
63
- (0, vitest_1.expect)(result).toBeCloseTo(5.2, 2);
64
- });
65
- (0, vitest_1.it)('computes the floor of the vector', () => {
10
+ expect(Vector3Utils.equals(v1, v3)).toBe(true);
11
+ expect(Vector3Utils.equals(v1, v2)).toBe(false);
12
+ });
13
+ it('successfully adds vectors and returns a new vector', () => {
14
+ const result = Vector3Utils.add(v1, v2);
15
+ expect(result).toEqual({ x: 5, y: 7, z: 9 });
16
+ expect(result).not.toBe(v1);
17
+ });
18
+ it('successfully subtracts vectors and returns a new vector', () => {
19
+ const result = Vector3Utils.subtract(v1, v2);
20
+ expect(result).toEqual({ x: -3, y: -3, z: -3 });
21
+ expect(result).not.toBe(v1);
22
+ });
23
+ it('successfully scales a vector and returns a new vector', () => {
24
+ const result = Vector3Utils.scale(v1, 2);
25
+ expect(result).toEqual({ x: 2, y: 4, z: 6 });
26
+ expect(result).not.toBe(v1);
27
+ });
28
+ it('successfully computes the dot product of a vector', () => {
29
+ const result = Vector3Utils.dot(v1, v2);
30
+ expect(result).toBe(32);
31
+ });
32
+ it('successfully computes the dot product of a vector with a 0 vector', () => {
33
+ const result = Vector3Utils.dot(v1, { x: 0, y: 0, z: 0 });
34
+ expect(result).toBe(0);
35
+ });
36
+ it('successfully computes the cross product of a vector and returns a new vector', () => {
37
+ const result = Vector3Utils.cross(v1, v2);
38
+ expect(result).toEqual({ x: -3, y: 6, z: -3 });
39
+ expect(result).not.toBe(v1);
40
+ expect(result).not.toBe(v2);
41
+ });
42
+ it('returns a zero vector for a cross product of parallel vectors', () => {
43
+ const result = Vector3Utils.cross({ x: 3, y: 0, z: 0 }, { x: 7, y: 0, z: 0 });
44
+ expect(result).toEqual({ x: 0, y: 0, z: 0 });
45
+ });
46
+ it('returns a zero vector for a cross product of with a zero vector', () => {
47
+ const result = Vector3Utils.cross(v1, { x: 0, y: 0, z: 0 });
48
+ expect(result).toEqual({ x: 0, y: 0, z: 0 });
49
+ expect(result).not.toBe(v1);
50
+ });
51
+ it('returns the unit z vector for a cross product of unit x and unit y vectors', () => {
52
+ const result = Vector3Utils.cross({ x: 1, y: 0, z: 0 }, { x: 0, y: 1, z: 0 });
53
+ expect(result).toEqual({ x: 0, y: 0, z: 1 });
54
+ });
55
+ it('calculates the magnitude', () => {
56
+ const result = Vector3Utils.magnitude(v1);
57
+ expect(result).toBeCloseTo(3.74, 2);
58
+ });
59
+ it('calculates the distance between two vectors', () => {
60
+ const result = Vector3Utils.distance(v1, v2);
61
+ expect(result).toBeCloseTo(5.2, 2);
62
+ });
63
+ it('computes the floor of the vector', () => {
66
64
  const input = { x: 1.33, y: 2.14, z: 3.55 };
67
65
  const expected = { x: 1, y: 2, z: 3 };
68
- (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.floor(input)).toEqual(expected);
66
+ expect(Vector3Utils.floor(input)).toEqual(expected);
69
67
  });
70
- (0, vitest_1.it)('computes the floor of negative vectors', () => {
68
+ it('computes the floor of negative vectors', () => {
71
69
  const input = { x: -1.33, y: -2.14, z: -3.55 };
72
70
  const expected = { x: -2, y: -3, z: -4 };
73
- (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.floor(input)).toEqual(expected);
71
+ expect(Vector3Utils.floor(input)).toEqual(expected);
74
72
  });
75
- (0, vitest_1.it)('normalizes the vector', () => {
76
- const result = coreHelpers_1.Vector3Utils.normalize(v1);
77
- (0, vitest_1.expect)(result.x).toBeCloseTo(0.27, 2);
78
- (0, vitest_1.expect)(result.y).toBeCloseTo(0.53, 2);
79
- (0, vitest_1.expect)(result.z).toBeCloseTo(0.8, 2);
73
+ it('normalizes the vector', () => {
74
+ const result = Vector3Utils.normalize(v1);
75
+ expect(result.x).toBeCloseTo(0.27, 2);
76
+ expect(result.y).toBeCloseTo(0.53, 2);
77
+ expect(result.z).toBeCloseTo(0.8, 2);
80
78
  });
81
- (0, vitest_1.it)('converts a vector to a string with default options', () => {
79
+ it('converts a vector to a string with default options', () => {
82
80
  const vector = { x: 1, y: 2, z: 3 };
83
81
  const expectedString = '1.00, 2.00, 3.00';
84
- (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.toString(vector)).toBe(expectedString);
85
- (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.toString(vector, undefined)).toBe(expectedString);
86
- (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.toString(vector, { decimals: undefined, delimiter: undefined })).toBe(expectedString);
82
+ expect(Vector3Utils.toString(vector)).toBe(expectedString);
83
+ expect(Vector3Utils.toString(vector, undefined)).toBe(expectedString);
84
+ expect(Vector3Utils.toString(vector, { decimals: undefined, delimiter: undefined })).toBe(expectedString);
87
85
  });
88
- (0, vitest_1.it)('converts a vector to a string with overridden options', () => {
86
+ it('converts a vector to a string with overridden options', () => {
89
87
  const vector = { x: 1.23456789, y: 2.99, z: 3 };
90
88
  const expectedString1 = '1.2346|2.9900|3.0000'; // toFixed performs rounding
91
- (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.toString(vector, { decimals: 4, delimiter: '|' })).toBe(expectedString1);
89
+ expect(Vector3Utils.toString(vector, { decimals: 4, delimiter: '|' })).toBe(expectedString1);
92
90
  const expectedString2 = '1|3|3';
93
- (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.toString(vector, { decimals: 0, delimiter: '|' })).toBe(expectedString2);
91
+ expect(Vector3Utils.toString(vector, { decimals: 0, delimiter: '|' })).toBe(expectedString2);
94
92
  const expectedString3 = '1, 3, 3';
95
- (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.toString(vector, { decimals: 0 })).toBe(expectedString3);
93
+ expect(Vector3Utils.toString(vector, { decimals: 0 })).toBe(expectedString3);
96
94
  const expectedString4 = '1.23|2.99|3.00';
97
- (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.toString(vector, { delimiter: '|' })).toBe(expectedString4);
95
+ expect(Vector3Utils.toString(vector, { delimiter: '|' })).toBe(expectedString4);
98
96
  });
99
- (0, vitest_1.it)('converts a vector2 to a string with default options', () => {
97
+ it('converts a vector2 to a string with default options', () => {
100
98
  const vector = { x: 1, y: 2 };
101
99
  const expectedString = '1.00, 2.00';
102
- (0, vitest_1.expect)(coreHelpers_1.Vector2Utils.toString(vector)).toBe(expectedString);
103
- (0, vitest_1.expect)(coreHelpers_1.Vector2Utils.toString(vector, undefined)).toBe(expectedString);
104
- (0, vitest_1.expect)(coreHelpers_1.Vector2Utils.toString(vector, { decimals: undefined, delimiter: undefined })).toBe(expectedString);
100
+ expect(Vector2Utils.toString(vector)).toBe(expectedString);
101
+ expect(Vector2Utils.toString(vector, undefined)).toBe(expectedString);
102
+ expect(Vector2Utils.toString(vector, { decimals: undefined, delimiter: undefined })).toBe(expectedString);
105
103
  });
106
- (0, vitest_1.it)('converts a vector2 to a string with overridden options', () => {
104
+ it('converts a vector2 to a string with overridden options', () => {
107
105
  const vector = { x: 1.23456789, y: 2.99 };
108
106
  const expectedString1 = '1.2346|2.9900'; // toFixed performs rounding
109
- (0, vitest_1.expect)(coreHelpers_1.Vector2Utils.toString(vector, { decimals: 4, delimiter: '|' })).toBe(expectedString1);
107
+ expect(Vector2Utils.toString(vector, { decimals: 4, delimiter: '|' })).toBe(expectedString1);
110
108
  const expectedString2 = '1|3';
111
- (0, vitest_1.expect)(coreHelpers_1.Vector2Utils.toString(vector, { decimals: 0, delimiter: '|' })).toBe(expectedString2);
109
+ expect(Vector2Utils.toString(vector, { decimals: 0, delimiter: '|' })).toBe(expectedString2);
112
110
  const expectedString3 = '1, 3';
113
- (0, vitest_1.expect)(coreHelpers_1.Vector2Utils.toString(vector, { decimals: 0 })).toBe(expectedString3);
111
+ expect(Vector2Utils.toString(vector, { decimals: 0 })).toBe(expectedString3);
114
112
  const expectedString4 = '1.23|2.99';
115
- (0, vitest_1.expect)(coreHelpers_1.Vector2Utils.toString(vector, { delimiter: '|' })).toBe(expectedString4);
113
+ expect(Vector2Utils.toString(vector, { delimiter: '|' })).toBe(expectedString4);
116
114
  });
117
- (0, vitest_1.describe)('clamp', () => {
115
+ describe('clamp', () => {
118
116
  const v = { x: 1, y: 1, z: 3 };
119
117
  const minVec = { x: 0, y: 1.5 };
120
118
  const maxVec = { x: 2, z: 2.5 };
121
- (0, vitest_1.it)('clamps with defaults (no min or max)', () => {
122
- const result = coreHelpers_1.Vector3Utils.clamp(v);
123
- (0, vitest_1.expect)(result).toEqual({ x: 1, y: 1, z: 3 });
119
+ it('clamps with defaults (no min or max)', () => {
120
+ const result = Vector3Utils.clamp(v);
121
+ expect(result).toEqual({ x: 1, y: 1, z: 3 });
124
122
  });
125
- (0, vitest_1.it)('clamps properly with both min and max', () => {
126
- const result = coreHelpers_1.Vector3Utils.clamp(v, { min: minVec, max: maxVec });
127
- (0, vitest_1.expect)(result).toEqual({ x: 1, y: 1.5, z: 2.5 });
123
+ it('clamps properly with both min and max', () => {
124
+ const result = Vector3Utils.clamp(v, { min: minVec, max: maxVec });
125
+ expect(result).toEqual({ x: 1, y: 1.5, z: 2.5 });
128
126
  });
129
- (0, vitest_1.it)('clamps with min only', () => {
130
- const result = coreHelpers_1.Vector3Utils.clamp(v, { min: minVec });
131
- (0, vitest_1.expect)(result).toEqual({ x: 1, y: 1.5, z: 3 });
127
+ it('clamps with min only', () => {
128
+ const result = Vector3Utils.clamp(v, { min: minVec });
129
+ expect(result).toEqual({ x: 1, y: 1.5, z: 3 });
132
130
  });
133
- (0, vitest_1.it)('clamps with max only', () => {
134
- const result = coreHelpers_1.Vector3Utils.clamp(v, { max: maxVec });
135
- (0, vitest_1.expect)(result).toEqual({ x: 1, y: 1, z: 2.5 });
131
+ it('clamps with max only', () => {
132
+ const result = Vector3Utils.clamp(v, { max: maxVec });
133
+ expect(result).toEqual({ x: 1, y: 1, z: 2.5 });
136
134
  });
137
- (0, vitest_1.it)('clamp with zero vector and positive mins and negative max', () => {
135
+ it('clamp with zero vector and positive mins and negative max', () => {
138
136
  const vZero = { x: 0, y: 0, z: 0 };
139
137
  const min = { y: 1.5 };
140
138
  const max = { z: -2.5 };
141
- const result = coreHelpers_1.Vector3Utils.clamp(vZero, { min, max });
142
- (0, vitest_1.expect)(result).toEqual({ x: 0, y: 1.5, z: -2.5 });
139
+ const result = Vector3Utils.clamp(vZero, { min, max });
140
+ expect(result).toEqual({ x: 0, y: 1.5, z: -2.5 });
143
141
  });
144
142
  // Test clamp function with large vector
145
143
  const vLarge = { x: 1e6, y: 1e6, z: 1e6 };
146
- (0, vitest_1.it)('clamp with large vector', () => {
147
- const result = coreHelpers_1.Vector3Utils.clamp(vLarge, { min: minVec, max: maxVec });
148
- (0, vitest_1.expect)(result).toEqual({ x: 2, y: 1e6, z: 2.5 });
144
+ it('clamp with large vector', () => {
145
+ const result = Vector3Utils.clamp(vLarge, { min: minVec, max: maxVec });
146
+ expect(result).toEqual({ x: 2, y: 1e6, z: 2.5 });
149
147
  });
150
148
  });
151
- (0, vitest_1.it)('calculates the lerp halfway between two vectors', () => {
152
- const result = coreHelpers_1.Vector3Utils.lerp(v1, v2, 0.5);
153
- (0, vitest_1.expect)(result).toEqual({ x: 2.5, y: 3.5, z: 4.5 });
149
+ it('calculates the lerp halfway between two vectors', () => {
150
+ const result = Vector3Utils.lerp(v1, v2, 0.5);
151
+ expect(result).toEqual({ x: 2.5, y: 3.5, z: 4.5 });
154
152
  });
155
- (0, vitest_1.it)('calculates the slerp halfway between two vectors', () => {
153
+ it('calculates the slerp halfway between two vectors', () => {
156
154
  const vecA = { x: 1, y: 0, z: 0 };
157
155
  const vecB = { x: 0, y: -1, z: 0 };
158
- const result = coreHelpers_1.Vector3Utils.slerp(vecA, vecB, 0.5);
159
- (0, vitest_1.expect)(result.x).toBeCloseTo(0.7071, 3);
160
- (0, vitest_1.expect)(result.y).toBeCloseTo(-0.7071, 3);
161
- (0, vitest_1.expect)(result.z).toBeCloseTo(0);
162
- });
163
- (0, vitest_1.it)('calculates two vectors multiplied together', () => {
164
- const result = coreHelpers_1.Vector3Utils.multiply(v1, v2);
165
- (0, vitest_1.expect)(result).toEqual({ x: 4, y: 10, z: 18 });
166
- });
167
- (0, vitest_1.describe)('Vector3 rotation functions', () => {
168
- (0, vitest_1.it)(`calculates a vector rotated along the x axis`, () => {
169
- const result = coreHelpers_1.Vector3Utils.rotateX(coreHelpers_1.VECTOR3_UP, Math.PI / 2);
170
- (0, vitest_1.expect)(result.x).toBeCloseTo(0);
171
- (0, vitest_1.expect)(result.y).toBeCloseTo(0);
172
- (0, vitest_1.expect)(result.z).toBeCloseTo(1);
156
+ const result = Vector3Utils.slerp(vecA, vecB, 0.5);
157
+ expect(result.x).toBeCloseTo(0.7071, 3);
158
+ expect(result.y).toBeCloseTo(-0.7071, 3);
159
+ expect(result.z).toBeCloseTo(0);
160
+ });
161
+ it('calculates two vectors multiplied together', () => {
162
+ const result = Vector3Utils.multiply(v1, v2);
163
+ expect(result).toEqual({ x: 4, y: 10, z: 18 });
164
+ });
165
+ describe('Vector3 rotation functions', () => {
166
+ it(`calculates a vector rotated along the x axis`, () => {
167
+ const result = Vector3Utils.rotateX(VECTOR3_UP, Math.PI / 2);
168
+ expect(result.x).toBeCloseTo(0);
169
+ expect(result.y).toBeCloseTo(0);
170
+ expect(result.z).toBeCloseTo(1);
173
171
  });
174
- (0, vitest_1.it)(`calculates a vector rotated along the y axis`, () => {
175
- const result = coreHelpers_1.Vector3Utils.rotateY(coreHelpers_1.VECTOR3_LEFT, Math.PI / 2);
176
- (0, vitest_1.expect)(result.x).toBeCloseTo(0);
177
- (0, vitest_1.expect)(result.y).toBeCloseTo(0);
178
- (0, vitest_1.expect)(result.z).toBeCloseTo(1);
172
+ it(`calculates a vector rotated along the y axis`, () => {
173
+ const result = Vector3Utils.rotateY(VECTOR3_LEFT, Math.PI / 2);
174
+ expect(result.x).toBeCloseTo(0);
175
+ expect(result.y).toBeCloseTo(0);
176
+ expect(result.z).toBeCloseTo(1);
179
177
  });
180
- (0, vitest_1.it)(`calculates a vector rotated along the z axis`, () => {
181
- const result = coreHelpers_1.Vector3Utils.rotateZ(coreHelpers_1.VECTOR3_UP, Math.PI / 2);
182
- (0, vitest_1.expect)(result.x).toBeCloseTo(-1);
183
- (0, vitest_1.expect)(result.y).toBeCloseTo(0);
184
- (0, vitest_1.expect)(result.z).toBeCloseTo(0);
178
+ it(`calculates a vector rotated along the z axis`, () => {
179
+ const result = Vector3Utils.rotateZ(VECTOR3_UP, Math.PI / 2);
180
+ expect(result.x).toBeCloseTo(-1);
181
+ expect(result.y).toBeCloseTo(0);
182
+ expect(result.z).toBeCloseTo(0);
185
183
  });
186
184
  });
187
185
  });
@@ -1 +1 @@
1
- {"version":3,"file":"coreHelpers.test.js","sourceRoot":"","sources":["../../src/vector3/coreHelpers.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coreHelpers.test.js","sourceRoot":"","sources":["../../src/vector3/coreHelpers.test.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,5 @@
1
- "use strict";
2
1
  // Copyright (c) Microsoft Corporation.
3
2
  // Licensed under the MIT License.
4
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
- if (k2 === undefined) k2 = k;
6
- var desc = Object.getOwnPropertyDescriptor(m, k);
7
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
- desc = { enumerable: true, get: function() { return m[k]; } };
9
- }
10
- Object.defineProperty(o, k2, desc);
11
- }) : (function(o, m, k, k2) {
12
- if (k2 === undefined) k2 = k;
13
- o[k2] = m[k];
14
- }));
15
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
- };
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- __exportStar(require("./coreHelpers"), exports);
20
- __exportStar(require("./vectorWrapper"), exports);
3
+ export * from './coreHelpers.js';
4
+ export * from './vectorWrapper.js';
21
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vector3/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;;;;;AAElC,gDAA8B;AAC9B,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vector3/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
@@ -1,9 +1,6 @@
1
- "use strict";
2
1
  // Copyright (c) Microsoft Corporation.
3
2
  // Licensed under the MIT License.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.Vector2Builder = exports.Vector3Builder = void 0;
6
- const coreHelpers_1 = require("./coreHelpers");
3
+ import { Vector2Utils, Vector3Utils } from './coreHelpers.js';
7
4
  /**
8
5
  * Vector3 wrapper class which can be used as a Vector3 for APIs on \@minecraft/server which require a Vector,
9
6
  * but also contain additional helper methods. This is an alternative to using the core Vector 3 utility
@@ -14,7 +11,10 @@ const coreHelpers_1 = require("./coreHelpers");
14
11
  *
15
12
  * @public
16
13
  */
17
- class Vector3Builder {
14
+ export class Vector3Builder {
15
+ x;
16
+ y;
17
+ z;
18
18
  constructor(first, y, z) {
19
19
  if (typeof first === 'object') {
20
20
  this.x = first.x;
@@ -42,7 +42,7 @@ class Vector3Builder {
42
42
  * Check the equality of two vectors
43
43
  */
44
44
  equals(v) {
45
- return coreHelpers_1.Vector3Utils.equals(this, v);
45
+ return Vector3Utils.equals(this, v);
46
46
  }
47
47
  /**
48
48
  * add
@@ -50,7 +50,7 @@ class Vector3Builder {
50
50
  * Adds the vector v to this, returning itself.
51
51
  */
52
52
  add(v) {
53
- return this.assign(coreHelpers_1.Vector3Utils.add(this, v));
53
+ return this.assign(Vector3Utils.add(this, v));
54
54
  }
55
55
  /**
56
56
  * subtract
@@ -58,14 +58,14 @@ class Vector3Builder {
58
58
  * Subtracts the vector v from this, returning itself.
59
59
  */
60
60
  subtract(v) {
61
- return this.assign(coreHelpers_1.Vector3Utils.subtract(this, v));
61
+ return this.assign(Vector3Utils.subtract(this, v));
62
62
  }
63
63
  /** scale
64
64
  *
65
65
  * Scales this by the passed in value, returning itself.
66
66
  */
67
67
  scale(val) {
68
- return this.assign(coreHelpers_1.Vector3Utils.scale(this, val));
68
+ return this.assign(Vector3Utils.scale(this, val));
69
69
  }
70
70
  /**
71
71
  * dot
@@ -73,7 +73,7 @@ class Vector3Builder {
73
73
  * Computes the dot product of this and the passed in vector.
74
74
  */
75
75
  dot(vec) {
76
- return coreHelpers_1.Vector3Utils.dot(this, vec);
76
+ return Vector3Utils.dot(this, vec);
77
77
  }
78
78
  /**
79
79
  * cross
@@ -81,7 +81,7 @@ class Vector3Builder {
81
81
  * Computes the cross product of this and the passed in vector, returning itself.
82
82
  */
83
83
  cross(vec) {
84
- return this.assign(coreHelpers_1.Vector3Utils.cross(this, vec));
84
+ return this.assign(Vector3Utils.cross(this, vec));
85
85
  }
86
86
  /**
87
87
  * magnitude
@@ -89,7 +89,7 @@ class Vector3Builder {
89
89
  * The magnitude of the vector
90
90
  */
91
91
  magnitude() {
92
- return coreHelpers_1.Vector3Utils.magnitude(this);
92
+ return Vector3Utils.magnitude(this);
93
93
  }
94
94
  /**
95
95
  * distance
@@ -97,7 +97,7 @@ class Vector3Builder {
97
97
  * Calculate the distance between two vectors
98
98
  */
99
99
  distance(vec) {
100
- return coreHelpers_1.Vector3Utils.distance(this, vec);
100
+ return Vector3Utils.distance(this, vec);
101
101
  }
102
102
  /**
103
103
  * normalize
@@ -105,7 +105,7 @@ class Vector3Builder {
105
105
  * Normalizes this vector, returning itself.
106
106
  */
107
107
  normalize() {
108
- return this.assign(coreHelpers_1.Vector3Utils.normalize(this));
108
+ return this.assign(Vector3Utils.normalize(this));
109
109
  }
110
110
  /**
111
111
  * floor
@@ -113,7 +113,7 @@ class Vector3Builder {
113
113
  * Floor the components of a vector to produce a new vector
114
114
  */
115
115
  floor() {
116
- return this.assign(coreHelpers_1.Vector3Utils.floor(this));
116
+ return this.assign(Vector3Utils.floor(this));
117
117
  }
118
118
  /**
119
119
  * toString
@@ -121,7 +121,7 @@ class Vector3Builder {
121
121
  * Create a string representation of a vector
122
122
  */
123
123
  toString(options) {
124
- return coreHelpers_1.Vector3Utils.toString(this, options);
124
+ return Vector3Utils.toString(this, options);
125
125
  }
126
126
  /**
127
127
  * clamp
@@ -129,7 +129,7 @@ class Vector3Builder {
129
129
  * Clamps the components of a vector to limits to produce a new vector
130
130
  */
131
131
  clamp(limits) {
132
- return this.assign(coreHelpers_1.Vector3Utils.clamp(this, limits));
132
+ return this.assign(Vector3Utils.clamp(this, limits));
133
133
  }
134
134
  /**
135
135
  * lerp
@@ -137,7 +137,7 @@ class Vector3Builder {
137
137
  * Constructs a new vector using linear interpolation on each component from two vectors.
138
138
  */
139
139
  lerp(vec, t) {
140
- return this.assign(coreHelpers_1.Vector3Utils.lerp(this, vec, t));
140
+ return this.assign(Vector3Utils.lerp(this, vec, t));
141
141
  }
142
142
  /**
143
143
  * slerp
@@ -145,7 +145,7 @@ class Vector3Builder {
145
145
  * Constructs a new vector using spherical linear interpolation on each component from two vectors.
146
146
  */
147
147
  slerp(vec, t) {
148
- return this.assign(coreHelpers_1.Vector3Utils.slerp(this, vec, t));
148
+ return this.assign(Vector3Utils.slerp(this, vec, t));
149
149
  }
150
150
  /**
151
151
  * multiply
@@ -154,7 +154,7 @@ class Vector3Builder {
154
154
  * Not to be confused with {@link Vector3Builder.dot} product or {@link Vector3Builder.cross} product
155
155
  */
156
156
  multiply(vec) {
157
- return this.assign(coreHelpers_1.Vector3Utils.multiply(this, vec));
157
+ return this.assign(Vector3Utils.multiply(this, vec));
158
158
  }
159
159
  /**
160
160
  * rotateX
@@ -163,7 +163,7 @@ class Vector3Builder {
163
163
  * @param a - Angle in radians
164
164
  */
165
165
  rotateX(a) {
166
- return this.assign(coreHelpers_1.Vector3Utils.rotateX(this, a));
166
+ return this.assign(Vector3Utils.rotateX(this, a));
167
167
  }
168
168
  /**
169
169
  * rotateY
@@ -172,7 +172,7 @@ class Vector3Builder {
172
172
  * @param a - Angle in radians
173
173
  */
174
174
  rotateY(a) {
175
- return this.assign(coreHelpers_1.Vector3Utils.rotateY(this, a));
175
+ return this.assign(Vector3Utils.rotateY(this, a));
176
176
  }
177
177
  /**
178
178
  * rotateZ
@@ -181,15 +181,16 @@ class Vector3Builder {
181
181
  * @param a - Angle in radians
182
182
  */
183
183
  rotateZ(a) {
184
- return this.assign(coreHelpers_1.Vector3Utils.rotateZ(this, a));
184
+ return this.assign(Vector3Utils.rotateZ(this, a));
185
185
  }
186
186
  }
187
- exports.Vector3Builder = Vector3Builder;
188
187
  /**
189
188
  * Vector2 wrapper class which can be used as a Vector2 for APIs on \@minecraft/server which require a Vector2.
190
189
  * @public
191
190
  */
192
- class Vector2Builder {
191
+ export class Vector2Builder {
192
+ x;
193
+ y;
193
194
  constructor(first, y) {
194
195
  if (typeof first === 'object') {
195
196
  this.x = first.x;
@@ -201,8 +202,7 @@ class Vector2Builder {
201
202
  }
202
203
  }
203
204
  toString(options) {
204
- return coreHelpers_1.Vector2Utils.toString(this, options);
205
+ return Vector2Utils.toString(this, options);
205
206
  }
206
207
  }
207
- exports.Vector2Builder = Vector2Builder;
208
208
  //# sourceMappingURL=vectorWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vectorWrapper.js","sourceRoot":"","sources":["../../src/vector3/vectorWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vectorWrapper.js","sourceRoot":"","sources":["../../src/vector3/vectorWrapper.ts"],"names":[],"mappings":"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"}