@esengine/ecs-framework-math 2.10.1 → 2.10.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.
Files changed (92) hide show
  1. package/dist/index.cjs +2 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.ts +10175 -0
  4. package/dist/index.mjs +2 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/index.umd.js +2 -0
  7. package/dist/index.umd.js.map +1 -0
  8. package/package.json +20 -11
  9. package/bin/Animation/Easing.d.ts +0 -244
  10. package/bin/Animation/Easing.d.ts.map +0 -1
  11. package/bin/Animation/Easing.js +0 -407
  12. package/bin/Animation/Easing.js.map +0 -1
  13. package/bin/Animation/Interpolation.d.ts +0 -172
  14. package/bin/Animation/Interpolation.d.ts.map +0 -1
  15. package/bin/Animation/Interpolation.js +0 -327
  16. package/bin/Animation/Interpolation.js.map +0 -1
  17. package/bin/Animation/index.d.ts +0 -8
  18. package/bin/Animation/index.d.ts.map +0 -1
  19. package/bin/Animation/index.js +0 -8
  20. package/bin/Animation/index.js.map +0 -1
  21. package/bin/Circle.d.ts +0 -277
  22. package/bin/Circle.d.ts.map +0 -1
  23. package/bin/Circle.js +0 -496
  24. package/bin/Circle.js.map +0 -1
  25. package/bin/Collision/CollisionDetector.d.ts +0 -114
  26. package/bin/Collision/CollisionDetector.d.ts.map +0 -1
  27. package/bin/Collision/CollisionDetector.js +0 -353
  28. package/bin/Collision/CollisionDetector.js.map +0 -1
  29. package/bin/Collision/index.d.ts +0 -7
  30. package/bin/Collision/index.d.ts.map +0 -1
  31. package/bin/Collision/index.js +0 -7
  32. package/bin/Collision/index.js.map +0 -1
  33. package/bin/Color.d.ts +0 -277
  34. package/bin/Color.d.ts.map +0 -1
  35. package/bin/Color.js +0 -470
  36. package/bin/Color.js.map +0 -1
  37. package/bin/Fixed32.d.ts +0 -266
  38. package/bin/Fixed32.d.ts.map +0 -1
  39. package/bin/Fixed32.js +0 -381
  40. package/bin/Fixed32.js.map +0 -1
  41. package/bin/FixedMath.d.ts +0 -109
  42. package/bin/FixedMath.d.ts.map +0 -1
  43. package/bin/FixedMath.js +0 -264
  44. package/bin/FixedMath.js.map +0 -1
  45. package/bin/FixedVector2.d.ts +0 -293
  46. package/bin/FixedVector2.d.ts.map +0 -1
  47. package/bin/FixedVector2.js +0 -413
  48. package/bin/FixedVector2.js.map +0 -1
  49. package/bin/MathUtils.d.ts +0 -312
  50. package/bin/MathUtils.d.ts.map +0 -1
  51. package/bin/MathUtils.js +0 -500
  52. package/bin/MathUtils.js.map +0 -1
  53. package/bin/Matrix3.d.ts +0 -288
  54. package/bin/Matrix3.d.ts.map +0 -1
  55. package/bin/Matrix3.js +0 -542
  56. package/bin/Matrix3.js.map +0 -1
  57. package/bin/Rectangle.d.ts +0 -266
  58. package/bin/Rectangle.d.ts.map +0 -1
  59. package/bin/Rectangle.js +0 -437
  60. package/bin/Rectangle.js.map +0 -1
  61. package/bin/Vector2.d.ts +0 -333
  62. package/bin/Vector2.d.ts.map +0 -1
  63. package/bin/Vector2.js +0 -484
  64. package/bin/Vector2.js.map +0 -1
  65. package/bin/Vector3.d.ts +0 -257
  66. package/bin/Vector3.d.ts.map +0 -1
  67. package/bin/Vector3.js +0 -372
  68. package/bin/Vector3.js.map +0 -1
  69. package/bin/index.d.ts +0 -25
  70. package/bin/index.d.ts.map +0 -1
  71. package/bin/index.js +0 -32
  72. package/bin/index.js.map +0 -1
  73. package/bin/nodes/ColorNodes.d.ts +0 -70
  74. package/bin/nodes/ColorNodes.d.ts.map +0 -1
  75. package/bin/nodes/ColorNodes.js +0 -427
  76. package/bin/nodes/ColorNodes.js.map +0 -1
  77. package/bin/nodes/FixedNodes.d.ts +0 -98
  78. package/bin/nodes/FixedNodes.d.ts.map +0 -1
  79. package/bin/nodes/FixedNodes.js +0 -612
  80. package/bin/nodes/FixedNodes.js.map +0 -1
  81. package/bin/nodes/FixedVectorNodes.d.ts +0 -58
  82. package/bin/nodes/FixedVectorNodes.d.ts.map +0 -1
  83. package/bin/nodes/FixedVectorNodes.js +0 -330
  84. package/bin/nodes/FixedVectorNodes.js.map +0 -1
  85. package/bin/nodes/VectorNodes.d.ts +0 -62
  86. package/bin/nodes/VectorNodes.d.ts.map +0 -1
  87. package/bin/nodes/VectorNodes.js +0 -355
  88. package/bin/nodes/VectorNodes.js.map +0 -1
  89. package/bin/nodes/index.d.ts +0 -20
  90. package/bin/nodes/index.d.ts.map +0 -1
  91. package/bin/nodes/index.js +0 -27
  92. package/bin/nodes/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"FixedNodes.d.ts","sourceRoot":"","sources":["../../src/nodes/FixedNodes.ts"],"names":[],"mappings":"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"}
