manim-web 0.3.18 → 0.3.20

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 (136) hide show
  1. package/README.md +26 -40
  2. package/dist/AllPackages-B0GtkYjD.js +7912 -0
  3. package/dist/AllPackages-BIAELuhU.js +7912 -0
  4. package/dist/BaseConfiguration-CDf44lxS.js +4402 -0
  5. package/dist/BaseConfiguration-Chcqjv9L.js +4402 -0
  6. package/dist/Entities-B_gwJfrn.js +458 -0
  7. package/dist/Entities-CmJkmuw_.js +458 -0
  8. package/dist/GifExporter-C9lP34Iu.js +338 -0
  9. package/dist/GifExporter-DBak5Vk7.js +338 -0
  10. package/dist/InputJax-C5sGfjJ8.js +43 -0
  11. package/dist/InputJax-Jb4hSThK.js +43 -0
  12. package/dist/MathItem-BmK41eqe.js +77 -0
  13. package/dist/MathItem-C_mZyaeT.js +77 -0
  14. package/dist/Options-Ch1vGsgd.js +188 -0
  15. package/dist/Options-V6ag48Dv.js +188 -0
  16. package/dist/PrioritizedList-DkoCmqPk.js +36 -0
  17. package/dist/PrioritizedList-eKTii0tW.js +36 -0
  18. package/dist/Styles-De4BjKiV.js +411 -0
  19. package/dist/Styles-DgoiBrzf.js +411 -0
  20. package/dist/TeXAtom-DT2wCvcU.js +2025 -0
  21. package/dist/TeXAtom-JogI0lus.js +2025 -0
  22. package/dist/VideoExporter-Bdtz_pWv.js +102 -0
  23. package/dist/VideoExporter-Vjfsnv1h.js +102 -0
  24. package/dist/animation/creation/Create.d.ts +1 -1
  25. package/dist/animation/movement/Rotate.d.ts +2 -0
  26. package/dist/animation/movement/Rotate.d.ts.map +1 -1
  27. package/dist/animation/movement/Scale.d.ts +2 -0
  28. package/dist/animation/movement/Scale.d.ts.map +1 -1
  29. package/dist/animation/transform/ApplyTransforms.d.ts +1 -2
  30. package/dist/animation/transform/ApplyTransforms.d.ts.map +1 -1
  31. package/dist/animation/transform/MovementTransforms.d.ts +8 -0
  32. package/dist/animation/transform/MovementTransforms.d.ts.map +1 -1
  33. package/dist/animation/transform/Transform.d.ts +3 -0
  34. package/dist/animation/transform/Transform.d.ts.map +1 -1
  35. package/dist/animation/utility/index.d.ts +2 -0
  36. package/dist/animation/utility/index.d.ts.map +1 -1
  37. package/dist/chunk-3e0lkp8x.js +23 -0
  38. package/dist/constants/fontRender.d.ts +19 -0
  39. package/dist/constants/fontRender.d.ts.map +1 -0
  40. package/dist/constants/index.d.ts.map +1 -1
  41. package/dist/core/Camera.d.ts +19 -6
  42. package/dist/core/Camera.d.ts.map +1 -1
  43. package/dist/core/CameraFrame.d.ts +0 -2
  44. package/dist/core/CameraFrame.d.ts.map +1 -1
  45. package/dist/core/Group.d.ts +2 -2
  46. package/dist/core/Group.d.ts.map +1 -1
  47. package/dist/core/Mobject.d.ts +26 -6
  48. package/dist/core/Mobject.d.ts.map +1 -1
  49. package/dist/core/MobjectState.d.ts +23 -2
  50. package/dist/core/MobjectState.d.ts.map +1 -1
  51. package/dist/core/MobjectTraversal.d.ts +25 -0
  52. package/dist/core/MobjectTraversal.d.ts.map +1 -0
  53. package/dist/core/Scene.d.ts +7 -1
  54. package/dist/core/Scene.d.ts.map +1 -1
  55. package/dist/core/ThreeDScene.d.ts +19 -0
  56. package/dist/core/ThreeDScene.d.ts.map +1 -1
  57. package/dist/core/VGroup.d.ts +1 -1
  58. package/dist/core/VGroup.d.ts.map +1 -1
  59. package/dist/core/VMobject.d.ts +20 -1
  60. package/dist/core/VMobject.d.ts.map +1 -1
  61. package/dist/core/VMobjectGeometry.d.ts +2 -1
  62. package/dist/core/VMobjectGeometry.d.ts.map +1 -1
  63. package/dist/html-53__O8r2.js +1587 -0
  64. package/dist/html-DfHFh5II.js +1587 -0
  65. package/dist/index.d.ts +1 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +4 -579
  68. package/dist/integrations/react.js +144 -735
  69. package/dist/integrations/vue.js +109 -735
  70. package/dist/interaction/Draggable.d.ts.map +1 -1
  71. package/dist/interaction/OrbitControls.d.ts +2 -0
  72. package/dist/interaction/OrbitControls.d.ts.map +1 -1
  73. package/dist/lengths-3epoqRj7.js +65 -0
  74. package/dist/lengths-B-bX9Tfk.js +65 -0
  75. package/dist/liteAdaptor-BxFvlO-q.js +828 -0
  76. package/dist/liteAdaptor-CsOIKw2g.js +828 -0
  77. package/dist/manim-web.browser.js +72994 -83815
  78. package/dist/mathjax-Bkrmftxh.js +102 -0
  79. package/dist/mathjax-DBrTNl9C.js +102 -0
  80. package/dist/mo-AzagC5AD.js +3271 -0
  81. package/dist/mo-I_6dyJsk.js +3271 -0
  82. package/dist/mobjects/geometry/AngleShapes.d.ts +16 -0
  83. package/dist/mobjects/geometry/AngleShapes.d.ts.map +1 -1
  84. package/dist/mobjects/geometry/DashedLine.d.ts +2 -2
  85. package/dist/mobjects/geometry/DashedLine.d.ts.map +1 -1
  86. package/dist/mobjects/graphing/Axes.d.ts +2 -2
  87. package/dist/mobjects/graphing/Axes.d.ts.map +1 -1
  88. package/dist/mobjects/graphing/ComplexPlane.d.ts +4 -1
  89. package/dist/mobjects/graphing/ComplexPlane.d.ts.map +1 -1
  90. package/dist/mobjects/matrix/Matrix.d.ts +2 -2
  91. package/dist/mobjects/matrix/Matrix.d.ts.map +1 -1
  92. package/dist/mobjects/point/PGroup.d.ts +1 -1
  93. package/dist/mobjects/point/PGroup.d.ts.map +1 -1
  94. package/dist/mobjects/point/PMobject.d.ts +1 -1
  95. package/dist/mobjects/point/PMobject.d.ts.map +1 -1
  96. package/dist/mobjects/svg/Brace.d.ts +3 -3
  97. package/dist/mobjects/svg/Brace.d.ts.map +1 -1
  98. package/dist/mobjects/table/Table.d.ts +4 -4
  99. package/dist/mobjects/table/Table.d.ts.map +1 -1
  100. package/dist/mobjects/text/MathJaxRenderer.d.ts +4 -2
  101. package/dist/mobjects/text/MathJaxRenderer.d.ts.map +1 -1
  102. package/dist/mobjects/text/MathTex.d.ts +68 -202
  103. package/dist/mobjects/text/MathTex.d.ts.map +1 -1
  104. package/dist/mobjects/text/MathTexImage.d.ts +258 -0
  105. package/dist/mobjects/text/MathTexImage.d.ts.map +1 -0
  106. package/dist/mobjects/text/MathTexParts.d.ts +10 -10
  107. package/dist/mobjects/text/MathTexParts.d.ts.map +1 -1
  108. package/dist/mobjects/text/Tex.d.ts +2 -7
  109. package/dist/mobjects/text/Tex.d.ts.map +1 -1
  110. package/dist/mobjects/text/Text.d.ts +2 -2
  111. package/dist/mobjects/text/Text.d.ts.map +1 -1
  112. package/dist/mobjects/text/Variable.d.ts +5 -5
  113. package/dist/mobjects/text/Variable.d.ts.map +1 -1
  114. package/dist/mobjects/text/index.d.ts +2 -2
  115. package/dist/mobjects/text/index.d.ts.map +1 -1
  116. package/dist/mobjects/text/katexStyles.d.ts.map +1 -1
  117. package/dist/mobjects/text/svgPathParser.d.ts.map +1 -1
  118. package/dist/mobjects/three-d/ThreeDAxes.d.ts +113 -9
  119. package/dist/mobjects/three-d/ThreeDAxes.d.ts.map +1 -1
  120. package/dist/player/Player.d.ts +8 -2
  121. package/dist/player/Player.d.ts.map +1 -1
  122. package/dist/player/PlayerController.d.ts +2 -0
  123. package/dist/player/PlayerController.d.ts.map +1 -1
  124. package/dist/player/PlayerUI.d.ts +5 -0
  125. package/dist/player/PlayerUI.d.ts.map +1 -1
  126. package/dist/src-Db7QTr4S.js +60248 -0
  127. package/dist/svg-CoGQ_sAt.js +23880 -0
  128. package/dist/svg-DiIG93Lr.js +23880 -0
  129. package/dist/tex-ChPKMfdv.js +401 -0
  130. package/dist/tex-hYZcjadW.js +401 -0
  131. package/dist/utils/math.d.ts +45 -0
  132. package/dist/utils/math.d.ts.map +1 -1
  133. package/package.json +6 -4
  134. package/dist/featureFlags-H97tY2Rw.js +0 -59814
  135. package/dist/mobjects/text/MathTexSVG.d.ts +0 -102
  136. package/dist/mobjects/text/MathTexSVG.d.ts.map +0 -1
