@myeiter/mcy-web 0.0.2 → 1.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.
Files changed (72) hide show
  1. package/dist/app/app.d.ts +1 -1
  2. package/dist/app/app.d.ts.map +1 -1
  3. package/dist/app/app.js +1 -1
  4. package/dist/app/app.js.map +1 -1
  5. package/dist/app/canvas_loop.d.ts.map +1 -1
  6. package/dist/app/canvas_loop.js +2 -2
  7. package/dist/app/canvas_loop.js.map +1 -1
  8. package/dist/app/drawing/drawing.d.ts +23 -0
  9. package/dist/app/drawing/drawing.d.ts.map +1 -0
  10. package/dist/app/drawing/drawing.js +104 -0
  11. package/dist/app/drawing/drawing.js.map +1 -0
  12. package/dist/app/drawing/exceptions.d.ts +2 -0
  13. package/dist/app/drawing/exceptions.d.ts.map +1 -0
  14. package/dist/app/drawing/exceptions.js +3 -0
  15. package/dist/app/drawing/exceptions.js.map +1 -0
  16. package/dist/app/drawing/shape_drawing.d.ts +2 -0
  17. package/dist/app/drawing/shape_drawing.d.ts.map +1 -0
  18. package/dist/app/drawing/shape_drawing.js +3 -0
  19. package/dist/app/drawing/shape_drawing.js.map +1 -0
  20. package/dist/app/error.d.ts +4 -0
  21. package/dist/app/error.d.ts.map +1 -0
  22. package/dist/app/error.js +11 -0
  23. package/dist/app/error.js.map +1 -0
  24. package/dist/app/input.d.ts +41 -2
  25. package/dist/app/input.d.ts.map +1 -1
  26. package/dist/app/input.js +187 -3
  27. package/dist/app/input.js.map +1 -1
  28. package/dist/core/containers.d.ts +9 -2
  29. package/dist/core/containers.d.ts.map +1 -1
  30. package/dist/core/containers.js +61 -5
  31. package/dist/core/containers.js.map +1 -1
  32. package/dist/core/core.d.ts +5 -1
  33. package/dist/core/core.d.ts.map +1 -1
  34. package/dist/core/core.js +5 -1
  35. package/dist/core/core.js.map +1 -1
  36. package/dist/core/error.d.ts +1 -0
  37. package/dist/core/error.d.ts.map +1 -1
  38. package/dist/core/error.js +7 -0
  39. package/dist/core/error.js.map +1 -1
  40. package/dist/core/logger.d.ts +23 -0
  41. package/dist/core/logger.d.ts.map +1 -0
  42. package/dist/core/logger.js +173 -0
  43. package/dist/core/logger.js.map +1 -0
  44. package/dist/core/math/math.d.ts +15 -0
  45. package/dist/core/math/math.d.ts.map +1 -0
  46. package/dist/core/math/math.js +80 -0
  47. package/dist/core/math/math.js.map +1 -0
  48. package/dist/core/math/random.d.ts +6 -0
  49. package/dist/core/math/random.d.ts.map +1 -0
  50. package/dist/core/math/random.js +33 -0
  51. package/dist/core/math/random.js.map +1 -0
  52. package/dist/core/math/shapes.d.ts +26 -0
  53. package/dist/core/math/shapes.d.ts.map +1 -0
  54. package/dist/core/math/shapes.js +104 -0
  55. package/dist/core/math/shapes.js.map +1 -0
  56. package/dist/core/math/v2.d.ts +24 -0
  57. package/dist/core/math/v2.d.ts.map +1 -0
  58. package/dist/core/math/v2.js +45 -0
  59. package/dist/core/math/v2.js.map +1 -0
  60. package/dist/core/serialization.d.ts +8 -8
  61. package/dist/core/serialization.d.ts.map +1 -1
  62. package/dist/core/serialization.js +16 -16
  63. package/dist/core/serialization.js.map +1 -1
  64. package/dist/core/string.d.ts +13 -6
  65. package/dist/core/string.d.ts.map +1 -1
  66. package/dist/core/string.js +38 -13
  67. package/dist/core/string.js.map +1 -1
  68. package/dist/core/time.d.ts +5 -2
  69. package/dist/core/time.d.ts.map +1 -1
  70. package/dist/core/time.js +25 -4
  71. package/dist/core/time.js.map +1 -1
  72. package/package.json +2 -2