@@ -1,612 +0,0 @@
1
- /**
2
- * @zh Fixed32 定点数蓝图节点
3
- * @en Fixed32 Blueprint Nodes
4
- */
5
- import { Fixed32 } from '../Fixed32';
6
- // Make Fixed32 from float
7
- export const Fixed32FromTemplate = {
8
- type: 'Fixed32From',
9
- title: 'Fixed32 From Float',
10
- category: 'math',
11
- description: 'Creates Fixed32 from float',
12
- keywords: ['fixed', 'fixed32', 'from', 'create', 'deterministic'],
13
- menuPath: ['Math', 'Fixed', 'From Float'],
14
- isPure: true,
15
- inputs: [
16
- { name: 'value', displayName: 'Value', type: 'float', defaultValue: 0 }
17
- ],
18
- outputs: [
19
- { name: 'fixed', displayName: 'Fixed32', type: 'object' }
20
- ],
21
- color: '#9C27B0'
22
- };
23
- export class Fixed32FromExecutor {
24
- execute(node, context) {
25
- const ctx = context;
26
- const value = Number(ctx.evaluateInput(node.id, 'value', 0));
27
- return { outputs: { fixed: Fixed32.from(value) } };
28
- }
29
- }
30
- // Make Fixed32 from int
31
- export const Fixed32FromIntTemplate = {
32
- type: 'Fixed32FromInt',
33
- title: 'Fixed32 From Int',
34
- category: 'math',
35
- description: 'Creates Fixed32 from integer (no precision loss)',
36
- keywords: ['fixed', 'fixed32', 'from', 'int', 'integer'],
37
- menuPath: ['Math', 'Fixed', 'From Int'],
38
- isPure: true,
39
- inputs: [
40
- { name: 'value', displayName: 'Value', type: 'int', defaultValue: 0 }
41
- ],
42
- outputs: [
43
- { name: 'fixed', displayName: 'Fixed32', type: 'object' }
44
- ],
45
- color: '#9C27B0'
46
- };
47
- export class Fixed32FromIntExecutor {
48
- execute(node, context) {
49
- const ctx = context;
50
- const value = Math.floor(Number(ctx.evaluateInput(node.id, 'value', 0)));
51
- return { outputs: { fixed: Fixed32.fromInt(value) } };
52
- }
53
- }
54
- // Fixed32 to float
55
- export const Fixed32ToFloatTemplate = {
56
- type: 'Fixed32ToFloat',
57
- title: 'Fixed32 To Float',
58
- category: 'math',
59
- description: 'Converts Fixed32 to float',
60
- keywords: ['fixed', 'fixed32', 'to', 'float', 'convert'],
61
- menuPath: ['Math', 'Fixed', 'To Float'],
62
- isPure: true,
63
- inputs: [
64
- { name: 'fixed', displayName: 'Fixed32', type: 'object' }
65
- ],
66
- outputs: [
67
- { name: 'value', displayName: 'Value', type: 'float' }
68
- ],
69
- color: '#9C27B0'
70
- };
71
- export class Fixed32ToFloatExecutor {
72
- execute(node, context) {
73
- const ctx = context;
74
- const fixed = ctx.evaluateInput(node.id, 'fixed', Fixed32.ZERO);
75
- return { outputs: { value: fixed?.toNumber() ?? 0 } };
76
- }
77
- }
78
- // Fixed32 to int
79
- export const Fixed32ToIntTemplate = {
80
- type: 'Fixed32ToInt',
81
- title: 'Fixed32 To Int',
82
- category: 'math',
83
- description: 'Converts Fixed32 to integer (floor)',
84
- keywords: ['fixed', 'fixed32', 'to', 'int', 'integer'],
85
- menuPath: ['Math', 'Fixed', 'To Int'],
86
- isPure: true,
87
- inputs: [
88
- { name: 'fixed', displayName: 'Fixed32', type: 'object' }
89
- ],
90
- outputs: [
91
- { name: 'value', displayName: 'Value', type: 'int' }
92
- ],
93
- color: '#9C27B0'
94
- };
95
- export class Fixed32ToIntExecutor {
96
- execute(node, context) {
97
- const ctx = context;
98
- const fixed = ctx.evaluateInput(node.id, 'fixed', Fixed32.ZERO);
99
- return { outputs: { value: fixed?.toInt() ?? 0 } };
100
- }
101
- }
102
- // Fixed32 Add
103
- export const Fixed32AddTemplate = {
104
- type: 'Fixed32Add',
105
- title: 'Fixed32 +',
106
- category: 'math',
107
- description: 'Adds two Fixed32 values',
108
- keywords: ['fixed', 'add', 'plus', '+'],
109
- menuPath: ['Math', 'Fixed', 'Add'],
110
- isPure: true,
111
- inputs: [
112
- { name: 'a', displayName: 'A', type: 'object' },
113
- { name: 'b', displayName: 'B', type: 'object' }
114
- ],
115
- outputs: [
116
- { name: 'result', displayName: 'Result', type: 'object' }
117
- ],
118
- color: '#9C27B0'
119
- };
120
- export class Fixed32AddExecutor {
121
- execute(node, context) {
122
- const ctx = context;
123
- const a = ctx.evaluateInput(node.id, 'a', Fixed32.ZERO);
124
- const b = ctx.evaluateInput(node.id, 'b', Fixed32.ZERO);
125
- return { outputs: { result: (a ?? Fixed32.ZERO).add(b ?? Fixed32.ZERO) } };
126
- }
127
- }
128
- // Fixed32 Subtract
129
- export const Fixed32SubtractTemplate = {
130
- type: 'Fixed32Subtract',
131
- title: 'Fixed32 -',
132
- category: 'math',
133
- description: 'Subtracts B from A',
134
- keywords: ['fixed', 'subtract', 'minus', '-'],
135
- menuPath: ['Math', 'Fixed', 'Subtract'],
136
- isPure: true,
137
- inputs: [
138
- { name: 'a', displayName: 'A', type: 'object' },
139
- { name: 'b', displayName: 'B', type: 'object' }
140
- ],
141
- outputs: [
142
- { name: 'result', displayName: 'Result', type: 'object' }
143
- ],
144
- color: '#9C27B0'
145
- };
146
- export class Fixed32SubtractExecutor {
147
- execute(node, context) {
148
- const ctx = context;
149
- const a = ctx.evaluateInput(node.id, 'a', Fixed32.ZERO);
150
- const b = ctx.evaluateInput(node.id, 'b', Fixed32.ZERO);
151
- return { outputs: { result: (a ?? Fixed32.ZERO).sub(b ?? Fixed32.ZERO) } };
152
- }
153
- }
154
- // Fixed32 Multiply
155
- export const Fixed32MultiplyTemplate = {
156
- type: 'Fixed32Multiply',
157
- title: 'Fixed32 *',
158
- category: 'math',
159
- description: 'Multiplies two Fixed32 values',
160
- keywords: ['fixed', 'multiply', 'times', '*'],
161
- menuPath: ['Math', 'Fixed', 'Multiply'],
162
- isPure: true,
163
- inputs: [
164
- { name: 'a', displayName: 'A', type: 'object' },
165
- { name: 'b', displayName: 'B', type: 'object' }
166
- ],
167
- outputs: [
168
- { name: 'result', displayName: 'Result', type: 'object' }
169
- ],
170
- color: '#9C27B0'
171
- };
172
- export class Fixed32MultiplyExecutor {
173
- execute(node, context) {
174
- const ctx = context;
175
- const a = ctx.evaluateInput(node.id, 'a', Fixed32.ONE);
176
- const b = ctx.evaluateInput(node.id, 'b', Fixed32.ONE);
177
- return { outputs: { result: (a ?? Fixed32.ONE).mul(b ?? Fixed32.ONE) } };
178
- }
179
- }
180
- // Fixed32 Divide
181
- export const Fixed32DivideTemplate = {
182
- type: 'Fixed32Divide',
183
- title: 'Fixed32 /',
184
- category: 'math',
185
- description: 'Divides A by B',
186
- keywords: ['fixed', 'divide', '/'],
187
- menuPath: ['Math', 'Fixed', 'Divide'],
188
- isPure: true,
189
- inputs: [
190
- { name: 'a', displayName: 'A', type: 'object' },
191
- { name: 'b', displayName: 'B', type: 'object' }
192
- ],
193
- outputs: [
194
- { name: 'result', displayName: 'Result', type: 'object' }
195
- ],
196
- color: '#9C27B0'
197
- };
198
- export class Fixed32DivideExecutor {
199
- execute(node, context) {
200
- const ctx = context;
201
- const a = ctx.evaluateInput(node.id, 'a', Fixed32.ZERO);
202
- const b = ctx.evaluateInput(node.id, 'b', Fixed32.ONE);
203
- const divisor = b ?? Fixed32.ONE;
204
- if (divisor.isZero()) {
205
- return { outputs: { result: Fixed32.ZERO } };
206
- }
207
- return { outputs: { result: (a ?? Fixed32.ZERO).div(divisor) } };
208
- }
209
- }
210
- // Fixed32 Negate
211
- export const Fixed32NegateTemplate = {
212
- type: 'Fixed32Negate',
213
- title: 'Fixed32 Negate',
214
- category: 'math',
215
- description: 'Negates a Fixed32 value',
216
- keywords: ['fixed', 'negate', '-'],
217
- menuPath: ['Math', 'Fixed', 'Negate'],
218
- isPure: true,
219
- inputs: [
220
- { name: 'value', displayName: 'Value', type: 'object' }
221
- ],
222
- outputs: [
223
- { name: 'result', displayName: 'Result', type: 'object' }
224
- ],
225
- color: '#9C27B0'
226
- };
227
- export class Fixed32NegateExecutor {
228
- execute(node, context) {
229
- const ctx = context;
230
- const value = ctx.evaluateInput(node.id, 'value', Fixed32.ZERO);
231
- return { outputs: { result: (value ?? Fixed32.ZERO).neg() } };
232
- }
233
- }
234
- // Fixed32 Abs
235
- export const Fixed32AbsTemplate = {
236
- type: 'Fixed32Abs',
237
- title: 'Fixed32 Abs',
238
- category: 'math',
239
- description: 'Absolute value of Fixed32',
240
- keywords: ['fixed', 'abs', 'absolute'],
241
- menuPath: ['Math', 'Fixed', 'Abs'],
242
- isPure: true,
243
- inputs: [
244
- { name: 'value', displayName: 'Value', type: 'object' }
245
- ],
246
- outputs: [
247
- { name: 'result', displayName: 'Result', type: 'object' }
248
- ],
249
- color: '#9C27B0'
250
- };
251
- export class Fixed32AbsExecutor {
252
- execute(node, context) {
253
- const ctx = context;
254
- const value = ctx.evaluateInput(node.id, 'value', Fixed32.ZERO);
255
- return { outputs: { result: (value ?? Fixed32.ZERO).abs() } };
256
- }
257
- }
258
- // Fixed32 Sqrt
259
- export const Fixed32SqrtTemplate = {
260
- type: 'Fixed32Sqrt',
261
- title: 'Fixed32 Sqrt',
262
- category: 'math',
263
- description: 'Square root (deterministic)',
264
- keywords: ['fixed', 'sqrt', 'square', 'root'],
265
- menuPath: ['Math', 'Fixed', 'Sqrt'],
266
- isPure: true,
267
- inputs: [
268
- { name: 'value', displayName: 'Value', type: 'object' }
269
- ],
270
- outputs: [
271
- { name: 'result', displayName: 'Result', type: 'object' }
272
- ],
273
- color: '#9C27B0'
274
- };
275
- export class Fixed32SqrtExecutor {
276
- execute(node, context) {
277
- const ctx = context;
278
- const value = ctx.evaluateInput(node.id, 'value', Fixed32.ZERO);
279
- return { outputs: { result: Fixed32.sqrt(value ?? Fixed32.ZERO) } };
280
- }
281
- }
282
- // Fixed32 Floor
283
- export const Fixed32FloorTemplate = {
284
- type: 'Fixed32Floor',
285
- title: 'Fixed32 Floor',
286
- category: 'math',
287
- description: 'Floor of Fixed32',
288
- keywords: ['fixed', 'floor', 'round', 'down'],
289
- menuPath: ['Math', 'Fixed', 'Floor'],
290
- isPure: true,
291
- inputs: [
292
- { name: 'value', displayName: 'Value', type: 'object' }
293
- ],
294
- outputs: [
295
- { name: 'result', displayName: 'Result', type: 'object' }
296
- ],
297
- color: '#9C27B0'
298
- };
299
- export class Fixed32FloorExecutor {
300
- execute(node, context) {
301
- const ctx = context;
302
- const value = ctx.evaluateInput(node.id, 'value', Fixed32.ZERO);
303
- return { outputs: { result: Fixed32.floor(value ?? Fixed32.ZERO) } };
304
- }
305
- }
306
- // Fixed32 Ceil
307
- export const Fixed32CeilTemplate = {
308
- type: 'Fixed32Ceil',
309
- title: 'Fixed32 Ceil',
310
- category: 'math',
311
- description: 'Ceiling of Fixed32',
312
- keywords: ['fixed', 'ceil', 'ceiling', 'round', 'up'],
313
- menuPath: ['Math', 'Fixed', 'Ceil'],
314
- isPure: true,
315
- inputs: [
316
- { name: 'value', displayName: 'Value', type: 'object' }
317
- ],
318
- outputs: [
319
- { name: 'result', displayName: 'Result', type: 'object' }
320
- ],
321
- color: '#9C27B0'
322
- };
323
- export class Fixed32CeilExecutor {
324
- execute(node, context) {
325
- const ctx = context;
326
- const value = ctx.evaluateInput(node.id, 'value', Fixed32.ZERO);
327
- return { outputs: { result: Fixed32.ceil(value ?? Fixed32.ZERO) } };
328
- }
329
- }
330
- // Fixed32 Round
331
- export const Fixed32RoundTemplate = {
332
- type: 'Fixed32Round',
333
- title: 'Fixed32 Round',
334
- category: 'math',
335
- description: 'Rounds Fixed32 to nearest integer',
336
- keywords: ['fixed', 'round'],
337
- menuPath: ['Math', 'Fixed', 'Round'],
338
- isPure: true,
339
- inputs: [
340
- { name: 'value', displayName: 'Value', type: 'object' }
341
- ],
342
- outputs: [
343
- { name: 'result', displayName: 'Result', type: 'object' }
344
- ],
345
- color: '#9C27B0'
346
- };
347
- export class Fixed32RoundExecutor {
348
- execute(node, context) {
349
- const ctx = context;
350
- const value = ctx.evaluateInput(node.id, 'value', Fixed32.ZERO);
351
- return { outputs: { result: Fixed32.round(value ?? Fixed32.ZERO) } };
352
- }
353
- }
354
- // Fixed32 Sign
355
- export const Fixed32SignTemplate = {
356
- type: 'Fixed32Sign',
357
- title: 'Fixed32 Sign',
358
- category: 'math',
359
- description: 'Sign of Fixed32 (-1, 0, or 1)',
360
- keywords: ['fixed', 'sign'],
361
- menuPath: ['Math', 'Fixed', 'Sign'],
362
- isPure: true,
363
- inputs: [
364
- { name: 'value', displayName: 'Value', type: 'object' }
365
- ],
366
- outputs: [
367
- { name: 'result', displayName: 'Result', type: 'object' }
368
- ],
369
- color: '#9C27B0'
370
- };
371
- export class Fixed32SignExecutor {
372
- execute(node, context) {
373
- const ctx = context;
374
- const value = ctx.evaluateInput(node.id, 'value', Fixed32.ZERO);
375
- return { outputs: { result: Fixed32.sign(value ?? Fixed32.ZERO) } };
376
- }
377
- }
378
- // Fixed32 Min
379
- export const Fixed32MinTemplate = {
380
- type: 'Fixed32Min',
381
- title: 'Fixed32 Min',
382
- category: 'math',
383
- description: 'Minimum of two Fixed32 values',
384
- keywords: ['fixed', 'min', 'minimum'],
385
- menuPath: ['Math', 'Fixed', 'Min'],
386
- isPure: true,
387
- inputs: [
388
- { name: 'a', displayName: 'A', type: 'object' },
389
- { name: 'b', displayName: 'B', type: 'object' }
390
- ],
391
- outputs: [
392
- { name: 'result', displayName: 'Result', type: 'object' }
393
- ],
394
- color: '#9C27B0'
395
- };
396
- export class Fixed32MinExecutor {
397
- execute(node, context) {
398
- const ctx = context;
399
- const a = ctx.evaluateInput(node.id, 'a', Fixed32.ZERO);
400
- const b = ctx.evaluateInput(node.id, 'b', Fixed32.ZERO);
401
- return { outputs: { result: Fixed32.min(a ?? Fixed32.ZERO, b ?? Fixed32.ZERO) } };
402
- }
403
- }
404
- // Fixed32 Max
405
- export const Fixed32MaxTemplate = {
406
- type: 'Fixed32Max',
407
- title: 'Fixed32 Max',
408
- category: 'math',
409
- description: 'Maximum of two Fixed32 values',
410
- keywords: ['fixed', 'max', 'maximum'],
411
- menuPath: ['Math', 'Fixed', 'Max'],
412
- isPure: true,
413
- inputs: [
414
- { name: 'a', displayName: 'A', type: 'object' },
415
- { name: 'b', displayName: 'B', type: 'object' }
416
- ],
417
- outputs: [
418
- { name: 'result', displayName: 'Result', type: 'object' }
419
- ],
420
- color: '#9C27B0'
421
- };
422
- export class Fixed32MaxExecutor {
423
- execute(node, context) {
424
- const ctx = context;
425
- const a = ctx.evaluateInput(node.id, 'a', Fixed32.ZERO);
426
- const b = ctx.evaluateInput(node.id, 'b', Fixed32.ZERO);
427
- return { outputs: { result: Fixed32.max(a ?? Fixed32.ZERO, b ?? Fixed32.ZERO) } };
428
- }
429
- }
430
- // Fixed32 Clamp
431
- export const Fixed32ClampTemplate = {
432
- type: 'Fixed32Clamp',
433
- title: 'Fixed32 Clamp',
434
- category: 'math',
435
- description: 'Clamps Fixed32 to range',
436
- keywords: ['fixed', 'clamp', 'limit', 'range'],
437
- menuPath: ['Math', 'Fixed', 'Clamp'],
438
- isPure: true,
439
- inputs: [
440
- { name: 'value', displayName: 'Value', type: 'object' },
441
- { name: 'min', displayName: 'Min', type: 'object' },
442
- { name: 'max', displayName: 'Max', type: 'object' }
443
- ],
444
- outputs: [
445
- { name: 'result', displayName: 'Result', type: 'object' }
446
- ],
447
- color: '#9C27B0'
448
- };
449
- export class Fixed32ClampExecutor {
450
- execute(node, context) {
451
- const ctx = context;
452
- const value = ctx.evaluateInput(node.id, 'value', Fixed32.ZERO);
453
- const min = ctx.evaluateInput(node.id, 'min', Fixed32.ZERO);
454
- const max = ctx.evaluateInput(node.id, 'max', Fixed32.ONE);
455
- return { outputs: { result: Fixed32.clamp(value ?? Fixed32.ZERO, min ?? Fixed32.ZERO, max ?? Fixed32.ONE) } };
456
- }
457
- }
458
- // Fixed32 Lerp
459
- export const Fixed32LerpTemplate = {
460
- type: 'Fixed32Lerp',
461
- title: 'Fixed32 Lerp',
462
- category: 'math',
463
- description: 'Linear interpolation between A and B',
464
- keywords: ['fixed', 'lerp', 'interpolate', 'blend'],
465
- menuPath: ['Math', 'Fixed', 'Lerp'],
466
- isPure: true,
467
- inputs: [
468
- { name: 'a', displayName: 'A', type: 'object' },
469
- { name: 'b', displayName: 'B', type: 'object' },
470
- { name: 't', displayName: 'T', type: 'object' }
471
- ],
472
- outputs: [
473
- { name: 'result', displayName: 'Result', type: 'object' }
474
- ],
475
- color: '#9C27B0'
476
- };
477
- export class Fixed32LerpExecutor {
478
- execute(node, context) {
479
- const ctx = context;
480
- const a = ctx.evaluateInput(node.id, 'a', Fixed32.ZERO);
481
- const b = ctx.evaluateInput(node.id, 'b', Fixed32.ONE);
482
- const t = ctx.evaluateInput(node.id, 't', Fixed32.HALF);
483
- return { outputs: { result: Fixed32.lerp(a ?? Fixed32.ZERO, b ?? Fixed32.ONE, t ?? Fixed32.HALF) } };
484
- }
485
- }
486
- // Fixed32 Compare
487
- export const Fixed32CompareTemplate = {
488
- type: 'Fixed32Compare',
489
- title: 'Fixed32 Compare',
490
- category: 'math',
491
- description: 'Compares two Fixed32 values',
492
- keywords: ['fixed', 'compare', 'equal', 'less', 'greater'],
493
- menuPath: ['Math', 'Fixed', 'Compare'],
494
- isPure: true,
495
- inputs: [
496
- { name: 'a', displayName: 'A', type: 'object' },
497
- { name: 'b', displayName: 'B', type: 'object' }
498
- ],
499
- outputs: [
500
- { name: 'equal', displayName: 'A == B', type: 'bool' },
501
- { name: 'less', displayName: 'A < B', type: 'bool' },
502
- { name: 'greater', displayName: 'A > B', type: 'bool' }
503
- ],
504
- color: '#9C27B0'
505
- };
506
- export class Fixed32CompareExecutor {
507
- execute(node, context) {
508
- const ctx = context;
509
- const a = ctx.evaluateInput(node.id, 'a', Fixed32.ZERO);
510
- const b = ctx.evaluateInput(node.id, 'b', Fixed32.ZERO);
511
- const aVal = a ?? Fixed32.ZERO;
512
- const bVal = b ?? Fixed32.ZERO;
513
- return {
514
- outputs: {
515
- equal: aVal.eq(bVal),
516
- less: aVal.lt(bVal),
517
- greater: aVal.gt(bVal)
518
- }
519
- };
520
- }
521
- }
522
- // Fixed32 IsZero
523
- export const Fixed32IsZeroTemplate = {
524
- type: 'Fixed32IsZero',
525
- title: 'Fixed32 Is Zero',
526
- category: 'math',
527
- description: 'Checks if Fixed32 is zero, positive, or negative',
528
- keywords: ['fixed', 'zero', 'check'],
529
- menuPath: ['Math', 'Fixed', 'Is Zero'],
530
- isPure: true,
531
- inputs: [
532
- { name: 'value', displayName: 'Value', type: 'object' }
533
- ],
534
- outputs: [
535
- { name: 'isZero', displayName: 'Is Zero', type: 'bool' },
536
- { name: 'isPositive', displayName: 'Is Positive', type: 'bool' },
537
- { name: 'isNegative', displayName: 'Is Negative', type: 'bool' }
538
- ],
539
- color: '#9C27B0'
540
- };
541
- export class Fixed32IsZeroExecutor {
542
- execute(node, context) {
543
- const ctx = context;
544
- const value = ctx.evaluateInput(node.id, 'value', Fixed32.ZERO);
545
- const val = value ?? Fixed32.ZERO;
546
- return {
547
- outputs: {
548
- isZero: val.isZero(),
549
- isPositive: val.isPositive(),
550
- isNegative: val.isNegative()
551
- }
552
- };
553
- }
554
- }
555
- // Fixed32 Constants
556
- export const Fixed32ConstantsTemplate = {
557
- type: 'Fixed32Constants',
558
- title: 'Fixed32 Constants',
559
- category: 'math',
560
- description: 'Common Fixed32 constants',
561
- keywords: ['fixed', 'constant', 'pi', 'zero', 'one'],
562
- menuPath: ['Math', 'Fixed', 'Constants'],
563
- isPure: true,
564
- inputs: [],
565
- outputs: [
566
- { name: 'zero', displayName: '0', type: 'object' },
567
- { name: 'one', displayName: '1', type: 'object' },
568
- { name: 'half', displayName: '0.5', type: 'object' },
569
- { name: 'pi', displayName: 'PI', type: 'object' },
570
- { name: 'twoPi', displayName: '2PI', type: 'object' }
571
- ],
572
- color: '#9C27B0'
573
- };
574
- export class Fixed32ConstantsExecutor {
575
- execute() {
576
- return {
577
- outputs: {
578
- zero: Fixed32.ZERO,
579
- one: Fixed32.ONE,
580
- half: Fixed32.HALF,
581
- pi: Fixed32.PI,
582
- twoPi: Fixed32.TWO_PI
583
- }
584
- };
585
- }
586
- }
587
- // Node definitions collection
588
- export const FixedNodeDefinitions = [
589
- { template: Fixed32FromTemplate, executor: new Fixed32FromExecutor() },
590
- { template: Fixed32FromIntTemplate, executor: new Fixed32FromIntExecutor() },
591
- { template: Fixed32ToFloatTemplate, executor: new Fixed32ToFloatExecutor() },
592
- { template: Fixed32ToIntTemplate, executor: new Fixed32ToIntExecutor() },
593
- { template: Fixed32AddTemplate, executor: new Fixed32AddExecutor() },
594
- { template: Fixed32SubtractTemplate, executor: new Fixed32SubtractExecutor() },
595
- { template: Fixed32MultiplyTemplate, executor: new Fixed32MultiplyExecutor() },
596
- { template: Fixed32DivideTemplate, executor: new Fixed32DivideExecutor() },
597
- { template: Fixed32NegateTemplate, executor: new Fixed32NegateExecutor() },
598
- { template: Fixed32AbsTemplate, executor: new Fixed32AbsExecutor() },
599
- { template: Fixed32SqrtTemplate, executor: new Fixed32SqrtExecutor() },
600
- { template: Fixed32FloorTemplate, executor: new Fixed32FloorExecutor() },
601
- { template: Fixed32CeilTemplate, executor: new Fixed32CeilExecutor() },
602
- { template: Fixed32RoundTemplate, executor: new Fixed32RoundExecutor() },
603
- { template: Fixed32SignTemplate, executor: new Fixed32SignExecutor() },
604
- { template: Fixed32MinTemplate, executor: new Fixed32MinExecutor() },
605
- { template: Fixed32MaxTemplate, executor: new Fixed32MaxExecutor() },
606
- { template: Fixed32ClampTemplate, executor: new Fixed32ClampExecutor() },
607
- { template: Fixed32LerpTemplate, executor: new Fixed32LerpExecutor() },
608
- { template: Fixed32CompareTemplate, executor: new Fixed32CompareExecutor() },
609
- { template: Fixed32IsZeroTemplate, executor: new Fixed32IsZeroExecutor() },
610
- { template: Fixed32ConstantsTemplate, executor: new Fixed32ConstantsExecutor() }
611
- ];
612
- //# sourceMappingURL=FixedNodes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FixedNodes.js","sourceRoot":"","sources":["../../src/nodes/FixedNodes.ts"],"names":[],"mappings":"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"}