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.
- package/README.md +20 -0
- package/dist/{AmsConfiguration-BMyoprhk.js → AmsConfiguration-OUoC_kJ0.js} +5 -5
- package/dist/{AmsConfiguration-BdxxYRby.js → AmsConfiguration-tdje_HlF.js} +5 -5
- package/dist/{ConfigMacrosConfiguration-B8X_JSVI.js → ConfigMacrosConfiguration-4OaQYvlr.js} +3 -3
- package/dist/{ConfigMacrosConfiguration-DUxp6DUV.js → ConfigMacrosConfiguration-DM3-S5M8.js} +3 -3
- package/dist/{Entities-B1o7gN0J.js → Entities-Dw6381dl.js} +2 -2
- package/dist/{Entities-C82lnCux.js → Entities-bJKKDYjE.js} +2 -2
- package/dist/{HtmlNode-BLmQ2r7U.js → HtmlNode-1mFtYQ9G.js} +2 -2
- package/dist/{HtmlNode-DXGeKrcW.js → HtmlNode-CQqo5we-.js} +2 -2
- package/dist/{InputJax-DL9oUQY4.js → InputJax-D5R2pqUk.js} +2 -2
- package/dist/{InputJax-DnDWM3Y0.js → InputJax-jNvwWU5P.js} +2 -2
- package/dist/{NewcommandConfiguration-BPjclFig.js → NewcommandConfiguration-BN_OlLcO.js} +2 -2
- package/dist/{NewcommandConfiguration-bJ6P1rBY.js → NewcommandConfiguration-DZ3mSCpD.js} +2 -2
- package/dist/{NewcommandMethods-C_E3iLoK.js → NewcommandMethods-D5bueYYE.js} +2 -2
- package/dist/{NewcommandMethods-Cb7yFm5P.js → NewcommandMethods-DTf_dan5.js} +2 -2
- package/dist/{ParseMethods-BMPfzfQC.js → ParseMethods-Deqa7kJ6.js} +7 -7
- package/dist/{ParseMethods-D3_HeS1K.js → ParseMethods-Dt5bYDSZ.js} +7 -7
- package/dist/{Styles-Dky5jZUe.js → Styles-BILrGVps.js} +1 -1
- package/dist/{Styles-J-6R3Vr8.js → Styles-DQSruwWe.js} +1 -1
- package/dist/animation/Animation.d.ts.map +1 -1
- package/dist/animation/MasterTimeline.d.ts +88 -1
- package/dist/animation/MasterTimeline.d.ts.map +1 -1
- package/dist/animation/movement/Rotate.d.ts +2 -7
- package/dist/animation/movement/Rotate.d.ts.map +1 -1
- package/dist/animation/transform/PointMorphStrategy.d.ts.map +1 -1
- package/dist/core/AnimateProxy.d.ts +3 -5
- package/dist/core/AnimateProxy.d.ts.map +1 -1
- package/dist/core/Camera.d.ts +37 -0
- package/dist/core/Camera.d.ts.map +1 -1
- package/dist/core/CameraExtensions.d.ts +33 -1
- package/dist/core/CameraExtensions.d.ts.map +1 -1
- package/dist/core/Group.d.ts +3 -11
- package/dist/core/Group.d.ts.map +1 -1
- package/dist/core/Mobject.d.ts +33 -7
- package/dist/core/Mobject.d.ts.map +1 -1
- package/dist/core/MobjectPositioning.d.ts +2 -5
- package/dist/core/MobjectPositioning.d.ts.map +1 -1
- package/dist/core/MobjectTypes.d.ts +21 -4
- package/dist/core/MobjectTypes.d.ts.map +1 -1
- package/dist/core/Renderer.d.ts +3 -0
- package/dist/core/Renderer.d.ts.map +1 -1
- package/dist/core/Scene.d.ts +50 -0
- package/dist/core/Scene.d.ts.map +1 -1
- package/dist/core/ThreeDScene.d.ts +3 -1
- package/dist/core/ThreeDScene.d.ts.map +1 -1
- package/dist/core/VGroup.d.ts +11 -19
- package/dist/core/VGroup.d.ts.map +1 -1
- package/dist/core/VMobject.d.ts +14 -1
- package/dist/core/VMobject.d.ts.map +1 -1
- package/dist/core/VMobjectGeometry.d.ts +20 -10
- package/dist/core/VMobjectGeometry.d.ts.map +1 -1
- package/dist/core/VMobjectRendering.d.ts +5 -0
- package/dist/core/VMobjectRendering.d.ts.map +1 -1
- package/dist/core/VMobjectTransformAlignment.d.ts +9 -0
- package/dist/core/VMobjectTransformAlignment.d.ts.map +1 -1
- package/dist/{html-DU38zqaN.js → html-Bza5WY1y.js} +6 -6
- package/dist/{html-DjkQuIHJ.js → html-bhzMuE8p.js} +6 -6
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -4
- package/dist/integrations/react.js +16 -18
- package/dist/integrations/vue.js +15 -17
- package/dist/interaction/OrbitControls.d.ts +1 -1
- package/dist/interaction/OrbitControls.d.ts.map +1 -1
- package/dist/{lengths-CP7zmbxJ.js → lengths-D2zTYMUu.js} +2 -2
- package/dist/{liteAdaptor-BLgze3o2.js → liteAdaptor-BkxB5CGC.js} +3 -3
- package/dist/{liteAdaptor-zXv-jsO1.js → liteAdaptor-LMKuWwg1.js} +3 -3
- package/dist/manim-web.browser.js +8668 -7171
- package/dist/{mathjax-7LgaTjtj.js → mathjax-CPQWkQEv.js} +2 -2
- package/dist/{mathjax-CoSFlQ0H.js → mathjax-b-GTdZgw.js} +2 -2
- package/dist/{mo-CNYDGAsg.js → mo-D4wFHS6V.js} +2 -2
- package/dist/{mo-C5uLT3Z9.js → mo-hAX79Dzl.js} +2 -2
- package/dist/mobjects/geometry/AngleShapes.d.ts +0 -4
- package/dist/mobjects/geometry/AngleShapes.d.ts.map +1 -1
- package/dist/mobjects/geometry/CubicBezier.d.ts.map +1 -1
- package/dist/mobjects/geometry/PolygonExtensions.d.ts.map +1 -1
- package/dist/mobjects/graphing/ComplexPlane.d.ts +41 -1
- package/dist/mobjects/graphing/ComplexPlane.d.ts.map +1 -1
- package/dist/mobjects/graphing/Vector.d.ts.map +1 -1
- package/dist/mobjects/point/Mobject1D.d.ts.map +1 -1
- package/dist/mobjects/point/Mobject2D.d.ts.map +1 -1
- package/dist/mobjects/point/PMobject.d.ts +8 -2
- package/dist/mobjects/point/PMobject.d.ts.map +1 -1
- package/dist/mobjects/point/PointMobject.d.ts.map +1 -1
- package/dist/mobjects/text/Code.d.ts.map +1 -1
- package/dist/mobjects/text/MathTex.d.ts +9 -0
- package/dist/mobjects/text/MathTex.d.ts.map +1 -1
- package/dist/mobjects/text/MathTexImage.d.ts.map +1 -1
- package/dist/mobjects/text/Text.d.ts.map +1 -1
- package/dist/mobjects/text/TextGlyphGroup.d.ts.map +1 -1
- package/dist/mobjects/three-d/Line3D.d.ts +10 -56
- package/dist/mobjects/three-d/Line3D.d.ts.map +1 -1
- package/dist/player/Player.d.ts +36 -29
- package/dist/player/Player.d.ts.map +1 -1
- package/dist/player/PlayerUI.d.ts.map +1 -1
- package/dist/player/RecordingScene.d.ts +37 -0
- package/dist/player/RecordingScene.d.ts.map +1 -0
- package/dist/{src-CW4pfZdP.js → src-BlTk3Bta.js} +8798 -7302
- package/dist/{svg-CYweEoZ1.js → svg-DNS5Hwhk.js} +268 -253
- package/dist/{svg-swSF_J59.js → svg-DVUoAdmC.js} +268 -253
- package/dist/test-setup/vitest-setup.d.ts +20 -0
- package/dist/test-setup/vitest-setup.d.ts.map +1 -0
- package/dist/{tex-C4_queV-.js → tex-BQCLd0dF.js} +19 -15
- package/dist/{tex-CA5MLeEe.js → tex-Cd_bTYKG.js} +19 -15
- package/dist/utils/axis.d.ts +4 -0
- package/dist/utils/axis.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +37 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/math.d.ts +4 -0
- package/dist/utils/math.d.ts.map +1 -1
- package/dist/utils/vectors.d.ts +54 -1
- package/dist/utils/vectors.d.ts.map +1 -1
- package/package.json +8 -6
- package/dist/Factory-D-whCqrb.js +0 -107
- package/dist/GifExporter-BrxY_q7e.js +0 -338
- package/dist/GifExporter-S2pbxMc5.js +0 -338
- package/dist/Options-XPptO-6X.js +0 -63
- package/dist/VideoExporter-6ikT3u9H.js +0 -102
- package/dist/VideoExporter-D_RxVahH.js +0 -102
- package/dist/lengths-D4tR1gYA.js +0 -54
- package/dist/rolldown-runtime-DnwLefa7.js +0 -23
- /package/dist/{Factory-BKM7FEO-.js → Factory-Ba6Nqb3M.js} +0 -0
- /package/dist/{Options-DRlTi0G8.js → Options-DMK2wYar.js} +0 -0
package/README.md
CHANGED
|
@@ -122,6 +122,26 @@ Have existing Manim scripts? Convert them:
|
|
|
122
122
|
node tools/py2ts.cjs input.py -o output.ts
|
|
123
123
|
```
|
|
124
124
|
|
|
125
|
+
## Logging
|
|
126
|
+
|
|
127
|
+
manim-web logs through a small structured logger. Subscribe to log messages
|
|
128
|
+
with `onLog` — useful for surfacing errors in your UI or forwarding them to a
|
|
129
|
+
server (handy for AI agents that write and debug scenes):
|
|
130
|
+
|
|
131
|
+
```ts
|
|
132
|
+
import { onLog } from 'manim-web';
|
|
133
|
+
|
|
134
|
+
const unsubscribe = onLog((entry) => {
|
|
135
|
+
// entry = { level, message, timestamp } — always JSON-serializable
|
|
136
|
+
fetch('/__log', { method: 'POST', body: JSON.stringify(entry) });
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
unsubscribe(); // stop receiving log messages
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Forwarded messages are sanitized (tokens, keys, and emails are redacted) and
|
|
143
|
+
respect the `LOG_LEVEL` environment variable (`debug` | `info` | `warn` | `error`).
|
|
144
|
+
|
|
125
145
|
## Contributing
|
|
126
146
|
|
|
127
147
|
```bash
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { h as e } from "./mo-
|
|
2
|
-
import { A as t, F as n, G as r, H as i, I as a, J as o, L as s, P as c, Q as l, W as u, X as d, Y as f, Z as p, d as m, i as h, n as g, q as _, r as v, t as y, z as b } from "./ParseMethods-
|
|
3
|
-
import { n as x } from "./lengths-
|
|
4
|
-
import { a as S } from "./NewcommandMethods-
|
|
5
|
-
import { NewcommandConfig as C } from "./NewcommandConfiguration-
|
|
1
|
+
import { h as e } from "./mo-hAX79Dzl.js";
|
|
2
|
+
import { A as t, F as n, G as r, H as i, I as a, J as o, L as s, P as c, Q as l, W as u, X as d, Y as f, Z as p, d as m, i as h, n as g, q as _, r as v, t as y, z as b } from "./ParseMethods-Deqa7kJ6.js";
|
|
3
|
+
import { n as x } from "./lengths-D2zTYMUu.js";
|
|
4
|
+
import { a as S } from "./NewcommandMethods-DTf_dan5.js";
|
|
5
|
+
import { NewcommandConfig as C } from "./NewcommandConfiguration-BN_OlLcO.js";
|
|
6
6
|
//#region node_modules/@mathjax/src/mjs/input/tex/ams/AmsItems.js
|
|
7
7
|
var w = class extends h {
|
|
8
8
|
constructor(e, ...t) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { h as e } from "./mo-
|
|
2
|
-
import { A as t, F as n, G as r, H as i, I as a, J as o, L as s, P as c, Q as l, W as u, X as d, Y as f, Z as p, d as m, i as h, n as g, q as _, r as v, t as y, z as b } from "./ParseMethods-
|
|
3
|
-
import { n as x } from "./lengths-
|
|
4
|
-
import { a as S } from "./NewcommandMethods-
|
|
5
|
-
import { NewcommandConfig as C } from "./NewcommandConfiguration-
|
|
1
|
+
import { h as e } from "./mo-D4wFHS6V.js";
|
|
2
|
+
import { A as t, F as n, G as r, H as i, I as a, J as o, L as s, P as c, Q as l, W as u, X as d, Y as f, Z as p, d as m, i as h, n as g, q as _, r as v, t as y, z as b } from "./ParseMethods-Dt5bYDSZ.js";
|
|
3
|
+
import { n as x } from "./lengths-D2zTYMUu.js";
|
|
4
|
+
import { a as S } from "./NewcommandMethods-D5bueYYE.js";
|
|
5
|
+
import { NewcommandConfig as C } from "./NewcommandConfiguration-DZ3mSCpD.js";
|
|
6
6
|
//#region node_modules/@mathjax/src/mjs/input/tex/ams/AmsItems.js
|
|
7
7
|
var w = class extends h {
|
|
8
8
|
constructor(e, ...t) {
|
package/dist/{ConfigMacrosConfiguration-B8X_JSVI.js → ConfigMacrosConfiguration-4OaQYvlr.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as e } from "./Options-
|
|
2
|
-
import { A as t, B as n, F as r, L as i, R as a, X as o, Y as s, t as c } from "./ParseMethods-
|
|
3
|
-
import { n as l, t as u } from "./NewcommandMethods-
|
|
1
|
+
import { n as e } from "./Options-DMK2wYar.js";
|
|
2
|
+
import { A as t, B as n, F as r, L as i, R as a, X as o, Y as s, t as c } from "./ParseMethods-Dt5bYDSZ.js";
|
|
3
|
+
import { n as l, t as u } from "./NewcommandMethods-D5bueYYE.js";
|
|
4
4
|
//#region node_modules/@mathjax/src/mjs/input/tex/configmacros/ConfigMacrosConfiguration.js
|
|
5
5
|
var d = "configmacros-map", f = "configmacros-active-map", p = "configmacros-env-map";
|
|
6
6
|
function m(e) {
|
package/dist/{ConfigMacrosConfiguration-DUxp6DUV.js → ConfigMacrosConfiguration-DM3-S5M8.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as e } from "./Options-
|
|
2
|
-
import { A as t, B as n, F as r, L as i, R as a, X as o, Y as s, t as c } from "./ParseMethods-
|
|
3
|
-
import { n as l, t as u } from "./NewcommandMethods-
|
|
1
|
+
import { n as e } from "./Options-DMK2wYar.js";
|
|
2
|
+
import { A as t, B as n, F as r, L as i, R as a, X as o, Y as s, t as c } from "./ParseMethods-Deqa7kJ6.js";
|
|
3
|
+
import { n as l, t as u } from "./NewcommandMethods-DTf_dan5.js";
|
|
4
4
|
//#region node_modules/@mathjax/src/mjs/input/tex/configmacros/ConfigMacrosConfiguration.js
|
|
5
5
|
var d = "configmacros-map", f = "configmacros-active-map", p = "configmacros-env-map";
|
|
6
6
|
function m(e) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as e } from "./mathjax-
|
|
2
|
-
import { r as t } from "./Styles-
|
|
1
|
+
import { a as e } from "./mathjax-CPQWkQEv.js";
|
|
2
|
+
import { r as t } from "./Styles-BILrGVps.js";
|
|
3
3
|
//#region node_modules/@mathjax/src/mjs/util/Entities.js
|
|
4
4
|
var n = { loadMissingEntities: !0 }, r = {
|
|
5
5
|
ApplyFunction: "",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as e } from "./mathjax-
|
|
2
|
-
import { r as t } from "./Styles-
|
|
1
|
+
import { a as e } from "./mathjax-b-GTdZgw.js";
|
|
2
|
+
import { r as t } from "./Styles-DQSruwWe.js";
|
|
3
3
|
//#region node_modules/@mathjax/src/mjs/util/Entities.js
|
|
4
4
|
var n = { loadMissingEntities: !0 }, r = {
|
|
5
5
|
ApplyFunction: "",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { o as e, t } from "./Options-
|
|
2
|
-
import { b as n, f as r, h as i, m as a, o, p as s, t as c, u as l, v as u, x as d, y as f } from "./mo-
|
|
1
|
+
import { o as e, t } from "./Options-DMK2wYar.js";
|
|
2
|
+
import { b as n, f as r, h as i, m as a, o, p as s, t as c, u as l, v as u, x as d, y as f } from "./mo-D4wFHS6V.js";
|
|
3
3
|
//#region node_modules/@mathjax/src/mjs/core/OutputJax.js
|
|
4
4
|
var p = class {
|
|
5
5
|
constructor(n = {}) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { o as e, t } from "./Options-
|
|
2
|
-
import { b as n, f as r, h as i, m as a, o, p as s, t as c, u as l, v as u, x as d, y as f } from "./mo-
|
|
1
|
+
import { o as e, t } from "./Options-DMK2wYar.js";
|
|
2
|
+
import { b as n, f as r, h as i, m as a, o, p as s, t as c, u as l, v as u, x as d, y as f } from "./mo-hAX79Dzl.js";
|
|
3
3
|
//#region node_modules/@mathjax/src/mjs/core/OutputJax.js
|
|
4
4
|
var p = class {
|
|
5
5
|
constructor(n = {}) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { o as e, t } from "./Options-
|
|
2
|
-
import { x as n } from "./mo-
|
|
1
|
+
import { o as e, t } from "./Options-DMK2wYar.js";
|
|
2
|
+
import { x as n } from "./mo-hAX79Dzl.js";
|
|
3
3
|
//#region node_modules/@mathjax/src/mjs/core/InputJax.js
|
|
4
4
|
var r = class {
|
|
5
5
|
constructor(r = {}) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { o as e, t } from "./Options-
|
|
2
|
-
import { x as n } from "./mo-
|
|
1
|
+
import { o as e, t } from "./Options-DMK2wYar.js";
|
|
2
|
+
import { x as n } from "./mo-D4wFHS6V.js";
|
|
3
3
|
//#region node_modules/@mathjax/src/mjs/core/InputJax.js
|
|
4
4
|
var r = class {
|
|
5
5
|
constructor(r = {}) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as e, F as t, I as n, L as r, X as i, Y as a, t as o } from "./ParseMethods-
|
|
2
|
-
import { i as s, n as c, r as l, t as u } from "./NewcommandMethods-
|
|
1
|
+
import { A as e, F as t, I as n, L as r, X as i, Y as a, t as o } from "./ParseMethods-Deqa7kJ6.js";
|
|
2
|
+
import { i as s, n as c, r as l, t as u } from "./NewcommandMethods-DTf_dan5.js";
|
|
3
3
|
//#region node_modules/@mathjax/src/mjs/input/tex/newcommand/NewcommandMappings.js
|
|
4
4
|
new t("Newcommand-macros", {
|
|
5
5
|
newcommand: u.NewCommand,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as e, F as t, I as n, L as r, X as i, Y as a, t as o } from "./ParseMethods-
|
|
2
|
-
import { i as s, n as c, r as l, t as u } from "./NewcommandMethods-
|
|
1
|
+
import { A as e, F as t, I as n, L as r, X as i, Y as a, t as o } from "./ParseMethods-Dt5bYDSZ.js";
|
|
2
|
+
import { i as s, n as c, r as l, t as u } from "./NewcommandMethods-D5bueYYE.js";
|
|
3
3
|
//#region node_modules/@mathjax/src/mjs/input/tex/newcommand/NewcommandMappings.js
|
|
4
4
|
new t("Newcommand-macros", {
|
|
5
5
|
newcommand: u.NewCommand,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as e, I as t, J as n, K as r, N as i, P as a, R as o, V as s, W as c, X as l, n as u, q as d } from "./ParseMethods-
|
|
1
|
+
import { B as e, I as t, J as n, K as r, N as i, P as a, R as o, V as s, W as c, X as l, n as u, q as d } from "./ParseMethods-Dt5bYDSZ.js";
|
|
2
2
|
//#region node_modules/@mathjax/src/mjs/input/tex/newcommand/NewcommandUtil.js
|
|
3
3
|
var f;
|
|
4
4
|
(function(e) {
|
|
@@ -27,7 +27,7 @@ var p = -100, m = {
|
|
|
27
27
|
if (o !== e.i && (i[a] = e.string.substring(o, e.i)), r = e.string.charAt(++e.i), !r.match(/^[1-9]$/)) throw new d("CantUseHash2", "Illegal use of # in template for %1", n);
|
|
28
28
|
if (parseInt(r) !== ++a) throw new d("SequentialParam", "Parameters for %1 must be numbered sequentially", n);
|
|
29
29
|
o = e.i + 1;
|
|
30
|
-
} else if (r === "{") return o !== e.i && (i[a] = e.string.substring(o, e.i)), i.length > 0 ? [a.toString()].concat(i) : a;
|
|
30
|
+
} else if (r === "{") return o !== e.i && (i[a] = e.string.substring(o, e.i), i[a].replace(/^ +/, "") === "" && i.slice(0, a).join("") === "") ? a : i.length > 0 ? [a.toString()].concat(i) : a;
|
|
31
31
|
e.i++;
|
|
32
32
|
}
|
|
33
33
|
throw new d("MissingReplacementString", "Missing replacement string for definition of %1", t);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as e, I as t, J as n, K as r, N as i, P as a, R as o, V as s, W as c, X as l, n as u, q as d } from "./ParseMethods-
|
|
1
|
+
import { B as e, I as t, J as n, K as r, N as i, P as a, R as o, V as s, W as c, X as l, n as u, q as d } from "./ParseMethods-Deqa7kJ6.js";
|
|
2
2
|
//#region node_modules/@mathjax/src/mjs/input/tex/newcommand/NewcommandUtil.js
|
|
3
3
|
var f;
|
|
4
4
|
(function(e) {
|
|
@@ -27,7 +27,7 @@ var p = -100, m = {
|
|
|
27
27
|
if (o !== e.i && (i[a] = e.string.substring(o, e.i)), r = e.string.charAt(++e.i), !r.match(/^[1-9]$/)) throw new d("CantUseHash2", "Illegal use of # in template for %1", n);
|
|
28
28
|
if (parseInt(r) !== ++a) throw new d("SequentialParam", "Parameters for %1 must be numbered sequentially", n);
|
|
29
29
|
o = e.i + 1;
|
|
30
|
-
} else if (r === "{") return o !== e.i && (i[a] = e.string.substring(o, e.i)), i.length > 0 ? [a.toString()].concat(i) : a;
|
|
30
|
+
} else if (r === "{") return o !== e.i && (i[a] = e.string.substring(o, e.i), i[a].replace(/^ +/, "") === "" && i.slice(0, a).join("") === "") ? a : i.length > 0 ? [a.toString()].concat(i) : a;
|
|
31
31
|
e.i++;
|
|
32
32
|
}
|
|
33
33
|
throw new d("MissingReplacementString", "Missing replacement string for definition of %1", t);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { o as e, r as t, t as n } from "./Options-
|
|
2
|
-
import { o as r } from "./mathjax-
|
|
3
|
-
import { n as i } from "./Styles-
|
|
4
|
-
import { t as a } from "./Entities-
|
|
5
|
-
import { d as o, h as s, i as c, p as l, t as u, x as d } from "./mo-
|
|
6
|
-
import { r as f } from "./lengths-
|
|
1
|
+
import { o as e, r as t, t as n } from "./Options-DMK2wYar.js";
|
|
2
|
+
import { o as r } from "./mathjax-CPQWkQEv.js";
|
|
3
|
+
import { n as i } from "./Styles-BILrGVps.js";
|
|
4
|
+
import { t as a } from "./Entities-Dw6381dl.js";
|
|
5
|
+
import { d as o, h as s, i as c, p as l, t as u, x as d } from "./mo-hAX79Dzl.js";
|
|
6
|
+
import { r as f } from "./lengths-D2zTYMUu.js";
|
|
7
7
|
//#region node_modules/@mathjax/src/mjs/input/tex/NodeUtil.js
|
|
8
8
|
var p = {
|
|
9
9
|
attrs: new Set([
|
|
@@ -2625,7 +2625,7 @@ var Q = {
|
|
|
2625
2625
|
stretchy: !1
|
|
2626
2626
|
}, n);
|
|
2627
2627
|
let r = e.create("token", "mo", n, t.char);
|
|
2628
|
-
e.Push(r);
|
|
2628
|
+
t.char === "|" && r.setProperty("keep-attrs", "stretchy"), e.Push(r);
|
|
2629
2629
|
},
|
|
2630
2630
|
environment(e, t, n, r) {
|
|
2631
2631
|
let i = e.itemFactory.create("begin").setProperty("name", t);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { o as e, r as t, t as n } from "./Options-
|
|
2
|
-
import { o as r } from "./mathjax-
|
|
3
|
-
import { n as i } from "./Styles-
|
|
4
|
-
import { t as a } from "./Entities-
|
|
5
|
-
import { d as o, h as s, i as c, p as l, t as u, x as d } from "./mo-
|
|
6
|
-
import { r as f } from "./lengths-
|
|
1
|
+
import { o as e, r as t, t as n } from "./Options-DMK2wYar.js";
|
|
2
|
+
import { o as r } from "./mathjax-b-GTdZgw.js";
|
|
3
|
+
import { n as i } from "./Styles-DQSruwWe.js";
|
|
4
|
+
import { t as a } from "./Entities-bJKKDYjE.js";
|
|
5
|
+
import { d as o, h as s, i as c, p as l, t as u, x as d } from "./mo-D4wFHS6V.js";
|
|
6
|
+
import { r as f } from "./lengths-D2zTYMUu.js";
|
|
7
7
|
//#region node_modules/@mathjax/src/mjs/input/tex/NodeUtil.js
|
|
8
8
|
var p = {
|
|
9
9
|
attrs: new Set([
|
|
@@ -2625,7 +2625,7 @@ var Q = {
|
|
|
2625
2625
|
stretchy: !1
|
|
2626
2626
|
}, n);
|
|
2627
2627
|
let r = e.create("token", "mo", n, t.char);
|
|
2628
|
-
e.Push(r);
|
|
2628
|
+
t.char === "|" && r.setProperty("keep-attrs", "stretchy"), e.Push(r);
|
|
2629
2629
|
},
|
|
2630
2630
|
environment(e, t, n, r) {
|
|
2631
2631
|
let i = e.itemFactory.create("begin").setProperty("name", t);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Animation.d.ts","sourceRoot":"","sources":["../../src/animation/Animation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAU,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Animation.d.ts","sourceRoot":"","sources":["../../src/animation/Animation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAU,MAAM,mBAAmB,CAAC;AAGzD,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACtC;AAED,8BAAsB,SAAS;IAC7B,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAEhC,wDAAwD;IACxD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE3C,yCAAyC;IACzC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAS;IAEvC,uCAAuC;IACvC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAS;IAErC;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAS;IAEzB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB,CAAwB;gBAEtC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,gBAAqB;IAQ5D;;;;;OAKG;IACH,KAAK,IAAI,IAAI;IA+Bb;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;;OAGG;IACH,MAAM,IAAI,IAAI;IAId;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAM7C;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAEzC;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAoB9C;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;OAIG;IACH,KAAK,IAAI,IAAI;IA2Bb;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,GAAG,IAAI,CAE7B;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAEhC;CACF"}
|
|
@@ -12,8 +12,44 @@ export interface Segment {
|
|
|
12
12
|
/** Whether this is a wait/pause segment */
|
|
13
13
|
isWait: boolean;
|
|
14
14
|
}
|
|
15
|
+
export interface Slide {
|
|
16
|
+
/** Index in the slides array */
|
|
17
|
+
readonly index: number;
|
|
18
|
+
/** First segment in this slide */
|
|
19
|
+
readonly startSegmentIndex: number;
|
|
20
|
+
/** Last segment in this slide (inclusive) */
|
|
21
|
+
readonly endSegmentIndex: number;
|
|
22
|
+
/** = segments[startSegmentIndex].startTime */
|
|
23
|
+
readonly startTime: number;
|
|
24
|
+
/** = segments[endSegmentIndex].endTime */
|
|
25
|
+
readonly endTime: number;
|
|
26
|
+
/**
|
|
27
|
+
* Replay this slide in slidesMode until the user navigates away
|
|
28
|
+
* (→, ←, public seek out of the slide, or setSlidesMode(false)).
|
|
29
|
+
* Wins over `autoNext` when both are set.
|
|
30
|
+
*/
|
|
31
|
+
readonly loop: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Auto-advance to the next slide when this slide finishes (slidesMode only).
|
|
34
|
+
* Ignored if `loop` is also true. Final autoNext slide pauses normally.
|
|
35
|
+
*/
|
|
36
|
+
readonly autoNext: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface SlideOptions {
|
|
39
|
+
/** Replay this slide in slidesMode until the user advances. */
|
|
40
|
+
loop?: boolean;
|
|
41
|
+
/** Auto-advance to the next slide when this slide finishes (slidesMode only). */
|
|
42
|
+
autoNext?: boolean;
|
|
43
|
+
}
|
|
15
44
|
export declare class MasterTimeline extends Timeline {
|
|
16
45
|
private _segments;
|
|
46
|
+
private _slides;
|
|
47
|
+
/**
|
|
48
|
+
* Slide boundaries recorded by beginSlide() during recording. Each entry
|
|
49
|
+
* means "the segment at this index starts a new slide with these opts."
|
|
50
|
+
* Consumed by finalizeSlides().
|
|
51
|
+
*/
|
|
52
|
+
private _slideBoundaries;
|
|
17
53
|
/**
|
|
18
54
|
* Maps mobjects to the segment index where they first appear.
|
|
19
55
|
* Used by seek() to hide mobjects that haven't been introduced yet.
|
|
@@ -45,17 +81,68 @@ export declare class MasterTimeline extends Timeline {
|
|
|
45
81
|
reset(): this;
|
|
46
82
|
/**
|
|
47
83
|
* Add a segment containing one or more parallel animations.
|
|
48
|
-
* Returns the segment's start time (for the recorder to resolve).
|
|
49
84
|
*/
|
|
50
85
|
addSegment(animations: Animation[]): Segment;
|
|
51
86
|
/**
|
|
52
87
|
* Add a wait (pause) segment with no animations.
|
|
53
88
|
*/
|
|
54
89
|
addWaitSegment(duration: number): Segment;
|
|
90
|
+
/**
|
|
91
|
+
* Record a slide boundary: the next segment added will start a new slide
|
|
92
|
+
* with the given options. Inspired by manim-slides' `next_slide(...)` — the
|
|
93
|
+
* options configure the slide that *follows* this call.
|
|
94
|
+
*
|
|
95
|
+
* If no boundary is ever recorded, every segment becomes its own slide
|
|
96
|
+
* (per-play behavior, used by existing slidesMode callers).
|
|
97
|
+
*
|
|
98
|
+
* Calling `beginSlide()` twice at the same segment index (i.e. with no
|
|
99
|
+
* intervening play/wait) drops the earlier call's options, since an
|
|
100
|
+
* empty slide cannot carry options into anything that will play. We warn
|
|
101
|
+
* to surface the likely user error.
|
|
102
|
+
*/
|
|
103
|
+
beginSlide(opts?: SlideOptions): void;
|
|
104
|
+
/**
|
|
105
|
+
* Build the `_slides` array from recorded segments and slide boundaries.
|
|
106
|
+
* Call once after the recording builder finishes; idempotent — calling
|
|
107
|
+
* twice with the same `_segments` / `_slideBoundaries` produces the same
|
|
108
|
+
* `_slides`.
|
|
109
|
+
*
|
|
110
|
+
* - No boundaries recorded: each segment is its own slide.
|
|
111
|
+
* - Otherwise: segments before the first boundary form an implicit slide 0
|
|
112
|
+
* with default opts; each boundary opens a new slide with its opts that
|
|
113
|
+
* captures all subsequent segments up to the next boundary (or the end).
|
|
114
|
+
*
|
|
115
|
+
* Empty slides (consecutive boundaries with no plays between them) are
|
|
116
|
+
* skipped — they have no animations and no duration to occupy.
|
|
117
|
+
*
|
|
118
|
+
* Throws if any slide carries `loop: true` but has zero total duration,
|
|
119
|
+
* since the player would rewind every frame.
|
|
120
|
+
*/
|
|
121
|
+
finalizeSlides(): void;
|
|
122
|
+
/**
|
|
123
|
+
* Single construction site for Slide: enforces invariants, normalises opts
|
|
124
|
+
* (`loop` wins over `autoNext`), and validates zero-duration loops.
|
|
125
|
+
*/
|
|
126
|
+
private _buildSlide;
|
|
55
127
|
/**
|
|
56
128
|
* Get all segments.
|
|
57
129
|
*/
|
|
58
130
|
getSegments(): readonly Segment[];
|
|
131
|
+
/**
|
|
132
|
+
* Get all slides.
|
|
133
|
+
*/
|
|
134
|
+
getSlides(): readonly Slide[];
|
|
135
|
+
/**
|
|
136
|
+
* Get the slide active at the given time. Returns `null` if `time` is
|
|
137
|
+
* before the first slide's startTime or no slides exist.
|
|
138
|
+
*/
|
|
139
|
+
getSlideAtTime(time: number): Slide | null;
|
|
140
|
+
/**
|
|
141
|
+
* Get the currently-active slide based on _currentTime.
|
|
142
|
+
*/
|
|
143
|
+
getCurrentSlide(): Slide | null;
|
|
144
|
+
/** Number of slides built by finalizeSlides(). */
|
|
145
|
+
get slideCount(): number;
|
|
59
146
|
/**
|
|
60
147
|
* Get the segment at the given time.
|
|
61
148
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MasterTimeline.d.ts","sourceRoot":"","sources":["../../src/animation/MasterTimeline.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"MasterTimeline.d.ts","sourceRoot":"","sources":["../../src/animation/MasterTimeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,WAAW,OAAO;IACtB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,2CAA2C;IAC3C,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,KAAK;IACpB,gCAAgC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kCAAkC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,6CAA6C;IAC7C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0CAA0C;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,OAAO,CAAe;IAC9B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAAwD;IAChF;;;OAGG;IACH,OAAO,CAAC,oBAAoB,CAAgD;IAC5E;;;;OAIG;IACH,OAAO,CAAC,sBAAsB,CAAgD;IAE9E;;;;;OAKG;IACM,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAmCjC;;;;;OAKG;IACM,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IA8BjC;;OAEG;IACM,KAAK,IAAI,IAAI;IAMtB;;OAEG;IACH,UAAU,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO;IA2B5C;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAmBzC;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,IAAI,GAAE,YAAiB,GAAG,IAAI;IAkBzC;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,IAAI,IAAI;IA+BtB;;;OAGG;IACH,OAAO,CAAC,WAAW;IA4BnB;;OAEG;IACH,WAAW,IAAI,SAAS,OAAO,EAAE;IAIjC;;OAEG;IACH,SAAS,IAAI,SAAS,KAAK,EAAE;IAI7B;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAS1C;;OAEG;IACH,eAAe,IAAI,KAAK,GAAG,IAAI;IAI/B,kDAAkD;IAClD,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAS9C;;OAEG;IACH,iBAAiB,IAAI,OAAO,GAAG,IAAI;IAInC;;;OAGG;IACH,WAAW,IAAI,OAAO,GAAG,IAAI;IAY7B;;;;OAIG;IACH,WAAW,IAAI,OAAO,GAAG,IAAI;IAsB7B;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;CACF;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,cAAc,CAE/C"}
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import { Mobject, Vector3Tuple } from '../../core/Mobject';
|
|
2
|
+
import { AxisOrOptions } from '../../core/MobjectTypes';
|
|
2
3
|
import { Animation, AnimationOptions } from '../Animation';
|
|
3
|
-
export interface RotateOptions extends AnimationOptions {
|
|
4
|
+
export interface RotateOptions extends AnimationOptions, AxisOrOptions {
|
|
4
5
|
/** Angle to rotate in radians */
|
|
5
6
|
angle: number;
|
|
6
|
-
/** Axis of rotation [x, y, z], defaults to Z axis [0, 0, 1] */
|
|
7
|
-
axis?: Vector3Tuple;
|
|
8
|
-
/** Point to rotate about, defaults to mobject center */
|
|
9
|
-
aboutPoint?: Vector3Tuple;
|
|
10
|
-
/** Edge to rotate about, resolved via bounding box. Mutually exclusive with aboutPoint. */
|
|
11
|
-
aboutEdge?: Vector3Tuple;
|
|
12
7
|
}
|
|
13
8
|
export declare class Rotate extends Animation {
|
|
14
9
|
/** Angle to rotate in radians */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rotate.d.ts","sourceRoot":"","sources":["../../../src/animation/movement/Rotate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,
|
|
1
|
+
{"version":3,"file":"Rotate.d.ts","sourceRoot":"","sources":["../../../src/animation/movement/Rotate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAI3D,MAAM,WAAW,aAAc,SAAQ,gBAAgB,EAAE,aAAa;IACpE,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,MAAO,SAAQ,SAAS;IACnC,iCAAiC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAE5B,4BAA4B;IAC5B,QAAQ,CAAC,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC;IAEzC,4CAA4C;IAC5C,OAAO,CAAC,kBAAkB,CAA4C;IAEtE,oDAAoD;IACpD,OAAO,CAAC,gBAAgB,CAAsC;IAE9D,qCAAqC;IACrC,OAAO,CAAC,WAAW,CAAsC;IAEzD,mCAAmC;IACnC,OAAO,CAAC,iBAAiB,CAA8B;gBAE3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa;IAUpD;;OAEG;IACM,KAAK,IAAI,IAAI;IA0BtB;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA0BhC;;OAEG;IACM,MAAM,IAAI,IAAI;CAIxB;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GACrC,MAAM,CAOR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointMorphStrategy.d.ts","sourceRoot":"","sources":["../../../src/animation/transform/PointMorphStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"PointMorphStrategy.d.ts","sourceRoot":"","sources":["../../../src/animation/transform/PointMorphStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA2DhD,qBAAa,kBAAmB,YAAW,aAAa;IACtD,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,0BAA0B,CAAC,CAAW;IAC9C,OAAO,CAAC,sBAAsB,CAAC,CAAW;IAC1C,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,iBAAiB,CAAyB;IAElD,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAoCpE,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,MAAM;IA6Cd,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IA6D1F,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;CAmCtE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Mobject, Vector3Tuple, MobjectStyle } from './Mobject';
|
|
1
|
+
import { Mobject, Vector3Tuple, MobjectStyle, AxisOrOptions } from './Mobject';
|
|
2
2
|
import { Animation, AnimationOptions } from '../animation/Animation';
|
|
3
3
|
import { RateFunction } from '../rate-functions';
|
|
4
4
|
export declare class AnimateProxy extends Animation {
|
|
@@ -14,10 +14,7 @@ export declare class AnimateProxy extends Animation {
|
|
|
14
14
|
withRateFunc(fn: RateFunction): this;
|
|
15
15
|
shift(delta: Vector3Tuple): this;
|
|
16
16
|
moveTo(target: Vector3Tuple | Mobject, alignedEdge?: Vector3Tuple): this;
|
|
17
|
-
rotate(angle: number, axisOrOptions?: Vector3Tuple |
|
|
18
|
-
axis?: Vector3Tuple;
|
|
19
|
-
aboutPoint?: Vector3Tuple;
|
|
20
|
-
}): this;
|
|
17
|
+
rotate(angle: number, axisOrOptions?: Vector3Tuple | AxisOrOptions): this;
|
|
21
18
|
scale(factor: number | Vector3Tuple): this;
|
|
22
19
|
setColor(color: string): this;
|
|
23
20
|
setOpacity(opacity: number): this;
|
|
@@ -37,4 +34,5 @@ export declare class AnimateProxy extends Animation {
|
|
|
37
34
|
interpolate(alpha: number): void;
|
|
38
35
|
finish(): void;
|
|
39
36
|
}
|
|
37
|
+
export declare function ensureAnimateProxyRegistered(): void;
|
|
40
38
|
//# sourceMappingURL=AnimateProxy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimateProxy.d.ts","sourceRoot":"","sources":["../../src/core/AnimateProxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"AnimateProxy.d.ts","sourceRoot":"","sources":["../../src/core/AnimateProxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,OAAO,EACP,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,aAAa,EAEnB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,KAAK,YAAY,EAAU,MAAM,mBAAmB,CAAC;AAM9D,qBAAa,YAAa,SAAQ,SAAS;IACzC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,cAAc,CAAwB;gBAElC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,gBAAqB;IAU5D,4DAA4D;IAC5D,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKnC,8CAA8C;IAC9C,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IAOpC,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKhC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,IAAI;IAKxE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,IAAI;IAKzE,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAK1C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKjC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKnC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKrC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAK/C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAK5C,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI;IAK/B,MAAM,IAAI,IAAI;IAKd,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAQrF,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI;IAKtE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAKpD,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKrB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKrB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAOZ,KAAK,IAAI,IAAI;IA8CtB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUvB,MAAM,IAAI,IAAI;CAiCxB;AAKD,wBAAgB,4BAA4B,IAAI,IAAI,CAInD"}
|
package/dist/core/Camera.d.ts
CHANGED
|
@@ -104,6 +104,18 @@ export declare class Camera3D {
|
|
|
104
104
|
distance: number;
|
|
105
105
|
};
|
|
106
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* How `Camera2D.setAspectRatio` reconciles the user-set frame with the
|
|
109
|
+
* viewport's pixel aspect.
|
|
110
|
+
*
|
|
111
|
+
* - `'fill'` (default): keep `frameHeight`, recompute `frameWidth` from
|
|
112
|
+
* the viewport aspect. Frame is cropped horizontally on wider viewports
|
|
113
|
+
* and over-shows on narrower ones. Back-compatible.
|
|
114
|
+
* - `'contain'`: keep both base `frameWidth` and `frameHeight`. Grow
|
|
115
|
+
* whichever dimension is needed to letterbox so the user's full
|
|
116
|
+
* frame is always visible (no cropping of the intended view).
|
|
117
|
+
*/
|
|
118
|
+
export type Camera2DAspectMode = 'fill' | 'contain';
|
|
107
119
|
/**
|
|
108
120
|
* Options for configuring a Camera2D.
|
|
109
121
|
*/
|
|
@@ -114,6 +126,14 @@ export interface CameraOptions {
|
|
|
114
126
|
frameHeight?: number;
|
|
115
127
|
/** Initial camera position [x, y, z]. Defaults to [0, 0, 10]. */
|
|
116
128
|
position?: [number, number, number];
|
|
129
|
+
/**
|
|
130
|
+
* Behaviour of `setAspectRatio` when the viewport aspect doesn't match
|
|
131
|
+
* this camera's frame. Defaults to `'fill'` for back-compat — set to
|
|
132
|
+
* `'contain'` (recommended for multi-camera layouts) to make per-camera
|
|
133
|
+
* `frameWidth`/`frameHeight` zoom intent survive the per-viewport
|
|
134
|
+
* aspect adjustment.
|
|
135
|
+
*/
|
|
136
|
+
aspectMode?: Camera2DAspectMode;
|
|
117
137
|
}
|
|
118
138
|
/**
|
|
119
139
|
* 2D camera for manimweb scenes.
|
|
@@ -123,6 +143,14 @@ export declare class Camera2D {
|
|
|
123
143
|
private _camera;
|
|
124
144
|
private _frameWidth;
|
|
125
145
|
private _frameHeight;
|
|
146
|
+
/**
|
|
147
|
+
* The frame dimensions the user *asked for*, preserved across
|
|
148
|
+
* `setAspectRatio` calls when `_aspectMode === 'contain'`. Updated
|
|
149
|
+
* whenever the user mutates `frameWidth`/`frameHeight` directly.
|
|
150
|
+
*/
|
|
151
|
+
private _userFrameWidth;
|
|
152
|
+
private _userFrameHeight;
|
|
153
|
+
private _aspectMode;
|
|
126
154
|
private _frame;
|
|
127
155
|
/**
|
|
128
156
|
* Create a new 2D camera.
|
|
@@ -145,6 +173,15 @@ export declare class Camera2D {
|
|
|
145
173
|
* Set the frame height in world units.
|
|
146
174
|
*/
|
|
147
175
|
set frameHeight(height: number);
|
|
176
|
+
/**
|
|
177
|
+
* Get the current aspect-mode (see {@link Camera2DAspectMode}).
|
|
178
|
+
*/
|
|
179
|
+
get aspectMode(): Camera2DAspectMode;
|
|
180
|
+
/**
|
|
181
|
+
* Set the aspect-mode. Re-applies the current aspect ratio so the
|
|
182
|
+
* projection updates immediately.
|
|
183
|
+
*/
|
|
184
|
+
set aspectMode(mode: Camera2DAspectMode);
|
|
148
185
|
/**
|
|
149
186
|
* Get the camera position.
|
|
150
187
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../src/core/Camera.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,sEAAsE;IACtE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,4EAA4E;IAC5E,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,GAAG,CAA8B;IAEzC;;;;OAIG;gBACS,WAAW,GAAE,MAAe,EAAE,OAAO,CAAC,EAAE,eAAe;IAsBnE;;;OAGG;IACH,SAAS,IAAI,KAAK,CAAC,iBAAiB;IAIpC;;OAEG;IACH,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAE5B;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,KAAK,CAAC,OAAO,CAEhC;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAOhD;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAMjD;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOzB;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMnC;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,IAAI;IA4B7E;;;OAGG;IACH,cAAc,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;CAenE;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../src/core/Camera.ts"],"names":[],"mappings":"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"}
|
|
@@ -264,6 +264,15 @@ export interface CameraViewport {
|
|
|
264
264
|
width: number;
|
|
265
265
|
/** Height as fraction of canvas height (0-1). */
|
|
266
266
|
height: number;
|
|
267
|
+
/**
|
|
268
|
+
* Optional border color (any THREE.Color input — `#rrggbb`, named, or
|
|
269
|
+
* 0xrrggbb). When set together with `borderWidth > 0`, MultiCamera
|
|
270
|
+
* draws a rectangle outline around the viewport in canvas-pixel space
|
|
271
|
+
* after the scene render. Off by default.
|
|
272
|
+
*/
|
|
273
|
+
borderColor?: number | string;
|
|
274
|
+
/** Optional border thickness in canvas pixels. Defaults to 0 (no border). */
|
|
275
|
+
borderWidth?: number;
|
|
267
276
|
}
|
|
268
277
|
/**
|
|
269
278
|
* Camera entry in the multi-camera system.
|
|
@@ -325,6 +334,18 @@ export declare class MultiCamera {
|
|
|
325
334
|
* @returns Index of the added camera
|
|
326
335
|
*/
|
|
327
336
|
addCamera(camera: Camera2D | Camera3D | MovingCamera | ThreeDCamera, viewport: CameraViewport, label?: string): number;
|
|
337
|
+
/**
|
|
338
|
+
* Update the border style of an existing viewport. Passing `null` for
|
|
339
|
+
* either field disables that side of the configuration (e.g. setting
|
|
340
|
+
* `borderWidth` to 0 turns the border off).
|
|
341
|
+
* @param index - Camera index
|
|
342
|
+
* @param style - Partial border style; merged into the existing viewport
|
|
343
|
+
* @returns this for chaining
|
|
344
|
+
*/
|
|
345
|
+
setViewportBorder(index: number, style: {
|
|
346
|
+
borderColor?: number | string | null;
|
|
347
|
+
borderWidth?: number | null;
|
|
348
|
+
}): this;
|
|
328
349
|
/**
|
|
329
350
|
* Remove a camera by index.
|
|
330
351
|
* @param index - Index of camera to remove
|
|
@@ -412,7 +433,18 @@ export declare class MultiCamera {
|
|
|
412
433
|
*/
|
|
413
434
|
render(renderer: THREE.WebGLRenderer, scene: THREE.Scene, canvasWidth: number, canvasHeight: number): void;
|
|
414
435
|
/**
|
|
415
|
-
*
|
|
436
|
+
* Lazy-initialized scene + camera + line geometry used to draw viewport
|
|
437
|
+
* borders. Borders are rendered as a single screen-space pass after the
|
|
438
|
+
* main multi-camera render.
|
|
439
|
+
*/
|
|
440
|
+
private _borderScene;
|
|
441
|
+
private _borderCamera;
|
|
442
|
+
private _renderBorders;
|
|
443
|
+
/**
|
|
444
|
+
* Update all cameras that support animation. Advances per-camera
|
|
445
|
+
* animation state (MovingCamera/ThreeDCamera) and runs any frame
|
|
446
|
+
* updaters attached to Camera2D entries so secondary cameras can
|
|
447
|
+
* follow targets the same way `scene.camera.frame` does.
|
|
416
448
|
* @param dt - Delta time in seconds
|
|
417
449
|
*/
|
|
418
450
|
update(dt: number): void;
|