manim-web 0.3.21 → 0.3.22

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 (123) hide show
  1. package/README.md +20 -0
  2. package/dist/{AmsConfiguration-BMyoprhk.js → AmsConfiguration-OUoC_kJ0.js} +5 -5
  3. package/dist/{AmsConfiguration-BdxxYRby.js → AmsConfiguration-tdje_HlF.js} +5 -5
  4. package/dist/{ConfigMacrosConfiguration-B8X_JSVI.js → ConfigMacrosConfiguration-4OaQYvlr.js} +3 -3
  5. package/dist/{ConfigMacrosConfiguration-DUxp6DUV.js → ConfigMacrosConfiguration-DM3-S5M8.js} +3 -3
  6. package/dist/{Entities-B1o7gN0J.js → Entities-Dw6381dl.js} +2 -2
  7. package/dist/{Entities-C82lnCux.js → Entities-bJKKDYjE.js} +2 -2
  8. package/dist/{HtmlNode-BLmQ2r7U.js → HtmlNode-1mFtYQ9G.js} +2 -2
  9. package/dist/{HtmlNode-DXGeKrcW.js → HtmlNode-CQqo5we-.js} +2 -2
  10. package/dist/{InputJax-DL9oUQY4.js → InputJax-D5R2pqUk.js} +2 -2
  11. package/dist/{InputJax-DnDWM3Y0.js → InputJax-jNvwWU5P.js} +2 -2
  12. package/dist/{NewcommandConfiguration-BPjclFig.js → NewcommandConfiguration-BN_OlLcO.js} +2 -2
  13. package/dist/{NewcommandConfiguration-bJ6P1rBY.js → NewcommandConfiguration-DZ3mSCpD.js} +2 -2
  14. package/dist/{NewcommandMethods-C_E3iLoK.js → NewcommandMethods-D5bueYYE.js} +2 -2
  15. package/dist/{NewcommandMethods-Cb7yFm5P.js → NewcommandMethods-DTf_dan5.js} +2 -2
  16. package/dist/{ParseMethods-BMPfzfQC.js → ParseMethods-Deqa7kJ6.js} +7 -7
  17. package/dist/{ParseMethods-D3_HeS1K.js → ParseMethods-Dt5bYDSZ.js} +7 -7
  18. package/dist/{Styles-Dky5jZUe.js → Styles-BILrGVps.js} +1 -1
  19. package/dist/{Styles-J-6R3Vr8.js → Styles-DQSruwWe.js} +1 -1
  20. package/dist/animation/Animation.d.ts.map +1 -1
  21. package/dist/animation/MasterTimeline.d.ts +88 -1
  22. package/dist/animation/MasterTimeline.d.ts.map +1 -1
  23. package/dist/animation/movement/Rotate.d.ts +2 -7
  24. package/dist/animation/movement/Rotate.d.ts.map +1 -1
  25. package/dist/animation/transform/PointMorphStrategy.d.ts.map +1 -1
  26. package/dist/core/AnimateProxy.d.ts +3 -5
  27. package/dist/core/AnimateProxy.d.ts.map +1 -1
  28. package/dist/core/Camera.d.ts +37 -0
  29. package/dist/core/Camera.d.ts.map +1 -1
  30. package/dist/core/CameraExtensions.d.ts +33 -1
  31. package/dist/core/CameraExtensions.d.ts.map +1 -1
  32. package/dist/core/Group.d.ts +3 -11
  33. package/dist/core/Group.d.ts.map +1 -1
  34. package/dist/core/Mobject.d.ts +33 -7
  35. package/dist/core/Mobject.d.ts.map +1 -1
  36. package/dist/core/MobjectPositioning.d.ts +2 -5
  37. package/dist/core/MobjectPositioning.d.ts.map +1 -1
  38. package/dist/core/MobjectTypes.d.ts +21 -4
  39. package/dist/core/MobjectTypes.d.ts.map +1 -1
  40. package/dist/core/Renderer.d.ts +3 -0
  41. package/dist/core/Renderer.d.ts.map +1 -1
  42. package/dist/core/Scene.d.ts +50 -0
  43. package/dist/core/Scene.d.ts.map +1 -1
  44. package/dist/core/ThreeDScene.d.ts +3 -1
  45. package/dist/core/ThreeDScene.d.ts.map +1 -1
  46. package/dist/core/VGroup.d.ts +11 -19
  47. package/dist/core/VGroup.d.ts.map +1 -1
  48. package/dist/core/VMobject.d.ts +14 -1
  49. package/dist/core/VMobject.d.ts.map +1 -1
  50. package/dist/core/VMobjectGeometry.d.ts +20 -10
  51. package/dist/core/VMobjectGeometry.d.ts.map +1 -1
  52. package/dist/core/VMobjectRendering.d.ts +5 -0
  53. package/dist/core/VMobjectRendering.d.ts.map +1 -1
  54. package/dist/core/VMobjectTransformAlignment.d.ts +9 -0
  55. package/dist/core/VMobjectTransformAlignment.d.ts.map +1 -1
  56. package/dist/{html-DU38zqaN.js → html-Bza5WY1y.js} +6 -6
  57. package/dist/{html-DjkQuIHJ.js → html-bhzMuE8p.js} +6 -6
  58. package/dist/index.d.ts +4 -3
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +2 -4
  61. package/dist/integrations/react.js +16 -18
  62. package/dist/integrations/vue.js +15 -17
  63. package/dist/interaction/OrbitControls.d.ts +1 -1
  64. package/dist/interaction/OrbitControls.d.ts.map +1 -1
  65. package/dist/{lengths-CP7zmbxJ.js → lengths-D2zTYMUu.js} +2 -2
  66. package/dist/{liteAdaptor-BLgze3o2.js → liteAdaptor-BkxB5CGC.js} +3 -3
  67. package/dist/{liteAdaptor-zXv-jsO1.js → liteAdaptor-LMKuWwg1.js} +3 -3
  68. package/dist/manim-web.browser.js +8668 -7171
  69. package/dist/{mathjax-7LgaTjtj.js → mathjax-CPQWkQEv.js} +2 -2
  70. package/dist/{mathjax-CoSFlQ0H.js → mathjax-b-GTdZgw.js} +2 -2
  71. package/dist/{mo-CNYDGAsg.js → mo-D4wFHS6V.js} +2 -2
  72. package/dist/{mo-C5uLT3Z9.js → mo-hAX79Dzl.js} +2 -2
  73. package/dist/mobjects/geometry/AngleShapes.d.ts +0 -4
  74. package/dist/mobjects/geometry/AngleShapes.d.ts.map +1 -1
  75. package/dist/mobjects/geometry/CubicBezier.d.ts.map +1 -1
  76. package/dist/mobjects/geometry/PolygonExtensions.d.ts.map +1 -1
  77. package/dist/mobjects/graphing/ComplexPlane.d.ts +41 -1
  78. package/dist/mobjects/graphing/ComplexPlane.d.ts.map +1 -1
  79. package/dist/mobjects/graphing/Vector.d.ts.map +1 -1
  80. package/dist/mobjects/point/Mobject1D.d.ts.map +1 -1
  81. package/dist/mobjects/point/Mobject2D.d.ts.map +1 -1
  82. package/dist/mobjects/point/PMobject.d.ts +8 -2
  83. package/dist/mobjects/point/PMobject.d.ts.map +1 -1
  84. package/dist/mobjects/point/PointMobject.d.ts.map +1 -1
  85. package/dist/mobjects/text/Code.d.ts.map +1 -1
  86. package/dist/mobjects/text/MathTex.d.ts +9 -0
  87. package/dist/mobjects/text/MathTex.d.ts.map +1 -1
  88. package/dist/mobjects/text/MathTexImage.d.ts.map +1 -1
  89. package/dist/mobjects/text/Text.d.ts.map +1 -1
  90. package/dist/mobjects/text/TextGlyphGroup.d.ts.map +1 -1
  91. package/dist/mobjects/three-d/Line3D.d.ts +10 -56
  92. package/dist/mobjects/three-d/Line3D.d.ts.map +1 -1
  93. package/dist/player/Player.d.ts +36 -29
  94. package/dist/player/Player.d.ts.map +1 -1
  95. package/dist/player/PlayerUI.d.ts.map +1 -1
  96. package/dist/player/RecordingScene.d.ts +37 -0
  97. package/dist/player/RecordingScene.d.ts.map +1 -0
  98. package/dist/{src-CW4pfZdP.js → src-BlTk3Bta.js} +8798 -7302
  99. package/dist/{svg-CYweEoZ1.js → svg-DNS5Hwhk.js} +268 -253
  100. package/dist/{svg-swSF_J59.js → svg-DVUoAdmC.js} +268 -253
  101. package/dist/test-setup/vitest-setup.d.ts +20 -0
  102. package/dist/test-setup/vitest-setup.d.ts.map +1 -0
  103. package/dist/{tex-C4_queV-.js → tex-BQCLd0dF.js} +19 -15
  104. package/dist/{tex-CA5MLeEe.js → tex-Cd_bTYKG.js} +19 -15
  105. package/dist/utils/axis.d.ts +4 -0
  106. package/dist/utils/axis.d.ts.map +1 -0
  107. package/dist/utils/logger.d.ts +37 -0
  108. package/dist/utils/logger.d.ts.map +1 -1
  109. package/dist/utils/math.d.ts +4 -0
  110. package/dist/utils/math.d.ts.map +1 -1
  111. package/dist/utils/vectors.d.ts +54 -1
  112. package/dist/utils/vectors.d.ts.map +1 -1
  113. package/package.json +8 -6
  114. package/dist/Factory-D-whCqrb.js +0 -107
  115. package/dist/GifExporter-BrxY_q7e.js +0 -338
  116. package/dist/GifExporter-S2pbxMc5.js +0 -338
  117. package/dist/Options-XPptO-6X.js +0 -63
  118. package/dist/VideoExporter-6ikT3u9H.js +0 -102
  119. package/dist/VideoExporter-D_RxVahH.js +0 -102
  120. package/dist/lengths-D4tR1gYA.js +0 -54
  121. package/dist/rolldown-runtime-DnwLefa7.js +0 -23
  122. /package/dist/{Factory-BKM7FEO-.js → Factory-Ba6Nqb3M.js} +0 -0
  123. /package/dist/{Options-DRlTi0G8.js → Options-DMK2wYar.js} +0 -0
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Vitest setup file.
3
+ *
4
+ * Runs once per worker before any test file imports modules. Skips
5
+ * environment-dependent patches when the corresponding API is unavailable
6
+ * (e.g. node-env tests don't have `document`).
7
+ *
8
+ * Two concerns live here:
9
+ * 1. happy-dom polyfills for browser APIs the emulator doesn't implement.
10
+ * 2. A strict console policy that fails tests on unexpected warn/error.
11
+ *
12
+ * Both are idempotent: the file may run more than once per realm if a
13
+ * future config disables worker isolation, and we don't want shims to stack.
14
+ */
15
+ declare const SETUP_MARKER: unique symbol;
16
+ type SetupGlobal = typeof globalThis & {
17
+ [SETUP_MARKER]?: boolean;
18
+ };
19
+ declare const setupGlobal: SetupGlobal;
20
+ //# sourceMappingURL=vitest-setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitest-setup.d.ts","sourceRoot":"","sources":["../../src/test-setup/vitest-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,QAAA,MAAM,YAAY,eAA6C,CAAC;AAChE,KAAK,WAAW,GAAG,OAAO,UAAU,GAAG;IAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AACpE,QAAA,MAAM,WAAW,EAAiB,WAAW,CAAC"}
@@ -1,10 +1,10 @@
1
- import { a as e, o as t, r as n, t as r } from "./Options-XPptO-6X.js";
2
- import { r as i } from "./mathjax-CoSFlQ0H.js";
3
- import { a, h as o, l as s, r as c } from "./mo-CNYDGAsg.js";
4
- import { t as l } from "./InputJax-DnDWM3Y0.js";
5
- import { a as u, t as d } from "./Factory-D-whCqrb.js";
6
- import { A as ee, C as te, D as ne, E as f, F as re, G as ie, H as ae, I as oe, J as se, K as ce, L as le, M as ue, O as p, P as m, Q as h, R as de, S as fe, T as pe, U as g, W as _, X as v, Y as y, Z as b, _ as x, a as S, b as C, c as w, d as T, f as E, g as D, h as O, i as k, j as me, k as A, l as j, m as M, n as N, o as P, p as F, q as I, s as L, t as R, u as z, v as B, w as he, x as V, y as H, z as U } from "./ParseMethods-BMPfzfQC.js";
7
- import { n as W, r as ge } from "./lengths-CP7zmbxJ.js";
1
+ import { a as e, o as t, r as n, t as r } from "./Options-DMK2wYar.js";
2
+ import { r as i } from "./mathjax-CPQWkQEv.js";
3
+ import { a, h as o, l as s, r as c } from "./mo-hAX79Dzl.js";
4
+ import { t as l } from "./InputJax-D5R2pqUk.js";
5
+ import { a as u, t as d } from "./Factory-Ba6Nqb3M.js";
6
+ import { A as ee, C as te, D as ne, E as f, F as re, G as ie, H as ae, I as oe, J as se, K as ce, L as le, M as ue, O as p, P as m, Q as h, R as de, S as fe, T as pe, U as g, W as _, X as v, Y as y, Z as b, _ as x, a as S, b as C, c as w, d as T, f as E, g as D, h as O, i as k, j as me, k as A, l as j, m as M, n as N, o as P, p as F, q as I, s as L, t as R, u as z, v as B, w as he, x as V, y as H, z as U } from "./ParseMethods-Deqa7kJ6.js";
7
+ import { n as W, r as ge } from "./lengths-D2zTYMUu.js";
8
8
  //#region node_modules/@mathjax/src/mjs/core/FindMath.js
9
9
  var G = class {
10
10
  constructor(e) {
@@ -790,16 +790,20 @@ new U("letter", R.variable, /[a-z]/i), new U("digit", R.digit, /[0-9.,]/), new U
790
790
  null,
791
791
  Q.MONOSPACE
792
792
  ],
793
- tiny: [N.SetSize, .5],
794
- Tiny: [N.SetSize, .6],
793
+ Tiny: [N.SetSize, .5],
794
+ tiny: [N.SetSize, .6],
795
795
  scriptsize: [N.SetSize, .7],
796
- small: [N.SetSize, .85],
796
+ SMALL: [N.SetSize, .7],
797
+ Small: [N.SetSize, .8],
798
+ footnotesize: [N.SetSize, .8],
799
+ small: [N.SetSize, .9],
797
800
  normalsize: [N.SetSize, 1],
798
- large: [N.SetSize, 1.2],
799
- Large: [N.SetSize, 1.44],
800
- LARGE: [N.SetSize, 1.73],
801
- huge: [N.SetSize, 2.07],
802
- Huge: [N.SetSize, 2.49],
801
+ large: [N.SetSize, 1.095],
802
+ Large: [N.SetSize, 1.2],
803
+ LARGE: [N.SetSize, 1.44],
804
+ huge: [N.SetSize, 1.728],
805
+ Huge: [N.SetSize, 2.074],
806
+ HUGE: [N.SetSize, 2.49],
803
807
  arcsin: N.NamedFn,
804
808
  arccos: N.NamedFn,
805
809
  arctan: N.NamedFn,
@@ -1,10 +1,10 @@
1
- import { a as e, o as t, r as n, t as r } from "./Options-DRlTi0G8.js";
2
- import { r as i } from "./mathjax-7LgaTjtj.js";
3
- import { a, h as o, l as s, r as c } from "./mo-C5uLT3Z9.js";
4
- import { t as l } from "./InputJax-DL9oUQY4.js";
5
- import { a as u, t as d } from "./Factory-BKM7FEO-.js";
6
- import { A as ee, C as te, D as ne, E as f, F as re, G as ie, H as ae, I as oe, J as se, K as ce, L as le, M as ue, O as p, P as m, Q as h, R as de, S as fe, T as pe, U as g, W as _, X as v, Y as y, Z as b, _ as x, a as S, b as C, c as w, d as T, f as E, g as D, h as O, i as k, j as me, k as A, l as j, m as M, n as N, o as P, p as F, q as I, s as L, t as R, u as z, v as B, w as he, x as V, y as H, z as U } from "./ParseMethods-D3_HeS1K.js";
7
- import { n as W, r as ge } from "./lengths-D4tR1gYA.js";
1
+ import { a as e, o as t, r as n, t as r } from "./Options-DMK2wYar.js";
2
+ import { r as i } from "./mathjax-b-GTdZgw.js";
3
+ import { a, h as o, l as s, r as c } from "./mo-D4wFHS6V.js";
4
+ import { t as l } from "./InputJax-jNvwWU5P.js";
5
+ import { a as u, t as d } from "./Factory-Ba6Nqb3M.js";
6
+ import { A as ee, C as te, D as ne, E as f, F as re, G as ie, H as ae, I as oe, J as se, K as ce, L as le, M as ue, O as p, P as m, Q as h, R as de, S as fe, T as pe, U as g, W as _, X as v, Y as y, Z as b, _ as x, a as S, b as C, c as w, d as T, f as E, g as D, h as O, i as k, j as me, k as A, l as j, m as M, n as N, o as P, p as F, q as I, s as L, t as R, u as z, v as B, w as he, x as V, y as H, z as U } from "./ParseMethods-Dt5bYDSZ.js";
7
+ import { n as W, r as ge } from "./lengths-D2zTYMUu.js";
8
8
  //#region node_modules/@mathjax/src/mjs/core/FindMath.js
9
9
  var G = class {
10
10
  constructor(e) {
@@ -790,16 +790,20 @@ new U("letter", R.variable, /[a-z]/i), new U("digit", R.digit, /[0-9.,]/), new U
790
790
  null,
791
791
  Q.MONOSPACE
792
792
  ],
793
- tiny: [N.SetSize, .5],
794
- Tiny: [N.SetSize, .6],
793
+ Tiny: [N.SetSize, .5],
794
+ tiny: [N.SetSize, .6],
795
795
  scriptsize: [N.SetSize, .7],
796
- small: [N.SetSize, .85],
796
+ SMALL: [N.SetSize, .7],
797
+ Small: [N.SetSize, .8],
798
+ footnotesize: [N.SetSize, .8],
799
+ small: [N.SetSize, .9],
797
800
  normalsize: [N.SetSize, 1],
798
- large: [N.SetSize, 1.2],
799
- Large: [N.SetSize, 1.44],
800
- LARGE: [N.SetSize, 1.73],
801
- huge: [N.SetSize, 2.07],
802
- Huge: [N.SetSize, 2.49],
801
+ large: [N.SetSize, 1.095],
802
+ Large: [N.SetSize, 1.2],
803
+ LARGE: [N.SetSize, 1.44],
804
+ huge: [N.SetSize, 1.728],
805
+ Huge: [N.SetSize, 2.074],
806
+ HUGE: [N.SetSize, 2.49],
803
807
  arcsin: N.NamedFn,
804
808
  arccos: N.NamedFn,
805
809
  arctan: N.NamedFn,
@@ -0,0 +1,4 @@
1
+ export type AxisName = 'x' | 'y' | 'z';
2
+ export declare function axisVector(axis: AxisName): [number, number, number];
3
+ export declare function axisVectorFromEulerKey(key: 'X' | 'Y' | 'Z'): [number, number, number];
4
+ //# sourceMappingURL=axis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axis.d.ts","sourceRoot":"","sources":["../../src/utils/axis.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEvC,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CASnE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAErF"}
@@ -3,12 +3,49 @@
3
3
  * Provides consistent logging interface for both browser and Node environments.
4
4
  * Includes log sanitization to redact sensitive data (tokens, keys, emails).
5
5
  */
6
+ /** Severity of a log message. */
7
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
6
8
  interface Logger {
7
9
  debug: (...args: unknown[]) => void;
8
10
  info: (...args: unknown[]) => void;
9
11
  warn: (...args: unknown[]) => void;
10
12
  error: (...args: unknown[]) => void;
11
13
  }
14
+ /**
15
+ * A single log event delivered to {@link onLog} listeners. Every field is a
16
+ * primitive, so an entry is always safe to `JSON.stringify`.
17
+ */
18
+ export interface LogEntry {
19
+ /** Severity of the log call. */
20
+ level: LogLevel;
21
+ /** Sanitized, human-readable message built from all log arguments. */
22
+ message: string;
23
+ /** Unix epoch milliseconds (`Date.now()`) when the log call happened. */
24
+ timestamp: number;
25
+ }
26
+ /** Callback invoked for every log message that passes the level filter. */
27
+ export type LogListener = (entry: LogEntry) => void;
28
+ /**
29
+ * Register a callback that receives every log message (at or above the active
30
+ * `LOG_LEVEL`). The forwarded {@link LogEntry} is sanitized, so secrets are
31
+ * never leaked to a remote endpoint.
32
+ *
33
+ * @returns An unsubscribe function that removes the listener.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * import { onLog } from 'manim-web';
38
+ *
39
+ * const stop = onLog((entry) =>
40
+ * fetch('/__log', { method: 'POST', body: JSON.stringify(entry) }),
41
+ * );
42
+ * // ...later
43
+ * stop();
44
+ * ```
45
+ */
46
+ export declare function onLog(listener: LogListener): () => void;
47
+ /** Remove all registered {@link onLog} listeners. */
48
+ export declare function clearLogListeners(): void;
12
49
  export declare const logger: Logger;
13
50
  export {};
14
51
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,UAAU,MAAM;IACd,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrC;AAwGD,eAAO,MAAM,MAAM,EAAE,MAapB,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,iCAAiC;AACjC,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,UAAU,MAAM;IACd,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,KAAK,EAAE,QAAQ,CAAC;IAChB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,2EAA2E;AAC3E,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AA4LpD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,IAAI,CAKvD;AAED,qDAAqD;AACrD,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAwCD,eAAO,MAAM,MAAM,EAAE,MAKpB,CAAC"}
@@ -1,5 +1,9 @@
1
1
  /**
2
2
  * Shared math utility functions used across the codebase.
3
+ *
4
+ * For low-level 3-vector ops (dot, cross, length, normalize, perpendicular,
5
+ * orthonormal frame, 2D orientation), prefer `src/utils/vectors.ts`. The
6
+ * helpers in this file build on top of that module.
3
7
  */
4
8
  /**
5
9
  * Linear interpolation between two numbers.
@@ -1 +1 @@
1
- {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/utils/math.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,SAAI,GAAG,MAAM,CAe7E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACrC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQ1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAC/B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACrC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,CAAC,MAAM,EAAE,MAAM,CAAC,CAQlB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,UAAU,GAAE,MAAM,EAAc,GAC/B,MAAM,EAAE,CAoBV;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,EACZ,CAAC,EAAE,MAAM,GACR,MAAM,EAAE,CAeV;AAMD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,CAuBlE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EAAE,EAAE,GACjB;IAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IAAC,EAAE,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAOvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EAAE,EAChB,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,GACX,CAAC,MAAM,EAAE,MAAM,CAAC,CAQlB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,GACX;IACD,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;CACd,CAsBA"}
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/utils/math.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,SAAI,GAAG,MAAM,CAe7E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACrC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQ1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAC/B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACrC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,CAAC,MAAM,EAAE,MAAM,CAAC,CAQlB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,UAAU,GAAE,MAAM,EAAc,GAC/B,MAAM,EAAE,CAoBV;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,EACZ,CAAC,EAAE,MAAM,GACR,MAAM,EAAE,CAeV;AAMD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,CAuBlE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EAAE,EAAE,GACjB;IAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IAAC,EAAE,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAOvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EAAE,EAChB,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,GACX,CAAC,MAAM,EAAE,MAAM,CAAC,CAOlB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,GACX;IACD,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;CACd,CA4BA"}
@@ -1,4 +1,4 @@
1
- import { Vector3Tuple } from '../core/Mobject';
1
+ import { Vector3Tuple } from '../core/MobjectTypes';
2
2
  /**
3
3
  * Scale a direction vector by a scalar.
4
4
  *
@@ -39,6 +39,59 @@ export declare function addVec(...vecs: Vector3Tuple[]): Vector3Tuple;
39
39
  * ```
40
40
  */
41
41
  export declare function subVec(a: Vector3Tuple, b: Vector3Tuple): Vector3Tuple;
42
+ /**
43
+ * 3D dot product (a · b). Accepts plain number arrays so callers that use
44
+ * `number[]` (e.g. internal helpers in `math.ts`) can share the same impl.
45
+ *
46
+ * Missing components default to `0` so 2D points (`[x, y]`) are handled.
47
+ */
48
+ export declare function dotVec(a: ArrayLike<number>, b: ArrayLike<number>): number;
49
+ /**
50
+ * 3D cross product (a × b). Right-handed:
51
+ * x = a.y*b.z − a.z*b.y, y = a.z*b.x − a.x*b.z, z = a.x*b.y − a.y*b.x.
52
+ */
53
+ export declare function crossVec(a: ArrayLike<number>, b: ArrayLike<number>): Vector3Tuple;
54
+ /**
55
+ * Euclidean length |v|. Missing components default to `0`.
56
+ */
57
+ export declare function lengthVec(v: ArrayLike<number>): number;
58
+ /**
59
+ * Return `v` normalised to unit length. If `|v|` is below `eps` the supplied
60
+ * `fallback` is returned (default `[0, 0, 0]`); the caller decides whether to
61
+ * treat that as an error.
62
+ */
63
+ export declare function normalizeVec(v: ArrayLike<number>, fallback?: Vector3Tuple, eps?: number): Vector3Tuple;
64
+ /**
65
+ * Return a unit vector perpendicular to `n`.
66
+ *
67
+ * Picked by Gram–Schmidt against whichever world basis vector has the
68
+ * smallest |dot(n, e_i)|, then normalized. This is coordinate-free in
69
+ * spirit — it never uses a hard "is the input close to Z?" branch — but it
70
+ * does pick from the world basis, so the result can change discontinuously
71
+ * very near a tie. Treat as "give me *some* perpendicular unit vector"
72
+ * rather than a temporally-stable frame.
73
+ */
74
+ export declare function unitPerpendicularTo(n: Vector3Tuple, eps?: number): Vector3Tuple;
75
+ /**
76
+ * Build a right-handed orthonormal frame `{u, v, n}` around the given
77
+ * normal. `n` is normalised; `u = unitPerpendicularTo(n)`; `v = n × u`.
78
+ *
79
+ * Use this instead of writing axis-equal-to-Z special cases in caller code.
80
+ */
81
+ export declare function orthonormalFrame(normal: Vector3Tuple): {
82
+ u: Vector3Tuple;
83
+ v: Vector3Tuple;
84
+ n: Vector3Tuple;
85
+ };
86
+ /**
87
+ * 2D orientation predicate (signed twice-area of triangle o-a-b).
88
+ * Positive: counter-clockwise. Negative: clockwise. Zero: collinear.
89
+ *
90
+ * Mathematically this is the z-component of the cross product of
91
+ * (a-o) and (b-o) — kept as its own helper because it is an orientation
92
+ * test, not a general vector operation.
93
+ */
94
+ export declare function orientation2D(o: ArrayLike<number>, a: ArrayLike<number>, b: ArrayLike<number>): number;
42
95
  /**
43
96
  * Create an array of evenly spaced values (NumPy linspace equivalent).
44
97
  *
@@ -1 +1 @@
1
- {"version":3,"file":"vectors.d.ts","sourceRoot":"","sources":["../../src/utils/vectors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,YAAY,CAExE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,GAAG,IAAI,EAAE,YAAY,EAAE,GAAG,YAAY,CAU5D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY,CAErE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAG3E"}
1
+ {"version":3,"file":"vectors.d.ts","sourceRoot":"","sources":["../../src/utils/vectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,YAAY,CAExE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,GAAG,IAAI,EAAE,YAAY,EAAE,GAAG,YAAY,CAU5D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAEzE;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,YAAY,CAQjF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAKtD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EACpB,QAAQ,GAAE,YAAwB,EAClC,GAAG,SAAQ,GACV,YAAY,CAId;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,SAAQ,GAAG,YAAY,CAiB9E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG;IACtD,CAAC,EAAE,YAAY,CAAC;IAChB,CAAC,EAAE,YAAY,CAAC;IAChB,CAAC,EAAE,YAAY,CAAC;CACjB,CAKA;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EACpB,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EACpB,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GACnB,MAAM,CAKR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAG3E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "manim-web",
3
- "version": "0.3.21",
3
+ "version": "0.3.22",
4
4
  "description": "Manim-like mathematical animation library for the web",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -44,8 +44,8 @@
44
44
  "lint": "eslint src/",
45
45
  "lint:fix": "eslint src/ --fix",
46
46
  "format": "prettier --write src/",
47
- "docs": "node scripts/generate-example-docs.mjs && cd docs && npm run build",
48
- "docs:dev": "node scripts/generate-example-docs.mjs && cd docs && npm start",
47
+ "docs": "npm run build && node scripts/generate-example-docs.mjs && cd docs && npm run build",
48
+ "docs:dev": "npm run build && node scripts/generate-example-docs.mjs && cd docs && npm start",
49
49
  "docs:examples": "node scripts/generate-example-docs.mjs",
50
50
  "lint:strict": "eslint src/ --max-warnings 106",
51
51
  "circular": "madge --circular --extensions ts src/",
@@ -68,9 +68,10 @@
68
68
  "@mathjax/src": "^4.1.1",
69
69
  "earcut": "^3.0.2",
70
70
  "gif.js": "^0.2.0",
71
- "katex": "^0.16.28",
72
- "opentype.js": "^1.3.4",
71
+ "katex": "^0.17.0",
72
+ "opentype.js": "^2.0.0",
73
73
  "polygon-clipping": "^0.15.7",
74
+ "typia": "^12.1.1",
74
75
  "three": "^0.184.0"
75
76
  },
76
77
  "devDependencies": {
@@ -87,13 +88,14 @@
87
88
  "husky": "^9.1.7",
88
89
  "jscpd": "^4.0.8",
89
90
  "knip": "^6.1.0",
90
- "lint-staged": "^16.2.7",
91
+ "lint-staged": "^17.0.4",
91
92
  "madge": "^8.0.0",
92
93
  "prettier": "^3.8.1",
93
94
  "standard-version": "^9.5.0",
94
95
  "typedoc": "^0.28.16",
95
96
  "typescript": "^5.3.0",
96
97
  "typescript-eslint": "^8.54.0",
98
+ "@typia/unplugin": "^12.1.1",
97
99
  "vite": "^8.0.8",
98
100
  "vite-plugin-dts": "^5.0.0",
99
101
  "vitest": "^4.0.18",
@@ -1,107 +0,0 @@
1
- //#region node_modules/@mathjax/src/mjs/core/MathItem.js
2
- function e(e, t, n, r, i, a, o = null) {
3
- return {
4
- open: e,
5
- math: t,
6
- close: n,
7
- n: r,
8
- start: { n: i },
9
- end: { n: a },
10
- display: o
11
- };
12
- }
13
- var t = class {
14
- get isEscaped() {
15
- return this.display === null;
16
- }
17
- constructor(e, t, r = !0, i = {
18
- i: 0,
19
- n: 0,
20
- delim: ""
21
- }, a = {
22
- i: 0,
23
- n: 0,
24
- delim: ""
25
- }) {
26
- this.root = null, this.typesetRoot = null, this.metrics = {}, this.inputData = {}, this.outputData = {}, this._state = n.UNPROCESSED, this.math = e, this.inputJax = t, this.display = r, this.start = i, this.end = a, this.root = null, this.typesetRoot = null, this.metrics = {}, this.inputData = {}, this.outputData = {};
27
- }
28
- render(e) {
29
- e.renderActions.renderMath(this, e);
30
- }
31
- rerender(e, t = n.RERENDER) {
32
- this.state() >= t && this.state(t - 1), e.renderActions.renderMath(this, e, t);
33
- }
34
- convert(e, t = n.LAST) {
35
- e.renderActions.renderConvert(this, e, t);
36
- }
37
- compile(e) {
38
- this.state() < n.COMPILED && (this.root = this.inputJax.compile(this, e), this.state(n.COMPILED));
39
- }
40
- typeset(e) {
41
- this.state() < n.TYPESET && (this.typesetRoot = e.outputJax[this.isEscaped ? "escaped" : "typeset"](this, e), this.state(n.TYPESET));
42
- }
43
- updateDocument(e) {}
44
- removeFromDocument(e = !1) {
45
- this.clear();
46
- }
47
- setMetrics(e, t, n, r) {
48
- this.metrics = {
49
- em: e,
50
- ex: t,
51
- containerWidth: n,
52
- scale: r
53
- };
54
- }
55
- state(e = null, t = !1) {
56
- return e != null && (e < n.INSERTED && this._state >= n.INSERTED && this.removeFromDocument(t), e < n.TYPESET && this._state >= n.TYPESET && (this.outputData = {}), e < n.COMPILED && this._state >= n.COMPILED && (this.inputData = {}), this._state = e), this._state;
57
- }
58
- reset(e = !1) {
59
- this.state(n.UNPROCESSED, e);
60
- }
61
- clear() {}
62
- }, n = {
63
- UNPROCESSED: 0,
64
- FINDMATH: 10,
65
- COMPILED: 20,
66
- CONVERT: 100,
67
- METRICS: 110,
68
- RERENDER: 125,
69
- TYPESET: 150,
70
- INSERTED: 200,
71
- LAST: 1e4
72
- };
73
- function r(e, t) {
74
- if (e in n) throw Error("State " + e + " already exists");
75
- n[e] = t;
76
- }
77
- //#endregion
78
- //#region node_modules/@mathjax/src/mjs/core/Tree/Factory.js
79
- var i = class {
80
- constructor(e = null) {
81
- this.defaultKind = "unknown", this.nodeMap = /* @__PURE__ */ new Map(), this.node = {}, e === null && (e = this.constructor.defaultNodes);
82
- for (let t of Object.keys(e)) this.setNodeClass(t, e[t]);
83
- }
84
- create(e, ...t) {
85
- return (this.node[e] || this.node[this.defaultKind])(...t);
86
- }
87
- setNodeClass(e, t) {
88
- this.nodeMap.set(e, t);
89
- let n = this.nodeMap.get(e);
90
- this.node[e] = (...e) => new n(this, ...e);
91
- }
92
- getNodeClass(e) {
93
- return this.nodeMap.get(e);
94
- }
95
- deleteNodeClass(e) {
96
- this.nodeMap.delete(e), delete this.node[e];
97
- }
98
- nodeIsKind(e, t) {
99
- return e instanceof this.getNodeClass(t);
100
- }
101
- getKinds() {
102
- return Array.from(this.nodeMap.keys());
103
- }
104
- };
105
- i.defaultNodes = {};
106
- //#endregion
107
- export { e as a, r as i, t as n, n as r, i as t };