@@ -0,0 +1,401 @@
1
+ import { t as e } from "./chunk-3e0lkp8x.js";
2
+ import { t } from "./Options-V6ag48Dv.js";
3
+ import { i as n, n as r } from "./mo-AzagC5AD.js";
4
+ import { t as i } from "./InputJax-Jb4hSThK.js";
5
+ import { t as a } from "./MathItem-C_mZyaeT.js";
6
+ import { _ as o, c as s, g as c, l, p as u, t as d, u as f } from "./BaseConfiguration-Chcqjv9L.js";
7
+ //#region node_modules/mathjax-full/js/core/FindMath.js
8
+ var p = /* @__PURE__ */ e(((e) => {
9
+ Object.defineProperty(e, "__esModule", { value: !0 }), e.AbstractFindMath = void 0;
10
+ var n = t();
11
+ e.AbstractFindMath = function() {
12
+ function e(e) {
13
+ var t = this.constructor;
14
+ this.options = (0, n.userOptions)((0, n.defaultOptions)({}, t.OPTIONS), e);
15
+ }
16
+ return e.OPTIONS = {}, e;
17
+ }();
18
+ })), m = /* @__PURE__ */ e(((e) => {
19
+ var t = e && e.__extends || (function() {
20
+ var e = function(t, n) {
21
+ return e = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, t) {
22
+ e.__proto__ = t;
23
+ } || function(e, t) {
24
+ for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);
25
+ }, e(t, n);
26
+ };
27
+ return function(t, n) {
28
+ if (typeof n != "function" && n !== null) throw TypeError("Class extends value " + String(n) + " is not a constructor or null");
29
+ e(t, n);
30
+ function r() {
31
+ this.constructor = t;
32
+ }
33
+ t.prototype = n === null ? Object.create(n) : (r.prototype = n.prototype, new r());
34
+ };
35
+ })(), n = e && e.__read || function(e, t) {
36
+ var n = typeof Symbol == "function" && e[Symbol.iterator];
37
+ if (!n) return e;
38
+ var r = n.call(e), i, a = [], o;
39
+ try {
40
+ for (; (t === void 0 || t-- > 0) && !(i = r.next()).done;) a.push(i.value);
41
+ } catch (e) {
42
+ o = { error: e };
43
+ } finally {
44
+ try {
45
+ i && !i.done && (n = r.return) && n.call(r);
46
+ } finally {
47
+ if (o) throw o.error;
48
+ }
49
+ }
50
+ return a;
51
+ };
52
+ Object.defineProperty(e, "__esModule", { value: !0 }), e.FindTeX = void 0;
53
+ var i = p(), o = r(), s = a();
54
+ e.FindTeX = function(e) {
55
+ t(r, e);
56
+ function r(t) {
57
+ var n = e.call(this, t) || this;
58
+ return n.getPatterns(), n;
59
+ }
60
+ return r.prototype.getPatterns = function() {
61
+ var e = this, t = this.options, n = [], r = [], i = [];
62
+ this.end = {}, this.env = this.sub = 0;
63
+ var a = 1;
64
+ t.inlineMath.forEach(function(t) {
65
+ return e.addPattern(n, t, !1);
66
+ }), t.displayMath.forEach(function(t) {
67
+ return e.addPattern(n, t, !0);
68
+ }), n.length && r.push(n.sort(o.sortLength).join("|")), t.processEnvironments && (r.push("\\\\begin\\s*\\{([^}]*)\\}"), this.env = a, a++), t.processEscapes && i.push("\\\\([\\\\$])"), t.processRefs && i.push("(\\\\(?:eq)?ref\\s*\\{[^}]*\\})"), i.length && (r.push("(" + i.join("|") + ")"), this.sub = a), this.start = new RegExp(r.join("|"), "g"), this.hasPatterns = r.length > 0;
69
+ }, r.prototype.addPattern = function(e, t, r) {
70
+ var i = n(t, 2), a = i[0], s = i[1];
71
+ e.push((0, o.quotePattern)(a)), this.end[a] = [
72
+ s,
73
+ r,
74
+ this.endPattern(s)
75
+ ];
76
+ }, r.prototype.endPattern = function(e, t) {
77
+ return RegExp((t || (0, o.quotePattern)(e)) + "|\\\\(?:[a-zA-Z]|.)|[{}]", "g");
78
+ }, r.prototype.findEnd = function(e, t, r, i) {
79
+ for (var a = n(i, 3), o = a[0], c = a[1], l = a[2], u = l.lastIndex = r.index + r[0].length, d, f = 0; d = l.exec(e);) if ((d[1] || d[0]) === o && f === 0) return (0, s.protoItem)(r[0], e.substr(u, d.index - u), d[0], t, r.index, d.index + d[0].length, c);
80
+ else d[0] === "{" ? f++ : d[0] === "}" && f && f--;
81
+ return null;
82
+ }, r.prototype.findMathInString = function(e, t, n) {
83
+ var r, i;
84
+ for (this.start.lastIndex = 0; r = this.start.exec(n);) {
85
+ if (r[this.env] !== void 0 && this.env) {
86
+ var a = "\\\\end\\s*(\\{" + (0, o.quotePattern)(r[this.env]) + "\\})";
87
+ i = this.findEnd(n, t, r, [
88
+ "{" + r[this.env] + "}",
89
+ !0,
90
+ this.endPattern(null, a)
91
+ ]), i && (i.math = i.open + i.math + i.close, i.open = i.close = "");
92
+ } else if (r[this.sub] !== void 0 && this.sub) {
93
+ var c = r[this.sub], a = r.index + r[this.sub].length;
94
+ i = c.length === 2 ? (0, s.protoItem)("", c.substr(1), "", t, r.index, a) : (0, s.protoItem)("", c, "", t, r.index, a, !1);
95
+ } else i = this.findEnd(n, t, r, this.end[r[0]]);
96
+ i && (e.push(i), this.start.lastIndex = i.end.n);
97
+ }
98
+ }, r.prototype.findMath = function(e) {
99
+ var t = [];
100
+ if (this.hasPatterns) for (var n = 0, r = e.length; n < r; n++) this.findMathInString(t, n, e[n]);
101
+ return t;
102
+ }, r.OPTIONS = {
103
+ inlineMath: [["\\(", "\\)"]],
104
+ displayMath: [["$$", "$$"], ["\\[", "\\]"]],
105
+ processEscapes: !0,
106
+ processEnvironments: !0,
107
+ processRefs: !0
108
+ }, r;
109
+ }(i.AbstractFindMath);
110
+ })), h = /* @__PURE__ */ e(((e) => {
111
+ var t = e && e.__values || function(e) {
112
+ var t = typeof Symbol == "function" && Symbol.iterator, n = t && e[t], r = 0;
113
+ if (n) return n.call(e);
114
+ if (e && typeof e.length == "number") return { next: function() {
115
+ return e && r >= e.length && (e = void 0), {
116
+ value: e && e[r++],
117
+ done: !e
118
+ };
119
+ } };
120
+ throw TypeError(t ? "Object is not iterable." : "Symbol.iterator is not defined.");
121
+ }, r = e && e.__importDefault || function(e) {
122
+ return e && e.__esModule ? e : { default: e };
123
+ };
124
+ Object.defineProperty(e, "__esModule", { value: !0 });
125
+ var i = n(), a = r(o()), s;
126
+ (function(e) {
127
+ e.cleanStretchy = function(e) {
128
+ var n, r, i = e.data;
129
+ try {
130
+ for (var o = t(i.getList("fixStretchy")), s = o.next(); !s.done; s = o.next()) {
131
+ var c = s.value;
132
+ if (a.default.getProperty(c, "fixStretchy")) {
133
+ var l = a.default.getForm(c);
134
+ l && l[3] && l[3].stretchy && a.default.setAttribute(c, "stretchy", !1);
135
+ var u = c.parent;
136
+ if (!a.default.getTexClass(c) && (!l || !l[2])) {
137
+ var d = i.nodeFactory.create("node", "TeXAtom", [c]);
138
+ u.replaceChild(d, c), d.inheritAttributesFrom(c);
139
+ }
140
+ a.default.removeProperties(c, "fixStretchy");
141
+ }
142
+ }
143
+ } catch (e) {
144
+ n = { error: e };
145
+ } finally {
146
+ try {
147
+ s && !s.done && (r = o.return) && r.call(o);
148
+ } finally {
149
+ if (n) throw n.error;
150
+ }
151
+ }
152
+ }, e.cleanAttributes = function(e) {
153
+ e.data.root.walkTree(function(e, n) {
154
+ var r, i, a = e.attributes;
155
+ if (a) {
156
+ var o = new Set((a.get("mjx-keep-attrs") || "").split(/ /));
157
+ delete a.getAllAttributes()["mjx-keep-attrs"];
158
+ try {
159
+ for (var s = t(a.getExplicitNames()), c = s.next(); !c.done; c = s.next()) {
160
+ var l = c.value;
161
+ !o.has(l) && a.attributes[l] === e.attributes.getInherited(l) && delete a.attributes[l];
162
+ }
163
+ } catch (e) {
164
+ r = { error: e };
165
+ } finally {
166
+ try {
167
+ c && !c.done && (i = s.return) && i.call(s);
168
+ } finally {
169
+ if (r) throw r.error;
170
+ }
171
+ }
172
+ }
173
+ }, {});
174
+ }, e.combineRelations = function(e) {
175
+ var o, s, c, l, u = [];
176
+ try {
177
+ for (var d = t(e.data.getList("mo")), f = d.next(); !f.done; f = d.next()) {
178
+ var p = f.value;
179
+ if (!(p.getProperty("relationsCombined") || !p.parent || p.parent && !a.default.isType(p.parent, "mrow") || a.default.getTexClass(p) !== i.TEXCLASS.REL)) {
180
+ for (var m = p.parent, h = void 0, g = m.childNodes, _ = g.indexOf(p) + 1, v = a.default.getProperty(p, "variantForm"); _ < g.length && (h = g[_]) && a.default.isType(h, "mo") && a.default.getTexClass(h) === i.TEXCLASS.REL;) if (v === a.default.getProperty(h, "variantForm") && r(p, h)) {
181
+ a.default.appendChildren(p, a.default.getChildren(h)), n(["stretchy", "rspace"], p, h);
182
+ try {
183
+ for (var y = (c = void 0, t(h.getPropertyNames())), b = y.next(); !b.done; b = y.next()) {
184
+ var x = b.value;
185
+ p.setProperty(x, h.getProperty(x));
186
+ }
187
+ } catch (e) {
188
+ c = { error: e };
189
+ } finally {
190
+ try {
191
+ b && !b.done && (l = y.return) && l.call(y);
192
+ } finally {
193
+ if (c) throw c.error;
194
+ }
195
+ }
196
+ g.splice(_, 1), u.push(h), h.parent = null, h.setProperty("relationsCombined", !0);
197
+ } else {
198
+ p.attributes.getExplicit("rspace") ?? a.default.setAttribute(p, "rspace", "0pt"), h.attributes.getExplicit("lspace") ?? a.default.setAttribute(h, "lspace", "0pt");
199
+ break;
200
+ }
201
+ p.attributes.setInherited("form", p.getForms()[0]);
202
+ }
203
+ }
204
+ } catch (e) {
205
+ o = { error: e };
206
+ } finally {
207
+ try {
208
+ f && !f.done && (s = d.return) && s.call(d);
209
+ } finally {
210
+ if (o) throw o.error;
211
+ }
212
+ }
213
+ e.data.removeFromList("mo", u);
214
+ };
215
+ var n = function(e, t, n) {
216
+ var r = t.attributes, i = n.attributes;
217
+ e.forEach(function(e) {
218
+ var t = i.getExplicit(e);
219
+ t != null && r.set(e, t);
220
+ });
221
+ }, r = function(e, n) {
222
+ var r, i, a = function(e, t) {
223
+ return e.getExplicitNames().filter(function(n) {
224
+ return n !== t && (n !== "stretchy" || e.getExplicit("stretchy"));
225
+ });
226
+ }, o = e.attributes, s = n.attributes, c = a(o, "lspace"), l = a(s, "rspace");
227
+ if (c.length !== l.length) return !1;
228
+ try {
229
+ for (var u = t(c), d = u.next(); !d.done; d = u.next()) {
230
+ var f = d.value;
231
+ if (o.getExplicit(f) !== s.getExplicit(f)) return !1;
232
+ }
233
+ } catch (e) {
234
+ r = { error: e };
235
+ } finally {
236
+ try {
237
+ d && !d.done && (i = u.return) && i.call(u);
238
+ } finally {
239
+ if (r) throw r.error;
240
+ }
241
+ }
242
+ return !0;
243
+ }, o = function(e, n, r) {
244
+ var i, o, s = [];
245
+ try {
246
+ for (var c = t(e.getList("m" + n + r)), l = c.next(); !l.done; l = c.next()) {
247
+ var u = l.value, d = u.childNodes;
248
+ if (!(d[u[n]] && d[u[r]])) {
249
+ var f = u.parent, p = d[u[n]] ? e.nodeFactory.create("node", "m" + n, [d[u.base], d[u[n]]]) : e.nodeFactory.create("node", "m" + r, [d[u.base], d[u[r]]]);
250
+ a.default.copyAttributes(u, p), f ? f.replaceChild(p, u) : e.root = p, s.push(u);
251
+ }
252
+ }
253
+ } catch (e) {
254
+ i = { error: e };
255
+ } finally {
256
+ try {
257
+ l && !l.done && (o = c.return) && o.call(c);
258
+ } finally {
259
+ if (i) throw i.error;
260
+ }
261
+ }
262
+ e.removeFromList("m" + n + r, s);
263
+ };
264
+ e.cleanSubSup = function(e) {
265
+ var t = e.data;
266
+ t.error || (o(t, "sub", "sup"), o(t, "under", "over"));
267
+ };
268
+ var s = function(e, n, r) {
269
+ var i, o, s = [];
270
+ try {
271
+ for (var c = t(e.getList(n)), l = c.next(); !l.done; l = c.next()) {
272
+ var u = l.value;
273
+ if (!u.attributes.get("displaystyle")) {
274
+ var d = u.childNodes[u.base], f = d.coreMO();
275
+ if (d.getProperty("movablelimits") && !f.attributes.getExplicit("movablelimits")) {
276
+ var p = e.nodeFactory.create("node", r, u.childNodes);
277
+ a.default.copyAttributes(u, p), u.parent ? u.parent.replaceChild(p, u) : e.root = p, s.push(u);
278
+ }
279
+ }
280
+ }
281
+ } catch (e) {
282
+ i = { error: e };
283
+ } finally {
284
+ try {
285
+ l && !l.done && (o = c.return) && o.call(c);
286
+ } finally {
287
+ if (i) throw i.error;
288
+ }
289
+ }
290
+ e.removeFromList(n, s);
291
+ };
292
+ e.moveLimits = function(e) {
293
+ var t = e.data;
294
+ s(t, "munderover", "msubsup"), s(t, "munder", "msub"), s(t, "mover", "msup");
295
+ }, e.setInherited = function(e) {
296
+ e.data.root.setInheritedAttributes({}, e.math.display, 0, !1);
297
+ };
298
+ })(s ||= {}), e.default = s;
299
+ })), g = /* @__PURE__ */ e(((e) => {
300
+ var n = e && e.__extends || (function() {
301
+ var e = function(t, n) {
302
+ return e = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, t) {
303
+ e.__proto__ = t;
304
+ } || function(e, t) {
305
+ for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);
306
+ }, e(t, n);
307
+ };
308
+ return function(t, n) {
309
+ if (typeof n != "function" && n !== null) throw TypeError("Class extends value " + String(n) + " is not a constructor or null");
310
+ e(t, n);
311
+ function r() {
312
+ this.constructor = t;
313
+ }
314
+ t.prototype = n === null ? Object.create(n) : (r.prototype = n.prototype, new r());
315
+ };
316
+ })(), r = e && e.__assign || function() {
317
+ return r = Object.assign || function(e) {
318
+ for (var t, n = 1, r = arguments.length; n < r; n++) for (var i in t = arguments[n], t) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]);
319
+ return e;
320
+ }, r.apply(this, arguments);
321
+ }, a = e && e.__read || function(e, t) {
322
+ var n = typeof Symbol == "function" && e[Symbol.iterator];
323
+ if (!n) return e;
324
+ var r = n.call(e), i, a = [], o;
325
+ try {
326
+ for (; (t === void 0 || t-- > 0) && !(i = r.next()).done;) a.push(i.value);
327
+ } catch (e) {
328
+ o = { error: e };
329
+ } finally {
330
+ try {
331
+ i && !i.done && (n = r.return) && n.call(r);
332
+ } finally {
333
+ if (o) throw o.error;
334
+ }
335
+ }
336
+ return a;
337
+ }, p = e && e.__importDefault || function(e) {
338
+ return e && e.__esModule ? e : { default: e };
339
+ };
340
+ Object.defineProperty(e, "__esModule", { value: !0 }), e.TeX = void 0;
341
+ var g = i(), _ = t(), v = m(), y = p(h()), b = p(o()), x = p(u()), S = p(c()), C = p(f()), w = l(), T = s();
342
+ d(), e.TeX = function(e) {
343
+ n(t, e);
344
+ function t(n) {
345
+ n === void 0 && (n = {});
346
+ var r = this, i = a((0, _.separateOptions)(n, t.OPTIONS, v.FindTeX.OPTIONS), 3), o = i[0], s = i[1], c = i[2];
347
+ r = e.call(this, s) || this, r.findTeX = r.options.FindTeX || new v.FindTeX(c);
348
+ var l = r.options.packages, u = r.configuration = t.configure(l), d = r._parseOptions = new C.default(u, [r.options, w.TagsFactory.OPTIONS]);
349
+ return (0, _.userOptions)(d.options, o), u.config(r), t.tags(d, u), r.postFilters.add(y.default.cleanSubSup, -6), r.postFilters.add(y.default.setInherited, -5), r.postFilters.add(y.default.moveLimits, -4), r.postFilters.add(y.default.cleanStretchy, -3), r.postFilters.add(y.default.cleanAttributes, -2), r.postFilters.add(y.default.combineRelations, -1), r;
350
+ }
351
+ return t.configure = function(e) {
352
+ var t = new T.ParserConfiguration(e, ["tex"]);
353
+ return t.init(), t;
354
+ }, t.tags = function(e, t) {
355
+ w.TagsFactory.addTags(t.tags), w.TagsFactory.setDefault(e.options.tags), e.tags = w.TagsFactory.getDefault(), e.tags.configuration = e;
356
+ }, t.prototype.setMmlFactory = function(t) {
357
+ e.prototype.setMmlFactory.call(this, t), this._parseOptions.nodeFactory.setMmlFactory(t);
358
+ }, Object.defineProperty(t.prototype, "parseOptions", {
359
+ get: function() {
360
+ return this._parseOptions;
361
+ },
362
+ enumerable: !1,
363
+ configurable: !0
364
+ }), t.prototype.reset = function(e) {
365
+ e === void 0 && (e = 0), this.parseOptions.tags.reset(e);
366
+ }, t.prototype.compile = function(e, t) {
367
+ this.parseOptions.clear(), this.executeFilters(this.preFilters, e, t, this.parseOptions);
368
+ var n = e.display;
369
+ this.latex = e.math;
370
+ var r;
371
+ this.parseOptions.tags.startEquation(e);
372
+ var i;
373
+ try {
374
+ var a = new x.default(this.latex, {
375
+ display: n,
376
+ isInner: !1
377
+ }, this.parseOptions);
378
+ r = a.mml(), i = a.stack.global;
379
+ } catch (e) {
380
+ if (!(e instanceof S.default)) throw e;
381
+ this.parseOptions.error = !0, r = this.options.formatError(this, e);
382
+ }
383
+ return r = this.parseOptions.nodeFactory.create("node", "math", [r]), i?.indentalign && b.default.setAttribute(r, "indentalign", i.indentalign), n && b.default.setAttribute(r, "display", "block"), this.parseOptions.tags.finishEquation(e), this.parseOptions.root = r, this.executeFilters(this.postFilters, e, t, this.parseOptions), this.mathNode = this.parseOptions.root, this.mathNode;
384
+ }, t.prototype.findMath = function(e) {
385
+ return this.findTeX.findMath(e);
386
+ }, t.prototype.formatError = function(e) {
387
+ var t = e.message.replace(/\n.*/, "");
388
+ return this.parseOptions.nodeFactory.create("error", t, e.id, this.latex);
389
+ }, t.NAME = "TeX", t.OPTIONS = r(r({}, g.AbstractInputJax.OPTIONS), {
390
+ FindTeX: null,
391
+ packages: ["base"],
392
+ digits: /^(?:[0-9]+(?:\{,\}[0-9]{3})*(?:\.[0-9]*)?|\.[0-9]+)/,
393
+ maxBuffer: 5 * 1024,
394
+ formatError: function(e, t) {
395
+ return e.formatError(t);
396
+ }
397
+ }), t;
398
+ }(g.AbstractInputJax);
399
+ }));
400
+ //#endregion
401
+ export default g();
@@ -40,6 +40,13 @@ export declare function coordsToPoint(x: number, y: number, xRange: [number, num
40
40
  * @returns Graph coordinates [x, y]
41
41
  */
42
42
  export declare function pointToCoords(point: [number, number, number], xRange: [number, number, ...number[]], yRange: [number, number, ...number[]], xLength: number, yLength: number): [number, number];
43
+ /**
44
+ * Apply a 2x2 or 3x3 transformation matrix to a single point,
45
+ * relative to an aboutPoint (defaults to origin).
46
+ *
47
+ * Returns the original point unchanged if the matrix dimensions are invalid.
48
+ */
49
+ export declare function transformPointByMatrix(point: number[], matrix: number[][], aboutPoint?: number[]): number[];
43
50
  /**
44
51
  * Evaluate a cubic Bezier curve at parameter t.
45
52
  * Uses the standard cubic Bernstein polynomial:
@@ -49,4 +56,42 @@ export declare function pointToCoords(point: [number, number, number], xRange: [
49
56
  * (without an explicit z) are handled safely.
50
57
  */
51
58
  export declare function evalCubicBezier(p0: number[], p1: number[], p2: number[], p3: number[], t: number): number[];
59
+ /**
60
+ * Select 3 maximally scattered points from a point set.
61
+ *
62
+ * Algorithm: first point → furthest from first → furthest from both.
63
+ * This tends to pick a wide triangle, which gives a more stable plane basis.
64
+ *
65
+ * @returns Indices of 3 scattered points (fewer if not enough input)
66
+ */
67
+ export declare function selectScatteredPoints(points: number[][]): number[];
68
+ /**
69
+ * Extract two vectors from 3 points [p0, p1, p2]: v1 = p1-p0, v2 = p2-p0.
70
+ * These span the plane containing the points.
71
+ * Returns null if < 3 points.
72
+ */
73
+ export declare function extractVectorsFrom3Points(points: number[][]): {
74
+ v1: number[];
75
+ v2: number[];
76
+ } | null;
77
+ /**
78
+ * Project a 3D point onto a 2D plane basis.
79
+ *
80
+ * @param point - 3D point to project
81
+ * @param origin - Plane origin point
82
+ * @param v1 - First basis vector (becomes x-axis)
83
+ * @param v2 - Second basis vector (becomes y-axis)
84
+ * @returns [u, v] coordinates on the plane
85
+ */
86
+ export declare function projectToPlane(point: number[], origin: number[], v1: number[], v2: number[]): [number, number];
87
+ /**
88
+ * Get orthonormalized basis vectors from two spanning vectors.
89
+ * Uses Gram-Schmidt: normalizes v1, then makes v2 orthogonal to v1 and normalizes.
90
+ *
91
+ * @returns Object with orthonormal v1, v2 and the original (for reversal)
92
+ */
93
+ export declare function orthonormalizeBasis(v1: number[], v2: number[]): {
94
+ v1: number[];
95
+ v2: number[];
96
+ };
52
97
  //# sourceMappingURL=math.d.ts.map
@@ -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;;;;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;;;;;;;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"}
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;;;;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "manim-web",
3
- "version": "0.3.18",
3
+ "version": "0.3.20",
4
4
  "description": "Manim-like mathematical animation library for the web",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -8,6 +8,7 @@
8
8
  "types": "dist/index.d.ts",
9
9
  "exports": {
10
10
  ".": {
11
+ "source": "./src/index.ts",
11
12
  "types": "./dist/index.d.ts",
12
13
  "import": "./dist/index.js",
13
14
  "default": "./dist/index.js"
@@ -67,9 +68,10 @@
67
68
  "earcut": "^3.0.2",
68
69
  "gif.js": "^0.2.0",
69
70
  "katex": "^0.16.28",
71
+ "mathjax-full": "^3.2.1",
70
72
  "opentype.js": "^1.3.4",
71
73
  "polygon-clipping": "^0.15.7",
72
- "three": "^0.183.2"
74
+ "three": "^0.184.0"
73
75
  },
74
76
  "devDependencies": {
75
77
  "@eslint/js": "^9.39.2",
@@ -77,7 +79,7 @@
77
79
  "@types/earcut": "^3.0.0",
78
80
  "@types/katex": "^0.16.8",
79
81
  "@types/react": "^19.2.13",
80
- "@types/three": "^0.182.0",
82
+ "@types/three": "^0.184.0",
81
83
  "@vitest/coverage-v8": "^4.0.18",
82
84
  "eslint": "^10.0.2",
83
85
  "eslint-config-prettier": "^10.1.8",
@@ -92,7 +94,7 @@
92
94
  "typedoc": "^0.28.16",
93
95
  "typescript": "^5.3.0",
94
96
  "typescript-eslint": "^8.54.0",
95
- "vite": "^7.3.1",
97
+ "vite": "^8.0.8",
96
98
  "vite-plugin-dts": "^4.5.4",
97
99
  "vitest": "^4.0.18",
98
100
  "vue": "^3.0.0"