@@ -1,17 +1,73 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ShuffleArray = ShuffleArray;
4
- exports.PopArrayElements = PopArrayElements;
5
- function ShuffleArray(array) {
3
+ exports.ArrayShuffle = ArrayShuffle;
4
+ exports.ArrayShufflePop = ArrayShufflePop;
5
+ exports.ArraySwapIndexes = ArraySwapIndexes;
6
+ exports.ArraySwapIndexesIfSmaller = ArraySwapIndexesIfSmaller;
7
+ exports.ArrayInsertAt = ArrayInsertAt;
8
+ exports.ArrayGetRangeArray = ArrayGetRangeArray;
9
+ exports.ArraySwapIndexesIfGreater = ArraySwapIndexesIfGreater;
10
+ exports.ArrayGetOrderedRemoveRepeats = ArrayGetOrderedRemoveRepeats;
11
+ exports.ArrayOrderedRemoveRepeats = ArrayOrderedRemoveRepeats;
12
+ function ArrayShuffle(array) {
6
13
  for (let i = array.length - 1; i > 0; i--) {
7
14
  const j = Math.floor(Math.random() * (i + 1)); // random index 0..i
8
15
  [array[i], array[j]] = [array[j], array[i]]; // swap elements
9
16
  }
10
17
  return array;
11
18
  }
12
- function PopArrayElements(arr, popCount) {
13
- ShuffleArray(arr);
19
+ function ArrayShufflePop(arr, popCount) {
20
+ ArrayShuffle(arr);
14
21
  for (let i = 1; i <= popCount; i++)
15
22
  arr.pop();
16
23
  }
24
+ function ArraySwapIndexes(array, index1, index2) {
25
+ const temp = array[index1];
26
+ array[index1] = array[index2];
27
+ array[index2] = temp;
28
+ }
29
+ function ArraySwapIndexesIfSmaller(array, index1, index2) {
30
+ if (array[index1] < array[index2]) {
31
+ const temp = array[index1];
32
+ array[index1] = array[index2];
33
+ array[index2] = temp;
34
+ }
35
+ }
36
+ function ArrayInsertAt(arr, index, item) {
37
+ arr.splice(index, 0, item);
38
+ }
39
+ function ArrayGetRangeArray(low, high) {
40
+ const result = [];
41
+ for (let i = low; i < high; i++) {
42
+ result.push(i);
43
+ }
44
+ return result;
45
+ }
46
+ function ArraySwapIndexesIfGreater(array, index1, index2) {
47
+ if (array[index1] > array[index2]) {
48
+ const temp = array[index1];
49
+ array[index1] = array[index2];
50
+ array[index2] = temp;
51
+ }
52
+ }
53
+ function ArrayGetOrderedRemoveRepeats(values) {
54
+ const result = [];
55
+ for (let i = 0; i < values.length; i++) {
56
+ const currentValue = values[i];
57
+ if (!result.includes(currentValue))
58
+ result.push(currentValue);
59
+ }
60
+ result.sort((a, b) => a - b);
61
+ return result;
62
+ }
63
+ function ArrayOrderedRemoveRepeats(values) {
64
+ const result = [];
65
+ for (let i = 0; i < values.length; i++) {
66
+ const currentValue = values[i];
67
+ if (!result.includes(currentValue))
68
+ result.push(currentValue);
69
+ }
70
+ result.sort((a, b) => a - b);
71
+ return result;
72
+ }
17
73
  //# sourceMappingURL=containers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"containers.js","sourceRoot":"","sources":["../../src/core/containers.ts"],"names":[],"mappings":";;AAAA,oCAOC;AAED,4CAKC;AAdD,SAAgB,YAAY,CAAI,KAAU;IAEtC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB;QACnE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,gBAAgB;IAClE,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAgB,gBAAgB,CAAI,GAAQ,EAAE,QAAgB;IAE1D,YAAY,CAAC,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE;QAC9B,GAAG,CAAC,GAAG,EAAE,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"containers.js","sourceRoot":"","sources":["../../src/core/containers.ts"],"names":[],"mappings":";;AAAA,oCAOC;AAED,0CAKC;AAED,4CAKC;AAED,8DAQC;AACD,sCAEC;AAED,gDAQC;AAED,8DAQC;AAED,oEAWC;AAGD,8DAWC;AAjFD,SAAgB,YAAY,CAAI,KAAU;IAEtC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB;QACnE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,gBAAgB;IAClE,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAgB,eAAe,CAAI,GAAQ,EAAE,QAAgB;IAEzD,YAAY,CAAC,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE;QAC9B,GAAG,CAAC,GAAG,EAAE,CAAC;AAClB,CAAC;AAED,SAAgB,gBAAgB,CAAI,KAAU,EAAE,MAAc,EAAE,MAAc;IAE1E,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AACzB,CAAC;AAED,SAAgB,yBAAyB,CAAC,KAAe,EAAE,MAAc,EAAE,MAAc;IAErF,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,EACjC,CAAC;QACG,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACzB,CAAC;AACL,CAAC;AACD,SAAgB,aAAa,CAAI,GAAQ,EAAE,KAAa,EAAE,IAAO;IAC7D,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,kBAAkB,CAAC,GAAW,EAAE,IAAY;IAExD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAC/B,CAAC;QACG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,yBAAyB,CAAC,KAAe,EAAE,MAAc,EAAE,MAAc;IAErF,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,EACjC,CAAC;QACG,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACzB,CAAC;AACL,CAAC;AAED,SAAgB,4BAA4B,CAAC,MAAgB;IAEzD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EACtC,CAAC;QACG,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC;AAClB,CAAC;AAGD,SAAgB,yBAAyB,CAAC,MAAgB;IAEtD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EACtC,CAAC;QACG,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -1,6 +1,10 @@
1
+ export * from './math/math';
2
+ export * from './math/random';
3
+ export * from './math/v2';
4
+ export * from './math/shapes';
1
5
  export * from './containers';
2
6
  export * from './error';
3
- export * from './math';
7
+ export * from './logger';
4
8
  export * from './serialization';
5
9
  export * from './string';
6
10
  export * from './time';
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core/core.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core/core.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAE9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
package/dist/core/core.js CHANGED
@@ -14,9 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./math/math"), exports);
18
+ __exportStar(require("./math/random"), exports);
19
+ __exportStar(require("./math/v2"), exports);
20
+ __exportStar(require("./math/shapes"), exports);
17
21
  __exportStar(require("./containers"), exports);
18
22
  __exportStar(require("./error"), exports);
19
- __exportStar(require("./math"), exports);
23
+ __exportStar(require("./logger"), exports);
20
24
  __exportStar(require("./serialization"), exports);
21
25
  __exportStar(require("./string"), exports);
22
26
  __exportStar(require("./time"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,0CAAwB;AACxB,yCAAuB;AACvB,kDAAgC;AAChC,2CAAyB;AACzB,yCAAuB"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core/core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,gDAA8B;AAC9B,4CAA0B;AAC1B,gDAA8B;AAE9B,+CAA6B;AAC7B,0CAAwB;AACxB,2CAAyB;AACzB,kDAAgC;AAChC,2CAAyB;AACzB,yCAAuB"}
@@ -1,4 +1,5 @@
1
1
  export declare function MyAssert(conditionMet: boolean, message: string): void;
2
+ export declare function MyAssertConvertValue<T>(param: any): T;
2
3
  export declare function ConvertAssertValue<T>(param: any): T;
3
4
  export declare class ParseException extends Error {
4
5
  constructor(message: string);
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/core/error.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAO9D;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,CAKnD;AAED,qBAAa,cAAe,SAAQ,KAAK;gBAEzB,OAAO,EAAE,MAAM;CAI9B"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/core/error.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAO9D;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,CAIrD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,CAKnD;AAED,qBAAa,cAAe,SAAQ,KAAK;gBAEzB,OAAO,EAAE,MAAM;CAI9B"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ParseException = void 0;
4
4
  exports.MyAssert = MyAssert;
5
+ exports.MyAssertConvertValue = MyAssertConvertValue;
5
6
  exports.ConvertAssertValue = ConvertAssertValue;
6
7
  function MyAssert(conditionMet, message) {
7
8
  if (!conditionMet) {
@@ -10,6 +11,12 @@ function MyAssert(conditionMet, message) {
10
11
  throw new Error(message);
11
12
  }
12
13
  }
14
+ function MyAssertConvertValue(param) {
15
+ const value = param;
16
+ if (!value)
17
+ throw new Error("Invalid parameter");
18
+ return value;
19
+ }
13
20
  function ConvertAssertValue(param) {
14
21
  const value = param;
15
22
  if (!value)
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/core/error.ts"],"names":[],"mappings":";;;AAAA,4BAOC;AAED,gDAKC;AAdD,SAAgB,QAAQ,CAAC,YAAqB,EAAE,OAAe;IAE3D,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,QAAQ,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;AACL,CAAC;AAED,SAAgB,kBAAkB,CAAI,KAAU;IAE5C,MAAM,KAAK,GAAG,KAAU,CAAC;IACzB,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAa,cAAe,SAAQ,KAAK;IAErC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IACjC,CAAC;CACJ;AAND,wCAMC"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/core/error.ts"],"names":[],"mappings":";;;AAAA,4BAOC;AAED,oDAIC;AAED,gDAKC;AApBD,SAAgB,QAAQ,CAAC,YAAqB,EAAE,OAAe;IAE3D,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,QAAQ,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;AACL,CAAC;AAED,SAAgB,oBAAoB,CAAI,KAAU;IAC9C,MAAM,KAAK,GAAG,KAAU,CAAC;IACzB,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAgB,kBAAkB,CAAI,KAAU;IAE5C,MAAM,KAAK,GAAG,KAAU,CAAC;IACzB,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAa,cAAe,SAAQ,KAAK;IAErC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IACjC,CAAC;CACJ;AAND,wCAMC"}
@@ -0,0 +1,23 @@
1
+ export declare enum LogLevel {
2
+ NONE = -1,
3
+ ERROR = 0,
4
+ WARN = 1,
5
+ INFO = 2,
6
+ DEBUG = 3,
7
+ TRACE = 4
8
+ }
9
+ export declare function LogSetLevel(level: LogLevel): void;
10
+ export declare function LogSetShowDeviceId(showDeviceId: boolean): void;
11
+ export declare function LogError(...args: any[]): void;
12
+ export declare function LogWarn(...args: any[]): void;
13
+ export declare function LogInfo(...args: any[]): void;
14
+ export declare function LogDebug(...args: any[]): void;
15
+ export declare function LogTrace(...args: any[]): void;
16
+ export declare function LogLog(logLevel: LogLevel, ...args: any[]): void;
17
+ export declare function LogErrorIf(condition: boolean, ...args: any[]): void;
18
+ export declare function LogWarnIf(condition: boolean, ...args: any[]): void;
19
+ export declare function LogInfoIf(condition: boolean, ...args: any[]): void;
20
+ export declare function LogDebugIf(condition: boolean, ...args: any[]): void;
21
+ export declare function LogLogIf(condition: boolean, logLevel: LogLevel, ...args: any[]): void;
22
+ export declare function LogTraceIf(condition: boolean, ...args: any[]): void;
23
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAChB,IAAI,KAAK;IACT,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,KAAK,IAAI;CACZ;AA+GD,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,QAG1C;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,OAAO,QAGvD;AAED,wBAAgB,QAAQ,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,QAGtC;AAED,wBAAgB,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,QAGrC;AAED,wBAAgB,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,QAGrC;AAED,wBAAgB,QAAQ,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,QAGtC;AAED,wBAAgB,QAAQ,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,QAGtC;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,QAGxD;AAGD,wBAAgB,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,QAI5D;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,QAI3D;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,QAI3D;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,QAI5D;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,QAI9E;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,QAI5D"}
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogLevel = void 0;
4
+ exports.LogSetLevel = LogSetLevel;
5
+ exports.LogSetShowDeviceId = LogSetShowDeviceId;
6
+ exports.LogError = LogError;
7
+ exports.LogWarn = LogWarn;
8
+ exports.LogInfo = LogInfo;
9
+ exports.LogDebug = LogDebug;
10
+ exports.LogTrace = LogTrace;
11
+ exports.LogLog = LogLog;
12
+ exports.LogErrorIf = LogErrorIf;
13
+ exports.LogWarnIf = LogWarnIf;
14
+ exports.LogInfoIf = LogInfoIf;
15
+ exports.LogDebugIf = LogDebugIf;
16
+ exports.LogLogIf = LogLogIf;
17
+ exports.LogTraceIf = LogTraceIf;
18
+ var LogLevel;
19
+ (function (LogLevel) {
20
+ LogLevel[LogLevel["NONE"] = -1] = "NONE";
21
+ LogLevel[LogLevel["ERROR"] = 0] = "ERROR";
22
+ LogLevel[LogLevel["WARN"] = 1] = "WARN";
23
+ LogLevel[LogLevel["INFO"] = 2] = "INFO";
24
+ LogLevel[LogLevel["DEBUG"] = 3] = "DEBUG";
25
+ LogLevel[LogLevel["TRACE"] = 4] = "TRACE";
26
+ })(LogLevel || (exports.LogLevel = LogLevel = {}));
27
+ const logLevelString = [
28
+ 'ERROR',
29
+ 'WARN',
30
+ 'INFO',
31
+ 'DEBUG',
32
+ 'TRACE',
33
+ ];
34
+ class Logger {
35
+ constructor() {
36
+ Object.defineProperty(this, "level", {
37
+ enumerable: true,
38
+ configurable: true,
39
+ writable: true,
40
+ value: LogLevel.INFO
41
+ });
42
+ Object.defineProperty(this, "deviceId", {
43
+ enumerable: true,
44
+ configurable: true,
45
+ writable: true,
46
+ value: void 0
47
+ });
48
+ Object.defineProperty(this, "showDeviceId", {
49
+ enumerable: true,
50
+ configurable: true,
51
+ writable: true,
52
+ value: false
53
+ });
54
+ const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
55
+ let id = "";
56
+ for (let i = 0; i < 4; i++) {
57
+ id += chars[Math.floor(Math.random() * chars.length)];
58
+ }
59
+ this.deviceId = id;
60
+ }
61
+ shouldLog(level) {
62
+ if (this.level === LogLevel.NONE)
63
+ return false;
64
+ return this.level >= level;
65
+ }
66
+ format(args, logLevel) {
67
+ const timestamp = new Date().toISOString();
68
+ if (this.showDeviceId)
69
+ return [`[${timestamp}]`, `[${this.deviceId})]`, `[${logLevelString[logLevel]}]`, ...args];
70
+ else
71
+ return [`[${timestamp}]`, `[${logLevelString[logLevel]}]`, ...args];
72
+ }
73
+ error(...args) {
74
+ if (this.shouldLog(LogLevel.ERROR)) {
75
+ console.error(...this.format(args, LogLevel.ERROR));
76
+ }
77
+ }
78
+ warn(...args) {
79
+ if (this.shouldLog(LogLevel.WARN)) {
80
+ console.warn(...this.format(args, LogLevel.WARN));
81
+ }
82
+ }
83
+ info(...args) {
84
+ if (this.shouldLog(LogLevel.INFO)) {
85
+ console.info(...this.format(args, LogLevel.INFO));
86
+ }
87
+ }
88
+ debug(...args) {
89
+ if (this.shouldLog(LogLevel.DEBUG)) {
90
+ console.debug(...this.format(args, LogLevel.DEBUG));
91
+ }
92
+ }
93
+ logLog(logLevel, ...args) {
94
+ if (this.shouldLog(logLevel)) {
95
+ switch (logLevel) {
96
+ case LogLevel.NONE:
97
+ break;
98
+ case LogLevel.ERROR:
99
+ this.error(...args);
100
+ break;
101
+ case LogLevel.WARN:
102
+ this.warn(...args);
103
+ break;
104
+ case LogLevel.INFO:
105
+ this.info(...args);
106
+ break;
107
+ case LogLevel.DEBUG:
108
+ this.debug(...args);
109
+ break;
110
+ case LogLevel.TRACE:
111
+ this.error(...args);
112
+ break;
113
+ }
114
+ }
115
+ }
116
+ trace(...args) {
117
+ if (this.shouldLog(LogLevel.TRACE)) {
118
+ console.log(...this.format(args, LogLevel.TRACE));
119
+ // or use console.trace(...this.format(args)) if you want stack traces
120
+ }
121
+ }
122
+ }
123
+ // --- Singleton instance ---
124
+ const loggerInstance = new Logger();
125
+ function LogSetLevel(level) {
126
+ loggerInstance.level = level;
127
+ }
128
+ function LogSetShowDeviceId(showDeviceId) {
129
+ loggerInstance.showDeviceId = showDeviceId;
130
+ }
131
+ function LogError(...args) {
132
+ loggerInstance.error(...args);
133
+ }
134
+ function LogWarn(...args) {
135
+ loggerInstance.warn(...args);
136
+ }
137
+ function LogInfo(...args) {
138
+ loggerInstance.info(...args);
139
+ }
140
+ function LogDebug(...args) {
141
+ loggerInstance.debug(...args);
142
+ }
143
+ function LogTrace(...args) {
144
+ loggerInstance.trace(...args);
145
+ }
146
+ function LogLog(logLevel, ...args) {
147
+ loggerInstance.logLog(logLevel, ...args);
148
+ }
149
+ function LogErrorIf(condition, ...args) {
150
+ if (condition)
151
+ loggerInstance.debug(...args);
152
+ }
153
+ function LogWarnIf(condition, ...args) {
154
+ if (condition)
155
+ loggerInstance.warn(...args);
156
+ }
157
+ function LogInfoIf(condition, ...args) {
158
+ if (condition)
159
+ loggerInstance.info(...args);
160
+ }
161
+ function LogDebugIf(condition, ...args) {
162
+ if (condition)
163
+ loggerInstance.debug(...args);
164
+ }
165
+ function LogLogIf(condition, logLevel, ...args) {
166
+ if (condition)
167
+ loggerInstance.logLog(logLevel, ...args);
168
+ }
169
+ function LogTraceIf(condition, ...args) {
170
+ if (condition)
171
+ loggerInstance.trace(...args);
172
+ }
173
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare function ParseNumberStrict(str: string): number;
2
+ export declare function Clamp(value: number, min: number, max: number): number;
3
+ export declare function ApproximatelyEqual(value1: number, value2: number, threshold: number): boolean;
4
+ export declare function ApproximatelyGT(lValue: number, rValue: number, threshold: number): boolean;
5
+ export declare function ApproximatelyGTE(lValue: number, rValue: number, threshold: number): boolean;
6
+ export declare function ApproximatelyLT(lValue: number, rValue: number, threshold: number): boolean;
7
+ export declare function ApproximatelyLTE(lValue: number, rValue: number, threshold: number): boolean;
8
+ export declare function HaveCommonFactor(number1: number, number2: number): boolean;
9
+ export declare function IsFactor(number1: number, factor: number): boolean;
10
+ export declare function FindFactors(number1: number): number[];
11
+ export declare function IsBetweenInclusive(value: number, bound1: number, bound2: number, threshold?: number): boolean;
12
+ export declare function IsBetweenExclusive(value: number, bound1: number, bound2: number): boolean;
13
+ export declare function IsBetweenWithThreshold(value: number, bound1: number, bound2: number, threshold?: number): boolean;
14
+ export declare function Lerp_f(v1: number, v2: number, t: number): number;
15
+ //# sourceMappingURL=math.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../src/core/math/math.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CASrD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAO5D;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAGnF;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAIhF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAIjF;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAIhF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAIjF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,WAOhE;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAEvD;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,YAS1C;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAG,MAAM,EAAE,MAAM,EAAG,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAc,GAAG,OAAO,CAGtH;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAG,MAAM,EAAE,MAAM,EAAG,MAAM,EAAE,MAAM,GAAG,OAAO,CAG3F;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAG,MAAM,EAAE,MAAM,EAAG,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAc,GAAG,OAAO,CAG1H;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGhE"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParseNumberStrict = ParseNumberStrict;
4
+ exports.Clamp = Clamp;
5
+ exports.ApproximatelyEqual = ApproximatelyEqual;
6
+ exports.ApproximatelyGT = ApproximatelyGT;
7
+ exports.ApproximatelyGTE = ApproximatelyGTE;
8
+ exports.ApproximatelyLT = ApproximatelyLT;
9
+ exports.ApproximatelyLTE = ApproximatelyLTE;
10
+ exports.HaveCommonFactor = HaveCommonFactor;
11
+ exports.IsFactor = IsFactor;
12
+ exports.FindFactors = FindFactors;
13
+ exports.IsBetweenInclusive = IsBetweenInclusive;
14
+ exports.IsBetweenExclusive = IsBetweenExclusive;
15
+ exports.IsBetweenWithThreshold = IsBetweenWithThreshold;
16
+ exports.Lerp_f = Lerp_f;
17
+ function ParseNumberStrict(str) {
18
+ str = str.trim();
19
+ const value = Number(str);
20
+ if (isNaN(value))
21
+ throw new Error(`${str} is not a number`);
22
+ return value;
23
+ }
24
+ function Clamp(value, min, max) {
25
+ if (value < min)
26
+ return min;
27
+ if (value > max)
28
+ return max;
29
+ return value;
30
+ }
31
+ function ApproximatelyEqual(value1, value2, threshold) {
32
+ return Math.abs(value1 - value2) <= threshold;
33
+ }
34
+ function ApproximatelyGT(lValue, rValue, threshold) {
35
+ const result = !ApproximatelyEqual(lValue, rValue, threshold) && lValue > rValue;
36
+ return result;
37
+ }
38
+ function ApproximatelyGTE(lValue, rValue, threshold) {
39
+ const result = ApproximatelyEqual(lValue, rValue, threshold) || lValue > rValue;
40
+ return result;
41
+ }
42
+ function ApproximatelyLT(lValue, rValue, threshold) {
43
+ const result = !ApproximatelyEqual(lValue, rValue, threshold) && lValue < rValue;
44
+ return result;
45
+ }
46
+ function ApproximatelyLTE(lValue, rValue, threshold) {
47
+ const result = ApproximatelyEqual(lValue, rValue, threshold) || lValue < rValue;
48
+ return result;
49
+ }
50
+ function HaveCommonFactor(number1, number2) {
51
+ for (let i = 2; i <= number1; i++) {
52
+ if (number1 % i == 0 && number2 % i == 0)
53
+ return true;
54
+ }
55
+ return false;
56
+ }
57
+ function IsFactor(number1, factor) {
58
+ return number1 % factor == 0;
59
+ }
60
+ function FindFactors(number1) {
61
+ const result = [];
62
+ for (let i = 2; i < number1; i++) {
63
+ if (IsFactor(number1, i))
64
+ result.push(i);
65
+ }
66
+ return result;
67
+ }
68
+ function IsBetweenInclusive(value, bound1, bound2, threshold = 0.001) {
69
+ return value >= Math.min(bound1, bound2) && value <= Math.max(bound1, bound2);
70
+ }
71
+ function IsBetweenExclusive(value, bound1, bound2) {
72
+ return value > Math.min(bound1, bound2) && value < Math.max(bound1, bound2);
73
+ }
74
+ function IsBetweenWithThreshold(value, bound1, bound2, threshold = 0.001) {
75
+ return value >= Math.min(bound1, bound2) - threshold && value <= Math.max(bound1, bound2) + threshold;
76
+ }
77
+ function Lerp_f(v1, v2, t) {
78
+ return v1 + (v2 - v1) * t;
79
+ }
80
+ //# sourceMappingURL=math.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../../src/core/math/math.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function GetRandomBool(): boolean;
2
+ export declare function GetRandomBoolWeighted(weight: number): boolean;
3
+ export declare function GetRandomInt(min: number, max: number): number;
4
+ export declare function GetRandomIntWithAbsoluteValue(min: number, max: number): number;
5
+ export declare function GetRandomAlphaNumberSequence(length: number): string;
6
+ //# sourceMappingURL=random.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../src/core/math/random.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG7D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAS9E;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAUnE"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetRandomBool = GetRandomBool;
4
+ exports.GetRandomBoolWeighted = GetRandomBoolWeighted;
5
+ exports.GetRandomInt = GetRandomInt;
6
+ exports.GetRandomIntWithAbsoluteValue = GetRandomIntWithAbsoluteValue;
7
+ exports.GetRandomAlphaNumberSequence = GetRandomAlphaNumberSequence;
8
+ function GetRandomBool() {
9
+ return Math.random() < 0.5;
10
+ }
11
+ function GetRandomBoolWeighted(weight) {
12
+ return Math.random() < weight;
13
+ }
14
+ function GetRandomInt(min, max) {
15
+ return Math.floor(Math.random() * (max - min + 1)) + min;
16
+ }
17
+ function GetRandomIntWithAbsoluteValue(min, max) {
18
+ let result;
19
+ if (GetRandomBool())
20
+ result = GetRandomInt(min, max);
21
+ else
22
+ result = GetRandomInt(-max, -min);
23
+ return result;
24
+ }
25
+ function GetRandomAlphaNumberSequence(length) {
26
+ const chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
27
+ let result = "";
28
+ for (let i = 0; i < length; i++) {
29
+ result += chars[Math.floor(Math.random() * chars.length)];
30
+ }
31
+ return result;
32
+ }
33
+ //# sourceMappingURL=random.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random.js","sourceRoot":"","sources":["../../../src/core/math/random.ts"],"names":[],"mappings":";;AAAA,sCAGC;AAED,sDAGC;AAED,oCAGC;AAED,sEASC;AAED,oEAUC;AApCD,SAAgB,aAAa;IAEzB,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;AAC/B,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAAc;IAEhD,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC;AAClC,CAAC;AAED,SAAgB,YAAY,CAAC,GAAW,EAAE,GAAW;IAEjD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC7D,CAAC;AAED,SAAgB,6BAA6B,CAAC,GAAW,EAAE,GAAW;IAElE,IAAI,MAAc,CAAC;IACnB,IAAI,aAAa,EAAE;QACf,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;;QAEhC,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IAEtC,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,4BAA4B,CAAC,MAAc;IAEvD,MAAM,KAAK,GAAG,gEAAgE,CAAC;IAC/E,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,26 @@
1
+ export declare enum RectAlign {
2
+ NONE = 0,
3
+ LEFT_BOTTOM = 1,
4
+ LEFT_MIDDLE = 2,
5
+ LEFT_TOP = 3,
6
+ CENTER_TOP = 4,
7
+ CENTER_BOTTOM = 5,
8
+ RIGHT_BOTTOM = 6,
9
+ RIGHT_MIDDLE = 7,
10
+ RIGHT_TOP = 8,
11
+ CENTER_MIDDLE = 9
12
+ }
13
+ export type Rect = {
14
+ x: number;
15
+ y: number;
16
+ w: number;
17
+ h: number;
18
+ align: RectAlign;
19
+ };
20
+ export declare function RectClone(rect: Rect): Rect;
21
+ export declare function RectCloneWithPos(rect: Rect, x: number, y: number): Rect;
22
+ export declare function RectNormalized(rect: Rect): Rect;
23
+ export declare function RectPosInBounds(rect: Rect, posX: number, posY: number): boolean;
24
+ export declare function RectPointIn(rect: Rect, posX: number, posY: number): boolean;
25
+ export declare function EllipsePointIn(posX: number, posY: number, ellipseX: number, ellipseY: number, a: number, b: number): boolean;
26
+ //# sourceMappingURL=shapes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shapes.d.ts","sourceRoot":"","sources":["../../../src/core/math/shapes.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IAEjB,IAAI,IAAA;IACJ,WAAW,IAAA;IACX,WAAW,IAAA;IACX,QAAQ,IAAA;IACR,UAAU,IAAA;IACV,aAAa,IAAA;IACb,YAAY,IAAA;IACZ,YAAY,IAAA;IACZ,SAAS,IAAA;IACT,aAAa,IAAA;CAChB;AAED,MAAM,MAAM,IAAI,GAChB;IACI,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,SAAS,CAAC;CACpB,CAAA;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAW1C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAQvE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAI,IAAI,CAwChD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAO/E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAI,IAAI,EAAE,MAAM,GAAI,OAAO,CAgB9E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAI5H"}