manim-web 0.22.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/integrations/react.js +17 -17
- package/dist/integrations/vue.js +16 -16
- package/dist/lottie-fy5zaR1g.js +7057 -0
- package/dist/manim-web.browser.js +1105 -857
- package/dist/mobjects/lottie/LottieMobject.d.ts +211 -0
- package/dist/mobjects/lottie/LottieMobject.d.ts.map +1 -0
- package/dist/mobjects/lottie/index.d.ts +2 -0
- package/dist/mobjects/lottie/index.d.ts.map +1 -0
- package/dist/{src-C18aslV3.js → src-BRT6RDfk.js} +1087 -839
- package/package.json +2 -1
|
@@ -47011,7 +47011,7 @@ var pE = class e {
|
|
|
47011
47011
|
if (this.isHeadless) throw Error("export() is not available in headless mode. Create a Scene with a container for rendering and exporting.");
|
|
47012
47012
|
let n = e.slice(e.lastIndexOf(".")).toLowerCase(), r;
|
|
47013
47013
|
if (n === ".gif") {
|
|
47014
|
-
let { GifExporter: n } = await Promise.resolve().then(() =>
|
|
47014
|
+
let { GifExporter: n } = await Promise.resolve().then(() => HB);
|
|
47015
47015
|
r = await new n(this, {
|
|
47016
47016
|
fps: t?.fps,
|
|
47017
47017
|
quality: t?.quality,
|
|
@@ -47023,7 +47023,7 @@ var pE = class e {
|
|
|
47023
47023
|
workers: t?.workers
|
|
47024
47024
|
}).exportTimeline(t?.duration), n.download(r, e);
|
|
47025
47025
|
} else if (n === ".webm" || n === ".mp4" || n === ".mov") {
|
|
47026
|
-
let { VideoExporter: i } = await Promise.resolve().then(() =>
|
|
47026
|
+
let { VideoExporter: i } = await Promise.resolve().then(() => KB), a = n === ".mp4" ? "mp4" : n === ".mov" ? "mov" : "webm";
|
|
47027
47027
|
r = await new i(this, {
|
|
47028
47028
|
fps: t?.fps,
|
|
47029
47029
|
quality: t?.quality,
|
|
@@ -69595,11 +69595,259 @@ var fI = class e extends c_ {
|
|
|
69595
69595
|
dispose() {
|
|
69596
69596
|
super.dispose(), this._video &&= (this._video.pause(), this._video.removeAttribute("src"), this._video.load(), null), this._texture &&= (this._texture.dispose(), null);
|
|
69597
69597
|
}
|
|
69598
|
-
}, pI =
|
|
69599
|
-
function
|
|
69598
|
+
}, pI = null;
|
|
69599
|
+
function mI(e) {
|
|
69600
|
+
pI = e;
|
|
69601
|
+
}
|
|
69602
|
+
async function hI() {
|
|
69603
|
+
let t = await import("./lottie-fy5zaR1g.js").then((t) => /* @__PURE__ */ e(t.default, 1));
|
|
69604
|
+
return t.default ?? t;
|
|
69605
|
+
}
|
|
69606
|
+
async function gI(e) {
|
|
69607
|
+
return e || (pI ? pI() : hI());
|
|
69608
|
+
}
|
|
69609
|
+
var _I = 512, vI = 30, yI = class e extends c_ {
|
|
69610
|
+
_animationData;
|
|
69611
|
+
_loop;
|
|
69612
|
+
_speed;
|
|
69613
|
+
_width;
|
|
69614
|
+
_height;
|
|
69615
|
+
_scaleToFit;
|
|
69616
|
+
_centerPoint;
|
|
69617
|
+
_doubleSided;
|
|
69618
|
+
_injectedPlayer;
|
|
69619
|
+
_canvas = null;
|
|
69620
|
+
_texture = null;
|
|
69621
|
+
_animation = null;
|
|
69622
|
+
_totalFrames = 0;
|
|
69623
|
+
_frameRate = vI;
|
|
69624
|
+
_naturalWidth = _I;
|
|
69625
|
+
_naturalHeight = _I;
|
|
69626
|
+
_loaded = !1;
|
|
69627
|
+
_loadError = null;
|
|
69628
|
+
_playing = !1;
|
|
69629
|
+
_playhead = 0;
|
|
69630
|
+
_mesh = null;
|
|
69631
|
+
_loadPromise;
|
|
69632
|
+
_loadResolve = null;
|
|
69633
|
+
_loadReject = null;
|
|
69634
|
+
constructor(e) {
|
|
69635
|
+
super();
|
|
69636
|
+
let { animationData: t, loop: n = !1, speed: r = 1, width: i, height: a, scaleToFit: o = !0, center: s = [
|
|
69637
|
+
0,
|
|
69638
|
+
0,
|
|
69639
|
+
0
|
|
69640
|
+
], opacity: c = 1, doubleSided: l = !1, player: u } = e;
|
|
69641
|
+
this._animationData = t, this._loop = n, this._speed = r, this._width = i, this._height = a, this._scaleToFit = o, this._centerPoint = [...s], this._doubleSided = l, this._opacity = c, this._injectedPlayer = u, t && (this._naturalWidth = t.w ?? _I, this._naturalHeight = t.h ?? _I, typeof t.fr == "number" && t.fr > 0 && (this._frameRate = t.fr)), this.position.set(s[0], s[1], s[2]), this._loadPromise = new Promise((e, t) => {
|
|
69642
|
+
this._loadResolve = e, this._loadReject = t;
|
|
69643
|
+
}), this.addUpdater((e, t) => {
|
|
69644
|
+
this._playing && (this._playhead += t * this._speed, this._applyTime(this._playhead));
|
|
69645
|
+
}), this._createCanvasTexture(), this._load();
|
|
69646
|
+
}
|
|
69647
|
+
static async fromUrl(t, n = {}) {
|
|
69648
|
+
let { fetchImpl: r, ...i } = n, a = r ?? (typeof fetch < "u" ? fetch : void 0);
|
|
69649
|
+
if (!a) throw Error("Failed to load Lottie: no fetch available (no DOM/network)");
|
|
69650
|
+
let o = await a(t);
|
|
69651
|
+
if (!o.ok) throw Error(`Failed to load Lottie from "${t}": HTTP ${o.status}`);
|
|
69652
|
+
let s = await o.json(), c = new e({
|
|
69653
|
+
...i,
|
|
69654
|
+
animationData: s
|
|
69655
|
+
});
|
|
69656
|
+
return await c.waitForLoad(), c;
|
|
69657
|
+
}
|
|
69658
|
+
_createCanvasTexture() {
|
|
69659
|
+
if (typeof document > "u" || typeof document.createElement != "function") return;
|
|
69660
|
+
let e = document.createElement("canvas");
|
|
69661
|
+
e.width = Math.max(1, Math.round(this._naturalWidth)), e.height = Math.max(1, Math.round(this._naturalHeight)), this._canvas = e;
|
|
69662
|
+
let t = new We(e);
|
|
69663
|
+
t.colorSpace = dn, t.minFilter = qe, t.magFilter = qe, this._texture = t;
|
|
69664
|
+
}
|
|
69665
|
+
async _load() {
|
|
69666
|
+
if (!this._animationData) {
|
|
69667
|
+
this._failLoad(/* @__PURE__ */ Error("Failed to load Lottie: no animationData provided"));
|
|
69668
|
+
return;
|
|
69669
|
+
}
|
|
69670
|
+
if (!this._canvas) {
|
|
69671
|
+
this._failLoad(/* @__PURE__ */ Error("Failed to load Lottie: no DOM (canvas is unavailable)"));
|
|
69672
|
+
return;
|
|
69673
|
+
}
|
|
69674
|
+
try {
|
|
69675
|
+
let e = await gI(this._injectedPlayer), t = this._canvas.getContext("2d") ?? void 0, n = e.loadAnimation({
|
|
69676
|
+
container: this._canvas,
|
|
69677
|
+
renderer: "canvas",
|
|
69678
|
+
loop: this._loop,
|
|
69679
|
+
autoplay: !1,
|
|
69680
|
+
animationData: this._animationData,
|
|
69681
|
+
rendererSettings: {
|
|
69682
|
+
context: t,
|
|
69683
|
+
canvas: this._canvas,
|
|
69684
|
+
clearCanvas: !0
|
|
69685
|
+
}
|
|
69686
|
+
});
|
|
69687
|
+
this._animation = n, this._totalFrames = n.totalFrames > 0 ? n.totalFrames : 0, n.frameRate > 0 && (this._frameRate = n.frameRate), this._speed !== 1 && typeof n.setSpeed == "function" && n.setSpeed(this._speed), this._loaded = !0, this._seekFrame(0), this._updateGeometry(), this._markDirty(), this._loadResolve && (this._loadResolve(), this._loadResolve = null, this._loadReject = null);
|
|
69688
|
+
} catch (e) {
|
|
69689
|
+
let t = e instanceof Error ? e.message : String(e);
|
|
69690
|
+
this._failLoad(/* @__PURE__ */ Error(`Failed to load Lottie: ${t}`));
|
|
69691
|
+
}
|
|
69692
|
+
}
|
|
69693
|
+
_failLoad(e) {
|
|
69694
|
+
this._loadError = e, this._loadReject && (this._loadReject(e), this._loadReject = null, this._loadResolve = null);
|
|
69695
|
+
}
|
|
69696
|
+
async waitForLoad() {
|
|
69697
|
+
return this._loadPromise;
|
|
69698
|
+
}
|
|
69699
|
+
getLoadError() {
|
|
69700
|
+
return this._loadError;
|
|
69701
|
+
}
|
|
69702
|
+
isLoaded() {
|
|
69703
|
+
return this._loaded;
|
|
69704
|
+
}
|
|
69705
|
+
getTotalFrames() {
|
|
69706
|
+
return this._totalFrames;
|
|
69707
|
+
}
|
|
69708
|
+
getFrameRate() {
|
|
69709
|
+
return this._frameRate;
|
|
69710
|
+
}
|
|
69711
|
+
get duration() {
|
|
69712
|
+
return this._frameRate > 0 ? this._totalFrames / this._frameRate : 0;
|
|
69713
|
+
}
|
|
69714
|
+
_frameForTime(e) {
|
|
69715
|
+
let t = this._totalFrames;
|
|
69716
|
+
if (t <= 0) return 0;
|
|
69717
|
+
let n = e * (this._frameRate > 0 ? this._frameRate : vI) * this._speed;
|
|
69718
|
+
return n = this._loop ? (n % t + t) % t : Math.max(0, Math.min(n, t)), n;
|
|
69719
|
+
}
|
|
69720
|
+
_seekFrame(e) {
|
|
69721
|
+
this._animation && this._animation.goToAndStop(e, !0), this._texture && (this._texture.needsUpdate = !0);
|
|
69722
|
+
}
|
|
69723
|
+
_applyTime(e) {
|
|
69724
|
+
this._seekFrame(this._frameForTime(e));
|
|
69725
|
+
}
|
|
69726
|
+
syncToTime(e) {
|
|
69727
|
+
return this._playhead = e, this._applyTime(e), this;
|
|
69728
|
+
}
|
|
69729
|
+
seekToProgress(e) {
|
|
69730
|
+
let t = this._totalFrames;
|
|
69731
|
+
if (t <= 0) return this;
|
|
69732
|
+
let n = e * t;
|
|
69733
|
+
return n = this._loop ? (n % t + t) % t : Math.max(0, Math.min(n, t)), this._playhead = this._frameRate > 0 ? n / (this._frameRate * this._speed) : 0, this._seekFrame(n), this;
|
|
69734
|
+
}
|
|
69735
|
+
play() {
|
|
69736
|
+
return this._playing = !0, this;
|
|
69737
|
+
}
|
|
69738
|
+
pause() {
|
|
69739
|
+
return this._playing = !1, this;
|
|
69740
|
+
}
|
|
69741
|
+
setSpeed(e) {
|
|
69742
|
+
return this._speed = e, this._animation && typeof this._animation.setSpeed == "function" && this._animation.setSpeed(e), this;
|
|
69743
|
+
}
|
|
69744
|
+
setLoop(e) {
|
|
69745
|
+
return this._loop = e, this;
|
|
69746
|
+
}
|
|
69747
|
+
_calculateDimensions() {
|
|
69748
|
+
let e = this._naturalWidth / this._naturalHeight;
|
|
69749
|
+
return this._width !== void 0 && this._height !== void 0 ? this._scaleToFit ? e > this._width / this._height ? {
|
|
69750
|
+
width: this._width,
|
|
69751
|
+
height: this._width / e
|
|
69752
|
+
} : {
|
|
69753
|
+
width: this._height * e,
|
|
69754
|
+
height: this._height
|
|
69755
|
+
} : {
|
|
69756
|
+
width: this._width,
|
|
69757
|
+
height: this._height
|
|
69758
|
+
} : this._width === void 0 ? this._height === void 0 ? {
|
|
69759
|
+
width: 4 * e,
|
|
69760
|
+
height: 4
|
|
69761
|
+
} : {
|
|
69762
|
+
width: this._height * e,
|
|
69763
|
+
height: this._height
|
|
69764
|
+
} : {
|
|
69765
|
+
width: this._width,
|
|
69766
|
+
height: this._width / e
|
|
69767
|
+
};
|
|
69768
|
+
}
|
|
69769
|
+
_createThreeObject() {
|
|
69770
|
+
let e = this._calculateDimensions(), t = new R(new m(1, 1), new zn({
|
|
69771
|
+
map: this._texture,
|
|
69772
|
+
transparent: !0,
|
|
69773
|
+
opacity: this._opacity,
|
|
69774
|
+
side: this._doubleSided ? 2 : 0
|
|
69775
|
+
}));
|
|
69776
|
+
t.scale.set(e.width, e.height, 1), t.frustumCulled = !1, this._mesh = t;
|
|
69777
|
+
let n = new Ri();
|
|
69778
|
+
return n.add(t), n;
|
|
69779
|
+
}
|
|
69780
|
+
getDisplayMeshLength() {
|
|
69781
|
+
return 1;
|
|
69782
|
+
}
|
|
69783
|
+
getDisplayMeshes() {
|
|
69784
|
+
if (!(this.getThreeObject() instanceof Ri)) throw Error("LottieMobject.getThreeObject() must return a THREE.Group");
|
|
69785
|
+
if (!this._mesh) throw Error("LottieMobject.getDisplayMeshes requires _mesh");
|
|
69786
|
+
return [this._mesh];
|
|
69787
|
+
}
|
|
69788
|
+
applyTextureFrom(t) {
|
|
69789
|
+
if (!(t instanceof e)) throw Error("LottieMobject.applyTextureFrom requires LottieMobject");
|
|
69790
|
+
let n = this._mesh, r = t.getDisplayMeshes()[0];
|
|
69791
|
+
if (!n) throw Error("LottieMobject.applyTextureFrom requires mesh");
|
|
69792
|
+
if (!r) throw Error("LottieMobject.applyTextureFrom requires source mesh");
|
|
69793
|
+
let i = n.material, a = r.material;
|
|
69794
|
+
if (!(i instanceof zn)) throw Error("LottieMobject.applyTextureFrom requires MeshBasicMaterial");
|
|
69795
|
+
if (!(a instanceof zn)) throw Error("LottieMobject.applyTextureFrom requires source MeshBasicMaterial");
|
|
69796
|
+
let o = a.map, s = this._texture;
|
|
69797
|
+
this._handoffTextureMap(i, o, s), this._texture = o;
|
|
69798
|
+
}
|
|
69799
|
+
applyVisualSize(e, t) {
|
|
69800
|
+
this._width = e, this._height = t, this._scaleToFit = !1, this._updateGeometry();
|
|
69801
|
+
}
|
|
69802
|
+
applyContentFrom(t) {
|
|
69803
|
+
if (!(t instanceof e)) throw Error("LottieMobject.applyContentFrom requires LottieMobject");
|
|
69804
|
+
this._animationData = t._animationData;
|
|
69805
|
+
}
|
|
69806
|
+
_updateGeometry() {
|
|
69807
|
+
let e = this._mesh;
|
|
69808
|
+
if (!e) return;
|
|
69809
|
+
let t = this._calculateDimensions();
|
|
69810
|
+
e.scale.set(t.width, t.height, 1);
|
|
69811
|
+
let n = e.material;
|
|
69812
|
+
n && this._texture && (n.map = this._texture, n.needsUpdate = !0), this._markDirty();
|
|
69813
|
+
}
|
|
69814
|
+
_syncMaterialToThree() {
|
|
69815
|
+
let e = this._mesh;
|
|
69816
|
+
if (!e) return;
|
|
69817
|
+
let t = e.material;
|
|
69818
|
+
t && (t.opacity = this._opacity, t.transparent = this._opacity < 1, t.side = this._doubleSided ? 2 : 0, this._texture && (t.map = this._texture), t.needsUpdate = !0);
|
|
69819
|
+
}
|
|
69820
|
+
getBoundingBox() {
|
|
69821
|
+
let e = this._calculateDimensions();
|
|
69822
|
+
return {
|
|
69823
|
+
width: e.width * this.scaleVector.x,
|
|
69824
|
+
height: e.height * this.scaleVector.y,
|
|
69825
|
+
depth: .01
|
|
69826
|
+
};
|
|
69827
|
+
}
|
|
69828
|
+
copy() {
|
|
69829
|
+
let t = new e({
|
|
69830
|
+
animationData: this._animationData,
|
|
69831
|
+
loop: this._loop,
|
|
69832
|
+
speed: this._speed,
|
|
69833
|
+
width: this._width,
|
|
69834
|
+
height: this._height,
|
|
69835
|
+
scaleToFit: this._scaleToFit,
|
|
69836
|
+
center: this._centerPoint,
|
|
69837
|
+
opacity: this._opacity,
|
|
69838
|
+
doubleSided: this._doubleSided,
|
|
69839
|
+
player: this._injectedPlayer
|
|
69840
|
+
});
|
|
69841
|
+
return t._naturalWidth = this._naturalWidth, t._naturalHeight = this._naturalHeight, this._copyBaseAttributesInto(t, { copyChildren: !1 }), t;
|
|
69842
|
+
}
|
|
69843
|
+
dispose() {
|
|
69844
|
+
super.dispose(), this._playing = !1, this._animation &&= (this._animation.destroy(), null), this._texture &&= (this._texture.dispose(), null), this._canvas = null;
|
|
69845
|
+
}
|
|
69846
|
+
}, bI = 100, xI = 2, SI = 3;
|
|
69847
|
+
function CI(e, t, n) {
|
|
69600
69848
|
let r = [], i = new Uint8ClampedArray(t * n * 4);
|
|
69601
69849
|
for (let a of e) {
|
|
69602
|
-
let { dims: e, patch: o, disposalType: s } = a, c = s ===
|
|
69850
|
+
let { dims: e, patch: o, disposalType: s } = a, c = s === SI ? i.slice() : null;
|
|
69603
69851
|
for (let r = 0; r < e.height; r++) for (let a = 0; a < e.width; a++) {
|
|
69604
69852
|
let s = (r * e.width + a) * 4;
|
|
69605
69853
|
if (o[s + 3] === 0) continue;
|
|
@@ -69608,15 +69856,15 @@ function gI(e, t, n) {
|
|
|
69608
69856
|
let u = (l * t + c) * 4;
|
|
69609
69857
|
i[u] = o[s], i[u + 1] = o[s + 1], i[u + 2] = o[s + 2], i[u + 3] = o[s + 3];
|
|
69610
69858
|
}
|
|
69611
|
-
let l = a.delay > 0 ? a.delay :
|
|
69859
|
+
let l = a.delay > 0 ? a.delay : bI;
|
|
69612
69860
|
r.push({
|
|
69613
69861
|
data: i.slice(),
|
|
69614
69862
|
delay: l
|
|
69615
|
-
}), s ===
|
|
69863
|
+
}), s === xI ? wI(i, t, n, e) : c && (i = c);
|
|
69616
69864
|
}
|
|
69617
69865
|
return r;
|
|
69618
69866
|
}
|
|
69619
|
-
function
|
|
69867
|
+
function wI(e, t, n, r) {
|
|
69620
69868
|
for (let i = 0; i < r.height; i++) for (let a = 0; a < r.width; a++) {
|
|
69621
69869
|
let o = r.left + a, s = r.top + i;
|
|
69622
69870
|
if (o < 0 || s < 0 || o >= t || s >= n) continue;
|
|
@@ -69624,20 +69872,20 @@ function _I(e, t, n, r) {
|
|
|
69624
69872
|
e[c] = 0, e[c + 1] = 0, e[c + 2] = 0, e[c + 3] = 0;
|
|
69625
69873
|
}
|
|
69626
69874
|
}
|
|
69627
|
-
var
|
|
69875
|
+
var TI = async (t) => {
|
|
69628
69876
|
if (typeof document > "u") throw Error("AnimatedImageMobject: GIF decoding needs a browser (document is unavailable)");
|
|
69629
69877
|
if (typeof fetch > "u") throw Error("AnimatedImageMobject: GIF decoding needs fetch (fetch is unavailable)");
|
|
69630
69878
|
let n = await (await fetch(t)).arrayBuffer(), { parseGIF: r, decompressFrames: i } = await import("./lib-Bh3UXyYs.js").then((t) => /* @__PURE__ */ e(t.default, 1)), a = r(n), o = i(a, !0), s = a.lsd.width, c = a.lsd.height;
|
|
69631
69879
|
return {
|
|
69632
69880
|
width: s,
|
|
69633
69881
|
height: c,
|
|
69634
|
-
frames:
|
|
69882
|
+
frames: CI(o, s, c)
|
|
69635
69883
|
};
|
|
69636
|
-
},
|
|
69637
|
-
function
|
|
69638
|
-
|
|
69884
|
+
}, EI = null;
|
|
69885
|
+
function DI(e) {
|
|
69886
|
+
EI = e;
|
|
69639
69887
|
}
|
|
69640
|
-
var
|
|
69888
|
+
var OI = 1, kI = class e extends c_ {
|
|
69641
69889
|
_source;
|
|
69642
69890
|
_loop;
|
|
69643
69891
|
_autoplay;
|
|
@@ -69678,7 +69926,7 @@ var xI = 1, SI = class e extends c_ {
|
|
|
69678
69926
|
}
|
|
69679
69927
|
async _startLoad() {
|
|
69680
69928
|
try {
|
|
69681
|
-
let e = await (
|
|
69929
|
+
let e = await (EI ?? TI)(this._source);
|
|
69682
69930
|
this._ingest(e), this._loadResolve && (this._loadResolve(), this._loadResolve = null, this._loadReject = null);
|
|
69683
69931
|
} catch (e) {
|
|
69684
69932
|
this._failLoad(e instanceof Error ? e : Error(String(e)));
|
|
@@ -69687,7 +69935,7 @@ var xI = 1, SI = class e extends c_ {
|
|
|
69687
69935
|
_ingest(e) {
|
|
69688
69936
|
this._naturalWidth = e.width || 1, this._naturalHeight = e.height || 1, this._frames = e.frames.map((e) => e.data);
|
|
69689
69937
|
let t = this._fps !== void 0 && this._fps > 0 ? 1e3 / this._fps : void 0;
|
|
69690
|
-
this._frameDurations = e.frames.map((e) => Math.max(
|
|
69938
|
+
this._frameDurations = e.frames.map((e) => Math.max(OI, t ?? e.delay)), this._totalDurationMs = this._frameDurations.reduce((e, t) => e + t, 0), this._frameTextures = this._frames.map(() => null), this._loaded = !0, this._currentFrame = 0, this._accumulatorMs = 0, this._setFrame(0), this._updateGeometry(), this._markDirty(), this._autoplay && (this._playing = !0);
|
|
69691
69939
|
}
|
|
69692
69940
|
_failLoad(e) {
|
|
69693
69941
|
this._loadError = e, this._loadReject && (this._loadReject(e), this._loadReject = null, this._loadResolve = null);
|
|
@@ -69876,10 +70124,10 @@ var xI = 1, SI = class e extends c_ {
|
|
|
69876
70124
|
for (let e of this._frameTextures) e && e.dispose();
|
|
69877
70125
|
this._frameTextures = [], this._frames = [], this._texture = null;
|
|
69878
70126
|
}
|
|
69879
|
-
},
|
|
70127
|
+
}, AI = 16 / 9, jI = class e extends GE {
|
|
69880
70128
|
_aspectRatio;
|
|
69881
70129
|
constructor(e = {}) {
|
|
69882
|
-
let { height: t = 4, aspectRatio: n =
|
|
70130
|
+
let { height: t = 4, aspectRatio: n = AI, ...r } = e, i = t * n;
|
|
69883
70131
|
super({
|
|
69884
70132
|
...r,
|
|
69885
70133
|
width: i,
|
|
@@ -69908,7 +70156,7 @@ var xI = 1, SI = class e extends c_ {
|
|
|
69908
70156
|
});
|
|
69909
70157
|
return this._copyBaseAttributesInto(t, { copyChildren: !1 }), t;
|
|
69910
70158
|
}
|
|
69911
|
-
},
|
|
70159
|
+
}, MI = class e extends GE {
|
|
69912
70160
|
_frameWidth;
|
|
69913
70161
|
_frameHeight;
|
|
69914
70162
|
constructor(e = {}) {
|
|
@@ -69947,7 +70195,7 @@ var xI = 1, SI = class e extends c_ {
|
|
|
69947
70195
|
});
|
|
69948
70196
|
return this._copyBaseAttributesInto(t, { copyChildren: !1 }), t;
|
|
69949
70197
|
}
|
|
69950
|
-
},
|
|
70198
|
+
}, NI = class e extends MI {
|
|
69951
70199
|
_fadeProgress;
|
|
69952
70200
|
constructor(e = {}) {
|
|
69953
70201
|
let { opacity: t = 0, ...n } = e;
|
|
@@ -69987,21 +70235,21 @@ var xI = 1, SI = class e extends c_ {
|
|
|
69987
70235
|
return this._copyBaseAttributesInto(t, { copyChildren: !1 }), t;
|
|
69988
70236
|
}
|
|
69989
70237
|
};
|
|
69990
|
-
function
|
|
69991
|
-
return new
|
|
70238
|
+
function PI(e = {}) {
|
|
70239
|
+
return new NI({
|
|
69992
70240
|
...e,
|
|
69993
70241
|
color: yl
|
|
69994
70242
|
});
|
|
69995
70243
|
}
|
|
69996
|
-
function
|
|
69997
|
-
return new
|
|
70244
|
+
function FI(e = {}) {
|
|
70245
|
+
return new NI({
|
|
69998
70246
|
...e,
|
|
69999
70247
|
color: pl
|
|
70000
70248
|
});
|
|
70001
70249
|
}
|
|
70002
70250
|
//#endregion
|
|
70003
70251
|
//#region src/mobjects/point/PGroup.ts
|
|
70004
|
-
var
|
|
70252
|
+
var II = class e extends cp {
|
|
70005
70253
|
normalizeTransform(e = this._ownMatrix()) {
|
|
70006
70254
|
return this._flattenAsContainer(e);
|
|
70007
70255
|
}
|
|
@@ -70092,7 +70340,7 @@ var kI = class e extends cp {
|
|
|
70092
70340
|
[Symbol.iterator]() {
|
|
70093
70341
|
return this.children[Symbol.iterator]();
|
|
70094
70342
|
}
|
|
70095
|
-
},
|
|
70343
|
+
}, LI = class e extends s_ {
|
|
70096
70344
|
constructor(e = {}) {
|
|
70097
70345
|
let { position: t = [
|
|
70098
70346
|
0,
|
|
@@ -70134,7 +70382,7 @@ var kI = class e extends cp {
|
|
|
70134
70382
|
});
|
|
70135
70383
|
return this._copyBaseAttributesInto(t, { copyChildren: !1 }), t;
|
|
70136
70384
|
}
|
|
70137
|
-
},
|
|
70385
|
+
}, RI = class e extends s_ {
|
|
70138
70386
|
_center;
|
|
70139
70387
|
_radius;
|
|
70140
70388
|
_numParticles;
|
|
@@ -70216,7 +70464,7 @@ var kI = class e extends cp {
|
|
|
70216
70464
|
});
|
|
70217
70465
|
return this._copyBaseAttributesInto(t, { copyChildren: !1 }), t;
|
|
70218
70466
|
}
|
|
70219
|
-
},
|
|
70467
|
+
}, zI = class e extends s_ {
|
|
70220
70468
|
_start;
|
|
70221
70469
|
_end;
|
|
70222
70470
|
_numPointsConfig;
|
|
@@ -70322,7 +70570,7 @@ var kI = class e extends cp {
|
|
|
70322
70570
|
});
|
|
70323
70571
|
return this._copyBaseAttributesInto(t, { copyChildren: !1 }), t;
|
|
70324
70572
|
}
|
|
70325
|
-
},
|
|
70573
|
+
}, BI = class e extends s_ {
|
|
70326
70574
|
_center2D;
|
|
70327
70575
|
_width;
|
|
70328
70576
|
_height;
|
|
@@ -70458,7 +70706,7 @@ var kI = class e extends cp {
|
|
|
70458
70706
|
};
|
|
70459
70707
|
//#endregion
|
|
70460
70708
|
//#region src/mobjects/particles/ParticleSystem.ts
|
|
70461
|
-
function
|
|
70709
|
+
function VI(e) {
|
|
70462
70710
|
let t = e | 0;
|
|
70463
70711
|
return () => {
|
|
70464
70712
|
t = t + 1831565813 | 0;
|
|
@@ -70466,10 +70714,10 @@ function PI(e) {
|
|
|
70466
70714
|
return e = e + Math.imul(e ^ e >>> 7, 61 | e) ^ e, ((e ^ e >>> 14) >>> 0) / 4294967296;
|
|
70467
70715
|
};
|
|
70468
70716
|
}
|
|
70469
|
-
function
|
|
70717
|
+
function HI(e, t, n) {
|
|
70470
70718
|
return e + (t - e) * n;
|
|
70471
70719
|
}
|
|
70472
|
-
var
|
|
70720
|
+
var UI = class e extends s_ {
|
|
70473
70721
|
_spawnRate;
|
|
70474
70722
|
_maxParticles;
|
|
70475
70723
|
_lifetime;
|
|
@@ -70514,13 +70762,13 @@ var II = class e extends s_ {
|
|
|
70514
70762
|
0,
|
|
70515
70763
|
0,
|
|
70516
70764
|
0
|
|
70517
|
-
], this._drag = l.drag ?? 0, this._startSize = u, this._endSize = d, this._startColor = f, this._endColor = p, this._useOklab = m, this._seed = h, this._rng =
|
|
70765
|
+
], this._drag = l.drag ?? 0, this._startSize = u, this._endSize = d, this._startColor = f, this._endColor = p, this._useOklab = m, this._seed = h, this._rng = VI(h), this.addUpdater((e, t) => this.step(t));
|
|
70518
70766
|
}
|
|
70519
70767
|
get seed() {
|
|
70520
70768
|
return this._seed;
|
|
70521
70769
|
}
|
|
70522
70770
|
set seed(e) {
|
|
70523
|
-
this._seed = e, this._rng =
|
|
70771
|
+
this._seed = e, this._rng = VI(e);
|
|
70524
70772
|
}
|
|
70525
70773
|
setSpawnRate(e) {
|
|
70526
70774
|
return this._spawnRate = Math.max(0, e), this;
|
|
@@ -70542,7 +70790,7 @@ var II = class e extends s_ {
|
|
|
70542
70790
|
}));
|
|
70543
70791
|
}
|
|
70544
70792
|
reset() {
|
|
70545
|
-
return this._particles = [], this._spawnCarry = 0, this._rng =
|
|
70793
|
+
return this._particles = [], this._spawnCarry = 0, this._rng = VI(this._seed), this._syncParticlesToPoints(), this;
|
|
70546
70794
|
}
|
|
70547
70795
|
step(e) {
|
|
70548
70796
|
return e <= 0 ? this : (this._spawn(e), this._integrate(e), this._cull(), this._syncParticlesToPoints(), this);
|
|
@@ -70579,7 +70827,7 @@ var II = class e extends s_ {
|
|
|
70579
70827
|
for (let n of this._particles) {
|
|
70580
70828
|
n.velocity[0] = (n.velocity[0] + this._gravity[0] * e) * t, n.velocity[1] = (n.velocity[1] + this._gravity[1] * e) * t, n.velocity[2] = (n.velocity[2] + this._gravity[2] * e) * t, n.position[0] += n.velocity[0] * e, n.position[1] += n.velocity[1] * e, n.position[2] += n.velocity[2] * e, n.age += e;
|
|
70581
70829
|
let r = Math.min(1, n.age / n.lifetime);
|
|
70582
|
-
n.size =
|
|
70830
|
+
n.size = HI(this._startSize, this._endSize, r), n.color = this._useOklab ? AA(this._startColor, this._endColor, r) : dA(this._startColor, this._endColor, r);
|
|
70583
70831
|
}
|
|
70584
70832
|
}
|
|
70585
70833
|
_cull() {
|
|
@@ -70618,7 +70866,7 @@ var II = class e extends s_ {
|
|
|
70618
70866
|
});
|
|
70619
70867
|
return this._copyBaseAttributesInto(t, { copyChildren: !1 }), t;
|
|
70620
70868
|
}
|
|
70621
|
-
},
|
|
70869
|
+
}, WI = "\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n", GI = "\n precision highp float;\n\n uniform vec2 u_center;\n uniform float u_zoom;\n uniform int u_maxIter;\n uniform float u_saturation;\n uniform float u_lightness;\n uniform float u_aspectRatio;\n uniform float u_opacity;\n\n varying vec2 vUv;\n\n // HSL -> RGB conversion (attempt-free, standard formula)\n vec3 hsl2rgb(float h, float s, float l) {\n float c = (1.0 - abs(2.0 * l - 1.0)) * s;\n float x = c * (1.0 - abs(mod(h * 6.0, 2.0) - 1.0));\n float m = l - c * 0.5;\n vec3 rgb;\n float hue = h * 6.0;\n if (hue < 1.0) rgb = vec3(c, x, 0.0);\n else if (hue < 2.0) rgb = vec3(x, c, 0.0);\n else if (hue < 3.0) rgb = vec3(0.0, c, x);\n else if (hue < 4.0) rgb = vec3(0.0, x, c);\n else if (hue < 5.0) rgb = vec3(x, 0.0, c);\n else rgb = vec3(c, 0.0, x);\n return rgb + m;\n }\n\n void main() {\n // Map UV [0,1] to complex plane, accounting for aspect ratio and zoom\n float scale = 3.5 / u_zoom;\n vec2 c = vec2(\n (vUv.x - 0.5) * scale * u_aspectRatio + u_center.x,\n (vUv.y - 0.5) * scale + u_center.y\n );\n\n vec2 z = vec2(0.0);\n int iter = 0;\n\n // Main iteration loop\n for (int i = 0; i < 2000; i++) {\n if (i >= u_maxIter) break;\n if (dot(z, z) > 4.0) break;\n z = vec2(z.x * z.x - z.y * z.y, 2.0 * z.x * z.y) + c;\n iter = i + 1;\n }\n\n if (iter >= u_maxIter) {\n // Inside the set: black\n gl_FragColor = vec4(0.0, 0.0, 0.0, u_opacity);\n } else {\n // Smooth (continuous) iteration count for anti-banding\n float smoothIter = float(iter) - log2(log2(dot(z, z))) + 4.0;\n float hue = mod(smoothIter * 0.02 + 0.6, 1.0);\n vec3 rgb = hsl2rgb(hue, u_saturation, u_lightness);\n gl_FragColor = vec4(rgb, u_opacity);\n }\n }\n", KI = class e extends cp {
|
|
70622
70870
|
_width;
|
|
70623
70871
|
_height;
|
|
70624
70872
|
_center;
|
|
@@ -70644,8 +70892,8 @@ var II = class e extends s_ {
|
|
|
70644
70892
|
u_aspectRatio: { value: this._width / this._height },
|
|
70645
70893
|
u_opacity: { value: this._opacity }
|
|
70646
70894
|
},
|
|
70647
|
-
vertexShader:
|
|
70648
|
-
fragmentShader:
|
|
70895
|
+
vertexShader: WI,
|
|
70896
|
+
fragmentShader: GI,
|
|
70649
70897
|
transparent: this._opacity < 1,
|
|
70650
70898
|
side: 2
|
|
70651
70899
|
}), new R(e, this._material);
|
|
@@ -70720,7 +70968,7 @@ var II = class e extends s_ {
|
|
|
70720
70968
|
dispose() {
|
|
70721
70969
|
this._material &&= (this._material.dispose(), null), this._threeObject instanceof R && this._threeObject.geometry.dispose();
|
|
70722
70970
|
}
|
|
70723
|
-
},
|
|
70971
|
+
}, qI = 12, JI = "\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n", YI = `
|
|
70724
70972
|
precision highp float;
|
|
70725
70973
|
|
|
70726
70974
|
// View uniforms
|
|
@@ -70731,7 +70979,7 @@ var II = class e extends s_ {
|
|
|
70731
70979
|
uniform float u_opacity;
|
|
70732
70980
|
|
|
70733
70981
|
// Polynomial uniforms
|
|
70734
|
-
uniform vec2 u_coeffs[${
|
|
70982
|
+
uniform vec2 u_coeffs[${qI}]; // complex coefficients (re, im)
|
|
70735
70983
|
uniform int u_numCoeffs; // number of coefficients supplied
|
|
70736
70984
|
uniform float u_tolerance;
|
|
70737
70985
|
|
|
@@ -70762,7 +71010,7 @@ var II = class e extends s_ {
|
|
|
70762
71010
|
dfz = vec2(0.0);
|
|
70763
71011
|
|
|
70764
71012
|
// We iterate from the highest coefficient to the lowest.
|
|
70765
|
-
for (int i = ${
|
|
71013
|
+
for (int i = ${qI - 1}; i >= 0; i--) {
|
|
70766
71014
|
if (i > deg) continue;
|
|
70767
71015
|
// f(z) = f(z)*z + c_i
|
|
70768
71016
|
fz = cmul(fz, z) + u_coeffs[i];
|
|
@@ -70777,7 +71025,7 @@ var II = class e extends s_ {
|
|
|
70777
71025
|
// Recompute with proper dual Horner pass
|
|
70778
71026
|
fz = vec2(0.0);
|
|
70779
71027
|
dfz = vec2(0.0);
|
|
70780
|
-
for (int i = ${
|
|
71028
|
+
for (int i = ${qI - 1}; i >= 0; i--) {
|
|
70781
71029
|
if (i > deg) continue;
|
|
70782
71030
|
dfz = cmul(dfz, z) + fz; // derivative accumulator
|
|
70783
71031
|
fz = cmul(fz, z) + u_coeffs[i];
|
|
@@ -70838,7 +71086,7 @@ var II = class e extends s_ {
|
|
|
70838
71086
|
|
|
70839
71087
|
gl_FragColor = vec4(rgb, u_opacity);
|
|
70840
71088
|
}
|
|
70841
|
-
`,
|
|
71089
|
+
`, XI = class e extends cp {
|
|
70842
71090
|
_width;
|
|
70843
71091
|
_height;
|
|
70844
71092
|
_center;
|
|
@@ -70861,7 +71109,7 @@ var II = class e extends s_ {
|
|
|
70861
71109
|
}
|
|
70862
71110
|
_buildCoeffUniforms() {
|
|
70863
71111
|
let e = [];
|
|
70864
|
-
for (let t = 0; t <
|
|
71112
|
+
for (let t = 0; t < qI; t++) {
|
|
70865
71113
|
let n = t < this._coefficients.length ? this._coefficients[t] : 0;
|
|
70866
71114
|
e.push(new a(n, 0));
|
|
70867
71115
|
}
|
|
@@ -70877,13 +71125,13 @@ var II = class e extends s_ {
|
|
|
70877
71125
|
u_aspectRatio: { value: this._width / this._height },
|
|
70878
71126
|
u_opacity: { value: this._opacity },
|
|
70879
71127
|
u_coeffs: { value: this._buildCoeffUniforms() },
|
|
70880
|
-
u_numCoeffs: { value: Math.min(this._coefficients.length,
|
|
71128
|
+
u_numCoeffs: { value: Math.min(this._coefficients.length, qI) },
|
|
70881
71129
|
u_tolerance: { value: this._tolerance },
|
|
70882
71130
|
u_saturation: { value: this._saturation },
|
|
70883
71131
|
u_lightness: { value: this._lightness }
|
|
70884
71132
|
},
|
|
70885
|
-
vertexShader:
|
|
70886
|
-
fragmentShader:
|
|
71133
|
+
vertexShader: JI,
|
|
71134
|
+
fragmentShader: YI,
|
|
70887
71135
|
transparent: this._opacity < 1,
|
|
70888
71136
|
side: 2
|
|
70889
71137
|
}), new R(e, this._material);
|
|
@@ -70893,11 +71141,11 @@ var II = class e extends s_ {
|
|
|
70893
71141
|
let e = this._material.uniforms;
|
|
70894
71142
|
e.u_center.value.set(this._center[0], this._center[1]), e.u_zoom.value = this._zoom, e.u_maxIter.value = this._maxIterations, e.u_aspectRatio.value = this._width / this._height, e.u_opacity.value = this._opacity, e.u_tolerance.value = this._tolerance, e.u_saturation.value = this._saturation, e.u_lightness.value = this._lightness;
|
|
70895
71143
|
let t = e.u_coeffs.value;
|
|
70896
|
-
for (let e = 0; e <
|
|
71144
|
+
for (let e = 0; e < qI; e++) {
|
|
70897
71145
|
let n = e < this._coefficients.length ? this._coefficients[e] : 0;
|
|
70898
71146
|
t[e].set(n, 0);
|
|
70899
71147
|
}
|
|
70900
|
-
e.u_numCoeffs.value = Math.min(this._coefficients.length,
|
|
71148
|
+
e.u_numCoeffs.value = Math.min(this._coefficients.length, qI), this._material.transparent = this._opacity < 1, this._material.needsUpdate = !0;
|
|
70901
71149
|
}
|
|
70902
71150
|
setCenter(e) {
|
|
70903
71151
|
return this._center = [...e], this._markDirty(), this;
|
|
@@ -70978,7 +71226,7 @@ var II = class e extends s_ {
|
|
|
70978
71226
|
dispose() {
|
|
70979
71227
|
this._material &&= (this._material.dispose(), null), this._threeObject instanceof R && this._threeObject.geometry.dispose();
|
|
70980
71228
|
}
|
|
70981
|
-
},
|
|
71229
|
+
}, ZI = [
|
|
70982
71230
|
jl,
|
|
70983
71231
|
Gl,
|
|
70984
71232
|
Zl,
|
|
@@ -70986,7 +71234,7 @@ var II = class e extends s_ {
|
|
|
70986
71234
|
Su,
|
|
70987
71235
|
Rl,
|
|
70988
71236
|
ru
|
|
70989
|
-
],
|
|
71237
|
+
], QI = class e extends Nh {
|
|
70990
71238
|
_ssWidth;
|
|
70991
71239
|
_ssHeight;
|
|
70992
71240
|
_ssCenter;
|
|
@@ -71025,7 +71273,7 @@ var II = class e extends s_ {
|
|
|
71025
71273
|
let l = e[t], p = s * l, m = f + p / 2, h = u, g = new GE({
|
|
71026
71274
|
width: p,
|
|
71027
71275
|
height: c,
|
|
71028
|
-
color: n ? n[t % n.length] :
|
|
71276
|
+
color: n ? n[t % n.length] : ZI[t % ZI.length],
|
|
71029
71277
|
fillOpacity: r,
|
|
71030
71278
|
strokeWidth: this._outline.strokeWidth,
|
|
71031
71279
|
center: [
|
|
@@ -71061,7 +71309,7 @@ var II = class e extends s_ {
|
|
|
71061
71309
|
let u = e[t], p = c * u, m = l, h = f - p / 2, g = new GE({
|
|
71062
71310
|
width: s,
|
|
71063
71311
|
height: p,
|
|
71064
|
-
color: n ? n[t % n.length] :
|
|
71312
|
+
color: n ? n[t % n.length] : ZI[t % ZI.length],
|
|
71065
71313
|
fillOpacity: r,
|
|
71066
71314
|
strokeWidth: this._outline.strokeWidth,
|
|
71067
71315
|
center: [
|
|
@@ -71098,7 +71346,7 @@ var II = class e extends s_ {
|
|
|
71098
71346
|
let c = t[n], f = u * c, g = d, _ = m - f / 2, v = new GE({
|
|
71099
71347
|
width: l,
|
|
71100
71348
|
height: f,
|
|
71101
|
-
color: r ? r[n % r.length] :
|
|
71349
|
+
color: r ? r[n % r.length] : ZI[(e + n + 2) % ZI.length],
|
|
71102
71350
|
fillOpacity: i,
|
|
71103
71351
|
strokeWidth: this._outline.strokeWidth * .5,
|
|
71104
71352
|
center: [
|
|
@@ -71238,7 +71486,7 @@ var II = class e extends s_ {
|
|
|
71238
71486
|
});
|
|
71239
71487
|
return this._copyBaseAttributesInto(t, { copyChildren: !1 }), t;
|
|
71240
71488
|
}
|
|
71241
|
-
},
|
|
71489
|
+
}, $I = {
|
|
71242
71490
|
1: [[0, 0]],
|
|
71243
71491
|
2: [[-.5, .5], [.5, -.5]],
|
|
71244
71492
|
3: [
|
|
@@ -71267,7 +71515,7 @@ var II = class e extends s_ {
|
|
|
71267
71515
|
[-.5, -.5],
|
|
71268
71516
|
[.5, -.5]
|
|
71269
71517
|
]
|
|
71270
|
-
},
|
|
71518
|
+
}, eL = class e extends Nh {
|
|
71271
71519
|
_value;
|
|
71272
71520
|
_size;
|
|
71273
71521
|
_dotColor;
|
|
@@ -71298,7 +71546,7 @@ var II = class e extends s_ {
|
|
|
71298
71546
|
}), this._background.setColor(i), this._background.color = o, this._background.fillColor = i, this.add(this._background), this._createDots();
|
|
71299
71547
|
}
|
|
71300
71548
|
_createDots() {
|
|
71301
|
-
let e =
|
|
71549
|
+
let e = $I[this._value], [t, n, r] = this._faceCenter, i = this._size * .55;
|
|
71302
71550
|
for (let [a, o] of e) {
|
|
71303
71551
|
let e = new IO({
|
|
71304
71552
|
point: [
|
|
@@ -71360,11 +71608,11 @@ var II = class e extends s_ {
|
|
|
71360
71608
|
return this._copyBaseAttributesInto(t, { copyChildren: !1 }), t;
|
|
71361
71609
|
}
|
|
71362
71610
|
};
|
|
71363
|
-
function
|
|
71611
|
+
function tL(e = {}, t = .3) {
|
|
71364
71612
|
let n = e.size ?? 1.5, r = [];
|
|
71365
71613
|
for (let i = 1; i <= 6; i++) {
|
|
71366
71614
|
let a = (i - 3.5) * (n + t);
|
|
71367
|
-
r.push(new
|
|
71615
|
+
r.push(new eL({
|
|
71368
71616
|
...e,
|
|
71369
71617
|
value: i,
|
|
71370
71618
|
center: [
|
|
@@ -71378,7 +71626,7 @@ function JI(e = {}, t = .3) {
|
|
|
71378
71626
|
}
|
|
71379
71627
|
//#endregion
|
|
71380
71628
|
//#region src/animation/MasterTimeline.ts
|
|
71381
|
-
var
|
|
71629
|
+
var nL = class extends WT {
|
|
71382
71630
|
_segments = [];
|
|
71383
71631
|
_slides = [];
|
|
71384
71632
|
_slideBoundaries = [];
|
|
@@ -71429,7 +71677,7 @@ var YI = class extends WT {
|
|
|
71429
71677
|
return i;
|
|
71430
71678
|
}
|
|
71431
71679
|
addWaitSegment(e) {
|
|
71432
|
-
let t = this.getDuration(), n = new
|
|
71680
|
+
let t = this.getDuration(), n = new iL(e);
|
|
71433
71681
|
this.add(n, t);
|
|
71434
71682
|
let r = {
|
|
71435
71683
|
index: this._segments.length,
|
|
@@ -71526,12 +71774,12 @@ var YI = class extends WT {
|
|
|
71526
71774
|
return this._segments.length;
|
|
71527
71775
|
}
|
|
71528
71776
|
};
|
|
71529
|
-
function
|
|
71530
|
-
return new
|
|
71777
|
+
function rL() {
|
|
71778
|
+
return new nL();
|
|
71531
71779
|
}
|
|
71532
|
-
var
|
|
71780
|
+
var iL = class extends o_ {
|
|
71533
71781
|
constructor(e) {
|
|
71534
|
-
super(
|
|
71782
|
+
super(aL.instance, { duration: e });
|
|
71535
71783
|
}
|
|
71536
71784
|
interpolate(e) {}
|
|
71537
71785
|
begin() {
|
|
@@ -71540,7 +71788,7 @@ var ZI = class extends o_ {
|
|
|
71540
71788
|
finish() {
|
|
71541
71789
|
this._isFinished = !0;
|
|
71542
71790
|
}
|
|
71543
|
-
},
|
|
71791
|
+
}, aL = class e extends cp {
|
|
71544
71792
|
normalizeTransform(e = this._ownMatrix()) {
|
|
71545
71793
|
return this._flattenAsContainer(e);
|
|
71546
71794
|
}
|
|
@@ -71554,7 +71802,7 @@ var ZI = class extends o_ {
|
|
|
71554
71802
|
_createThreeObject() {
|
|
71555
71803
|
return new D();
|
|
71556
71804
|
}
|
|
71557
|
-
},
|
|
71805
|
+
}, oL = class extends o_ {
|
|
71558
71806
|
_shift;
|
|
71559
71807
|
_startX = 0;
|
|
71560
71808
|
_startY = 0;
|
|
@@ -71575,12 +71823,12 @@ var ZI = class extends o_ {
|
|
|
71575
71823
|
this.mobject.opacity = 1, this._shift && this.mobject.position.set(this._targetX, this._targetY, this._targetZ), super.finish();
|
|
71576
71824
|
}
|
|
71577
71825
|
};
|
|
71578
|
-
function
|
|
71579
|
-
return new
|
|
71826
|
+
function sL(e, t) {
|
|
71827
|
+
return new oL(e, t);
|
|
71580
71828
|
}
|
|
71581
71829
|
//#endregion
|
|
71582
71830
|
//#region src/animation/fading/FadeOut.ts
|
|
71583
|
-
var
|
|
71831
|
+
var cL = class extends o_ {
|
|
71584
71832
|
_initialOpacity = 1;
|
|
71585
71833
|
_shift;
|
|
71586
71834
|
_startX = 0;
|
|
@@ -71602,16 +71850,16 @@ var tL = class extends o_ {
|
|
|
71602
71850
|
this.mobject.opacity = 0, this._shift && this.mobject.position.set(this._endX, this._endY, this._endZ), super.finish();
|
|
71603
71851
|
}
|
|
71604
71852
|
};
|
|
71605
|
-
function
|
|
71606
|
-
return new
|
|
71853
|
+
function lL(e, t) {
|
|
71854
|
+
return new cL(e, t);
|
|
71607
71855
|
}
|
|
71608
71856
|
//#endregion
|
|
71609
71857
|
//#region src/animation/transform/ApplyTransforms.ts
|
|
71610
|
-
function
|
|
71858
|
+
function uL(e) {
|
|
71611
71859
|
let t = e;
|
|
71612
71860
|
return typeof t.getLocalPoints == "function" && typeof t.setPoints == "function";
|
|
71613
71861
|
}
|
|
71614
|
-
var
|
|
71862
|
+
var dL = class extends o_ {
|
|
71615
71863
|
func;
|
|
71616
71864
|
_snapshots = [];
|
|
71617
71865
|
constructor(e, t) {
|
|
@@ -71620,7 +71868,7 @@ var iL = class extends o_ {
|
|
|
71620
71868
|
begin() {
|
|
71621
71869
|
super.begin(), this._snapshots = [];
|
|
71622
71870
|
let e = new L();
|
|
71623
|
-
for (let t of this.mobject.getFamily()) if (
|
|
71871
|
+
for (let t of this.mobject.getFamily()) if (uL(t)) {
|
|
71624
71872
|
let n = t.getLocalPoints();
|
|
71625
71873
|
if (n.length === 0) continue;
|
|
71626
71874
|
let r = t._worldMatrix(), i = r.clone().invert(), a = n.map((t) => {
|
|
@@ -71656,13 +71904,13 @@ var iL = class extends o_ {
|
|
|
71656
71904
|
this.mobject._markDirtyUpward(), super.finish();
|
|
71657
71905
|
}
|
|
71658
71906
|
};
|
|
71659
|
-
function
|
|
71660
|
-
return new
|
|
71907
|
+
function fL(e, t, n) {
|
|
71908
|
+
return new dL(e, {
|
|
71661
71909
|
...n,
|
|
71662
71910
|
func: t
|
|
71663
71911
|
});
|
|
71664
71912
|
}
|
|
71665
|
-
var
|
|
71913
|
+
var pL = class extends o_ {
|
|
71666
71914
|
func;
|
|
71667
71915
|
_snapshots = [];
|
|
71668
71916
|
constructor(e, t) {
|
|
@@ -71671,7 +71919,7 @@ var oL = class extends o_ {
|
|
|
71671
71919
|
begin() {
|
|
71672
71920
|
super.begin(), this._snapshots = [];
|
|
71673
71921
|
let e = new L();
|
|
71674
|
-
for (let t of this.mobject.getFamily()) if (
|
|
71922
|
+
for (let t of this.mobject.getFamily()) if (uL(t)) {
|
|
71675
71923
|
let n = t.getLocalPoints();
|
|
71676
71924
|
if (n.length === 0) continue;
|
|
71677
71925
|
let r = t._worldMatrix(), i = r.clone().invert(), a = n.map((t) => {
|
|
@@ -71706,13 +71954,13 @@ var oL = class extends o_ {
|
|
|
71706
71954
|
this.mobject._markDirtyUpward(), super.finish();
|
|
71707
71955
|
}
|
|
71708
71956
|
};
|
|
71709
|
-
function
|
|
71710
|
-
return new
|
|
71957
|
+
function mL(e, t, n) {
|
|
71958
|
+
return new pL(e, {
|
|
71711
71959
|
...n,
|
|
71712
71960
|
func: t
|
|
71713
71961
|
});
|
|
71714
71962
|
}
|
|
71715
|
-
var
|
|
71963
|
+
var hL = class extends mT {
|
|
71716
71964
|
methodName;
|
|
71717
71965
|
args;
|
|
71718
71966
|
constructor(e, t) {
|
|
@@ -71720,14 +71968,14 @@ var cL = class extends mT {
|
|
|
71720
71968
|
typeof r == "function" && r.call(n, ...t.args || []), super(e, n, t), this.methodName = t.methodName, this.args = t.args || [];
|
|
71721
71969
|
}
|
|
71722
71970
|
};
|
|
71723
|
-
function
|
|
71724
|
-
return new
|
|
71971
|
+
function gL(e, t, n, r) {
|
|
71972
|
+
return new hL(e, {
|
|
71725
71973
|
...r,
|
|
71726
71974
|
methodName: t,
|
|
71727
71975
|
args: n
|
|
71728
71976
|
});
|
|
71729
71977
|
}
|
|
71730
|
-
var
|
|
71978
|
+
var _L = class extends o_ {
|
|
71731
71979
|
matrix;
|
|
71732
71980
|
aboutPoint;
|
|
71733
71981
|
_snapshots = [];
|
|
@@ -71741,7 +71989,7 @@ var uL = class extends o_ {
|
|
|
71741
71989
|
begin() {
|
|
71742
71990
|
super.begin(), this._snapshots = [];
|
|
71743
71991
|
let e = new L();
|
|
71744
|
-
for (let t of this.mobject.getFamily()) if (
|
|
71992
|
+
for (let t of this.mobject.getFamily()) if (uL(t)) {
|
|
71745
71993
|
let n = t.getLocalPoints();
|
|
71746
71994
|
if (n.length === 0) continue;
|
|
71747
71995
|
let r = t._worldMatrix(), i = r.clone().invert(), a = this.aboutPoint, o = n.map((t) => {
|
|
@@ -71777,15 +72025,15 @@ var uL = class extends o_ {
|
|
|
71777
72025
|
this.mobject._markDirtyUpward(), super.finish();
|
|
71778
72026
|
}
|
|
71779
72027
|
};
|
|
71780
|
-
function
|
|
71781
|
-
return new
|
|
72028
|
+
function vL(e, t, n) {
|
|
72029
|
+
return new _L(e, {
|
|
71782
72030
|
...n,
|
|
71783
72031
|
matrix: t
|
|
71784
72032
|
});
|
|
71785
72033
|
}
|
|
71786
72034
|
//#endregion
|
|
71787
72035
|
//#region src/animation/transform/FadeTransforms.ts
|
|
71788
|
-
var
|
|
72036
|
+
var yL = class extends o_ {
|
|
71789
72037
|
target;
|
|
71790
72038
|
stretchFactor;
|
|
71791
72039
|
_startPoints = [];
|
|
@@ -71811,10 +72059,10 @@ var fL = class extends o_ {
|
|
|
71811
72059
|
e.setPoints(this._targetPoints), e.setTransformSubpathLengths(void 0), e.opacity = this._targetOpacity, e.color = this.target.color, super.finish();
|
|
71812
72060
|
}
|
|
71813
72061
|
};
|
|
71814
|
-
function
|
|
71815
|
-
return new
|
|
72062
|
+
function bL(e, t, n) {
|
|
72063
|
+
return new yL(e, t, n);
|
|
71816
72064
|
}
|
|
71817
|
-
var
|
|
72065
|
+
var xL = class extends o_ {
|
|
71818
72066
|
target;
|
|
71819
72067
|
_pieceStates = [];
|
|
71820
72068
|
constructor(e, t, n = {}) {
|
|
@@ -71872,22 +72120,22 @@ var mL = class extends o_ {
|
|
|
71872
72120
|
super.finish();
|
|
71873
72121
|
}
|
|
71874
72122
|
};
|
|
71875
|
-
function
|
|
71876
|
-
return new
|
|
72123
|
+
function SL(e, t, n) {
|
|
72124
|
+
return new xL(e, t, n);
|
|
71877
72125
|
}
|
|
71878
|
-
var
|
|
72126
|
+
var CL = class extends mT {
|
|
71879
72127
|
originalSource;
|
|
71880
72128
|
constructor(e, t, n = {}) {
|
|
71881
72129
|
let r = e.copy();
|
|
71882
72130
|
super(r, t, n), this.originalSource = e;
|
|
71883
72131
|
}
|
|
71884
72132
|
};
|
|
71885
|
-
function
|
|
71886
|
-
return new
|
|
72133
|
+
function wL(e, t, n) {
|
|
72134
|
+
return new CL(e, t, n);
|
|
71887
72135
|
}
|
|
71888
72136
|
//#endregion
|
|
71889
72137
|
//#region src/animation/transform/MovementTransforms.ts
|
|
71890
|
-
var
|
|
72138
|
+
var TL = class extends o_ {
|
|
71891
72139
|
target;
|
|
71892
72140
|
angle;
|
|
71893
72141
|
_startPoints = [];
|
|
@@ -71930,10 +72178,10 @@ var vL = class extends o_ {
|
|
|
71930
72178
|
e.setPoints(this._targetPoints), e.setTransformSubpathLengths(void 0), e.opacity = this._targetOpacity, e.color = this.target.color, super.finish();
|
|
71931
72179
|
}
|
|
71932
72180
|
};
|
|
71933
|
-
function
|
|
71934
|
-
return new
|
|
72181
|
+
function EL(e, t, n) {
|
|
72182
|
+
return new TL(e, t, n);
|
|
71935
72183
|
}
|
|
71936
|
-
var
|
|
72184
|
+
var DL = class extends o_ {
|
|
71937
72185
|
target;
|
|
71938
72186
|
angle;
|
|
71939
72187
|
_startPoints = [];
|
|
@@ -71976,10 +72224,10 @@ var bL = class extends o_ {
|
|
|
71976
72224
|
e.setPoints(this._targetPoints), e.setTransformSubpathLengths(void 0), e.opacity = this._targetOpacity, e.color = this.target.color, super.finish();
|
|
71977
72225
|
}
|
|
71978
72226
|
};
|
|
71979
|
-
function
|
|
71980
|
-
return new
|
|
72227
|
+
function OL(e, t, n) {
|
|
72228
|
+
return new DL(e, t, n);
|
|
71981
72229
|
}
|
|
71982
|
-
var
|
|
72230
|
+
var kL = class extends o_ {
|
|
71983
72231
|
mobject2;
|
|
71984
72232
|
pathArc;
|
|
71985
72233
|
autoCenter;
|
|
@@ -72008,10 +72256,10 @@ var SL = class extends o_ {
|
|
|
72008
72256
|
this.mobject.position.copy(this._targetPos1), this.mobject2.position.copy(this._targetPos2), this.mobject._markDirty(), this.mobject2._markDirty(), super.finish();
|
|
72009
72257
|
}
|
|
72010
72258
|
};
|
|
72011
|
-
function
|
|
72012
|
-
return new
|
|
72259
|
+
function AL(e, t, n) {
|
|
72260
|
+
return new kL(e, t, n);
|
|
72013
72261
|
}
|
|
72014
|
-
function
|
|
72262
|
+
function jL(e, t, n, r) {
|
|
72015
72263
|
let i = 1e-6;
|
|
72016
72264
|
if (Math.abs(r) < i) return new L().lerpVectors(e, t, n);
|
|
72017
72265
|
let a = new L().subVectors(t, e), o = new L().addVectors(e, a.clone().multiplyScalar(.5));
|
|
@@ -72022,7 +72270,7 @@ function wL(e, t, n, r) {
|
|
|
72022
72270
|
let s = new L().subVectors(e, o), c = n * r, l = Math.cos(c), u = Math.sin(c);
|
|
72023
72271
|
return new L(o.x + s.x * l - s.y * u, o.y + s.x * u + s.y * l, o.z + s.z);
|
|
72024
72272
|
}
|
|
72025
|
-
var
|
|
72273
|
+
var ML = class extends o_ {
|
|
72026
72274
|
mobjects;
|
|
72027
72275
|
pathArc;
|
|
72028
72276
|
autoCenter;
|
|
@@ -72044,7 +72292,7 @@ var TL = class extends o_ {
|
|
|
72044
72292
|
}
|
|
72045
72293
|
interpolate(e) {
|
|
72046
72294
|
for (let t = 0; t < this.mobjects.length; t++) {
|
|
72047
|
-
let n = this.mobjects[t], r =
|
|
72295
|
+
let n = this.mobjects[t], r = jL(this._startPositions[t], this._targetPositions[t], e, this.pathArc);
|
|
72048
72296
|
n.position.copy(r), n._markDirty();
|
|
72049
72297
|
}
|
|
72050
72298
|
}
|
|
@@ -72053,12 +72301,12 @@ var TL = class extends o_ {
|
|
|
72053
72301
|
super.finish();
|
|
72054
72302
|
}
|
|
72055
72303
|
};
|
|
72056
|
-
function
|
|
72057
|
-
return new
|
|
72304
|
+
function NL(e, t) {
|
|
72305
|
+
return new ML(e, t);
|
|
72058
72306
|
}
|
|
72059
72307
|
//#endregion
|
|
72060
72308
|
//#region src/animation/transform/SpecialTransforms.ts
|
|
72061
|
-
var
|
|
72309
|
+
var PL = class extends o_ {
|
|
72062
72310
|
scaleFactor;
|
|
72063
72311
|
_initialScale = new L();
|
|
72064
72312
|
_targetScale = new L();
|
|
@@ -72086,13 +72334,13 @@ var DL = class extends o_ {
|
|
|
72086
72334
|
this.interpolate(1), super.finish();
|
|
72087
72335
|
}
|
|
72088
72336
|
};
|
|
72089
|
-
function
|
|
72090
|
-
return new
|
|
72337
|
+
function FL(e, t, n) {
|
|
72338
|
+
return new PL(e, {
|
|
72091
72339
|
...n,
|
|
72092
72340
|
scaleFactor: t
|
|
72093
72341
|
});
|
|
72094
72342
|
}
|
|
72095
|
-
var
|
|
72343
|
+
var IL = class extends o_ {
|
|
72096
72344
|
_initialScale = new L();
|
|
72097
72345
|
constructor(e, t = {}) {
|
|
72098
72346
|
super(e, t);
|
|
@@ -72108,19 +72356,19 @@ var kL = class extends o_ {
|
|
|
72108
72356
|
this.mobject.scaleVector.set(0, 0, 0), this.mobject._markDirty(), super.finish();
|
|
72109
72357
|
}
|
|
72110
72358
|
};
|
|
72111
|
-
function
|
|
72112
|
-
return new
|
|
72359
|
+
function LL(e, t) {
|
|
72360
|
+
return new IL(e, t);
|
|
72113
72361
|
}
|
|
72114
|
-
var
|
|
72362
|
+
var RL = class extends mT {
|
|
72115
72363
|
constructor(e, t = {}) {
|
|
72116
72364
|
if (!e.savedState) throw Error("Restore requires mobject.savedState to be set. Use mobject.saveState() first.");
|
|
72117
72365
|
super(e, e.savedState, t);
|
|
72118
72366
|
}
|
|
72119
72367
|
};
|
|
72120
|
-
function
|
|
72121
|
-
return new
|
|
72368
|
+
function zL(e, t) {
|
|
72369
|
+
return new RL(e, t);
|
|
72122
72370
|
}
|
|
72123
|
-
var
|
|
72371
|
+
var BL = class extends o_ {
|
|
72124
72372
|
targetColor;
|
|
72125
72373
|
_startColor = new Wt();
|
|
72126
72374
|
_targetColorObj = new Wt();
|
|
@@ -72138,13 +72386,13 @@ var NL = class extends o_ {
|
|
|
72138
72386
|
this.mobject.color = this.targetColor, this.mobject._markDirty(), super.finish();
|
|
72139
72387
|
}
|
|
72140
72388
|
};
|
|
72141
|
-
function
|
|
72142
|
-
return new
|
|
72389
|
+
function VL(e, t, n) {
|
|
72390
|
+
return new BL(e, {
|
|
72143
72391
|
...n,
|
|
72144
72392
|
color: t
|
|
72145
72393
|
});
|
|
72146
72394
|
}
|
|
72147
|
-
var
|
|
72395
|
+
var HL = class extends o_ {
|
|
72148
72396
|
animation1;
|
|
72149
72397
|
animation2;
|
|
72150
72398
|
transformRateFunc;
|
|
@@ -72177,12 +72425,12 @@ var FL = class extends o_ {
|
|
|
72177
72425
|
e.setPoints(this._anim2EndPoints), e.opacity = t.opacity, this.animation1.finish(), this.animation2.finish(), super.finish();
|
|
72178
72426
|
}
|
|
72179
72427
|
};
|
|
72180
|
-
function
|
|
72181
|
-
return new
|
|
72428
|
+
function UL(e, t, n) {
|
|
72429
|
+
return new HL(e, t, n);
|
|
72182
72430
|
}
|
|
72183
72431
|
//#endregion
|
|
72184
72432
|
//#region src/animation/transform/TransformMatchingBase.ts
|
|
72185
|
-
var
|
|
72433
|
+
var WL = class extends o_ {
|
|
72186
72434
|
target;
|
|
72187
72435
|
keyFunc;
|
|
72188
72436
|
fadeRatio;
|
|
@@ -72277,7 +72525,7 @@ var LL = class extends o_ {
|
|
|
72277
72525
|
};
|
|
72278
72526
|
//#endregion
|
|
72279
72527
|
//#region src/utils/hungarian.ts
|
|
72280
|
-
function
|
|
72528
|
+
function GL(e) {
|
|
72281
72529
|
let t = e.length;
|
|
72282
72530
|
if (t === 0) return {
|
|
72283
72531
|
assignments: [],
|
|
@@ -72295,7 +72543,7 @@ function RL(e) {
|
|
|
72295
72543
|
let r = 0;
|
|
72296
72544
|
for (let i = 0; i < t; i++) for (let t = 0; t < n; t++) e[i][t] > r && (r = e[i][t]);
|
|
72297
72545
|
let i = r * 10 + 1, a = Math.max(t, n), o = Array.from({ length: a }, (r, o) => Array.from({ length: a }, (r, a) => o < t && a < n ? e[o][a] : i)), s = new Float64Array(a + 1), c = new Float64Array(a + 1), l = new Int32Array(a + 1).fill(0), u = new Int32Array(a + 1).fill(0);
|
|
72298
|
-
for (let e = 1; e <= a; e++)
|
|
72546
|
+
for (let e = 1; e <= a; e++) KL(e, a, o, s, c, l, u);
|
|
72299
72547
|
let d = Array(t).fill(-1), f = /* @__PURE__ */ new Set(), p = /* @__PURE__ */ new Set(), m = 0;
|
|
72300
72548
|
for (let r = 1; r <= a; r++) {
|
|
72301
72549
|
let i = l[r] - 1, a = r - 1;
|
|
@@ -72308,7 +72556,7 @@ function RL(e) {
|
|
|
72308
72556
|
assignedCols: p
|
|
72309
72557
|
};
|
|
72310
72558
|
}
|
|
72311
|
-
function
|
|
72559
|
+
function KL(e, t, n, r, i, a, o) {
|
|
72312
72560
|
a[0] = e;
|
|
72313
72561
|
let s = 0, c = new Float64Array(t + 1).fill(Infinity), l = new Uint8Array(t + 1);
|
|
72314
72562
|
do {
|
|
@@ -72327,7 +72575,7 @@ function zL(e, t, n, r, i, a, o) {
|
|
|
72327
72575
|
a[s] = a[e], s = e;
|
|
72328
72576
|
} while (s !== 0);
|
|
72329
72577
|
}
|
|
72330
|
-
function
|
|
72578
|
+
function qL(e, t = 0) {
|
|
72331
72579
|
let n = e.length;
|
|
72332
72580
|
if (n === 0) return {
|
|
72333
72581
|
assignments: [],
|
|
@@ -72344,7 +72592,7 @@ function BL(e, t = 0) {
|
|
|
72344
72592
|
};
|
|
72345
72593
|
let i = 0;
|
|
72346
72594
|
for (let t = 0; t < n; t++) for (let n = 0; n < r; n++) e[t][n] > i && (i = e[t][n]);
|
|
72347
|
-
let a = i * 10 + 1, o =
|
|
72595
|
+
let a = i * 10 + 1, o = GL(Array.from({ length: n }, (n, o) => Array.from({ length: r }, (n, r) => e[o][r] >= t ? i - e[o][r] : a)));
|
|
72348
72596
|
for (let r = 0; r < n; r++) {
|
|
72349
72597
|
let n = o.assignments[r];
|
|
72350
72598
|
n >= 0 && e[r][n] < t && (o.assignments[r] = -1, o.assignedRows.delete(r), o.assignedCols.delete(n));
|
|
@@ -72353,7 +72601,7 @@ function BL(e, t = 0) {
|
|
|
72353
72601
|
}
|
|
72354
72602
|
//#endregion
|
|
72355
72603
|
//#region src/animation/transform/TransformMatchingShared.ts
|
|
72356
|
-
function
|
|
72604
|
+
function JL(e) {
|
|
72357
72605
|
let t = e.getLocalPoints();
|
|
72358
72606
|
if (t.length === 0) {
|
|
72359
72607
|
let t = e.getCenter();
|
|
@@ -72393,17 +72641,17 @@ function VL(e) {
|
|
|
72393
72641
|
]
|
|
72394
72642
|
};
|
|
72395
72643
|
}
|
|
72396
|
-
function
|
|
72397
|
-
let n =
|
|
72644
|
+
function YL(e, t) {
|
|
72645
|
+
let n = JL(e), r = JL(t), i = Math.sqrt(n.size[0] ** 2 + n.size[1] ** 2), a = Math.sqrt(r.size[0] ** 2 + r.size[1] ** 2), o = Math.max(i, a, .001), s = 1 - Math.abs(i - a) / o, c = n.size[1] === 0 ? 1 : n.size[0] / n.size[1], l = r.size[1] === 0 ? 1 : r.size[0] / r.size[1], u = Math.max(c, l, .001), d = 1 - Math.abs(c - l) / u, f = e.getLocalPoints().length, p = t.getLocalPoints().length, m = Math.max(f, p, 1), h = 1 - Math.abs(f - p) / m;
|
|
72398
72646
|
return s * .4 + d * .3 + h * .3;
|
|
72399
72647
|
}
|
|
72400
|
-
function
|
|
72401
|
-
let n =
|
|
72648
|
+
function XL(e, t) {
|
|
72649
|
+
let n = JL(e).center, r = JL(t).center;
|
|
72402
72650
|
return Math.sqrt((n[0] - r[0]) ** 2 + (n[1] - r[1]) ** 2 + (n[2] - r[2]) ** 2);
|
|
72403
72651
|
}
|
|
72404
72652
|
//#endregion
|
|
72405
72653
|
//#region src/animation/transform/TransformMatching.ts
|
|
72406
|
-
var
|
|
72654
|
+
var ZL = class extends o_ {
|
|
72407
72655
|
target;
|
|
72408
72656
|
matchThreshold;
|
|
72409
72657
|
keyFunc;
|
|
@@ -72446,7 +72694,7 @@ var WL = class extends o_ {
|
|
|
72446
72694
|
}
|
|
72447
72695
|
}
|
|
72448
72696
|
} else {
|
|
72449
|
-
let i =
|
|
72697
|
+
let i = qL(Array.from({ length: e.length }, (n, r) => Array.from({ length: t.length }, (n, i) => YL(e[r], t[i]))), this.matchThreshold);
|
|
72450
72698
|
for (let a = 0; a < e.length; a++) {
|
|
72451
72699
|
let o = i.assignments[a];
|
|
72452
72700
|
o >= 0 && (this._addMatchedPart(e[a], t[o]), n.add(a), r.add(o));
|
|
@@ -72504,16 +72752,16 @@ var WL = class extends o_ {
|
|
|
72504
72752
|
super.finish();
|
|
72505
72753
|
}
|
|
72506
72754
|
};
|
|
72507
|
-
function
|
|
72508
|
-
return new
|
|
72755
|
+
function QL(e, t, n) {
|
|
72756
|
+
return new ZL(e, t, n);
|
|
72509
72757
|
}
|
|
72510
|
-
function
|
|
72758
|
+
function $L(e) {
|
|
72511
72759
|
let t = e;
|
|
72512
72760
|
if (typeof t.getLatex == "function") return t.getLatex();
|
|
72513
|
-
let n =
|
|
72761
|
+
let n = JL(e);
|
|
72514
72762
|
return `shape_${`${n.size[0].toFixed(2)}_${n.size[1].toFixed(2)}`}_${e.getLocalPoints().length}`;
|
|
72515
72763
|
}
|
|
72516
|
-
var
|
|
72764
|
+
var eR = class extends o_ {
|
|
72517
72765
|
target;
|
|
72518
72766
|
keyFunc;
|
|
72519
72767
|
fadeRatio;
|
|
@@ -72523,7 +72771,7 @@ var qL = class extends o_ {
|
|
|
72523
72771
|
_fadeInParts = [];
|
|
72524
72772
|
_mismatchedPairs = [];
|
|
72525
72773
|
constructor(e, t, n = {}) {
|
|
72526
|
-
super(e, n), this.target = t, this.keyFunc = n.keyFunc ??
|
|
72774
|
+
super(e, n), this.target = t, this.keyFunc = n.keyFunc ?? $L, this.fadeRatio = Math.min(.5, Math.max(0, n.fadeRatio ?? .25)), this.transformMismatches = n.transformMismatches ?? !1;
|
|
72527
72775
|
}
|
|
72528
72776
|
_getTexParts(e) {
|
|
72529
72777
|
let t = e.children.filter((e) => e instanceof V);
|
|
@@ -72566,7 +72814,7 @@ var qL = class extends o_ {
|
|
|
72566
72814
|
for (let t = 0; t < e.length; t++) n.has(t) || o.push(t);
|
|
72567
72815
|
for (let e = 0; e < t.length; e++) r.has(e) || s.push(e);
|
|
72568
72816
|
if (this.transformMismatches && o.length > 0 && s.length > 0) {
|
|
72569
|
-
let n = o.map((t) => e[t]), r = s.map((e) => t[e]), i =
|
|
72817
|
+
let n = o.map((t) => e[t]), r = s.map((e) => t[e]), i = GL(Array.from({ length: n.length }, (e, t) => Array.from({ length: r.length }, (e, i) => XL(n[t], r[i])))), a = /* @__PURE__ */ new Set(), c = /* @__PURE__ */ new Set();
|
|
72570
72818
|
for (let e = 0; e < n.length; e++) {
|
|
72571
72819
|
let t = i.assignments[e];
|
|
72572
72820
|
t >= 0 && t < r.length && (this._addMismatchedPair(n[e], r[t]), a.add(e), c.add(t));
|
|
@@ -72671,12 +72919,12 @@ var qL = class extends o_ {
|
|
|
72671
72919
|
super.finish();
|
|
72672
72920
|
}
|
|
72673
72921
|
};
|
|
72674
|
-
function
|
|
72675
|
-
return new
|
|
72922
|
+
function tR(e, t, n) {
|
|
72923
|
+
return new eR(e, t, n);
|
|
72676
72924
|
}
|
|
72677
72925
|
//#endregion
|
|
72678
72926
|
//#region src/animation/transform/TransformMatchingCode.ts
|
|
72679
|
-
var
|
|
72927
|
+
var nR = .25, rR = 1, iR = class extends o_ {
|
|
72680
72928
|
target;
|
|
72681
72929
|
keyFunc;
|
|
72682
72930
|
fadeRatio;
|
|
@@ -72688,7 +72936,7 @@ var YL = .25, XL = 1, ZL = class extends o_ {
|
|
|
72688
72936
|
_fadeOutParts = [];
|
|
72689
72937
|
_fadeInParts = [];
|
|
72690
72938
|
constructor(e, t, n = {}) {
|
|
72691
|
-
super(e, n), this.target = t, this.keyFunc = n.keyFunc, this.fadeRatio = Math.min(.5, Math.max(0, n.fadeRatio ??
|
|
72939
|
+
super(e, n), this.target = t, this.keyFunc = n.keyFunc, this.fadeRatio = Math.min(.5, Math.max(0, n.fadeRatio ?? nR)), this.matchBy = n.matchBy ?? "token", this.transformMismatches = n.transformMismatches ?? !1, this.fadeTransformMismatches = n.fadeTransformMismatches ?? !1;
|
|
72692
72940
|
}
|
|
72693
72941
|
get matchedParts() {
|
|
72694
72942
|
return this._matchedParts;
|
|
@@ -72764,19 +73012,19 @@ var YL = .25, XL = 1, ZL = class extends o_ {
|
|
|
72764
73012
|
}
|
|
72765
73013
|
_addMatchedPart(e, t, n) {
|
|
72766
73014
|
let r = this.mobject.makeTokenMobject(e.text, e.type);
|
|
72767
|
-
this._place(r, e.position), r.opacity =
|
|
73015
|
+
this._place(r, e.position), r.opacity = rR, this._parentAdd(r), n.push({
|
|
72768
73016
|
mobject: r,
|
|
72769
73017
|
startPosition: e.position,
|
|
72770
73018
|
targetPosition: t.position,
|
|
72771
|
-
startOpacity:
|
|
72772
|
-
targetOpacity:
|
|
73019
|
+
startOpacity: rR,
|
|
73020
|
+
targetOpacity: rR
|
|
72773
73021
|
});
|
|
72774
73022
|
}
|
|
72775
73023
|
_addFadeOutPart(e) {
|
|
72776
73024
|
let t = this.mobject.makeTokenMobject(e.text, e.type);
|
|
72777
|
-
this._place(t, e.position), t.opacity =
|
|
73025
|
+
this._place(t, e.position), t.opacity = rR, this._parentAdd(t), this._fadeOutParts.push({
|
|
72778
73026
|
mobject: t,
|
|
72779
|
-
startOpacity:
|
|
73027
|
+
startOpacity: rR,
|
|
72780
73028
|
targetOpacity: 0,
|
|
72781
73029
|
fadeIn: !1
|
|
72782
73030
|
});
|
|
@@ -72786,7 +73034,7 @@ var YL = .25, XL = 1, ZL = class extends o_ {
|
|
|
72786
73034
|
this._place(t, e.position), t.opacity = 0, this._parentAdd(t), this._fadeInParts.push({
|
|
72787
73035
|
mobject: t,
|
|
72788
73036
|
startOpacity: 0,
|
|
72789
|
-
targetOpacity:
|
|
73037
|
+
targetOpacity: rR,
|
|
72790
73038
|
fadeIn: !0
|
|
72791
73039
|
});
|
|
72792
73040
|
}
|
|
@@ -72811,16 +73059,16 @@ var YL = .25, XL = 1, ZL = class extends o_ {
|
|
|
72811
73059
|
super.finish();
|
|
72812
73060
|
}
|
|
72813
73061
|
};
|
|
72814
|
-
function
|
|
72815
|
-
return new
|
|
73062
|
+
function aR(e, t, n) {
|
|
73063
|
+
return new iR(e, t, n);
|
|
72816
73064
|
}
|
|
72817
73065
|
//#endregion
|
|
72818
73066
|
//#region src/animation/transform/ApplyPointwiseFunction.ts
|
|
72819
|
-
function
|
|
73067
|
+
function oR(e) {
|
|
72820
73068
|
let t = e;
|
|
72821
73069
|
return typeof t.getLocalPoints == "function" && typeof t.setPoints == "function";
|
|
72822
73070
|
}
|
|
72823
|
-
var
|
|
73071
|
+
var sR = class extends o_ {
|
|
72824
73072
|
func;
|
|
72825
73073
|
_snapshots = [];
|
|
72826
73074
|
constructor(e, t, n) {
|
|
@@ -72829,7 +73077,7 @@ var eR = class extends o_ {
|
|
|
72829
73077
|
begin() {
|
|
72830
73078
|
super.begin(), this._snapshots = [];
|
|
72831
73079
|
let e = new L();
|
|
72832
|
-
for (let t of this.mobject.getFamily()) if (
|
|
73080
|
+
for (let t of this.mobject.getFamily()) if (oR(t)) {
|
|
72833
73081
|
let n = t.getLocalPoints();
|
|
72834
73082
|
if (n.length === 0) continue;
|
|
72835
73083
|
let r = t._worldMatrix(), i = r.clone().invert(), a = n.map((t) => {
|
|
@@ -72865,16 +73113,16 @@ var eR = class extends o_ {
|
|
|
72865
73113
|
this.mobject._markDirtyUpward(), super.finish();
|
|
72866
73114
|
}
|
|
72867
73115
|
};
|
|
72868
|
-
function
|
|
72869
|
-
return new
|
|
73116
|
+
function cR(e, t, n) {
|
|
73117
|
+
return new sR(e, t, n);
|
|
72870
73118
|
}
|
|
72871
73119
|
//#endregion
|
|
72872
73120
|
//#region src/animation/transform/ApplyPointwiseFunctionToCenter.ts
|
|
72873
|
-
function
|
|
73121
|
+
function lR(e) {
|
|
72874
73122
|
let t = e;
|
|
72875
73123
|
return typeof t.getLocalPoints == "function" && typeof t.setPoints == "function";
|
|
72876
73124
|
}
|
|
72877
|
-
var
|
|
73125
|
+
var uR = class extends o_ {
|
|
72878
73126
|
func;
|
|
72879
73127
|
_snapshots = [];
|
|
72880
73128
|
constructor(e, t, n) {
|
|
@@ -72883,7 +73131,7 @@ var rR = class extends o_ {
|
|
|
72883
73131
|
begin() {
|
|
72884
73132
|
super.begin(), this._snapshots = [];
|
|
72885
73133
|
let e = new L();
|
|
72886
|
-
for (let t of this.mobject.getFamily()) if (
|
|
73134
|
+
for (let t of this.mobject.getFamily()) if (lR(t)) {
|
|
72887
73135
|
let n = t.getLocalPoints();
|
|
72888
73136
|
if (n.length === 0) continue;
|
|
72889
73137
|
let r = t, i = r._threeObject, a = null, o = null;
|
|
@@ -72932,12 +73180,12 @@ var rR = class extends o_ {
|
|
|
72932
73180
|
this.mobject._markDirtyUpward(), super.finish();
|
|
72933
73181
|
}
|
|
72934
73182
|
};
|
|
72935
|
-
function
|
|
72936
|
-
return new
|
|
73183
|
+
function dR(e, t, n) {
|
|
73184
|
+
return new uR(e, t, n);
|
|
72937
73185
|
}
|
|
72938
73186
|
//#endregion
|
|
72939
73187
|
//#region src/animation/movement/Rotate.ts
|
|
72940
|
-
var
|
|
73188
|
+
var fR = class extends o_ {
|
|
72941
73189
|
angle;
|
|
72942
73190
|
axis;
|
|
72943
73191
|
aboutPoint;
|
|
@@ -73118,7 +73366,7 @@ var aR = class extends o_ {
|
|
|
73118
73366
|
this.interpolate(1), super.finish();
|
|
73119
73367
|
}
|
|
73120
73368
|
};
|
|
73121
|
-
function
|
|
73369
|
+
function pR(e, t, n) {
|
|
73122
73370
|
if (typeof t != "number") throw TypeError("rotate(): angle must be a number");
|
|
73123
73371
|
return n && (() => {
|
|
73124
73372
|
let e = (e) => (e.duration === void 0 || typeof e.duration == "number") && (e.rateFunc === void 0 || !0) && (e.shift === void 0 || Array.isArray(e.shift) && e.shift.length === 3 && typeof e.shift[0] == "number" && typeof e.shift[1] == "number" && typeof e.shift[2] == "number") && (e.axis === void 0 || Array.isArray(e.axis) && e.axis.length === 3 && typeof e.axis[0] == "number" && typeof e.axis[1] == "number" && typeof e.axis[2] == "number") && (e.aboutPoint === void 0 || Array.isArray(e.aboutPoint) && e.aboutPoint.length === 3 && typeof e.aboutPoint[0] == "number" && typeof e.aboutPoint[1] == "number" && typeof e.aboutPoint[2] == "number") && (e.aboutEdge === void 0 || Array.isArray(e.aboutEdge) && e.aboutEdge.length === 3 && typeof e.aboutEdge[0] == "number" && typeof e.aboutEdge[1] == "number" && typeof e.aboutEdge[2] == "number"), t = (e, t, n = !0) => (e.duration === void 0 || typeof e.duration == "number" || B(n, {
|
|
@@ -73258,17 +73506,17 @@ function oR(e, t, n) {
|
|
|
73258
73506
|
expected: "Omit<RotateOptions, \"angle\">",
|
|
73259
73507
|
value: e
|
|
73260
73508
|
}, r))(e, "$input", !0)), e);
|
|
73261
|
-
})()(n), new
|
|
73509
|
+
})()(n), new fR(e, {
|
|
73262
73510
|
...n,
|
|
73263
73511
|
angle: t
|
|
73264
73512
|
});
|
|
73265
73513
|
}
|
|
73266
73514
|
//#endregion
|
|
73267
73515
|
//#region src/animation/movement/Scale.ts
|
|
73268
|
-
function
|
|
73516
|
+
function mR(e, t, n) {
|
|
73269
73517
|
return new L(e.x + (t.x - e.x) * n, e.y + (t.y - e.y) * n, e.z + (t.z - e.z) * n);
|
|
73270
73518
|
}
|
|
73271
|
-
var
|
|
73519
|
+
var hR = class extends o_ {
|
|
73272
73520
|
scaleFactor;
|
|
73273
73521
|
aboutPoint;
|
|
73274
73522
|
_initialScale = new L();
|
|
@@ -73293,7 +73541,7 @@ var cR = class extends o_ {
|
|
|
73293
73541
|
}
|
|
73294
73542
|
}
|
|
73295
73543
|
interpolate(e) {
|
|
73296
|
-
let t =
|
|
73544
|
+
let t = mR(this._initialScale, this._targetScale, e);
|
|
73297
73545
|
if (this.mobject.scaleVector.copy(t), this._aboutPointVector) {
|
|
73298
73546
|
let e = new L(t.x / this._initialScale.x, t.y / this._initialScale.y, t.z / this._initialScale.z), n = new L().copy(this._initialPosition).sub(this._aboutPointVector);
|
|
73299
73547
|
n.multiply(e);
|
|
@@ -73306,13 +73554,13 @@ var cR = class extends o_ {
|
|
|
73306
73554
|
this.interpolate(1), super.finish();
|
|
73307
73555
|
}
|
|
73308
73556
|
};
|
|
73309
|
-
function
|
|
73310
|
-
return new
|
|
73557
|
+
function gR(e, t, n) {
|
|
73558
|
+
return new hR(e, {
|
|
73311
73559
|
...n,
|
|
73312
73560
|
scaleFactor: t
|
|
73313
73561
|
});
|
|
73314
73562
|
}
|
|
73315
|
-
var
|
|
73563
|
+
var _R = class extends o_ {
|
|
73316
73564
|
_targetScale = new L();
|
|
73317
73565
|
constructor(e, t = {}) {
|
|
73318
73566
|
super(e, t);
|
|
@@ -73327,12 +73575,12 @@ var uR = class extends o_ {
|
|
|
73327
73575
|
this.mobject.scaleVector.copy(this._targetScale), this.mobject._markDirty(), super.finish();
|
|
73328
73576
|
}
|
|
73329
73577
|
};
|
|
73330
|
-
function
|
|
73331
|
-
return new
|
|
73578
|
+
function vR(e, t) {
|
|
73579
|
+
return new _R(e, t);
|
|
73332
73580
|
}
|
|
73333
73581
|
//#endregion
|
|
73334
73582
|
//#region src/animation/movement/Shift.ts
|
|
73335
|
-
var
|
|
73583
|
+
var yR = class extends o_ {
|
|
73336
73584
|
direction;
|
|
73337
73585
|
_initialPosition = new L();
|
|
73338
73586
|
_targetPosition = new L();
|
|
@@ -73350,13 +73598,13 @@ var fR = class extends o_ {
|
|
|
73350
73598
|
this.mobject.position.set(this._initialPosition.x + this.direction[0] * e, this._initialPosition.y + this.direction[1] * e, this._initialPosition.z + this.direction[2] * e), this.mobject._markDirty(), super.finish();
|
|
73351
73599
|
}
|
|
73352
73600
|
};
|
|
73353
|
-
function
|
|
73354
|
-
return new
|
|
73601
|
+
function bR(e, t, n) {
|
|
73602
|
+
return new yR(e, {
|
|
73355
73603
|
...n,
|
|
73356
73604
|
direction: t
|
|
73357
73605
|
});
|
|
73358
73606
|
}
|
|
73359
|
-
var
|
|
73607
|
+
var xR = class extends o_ {
|
|
73360
73608
|
_initialPosition = new L();
|
|
73361
73609
|
_targetPosition = new L();
|
|
73362
73610
|
constructor(e, t = {}) {
|
|
@@ -73374,12 +73622,12 @@ var mR = class extends o_ {
|
|
|
73374
73622
|
this.mobject.position.copy(this._targetPosition), this.mobject._markDirty(), super.finish();
|
|
73375
73623
|
}
|
|
73376
73624
|
};
|
|
73377
|
-
function
|
|
73378
|
-
return new
|
|
73625
|
+
function SR(e, t) {
|
|
73626
|
+
return new xR(e, t);
|
|
73379
73627
|
}
|
|
73380
73628
|
//#endregion
|
|
73381
73629
|
//#region src/animation/movement/MoveAlongPath.ts
|
|
73382
|
-
function
|
|
73630
|
+
function CR(e, t, n, r, i) {
|
|
73383
73631
|
let a = 1 - i, o = a * a, s = o * a, c = i * i, l = c * i;
|
|
73384
73632
|
return [
|
|
73385
73633
|
s * e[0] + 3 * o * i * t[0] + 3 * a * c * n[0] + l * r[0],
|
|
@@ -73387,7 +73635,7 @@ function gR(e, t, n, r, i) {
|
|
|
73387
73635
|
s * e[2] + 3 * o * i * t[2] + 3 * a * c * n[2] + l * r[2]
|
|
73388
73636
|
];
|
|
73389
73637
|
}
|
|
73390
|
-
function
|
|
73638
|
+
function wR(e, t, n, r, i) {
|
|
73391
73639
|
let a = 1 - i, o = a * a, s = i * i;
|
|
73392
73640
|
return [
|
|
73393
73641
|
3 * o * (t[0] - e[0]) + 6 * a * i * (n[0] - t[0]) + 3 * s * (r[0] - n[0]),
|
|
@@ -73395,7 +73643,7 @@ function _R(e, t, n, r, i) {
|
|
|
73395
73643
|
3 * o * (t[2] - e[2]) + 6 * a * i * (n[2] - t[2]) + 3 * s * (r[2] - n[2])
|
|
73396
73644
|
];
|
|
73397
73645
|
}
|
|
73398
|
-
var
|
|
73646
|
+
var TR = class extends o_ {
|
|
73399
73647
|
path;
|
|
73400
73648
|
rotateAlongPath;
|
|
73401
73649
|
_pathPoints = [];
|
|
@@ -73437,8 +73685,8 @@ var vR = class extends o_ {
|
|
|
73437
73685
|
e = Math.max(0, Math.min(1, e));
|
|
73438
73686
|
let t = e * this._numSegments, n = Math.min(Math.floor(t), this._numSegments - 1), r = t - n, i = n * 3, a = this._pathPoints[i], o = this._pathPoints[i + 1], s = this._pathPoints[i + 2], c = this._pathPoints[i + 3];
|
|
73439
73687
|
return {
|
|
73440
|
-
position:
|
|
73441
|
-
tangent:
|
|
73688
|
+
position: CR(a, o, s, c, r),
|
|
73689
|
+
tangent: wR(a, o, s, c, r)
|
|
73442
73690
|
};
|
|
73443
73691
|
}
|
|
73444
73692
|
interpolate(e) {
|
|
@@ -73457,15 +73705,15 @@ var vR = class extends o_ {
|
|
|
73457
73705
|
this.interpolate(1), super.finish();
|
|
73458
73706
|
}
|
|
73459
73707
|
};
|
|
73460
|
-
function
|
|
73461
|
-
return new
|
|
73708
|
+
function ER(e, t, n) {
|
|
73709
|
+
return new TR(e, {
|
|
73462
73710
|
...n,
|
|
73463
73711
|
path: t
|
|
73464
73712
|
});
|
|
73465
73713
|
}
|
|
73466
73714
|
//#endregion
|
|
73467
73715
|
//#region src/utils/ode.ts
|
|
73468
|
-
function
|
|
73716
|
+
function DR(e, t, n, r) {
|
|
73469
73717
|
let i = n.length, a = e(t, n), o = Array(i);
|
|
73470
73718
|
for (let e = 0; e < i; e++) o[e] = n[e] + .5 * r * a[e];
|
|
73471
73719
|
let s = e(t + .5 * r, o), c = Array(i);
|
|
@@ -73476,7 +73724,7 @@ function bR(e, t, n, r) {
|
|
|
73476
73724
|
for (let e = 0; e < i; e++) f[e] = n[e] + r / 6 * (a[e] + 2 * s[e] + 2 * l[e] + d[e]);
|
|
73477
73725
|
return f;
|
|
73478
73726
|
}
|
|
73479
|
-
function
|
|
73727
|
+
function OR(e, t, n, r, i = {}) {
|
|
73480
73728
|
let { recordTrajectory: a = !1 } = i, o, s;
|
|
73481
73729
|
i.stepSize === void 0 ? (o = i.numSteps ?? 100, s = (r - t) / o) : (s = i.stepSize, o = Math.max(1, Math.ceil(Math.abs(r - t) / Math.abs(s))), s = (r - t) / o);
|
|
73482
73730
|
let c = [], l = t, u = [...n];
|
|
@@ -73484,7 +73732,7 @@ function xR(e, t, n, r, i = {}) {
|
|
|
73484
73732
|
t: l,
|
|
73485
73733
|
y: [...u]
|
|
73486
73734
|
});
|
|
73487
|
-
for (let n = 0; n < o; n++) u =
|
|
73735
|
+
for (let n = 0; n < o; n++) u = DR(e, l, u, s), l = t + (n + 1) * s, a && c.push({
|
|
73488
73736
|
t: l,
|
|
73489
73737
|
y: [...u]
|
|
73490
73738
|
});
|
|
@@ -73494,9 +73742,9 @@ function xR(e, t, n, r, i = {}) {
|
|
|
73494
73742
|
trajectory: c
|
|
73495
73743
|
};
|
|
73496
73744
|
}
|
|
73497
|
-
function
|
|
73745
|
+
function kR(e, t, n, r = 100) {
|
|
73498
73746
|
if (n === 0) return [...t];
|
|
73499
|
-
let i =
|
|
73747
|
+
let i = OR((t, n) => {
|
|
73500
73748
|
let r = e([
|
|
73501
73749
|
n[0],
|
|
73502
73750
|
n[1],
|
|
@@ -73516,14 +73764,14 @@ function SR(e, t, n, r = 100) {
|
|
|
73516
73764
|
}
|
|
73517
73765
|
//#endregion
|
|
73518
73766
|
//#region src/animation/movement/Homotopy.ts
|
|
73519
|
-
function
|
|
73767
|
+
function AR(e) {
|
|
73520
73768
|
let t = e._worldMatrix();
|
|
73521
73769
|
return {
|
|
73522
73770
|
worldMatrix: t,
|
|
73523
73771
|
inverseWorld: t.clone().invert()
|
|
73524
73772
|
};
|
|
73525
73773
|
}
|
|
73526
|
-
function
|
|
73774
|
+
function jR(e, t) {
|
|
73527
73775
|
let n = new L(t[0], t[1], t[2]).applyMatrix4(e);
|
|
73528
73776
|
return [
|
|
73529
73777
|
n.x,
|
|
@@ -73531,7 +73779,7 @@ function wR(e, t) {
|
|
|
73531
73779
|
n.z
|
|
73532
73780
|
];
|
|
73533
73781
|
}
|
|
73534
|
-
var
|
|
73782
|
+
var MR = class extends o_ {
|
|
73535
73783
|
homotopyFunc;
|
|
73536
73784
|
_originalPoints = null;
|
|
73537
73785
|
_frame = null;
|
|
@@ -73540,7 +73788,7 @@ var TR = class extends o_ {
|
|
|
73540
73788
|
super(e, t), this.homotopyFunc = t.homotopyFunc;
|
|
73541
73789
|
}
|
|
73542
73790
|
begin() {
|
|
73543
|
-
super.begin(), this.mobject instanceof V ? (this._isVMobject = !0, this._originalPoints = this.mobject.getLocalPoints(), this._frame =
|
|
73791
|
+
super.begin(), this.mobject instanceof V ? (this._isVMobject = !0, this._originalPoints = this.mobject.getLocalPoints(), this._frame = AR(this.mobject)) : (this._isVMobject = !1, this._originalPoints = null, this._frame = null);
|
|
73544
73792
|
}
|
|
73545
73793
|
interpolate(e) {
|
|
73546
73794
|
if (!this._isVMobject || !this._originalPoints || !this._frame) {
|
|
@@ -73550,15 +73798,15 @@ var TR = class extends o_ {
|
|
|
73550
73798
|
}
|
|
73551
73799
|
let t = this.mobject, { worldMatrix: n, inverseWorld: r } = this._frame, i = [];
|
|
73552
73800
|
for (let t of this._originalPoints) {
|
|
73553
|
-
let [a, o, s] =
|
|
73554
|
-
i.push(
|
|
73801
|
+
let [a, o, s] = jR(n, t), c = this.homotopyFunc(a, o, s, e);
|
|
73802
|
+
i.push(jR(r, c));
|
|
73555
73803
|
}
|
|
73556
73804
|
t.setPoints3D(i);
|
|
73557
73805
|
}
|
|
73558
73806
|
finish() {
|
|
73559
73807
|
this.interpolate(1), super.finish();
|
|
73560
73808
|
}
|
|
73561
|
-
},
|
|
73809
|
+
}, NR = class extends o_ {
|
|
73562
73810
|
complexFunc;
|
|
73563
73811
|
_originalPoints = null;
|
|
73564
73812
|
_frame = null;
|
|
@@ -73567,7 +73815,7 @@ var TR = class extends o_ {
|
|
|
73567
73815
|
super(e, t), this.complexFunc = t.complexFunc;
|
|
73568
73816
|
}
|
|
73569
73817
|
begin() {
|
|
73570
|
-
super.begin(), this.mobject instanceof V ? (this._isVMobject = !0, this._originalPoints = this.mobject.getLocalPoints(), this._frame =
|
|
73818
|
+
super.begin(), this.mobject instanceof V ? (this._isVMobject = !0, this._originalPoints = this.mobject.getLocalPoints(), this._frame = AR(this.mobject)) : (this._isVMobject = !1, this._originalPoints = null, this._frame = null);
|
|
73571
73819
|
}
|
|
73572
73820
|
interpolate(e) {
|
|
73573
73821
|
if (!this._isVMobject || !this._originalPoints || !this._frame) {
|
|
@@ -73580,11 +73828,11 @@ var TR = class extends o_ {
|
|
|
73580
73828
|
}
|
|
73581
73829
|
let t = this.mobject, { worldMatrix: n, inverseWorld: r } = this._frame, i = [];
|
|
73582
73830
|
for (let t of this._originalPoints) {
|
|
73583
|
-
let [a, o, s] =
|
|
73831
|
+
let [a, o, s] = jR(n, t), c = this.complexFunc({
|
|
73584
73832
|
re: a,
|
|
73585
73833
|
im: o
|
|
73586
73834
|
}, e);
|
|
73587
|
-
i.push(
|
|
73835
|
+
i.push(jR(r, [
|
|
73588
73836
|
c.re,
|
|
73589
73837
|
c.im,
|
|
73590
73838
|
s
|
|
@@ -73595,7 +73843,7 @@ var TR = class extends o_ {
|
|
|
73595
73843
|
finish() {
|
|
73596
73844
|
this.interpolate(1), super.finish();
|
|
73597
73845
|
}
|
|
73598
|
-
},
|
|
73846
|
+
}, PR = class extends o_ {
|
|
73599
73847
|
homotopyFunc;
|
|
73600
73848
|
_originalPoints = null;
|
|
73601
73849
|
_frame = null;
|
|
@@ -73606,9 +73854,9 @@ var TR = class extends o_ {
|
|
|
73606
73854
|
begin() {
|
|
73607
73855
|
super.begin();
|
|
73608
73856
|
let e = this.mobject;
|
|
73609
|
-
this._frame =
|
|
73857
|
+
this._frame = AR(e);
|
|
73610
73858
|
let { worldMatrix: t } = this._frame;
|
|
73611
|
-
this._originalPoints = e.getLocalPoints().map((e) =>
|
|
73859
|
+
this._originalPoints = e.getLocalPoints().map((e) => jR(t, e)), this._anchorIndices = [];
|
|
73612
73860
|
for (let e = 0; e < this._originalPoints.length; e += 3) this._anchorIndices.push(e);
|
|
73613
73861
|
let n = this._originalPoints.length - 1;
|
|
73614
73862
|
n >= 0 && !this._anchorIndices.includes(n) && this._anchorIndices.push(n);
|
|
@@ -73625,7 +73873,7 @@ var TR = class extends o_ {
|
|
|
73625
73873
|
}
|
|
73626
73874
|
for (let t = 0; t < n; t++) i.has(t) || (r[t] = this._transformHandle(t, e, i));
|
|
73627
73875
|
let { inverseWorld: a } = this._frame;
|
|
73628
|
-
t.setPoints3D(r.map((e) =>
|
|
73876
|
+
t.setPoints3D(r.map((e) => jR(a, e)));
|
|
73629
73877
|
}
|
|
73630
73878
|
_transformHandle(e, t, n) {
|
|
73631
73879
|
let r = this._originalPoints[e], i = -1, a = -1;
|
|
@@ -73659,7 +73907,7 @@ var TR = class extends o_ {
|
|
|
73659
73907
|
finish() {
|
|
73660
73908
|
this.interpolate(1), super.finish();
|
|
73661
73909
|
}
|
|
73662
|
-
},
|
|
73910
|
+
}, FR = class extends o_ {
|
|
73663
73911
|
vectorField;
|
|
73664
73912
|
virtualTime;
|
|
73665
73913
|
_originalPoints = null;
|
|
@@ -73671,7 +73919,7 @@ var TR = class extends o_ {
|
|
|
73671
73919
|
super(e, t), this.vectorField = t.vectorField, this.virtualTime = t.virtualTime ?? 1, this._integrationSteps = t.integrationSteps ?? 100;
|
|
73672
73920
|
}
|
|
73673
73921
|
begin() {
|
|
73674
|
-
if (super.begin(), this.mobject instanceof V) this._isVMobject = !0, this._originalPoints = this.mobject.getLocalPoints(), this._frame =
|
|
73922
|
+
if (super.begin(), this.mobject instanceof V) this._isVMobject = !0, this._originalPoints = this.mobject.getLocalPoints(), this._frame = AR(this.mobject);
|
|
73675
73923
|
else {
|
|
73676
73924
|
this._isVMobject = !1, this._originalPoints = null, this._frame = null;
|
|
73677
73925
|
let e = this.mobject.position;
|
|
@@ -73689,14 +73937,14 @@ var TR = class extends o_ {
|
|
|
73689
73937
|
this.mobject.position.x,
|
|
73690
73938
|
this.mobject.position.y,
|
|
73691
73939
|
this.mobject.position.z
|
|
73692
|
-
], [n, r, i] =
|
|
73940
|
+
], [n, r, i] = kR(this.vectorField, e, t, this._integrationSteps);
|
|
73693
73941
|
this.mobject.position.set(n, r, i), this.mobject._markDirty();
|
|
73694
73942
|
return;
|
|
73695
73943
|
}
|
|
73696
73944
|
let n = this.mobject, { worldMatrix: r, inverseWorld: i } = this._frame, a = [];
|
|
73697
73945
|
for (let e of this._originalPoints) {
|
|
73698
|
-
let n =
|
|
73699
|
-
a.push(
|
|
73946
|
+
let n = kR(this.vectorField, jR(r, e), t, this._integrationSteps);
|
|
73947
|
+
a.push(jR(i, n));
|
|
73700
73948
|
}
|
|
73701
73949
|
n.setPoints3D(a);
|
|
73702
73950
|
}
|
|
@@ -73704,33 +73952,33 @@ var TR = class extends o_ {
|
|
|
73704
73952
|
this.interpolate(1), super.finish();
|
|
73705
73953
|
}
|
|
73706
73954
|
};
|
|
73707
|
-
function
|
|
73708
|
-
return new
|
|
73955
|
+
function IR(e, t, n) {
|
|
73956
|
+
return new MR(e, {
|
|
73709
73957
|
...n,
|
|
73710
73958
|
homotopyFunc: t
|
|
73711
73959
|
});
|
|
73712
73960
|
}
|
|
73713
|
-
function
|
|
73714
|
-
return new
|
|
73961
|
+
function LR(e, t, n) {
|
|
73962
|
+
return new NR(e, {
|
|
73715
73963
|
...n,
|
|
73716
73964
|
complexFunc: t
|
|
73717
73965
|
});
|
|
73718
73966
|
}
|
|
73719
|
-
function
|
|
73720
|
-
return new
|
|
73967
|
+
function RR(e, t, n) {
|
|
73968
|
+
return new PR(e, {
|
|
73721
73969
|
...n,
|
|
73722
73970
|
homotopyFunc: t
|
|
73723
73971
|
});
|
|
73724
73972
|
}
|
|
73725
|
-
function
|
|
73726
|
-
return new
|
|
73973
|
+
function zR(e, t, n) {
|
|
73974
|
+
return new FR(e, {
|
|
73727
73975
|
...n,
|
|
73728
73976
|
vectorField: t
|
|
73729
73977
|
});
|
|
73730
73978
|
}
|
|
73731
73979
|
//#endregion
|
|
73732
73980
|
//#region src/animation/growing/index.ts
|
|
73733
|
-
var
|
|
73981
|
+
var BR = class extends o_ {
|
|
73734
73982
|
_start = new L();
|
|
73735
73983
|
_endShaftPos = new L();
|
|
73736
73984
|
_endTipPos = new L();
|
|
@@ -73788,10 +74036,10 @@ var NR = class extends o_ {
|
|
|
73788
74036
|
t.position.copy(this._endShaftPos), n.position.copy(this._endTipPos), t.scaleVector.copy(this._endShaftScale), n.scaleVector.copy(this._endTipScale), t._markDirty(), n._markDirty(), this.mobject._markDirty(), super.finish();
|
|
73789
74037
|
}
|
|
73790
74038
|
};
|
|
73791
|
-
function
|
|
73792
|
-
return new
|
|
74039
|
+
function VR(e, t) {
|
|
74040
|
+
return new BR(e, t);
|
|
73793
74041
|
}
|
|
73794
|
-
var
|
|
74042
|
+
var HR = class extends o_ {
|
|
73795
74043
|
edge;
|
|
73796
74044
|
_targetScale = new L();
|
|
73797
74045
|
_targetPosition = new L();
|
|
@@ -73812,13 +74060,13 @@ var FR = class extends o_ {
|
|
|
73812
74060
|
this.mobject.scaleVector.copy(this._targetScale), this.mobject.position.copy(this._targetPosition), this.mobject._markDirty(), super.finish();
|
|
73813
74061
|
}
|
|
73814
74062
|
};
|
|
73815
|
-
function
|
|
73816
|
-
return new
|
|
74063
|
+
function UR(e, t, n) {
|
|
74064
|
+
return new HR(e, {
|
|
73817
74065
|
...n,
|
|
73818
74066
|
edge: t
|
|
73819
74067
|
});
|
|
73820
74068
|
}
|
|
73821
|
-
var
|
|
74069
|
+
var WR = class extends o_ {
|
|
73822
74070
|
point;
|
|
73823
74071
|
_targetScale = new L();
|
|
73824
74072
|
_targetPosition = new L();
|
|
@@ -73837,13 +74085,13 @@ var LR = class extends o_ {
|
|
|
73837
74085
|
this.mobject.scaleVector.copy(this._targetScale), this.mobject.position.copy(this._targetPosition), this.mobject._markDirty(), super.finish();
|
|
73838
74086
|
}
|
|
73839
74087
|
};
|
|
73840
|
-
function
|
|
73841
|
-
return new
|
|
74088
|
+
function GR(e, t, n) {
|
|
74089
|
+
return new WR(e, {
|
|
73842
74090
|
...n,
|
|
73843
74091
|
point: t
|
|
73844
74092
|
});
|
|
73845
74093
|
}
|
|
73846
|
-
var
|
|
74094
|
+
var KR = class extends o_ {
|
|
73847
74095
|
angle;
|
|
73848
74096
|
axis;
|
|
73849
74097
|
_targetScale = new L();
|
|
@@ -73871,18 +74119,18 @@ var zR = class extends o_ {
|
|
|
73871
74119
|
this.mobject.scaleVector.copy(this._targetScale), this.mobject.rotation.copy(this._initialRotation), this.mobject._markDirty(), super.finish();
|
|
73872
74120
|
}
|
|
73873
74121
|
};
|
|
73874
|
-
function
|
|
73875
|
-
return new
|
|
74122
|
+
function qR(e, t) {
|
|
74123
|
+
return new KR(e, t);
|
|
73876
74124
|
}
|
|
73877
74125
|
//#endregion
|
|
73878
74126
|
//#region src/animation/LaggedStart.ts
|
|
73879
|
-
function
|
|
74127
|
+
function JR(e, t) {
|
|
73880
74128
|
return new HT(e, {
|
|
73881
74129
|
...t,
|
|
73882
74130
|
lagRatio: t?.lagRatio ?? .2
|
|
73883
74131
|
});
|
|
73884
74132
|
}
|
|
73885
|
-
var
|
|
74133
|
+
var YR = class extends HT {
|
|
73886
74134
|
constructor(e, t = {}) {
|
|
73887
74135
|
super(e, {
|
|
73888
74136
|
...t,
|
|
@@ -73892,13 +74140,13 @@ var HR = class extends HT {
|
|
|
73892
74140
|
};
|
|
73893
74141
|
//#endregion
|
|
73894
74142
|
//#region src/animation/Succession.ts
|
|
73895
|
-
function
|
|
74143
|
+
function XR(e, t) {
|
|
73896
74144
|
return new HT(e, {
|
|
73897
74145
|
...t,
|
|
73898
74146
|
lagRatio: 1
|
|
73899
74147
|
});
|
|
73900
74148
|
}
|
|
73901
|
-
var
|
|
74149
|
+
var ZR = class extends HT {
|
|
73902
74150
|
constructor(e, t = {}) {
|
|
73903
74151
|
super(e, {
|
|
73904
74152
|
...t,
|
|
@@ -73908,14 +74156,14 @@ var WR = class extends HT {
|
|
|
73908
74156
|
};
|
|
73909
74157
|
//#endregion
|
|
73910
74158
|
//#region src/animation/composition/LaggedStartMap.ts
|
|
73911
|
-
function
|
|
74159
|
+
function QR(e, t, n) {
|
|
73912
74160
|
let { lagRatio: r = .2, animOptions: i, ...a } = n ?? {};
|
|
73913
74161
|
return new HT(t.map((t) => new e(t, i)), {
|
|
73914
74162
|
...a,
|
|
73915
74163
|
lagRatio: r
|
|
73916
74164
|
});
|
|
73917
74165
|
}
|
|
73918
|
-
var
|
|
74166
|
+
var $R = class extends HT {
|
|
73919
74167
|
constructor(e, t, n = {}) {
|
|
73920
74168
|
let { lagRatio: r = .2, animOptions: i, ...a } = n, o = t.map((t) => new e(t, i));
|
|
73921
74169
|
super(o, {
|
|
@@ -73923,7 +74171,7 @@ var KR = class extends HT {
|
|
|
73923
74171
|
lagRatio: r
|
|
73924
74172
|
});
|
|
73925
74173
|
}
|
|
73926
|
-
},
|
|
74174
|
+
}, ez = class extends o_ {
|
|
73927
74175
|
_func;
|
|
73928
74176
|
constructor(e, t, n) {
|
|
73929
74177
|
super(e, n), this._func = t;
|
|
@@ -73932,18 +74180,18 @@ var KR = class extends HT {
|
|
|
73932
74180
|
this._func(this.mobject, e);
|
|
73933
74181
|
}
|
|
73934
74182
|
};
|
|
73935
|
-
function
|
|
73936
|
-
return new
|
|
74183
|
+
function tz(e, t, n) {
|
|
74184
|
+
return new ez(e, t, n);
|
|
73937
74185
|
}
|
|
73938
74186
|
//#endregion
|
|
73939
74187
|
//#region src/animation/UpdateFromAlphaFunc.ts
|
|
73940
|
-
var
|
|
73941
|
-
function
|
|
73942
|
-
return new
|
|
74188
|
+
var nz = class extends ez {};
|
|
74189
|
+
function rz(e, t, n) {
|
|
74190
|
+
return new nz(e, t, n);
|
|
73943
74191
|
}
|
|
73944
74192
|
//#endregion
|
|
73945
74193
|
//#region src/animation/MaintainPositionRelativeTo.ts
|
|
73946
|
-
function
|
|
74194
|
+
function iz(e, t) {
|
|
73947
74195
|
let n = [
|
|
73948
74196
|
e.position.x - t.position.x,
|
|
73949
74197
|
e.position.y - t.position.y,
|
|
@@ -73959,7 +74207,7 @@ function ZR(e, t) {
|
|
|
73959
74207
|
}
|
|
73960
74208
|
//#endregion
|
|
73961
74209
|
//#region src/animation/AlwaysRedraw.ts
|
|
73962
|
-
function
|
|
74210
|
+
function az(e) {
|
|
73963
74211
|
let t = e();
|
|
73964
74212
|
return t.addUpdater((t) => {
|
|
73965
74213
|
t.become(e());
|
|
@@ -73967,24 +74215,24 @@ function QR(e) {
|
|
|
73967
74215
|
}
|
|
73968
74216
|
//#endregion
|
|
73969
74217
|
//#region src/animation/Always.ts
|
|
73970
|
-
function
|
|
74218
|
+
function oz(e, t, ...n) {
|
|
73971
74219
|
return e.addUpdater(() => {
|
|
73972
74220
|
e[t].apply(e, n.map((e) => e()));
|
|
73973
74221
|
}), e;
|
|
73974
74222
|
}
|
|
73975
|
-
function
|
|
74223
|
+
function sz(e, t, ...n) {
|
|
73976
74224
|
return e.addUpdater(() => {
|
|
73977
74225
|
e[t].apply(e, n);
|
|
73978
74226
|
}), e;
|
|
73979
74227
|
}
|
|
73980
|
-
function
|
|
74228
|
+
function cz(e, t) {
|
|
73981
74229
|
if (!(e instanceof cp)) throw Error(`assertIsMobjectMethod: expected a Mobject, got ${e === null ? "null" : typeof e}`);
|
|
73982
74230
|
if (typeof e[t] != "function") throw Error(`assertIsMobjectMethod: "${t}" is not a method of ${e.constructor.name}`);
|
|
73983
74231
|
}
|
|
73984
74232
|
//#endregion
|
|
73985
74233
|
//#region src/animation/updaters.ts
|
|
73986
|
-
var
|
|
73987
|
-
function
|
|
74234
|
+
var lz = 20 * Math.PI / 180;
|
|
74235
|
+
function uz(e, t = Ad, n = .1) {
|
|
73988
74236
|
let r = Zd(t);
|
|
73989
74237
|
return e.addUpdater((e, t) => {
|
|
73990
74238
|
e.shift([
|
|
@@ -73994,12 +74242,12 @@ function rz(e, t = Ad, n = .1) {
|
|
|
73994
74242
|
]);
|
|
73995
74243
|
}), e;
|
|
73996
74244
|
}
|
|
73997
|
-
function
|
|
74245
|
+
function dz(e, t = lz, n) {
|
|
73998
74246
|
return e.addUpdater((e, r) => {
|
|
73999
74247
|
e.rotate(r * t, n);
|
|
74000
74248
|
}), e;
|
|
74001
74249
|
}
|
|
74002
|
-
function
|
|
74250
|
+
function fz(e, t = !1, n = 0) {
|
|
74003
74251
|
let r = e.mobject;
|
|
74004
74252
|
e.begin();
|
|
74005
74253
|
let i = -n, a = (n, r) => {
|
|
@@ -74021,12 +74269,12 @@ function az(e, t = !1, n = 0) {
|
|
|
74021
74269
|
};
|
|
74022
74270
|
return r.addUpdater(a), r;
|
|
74023
74271
|
}
|
|
74024
|
-
function
|
|
74025
|
-
return
|
|
74272
|
+
function pz(e, t = 0) {
|
|
74273
|
+
return fz(e, !0, t);
|
|
74026
74274
|
}
|
|
74027
74275
|
//#endregion
|
|
74028
74276
|
//#region src/animation/numbers/index.ts
|
|
74029
|
-
var
|
|
74277
|
+
var mz = class extends o_ {
|
|
74030
74278
|
decimalNumber;
|
|
74031
74279
|
_startValue;
|
|
74032
74280
|
_endValue;
|
|
@@ -74048,7 +74296,7 @@ var sz = class extends o_ {
|
|
|
74048
74296
|
getEndValue() {
|
|
74049
74297
|
return this._endValue;
|
|
74050
74298
|
}
|
|
74051
|
-
},
|
|
74299
|
+
}, hz = class extends o_ {
|
|
74052
74300
|
decimalNumber;
|
|
74053
74301
|
_startValue;
|
|
74054
74302
|
_targetValue;
|
|
@@ -74074,15 +74322,15 @@ var sz = class extends o_ {
|
|
|
74074
74322
|
return this._targetValue;
|
|
74075
74323
|
}
|
|
74076
74324
|
};
|
|
74077
|
-
function
|
|
74078
|
-
return new
|
|
74325
|
+
function gz(e, t) {
|
|
74326
|
+
return new mz(e, t);
|
|
74079
74327
|
}
|
|
74080
|
-
function
|
|
74081
|
-
return new
|
|
74328
|
+
function _z(e, t) {
|
|
74329
|
+
return new hz(e, t);
|
|
74082
74330
|
}
|
|
74083
74331
|
//#endregion
|
|
74084
74332
|
//#region src/animation/changing/index.ts
|
|
74085
|
-
var
|
|
74333
|
+
var vz = class e extends V {
|
|
74086
74334
|
_trackedMobject;
|
|
74087
74335
|
_dissipatingTime;
|
|
74088
74336
|
_minDistanceToNewPoint;
|
|
@@ -74165,10 +74413,10 @@ var dz = class e extends V {
|
|
|
74165
74413
|
})), t._elapsedTime = this._elapsedTime, t._lastPosition = this._lastPosition ? [...this._lastPosition] : null, t;
|
|
74166
74414
|
}
|
|
74167
74415
|
};
|
|
74168
|
-
function
|
|
74169
|
-
return new
|
|
74416
|
+
function yz(e, t) {
|
|
74417
|
+
return new vz(e, t);
|
|
74170
74418
|
}
|
|
74171
|
-
var
|
|
74419
|
+
var bz = class e extends V {
|
|
74172
74420
|
_boundedMobject;
|
|
74173
74421
|
_colors;
|
|
74174
74422
|
_numDashes;
|
|
@@ -74292,12 +74540,12 @@ var pz = class e extends V {
|
|
|
74292
74540
|
this._dashes = [], super.dispose();
|
|
74293
74541
|
}
|
|
74294
74542
|
};
|
|
74295
|
-
function
|
|
74296
|
-
return new
|
|
74543
|
+
function xz(e, t) {
|
|
74544
|
+
return new bz(e, t);
|
|
74297
74545
|
}
|
|
74298
74546
|
//#endregion
|
|
74299
74547
|
//#region src/animation/speed/index.ts
|
|
74300
|
-
var
|
|
74548
|
+
var Sz = class e extends cp {
|
|
74301
74549
|
normalizeTransform(e = this._ownMatrix()) {
|
|
74302
74550
|
return this._flattenAsContainer(e);
|
|
74303
74551
|
}
|
|
@@ -74308,7 +74556,7 @@ var hz = class e extends cp {
|
|
|
74308
74556
|
return new e();
|
|
74309
74557
|
}
|
|
74310
74558
|
};
|
|
74311
|
-
function
|
|
74559
|
+
function Cz(e, t, n = 100) {
|
|
74312
74560
|
let r = 0, i = 1 / n;
|
|
74313
74561
|
for (let e = 0; e < n; e++) {
|
|
74314
74562
|
let a = e / n, o = (e + 1) / n, s = Math.max(.001, t(a)), c = Math.max(.001, t(o));
|
|
@@ -74316,7 +74564,7 @@ function gz(e, t, n = 100) {
|
|
|
74316
74564
|
}
|
|
74317
74565
|
return e * r;
|
|
74318
74566
|
}
|
|
74319
|
-
function
|
|
74567
|
+
function wz(e, t, n = 100) {
|
|
74320
74568
|
let r = 0, i = 1 / n, a = [0];
|
|
74321
74569
|
for (let e = 0; e < n; e++) {
|
|
74322
74570
|
let o = e / n, s = (e + 1) / n, c = Math.max(.001, t(o)), l = Math.max(.001, t(s));
|
|
@@ -74330,12 +74578,12 @@ function _z(e, t, n = 100) {
|
|
|
74330
74578
|
let l = a[s], u = a[Math.min(c, n)], d = u > l ? (o - l) / (u - l) : 0;
|
|
74331
74579
|
return Math.min(1, Math.max(0, (s + d) / n));
|
|
74332
74580
|
}
|
|
74333
|
-
var
|
|
74581
|
+
var Tz = class extends o_ {
|
|
74334
74582
|
animation;
|
|
74335
74583
|
speedFunc;
|
|
74336
74584
|
_numSamples = 200;
|
|
74337
74585
|
constructor(e, t, n = {}) {
|
|
74338
|
-
let r = new
|
|
74586
|
+
let r = new Sz(), i = Cz(e.duration, t);
|
|
74339
74587
|
super(r, {
|
|
74340
74588
|
duration: i,
|
|
74341
74589
|
rateFunc: n.rateFunc ?? rg
|
|
@@ -74345,7 +74593,7 @@ var vz = class extends o_ {
|
|
|
74345
74593
|
super.begin(), this.animation.begin();
|
|
74346
74594
|
}
|
|
74347
74595
|
interpolate(e) {
|
|
74348
|
-
let t =
|
|
74596
|
+
let t = wz(e, this.speedFunc, this._numSamples), n = this.animation.rateFunc(t);
|
|
74349
74597
|
this.animation.interpolate(n);
|
|
74350
74598
|
}
|
|
74351
74599
|
finish() {
|
|
@@ -74355,19 +74603,19 @@ var vz = class extends o_ {
|
|
|
74355
74603
|
super.reset(), this.animation.reset();
|
|
74356
74604
|
}
|
|
74357
74605
|
};
|
|
74358
|
-
function
|
|
74359
|
-
return new
|
|
74606
|
+
function Ez(e, t, n) {
|
|
74607
|
+
return new Tz(e, t, n);
|
|
74360
74608
|
}
|
|
74361
|
-
function
|
|
74609
|
+
function Dz(e, t) {
|
|
74362
74610
|
return (n) => e + (t - e) * n;
|
|
74363
74611
|
}
|
|
74364
|
-
function
|
|
74612
|
+
function Oz(e, t, n = 2, r = .5) {
|
|
74365
74613
|
return (i) => i >= e && i <= t ? r : n;
|
|
74366
74614
|
}
|
|
74367
|
-
function
|
|
74615
|
+
function kz(e, t, n = 1, r = 3) {
|
|
74368
74616
|
return (i) => i >= e && i <= t ? r : n;
|
|
74369
74617
|
}
|
|
74370
|
-
function
|
|
74618
|
+
function Az(e, t) {
|
|
74371
74619
|
return (n) => {
|
|
74372
74620
|
let r = (1 + Math.cos(2 * Math.PI * n)) / 2;
|
|
74373
74621
|
return e + (t - e) * r;
|
|
@@ -74375,7 +74623,7 @@ function Cz(e, t) {
|
|
|
74375
74623
|
}
|
|
74376
74624
|
//#endregion
|
|
74377
74625
|
//#region src/animation/utility/index.ts
|
|
74378
|
-
var
|
|
74626
|
+
var jz = class extends o_ {
|
|
74379
74627
|
constructor(e, t = {}) {
|
|
74380
74628
|
super(e, {
|
|
74381
74629
|
...t,
|
|
@@ -74387,10 +74635,10 @@ var wz = class extends o_ {
|
|
|
74387
74635
|
}
|
|
74388
74636
|
interpolate(e) {}
|
|
74389
74637
|
};
|
|
74390
|
-
function
|
|
74391
|
-
return new
|
|
74638
|
+
function Mz(e, t) {
|
|
74639
|
+
return new jz(e, t);
|
|
74392
74640
|
}
|
|
74393
|
-
var
|
|
74641
|
+
var Nz = class extends o_ {
|
|
74394
74642
|
constructor(e, t = {}) {
|
|
74395
74643
|
super(e, {
|
|
74396
74644
|
...t,
|
|
@@ -74402,10 +74650,10 @@ var Ez = class extends o_ {
|
|
|
74402
74650
|
}
|
|
74403
74651
|
interpolate(e) {}
|
|
74404
74652
|
};
|
|
74405
|
-
function
|
|
74406
|
-
return new
|
|
74653
|
+
function Pz(e, t) {
|
|
74654
|
+
return new Nz(e, t);
|
|
74407
74655
|
}
|
|
74408
|
-
var
|
|
74656
|
+
var Fz = class extends o_ {
|
|
74409
74657
|
constructor(e, t = {}) {
|
|
74410
74658
|
super(e, {
|
|
74411
74659
|
duration: t.duration ?? 1,
|
|
@@ -74414,13 +74662,13 @@ var Oz = class extends o_ {
|
|
|
74414
74662
|
}
|
|
74415
74663
|
interpolate(e) {}
|
|
74416
74664
|
};
|
|
74417
|
-
function
|
|
74418
|
-
return new
|
|
74665
|
+
function Iz(e, t, n) {
|
|
74666
|
+
return new Fz(e, {
|
|
74419
74667
|
...n,
|
|
74420
74668
|
duration: t
|
|
74421
74669
|
});
|
|
74422
74670
|
}
|
|
74423
|
-
var
|
|
74671
|
+
var Lz = class extends o_ {
|
|
74424
74672
|
angle;
|
|
74425
74673
|
axis;
|
|
74426
74674
|
aboutPoint;
|
|
@@ -74458,10 +74706,10 @@ var Az = class extends o_ {
|
|
|
74458
74706
|
this.mobject._markDirty();
|
|
74459
74707
|
}
|
|
74460
74708
|
};
|
|
74461
|
-
function
|
|
74462
|
-
return new
|
|
74709
|
+
function Rz(e, t) {
|
|
74710
|
+
return new Lz(e, t);
|
|
74463
74711
|
}
|
|
74464
|
-
var
|
|
74712
|
+
var zz = class extends o_ {
|
|
74465
74713
|
focalPoint;
|
|
74466
74714
|
nMobs;
|
|
74467
74715
|
initialOpacity;
|
|
@@ -74520,12 +74768,12 @@ var Mz = class extends o_ {
|
|
|
74520
74768
|
this._copies = [], this._parentObject = null, super.finish();
|
|
74521
74769
|
}
|
|
74522
74770
|
};
|
|
74523
|
-
function
|
|
74524
|
-
return new
|
|
74771
|
+
function Bz(e, t) {
|
|
74772
|
+
return new zz(e, t);
|
|
74525
74773
|
}
|
|
74526
74774
|
//#endregion
|
|
74527
74775
|
//#region src/animation/indication/Indicate.ts
|
|
74528
|
-
var
|
|
74776
|
+
var Vz = class extends o_ {
|
|
74529
74777
|
scaleFactor;
|
|
74530
74778
|
indicateColor;
|
|
74531
74779
|
_originalScale = new L();
|
|
@@ -74549,12 +74797,12 @@ var Pz = class extends o_ {
|
|
|
74549
74797
|
this.mobject.scaleVector.copy(this._originalScale), this.mobject.setColor(this._originalColor), this.mobject._markDirty(), super.finish();
|
|
74550
74798
|
}
|
|
74551
74799
|
};
|
|
74552
|
-
function
|
|
74553
|
-
return new
|
|
74800
|
+
function Hz(e, t) {
|
|
74801
|
+
return new Vz(e, t);
|
|
74554
74802
|
}
|
|
74555
74803
|
//#endregion
|
|
74556
74804
|
//#region src/animation/indication/Flash.ts
|
|
74557
|
-
var
|
|
74805
|
+
var Uz = class extends o_ {
|
|
74558
74806
|
flashColor;
|
|
74559
74807
|
numLines;
|
|
74560
74808
|
flashRadius;
|
|
@@ -74627,12 +74875,12 @@ var Iz = class extends o_ {
|
|
|
74627
74875
|
}), this._flashGroup = null), super.finish();
|
|
74628
74876
|
}
|
|
74629
74877
|
};
|
|
74630
|
-
function
|
|
74631
|
-
return new
|
|
74878
|
+
function Wz(e, t) {
|
|
74879
|
+
return new Uz(e, t);
|
|
74632
74880
|
}
|
|
74633
74881
|
//#endregion
|
|
74634
74882
|
//#region src/animation/indication/Circumscribe.ts
|
|
74635
|
-
var
|
|
74883
|
+
var Gz = class extends o_ {
|
|
74636
74884
|
shapeType;
|
|
74637
74885
|
shapeColor;
|
|
74638
74886
|
buff;
|
|
@@ -74722,12 +74970,12 @@ var Rz = class extends o_ {
|
|
|
74722
74970
|
}), this._shapeGroup = null), super.finish();
|
|
74723
74971
|
}
|
|
74724
74972
|
};
|
|
74725
|
-
function
|
|
74726
|
-
return new
|
|
74973
|
+
function Kz(e, t) {
|
|
74974
|
+
return new Gz(e, t);
|
|
74727
74975
|
}
|
|
74728
74976
|
//#endregion
|
|
74729
74977
|
//#region src/animation/indication/Wiggle.ts
|
|
74730
|
-
var
|
|
74978
|
+
var qz = class extends o_ {
|
|
74731
74979
|
rotationAngle;
|
|
74732
74980
|
nWiggles;
|
|
74733
74981
|
scaleFactor;
|
|
@@ -74771,12 +75019,12 @@ var Bz = class extends o_ {
|
|
|
74771
75019
|
this.mobject.rotation.setFromQuaternion(this._initialQuaternion), this.mobject.scaleVector.copy(this._initialScale), this.mobject.position.copy(this._initialPosition), this.mobject._markDirty(), super.finish();
|
|
74772
75020
|
}
|
|
74773
75021
|
};
|
|
74774
|
-
function
|
|
74775
|
-
return new
|
|
75022
|
+
function Jz(e, t) {
|
|
75023
|
+
return new qz(e, t);
|
|
74776
75024
|
}
|
|
74777
75025
|
//#endregion
|
|
74778
75026
|
//#region src/animation/indication/ShowPassingFlash.ts
|
|
74779
|
-
var
|
|
75027
|
+
var Yz = class extends o_ {
|
|
74780
75028
|
flashColor;
|
|
74781
75029
|
timeWidth;
|
|
74782
75030
|
flashStrokeWidth;
|
|
@@ -74877,12 +75125,12 @@ var Hz = class extends o_ {
|
|
|
74877
75125
|
}), this._flashGroup = null), super.finish();
|
|
74878
75126
|
}
|
|
74879
75127
|
};
|
|
74880
|
-
function
|
|
74881
|
-
return new
|
|
75128
|
+
function Xz(e, t) {
|
|
75129
|
+
return new Yz(e, t);
|
|
74882
75130
|
}
|
|
74883
75131
|
//#endregion
|
|
74884
75132
|
//#region src/animation/indication/ApplyWave.ts
|
|
74885
|
-
var
|
|
75133
|
+
var Zz = class extends o_ {
|
|
74886
75134
|
direction;
|
|
74887
75135
|
amplitude;
|
|
74888
75136
|
wavelength;
|
|
@@ -74968,12 +75216,12 @@ var Wz = class extends o_ {
|
|
|
74968
75216
|
this._isVMobject && this.mobject.setPoints(this._originalPoints), this.mobject.position.copy(this._originalPosition), this.mobject._markDirty(), super.finish();
|
|
74969
75217
|
}
|
|
74970
75218
|
};
|
|
74971
|
-
function
|
|
74972
|
-
return new
|
|
75219
|
+
function Qz(e, t) {
|
|
75220
|
+
return new Zz(e, t);
|
|
74973
75221
|
}
|
|
74974
75222
|
//#endregion
|
|
74975
75223
|
//#region src/animation/indication/FocusOn.ts
|
|
74976
|
-
var
|
|
75224
|
+
var $z = class extends o_ {
|
|
74977
75225
|
focusColor;
|
|
74978
75226
|
startRadius;
|
|
74979
75227
|
endRadius;
|
|
@@ -75045,10 +75293,10 @@ var Kz = class extends o_ {
|
|
|
75045
75293
|
}), this._ringsGroup = null), super.finish();
|
|
75046
75294
|
}
|
|
75047
75295
|
};
|
|
75048
|
-
function
|
|
75049
|
-
return new
|
|
75296
|
+
function eB(e, t) {
|
|
75297
|
+
return new $z(e, t);
|
|
75050
75298
|
}
|
|
75051
|
-
var
|
|
75299
|
+
var tB = class extends o_ {
|
|
75052
75300
|
scaleFactor;
|
|
75053
75301
|
nPulses;
|
|
75054
75302
|
_originalScale = new L();
|
|
@@ -75069,12 +75317,12 @@ var Jz = class extends o_ {
|
|
|
75069
75317
|
this.mobject.scaleVector.copy(this._originalScale), this.mobject._markDirty(), super.finish();
|
|
75070
75318
|
}
|
|
75071
75319
|
};
|
|
75072
|
-
function
|
|
75073
|
-
return new
|
|
75320
|
+
function nB(e, t) {
|
|
75321
|
+
return new tB(e, t);
|
|
75074
75322
|
}
|
|
75075
75323
|
//#endregion
|
|
75076
75324
|
//#region src/animation/indication/ShowPassingFlashWithThinningStrokeWidth.ts
|
|
75077
|
-
var
|
|
75325
|
+
var rB = class extends Yz {
|
|
75078
75326
|
minStrokeWidthRatio;
|
|
75079
75327
|
constructor(e, t = {}) {
|
|
75080
75328
|
super(e, t), this.minStrokeWidthRatio = t.minStrokeWidthRatio ?? .1;
|
|
@@ -75115,12 +75363,12 @@ var Xz = class extends Hz {
|
|
|
75115
75363
|
}
|
|
75116
75364
|
}
|
|
75117
75365
|
};
|
|
75118
|
-
function
|
|
75119
|
-
return new
|
|
75366
|
+
function iB(e, t) {
|
|
75367
|
+
return new rB(e, t);
|
|
75120
75368
|
}
|
|
75121
75369
|
//#endregion
|
|
75122
75370
|
//#region src/animation/indication/Blink.ts
|
|
75123
|
-
var
|
|
75371
|
+
var aB = class extends o_ {
|
|
75124
75372
|
nBlinks;
|
|
75125
75373
|
minOpacity;
|
|
75126
75374
|
blinkDuration;
|
|
@@ -75161,12 +75409,12 @@ var Qz = class extends o_ {
|
|
|
75161
75409
|
this.mobject._markDirty(), super.finish();
|
|
75162
75410
|
}
|
|
75163
75411
|
};
|
|
75164
|
-
function
|
|
75165
|
-
return new
|
|
75412
|
+
function oB(e, t) {
|
|
75413
|
+
return new aB(e, t);
|
|
75166
75414
|
}
|
|
75167
75415
|
//#endregion
|
|
75168
75416
|
//#region src/animation/indication/ShowCreationThenDestruction.ts
|
|
75169
|
-
var
|
|
75417
|
+
var sB = class extends o_ {
|
|
75170
75418
|
_totalLength = 0;
|
|
75171
75419
|
_useDashReveal = !1;
|
|
75172
75420
|
constructor(e, t = {}) {
|
|
@@ -75201,19 +75449,19 @@ var eB = class extends o_ {
|
|
|
75201
75449
|
}) : this.mobject.setStrokeOpacity(0), super.finish();
|
|
75202
75450
|
}
|
|
75203
75451
|
};
|
|
75204
|
-
function
|
|
75205
|
-
return new
|
|
75452
|
+
function cB(e, t) {
|
|
75453
|
+
return new sB(e, t);
|
|
75206
75454
|
}
|
|
75207
75455
|
//#endregion
|
|
75208
75456
|
//#region src/animation/indication/WiggleOutThenIn.ts
|
|
75209
|
-
var
|
|
75210
|
-
function
|
|
75457
|
+
var lB = 2 * Math.PI;
|
|
75458
|
+
function uB(e) {
|
|
75211
75459
|
return of(e < .5 ? 2 * e : 2 * (1 - e));
|
|
75212
75460
|
}
|
|
75213
|
-
function
|
|
75214
|
-
return Math.sin(t *
|
|
75461
|
+
function dB(e, t) {
|
|
75462
|
+
return Math.sin(t * lB * e) * uB(e);
|
|
75215
75463
|
}
|
|
75216
|
-
var
|
|
75464
|
+
var fB = class extends o_ {
|
|
75217
75465
|
scaleValue;
|
|
75218
75466
|
rotationAngle;
|
|
75219
75467
|
nWiggles;
|
|
@@ -75227,7 +75475,7 @@ var aB = class extends o_ {
|
|
|
75227
75475
|
super(e, {
|
|
75228
75476
|
duration: t.duration ?? 2,
|
|
75229
75477
|
rateFunc: t.rateFunc ?? rg
|
|
75230
|
-
}), this.scaleValue = t.scaleValue ?? 1.1, this.rotationAngle = t.rotationAngle ?? .01 *
|
|
75478
|
+
}), this.scaleValue = t.scaleValue ?? 1.1, this.rotationAngle = t.rotationAngle ?? .01 * lB, this.nWiggles = t.nWiggles ?? 6, this.rotationAxis = t.rotationAxis ?? [
|
|
75231
75479
|
0,
|
|
75232
75480
|
0,
|
|
75233
75481
|
1
|
|
@@ -75239,9 +75487,9 @@ var aB = class extends o_ {
|
|
|
75239
75487
|
this._aboutPoint.set(e[0], e[1], e[2]);
|
|
75240
75488
|
}
|
|
75241
75489
|
interpolate(e) {
|
|
75242
|
-
let t =
|
|
75490
|
+
let t = uB(e), n = nf(1, this.scaleValue, t);
|
|
75243
75491
|
this.mobject.scaleVector.set(this._initialScale.x * n, this._initialScale.y * n, this._initialScale.z * n);
|
|
75244
|
-
let r =
|
|
75492
|
+
let r = dB(e, this.nWiggles) * this.rotationAngle, i = new Jt().setFromAxisAngle(this._axisVector, r), a = new Jt().copy(this._initialQuaternion);
|
|
75245
75493
|
a.premultiply(i), this.mobject.rotation.setFromQuaternion(a);
|
|
75246
75494
|
let o = new L().copy(this._initialPosition).sub(this._aboutPoint);
|
|
75247
75495
|
o.applyQuaternion(i);
|
|
@@ -75252,12 +75500,12 @@ var aB = class extends o_ {
|
|
|
75252
75500
|
this.mobject.rotation.setFromQuaternion(this._initialQuaternion), this.mobject.scaleVector.copy(this._initialScale), this.mobject.position.copy(this._initialPosition), this.mobject._markDirty(), super.finish();
|
|
75253
75501
|
}
|
|
75254
75502
|
};
|
|
75255
|
-
function
|
|
75256
|
-
return new
|
|
75503
|
+
function pB(e, t) {
|
|
75504
|
+
return new fB(e, t);
|
|
75257
75505
|
}
|
|
75258
75506
|
//#endregion
|
|
75259
75507
|
//#region src/interaction/Controls.ts
|
|
75260
|
-
var
|
|
75508
|
+
var mB = class {
|
|
75261
75509
|
_scene;
|
|
75262
75510
|
_panel;
|
|
75263
75511
|
_options;
|
|
@@ -75505,7 +75753,7 @@ var sB = class {
|
|
|
75505
75753
|
dispose() {
|
|
75506
75754
|
this._panel.remove();
|
|
75507
75755
|
}
|
|
75508
|
-
},
|
|
75756
|
+
}, hB = class extends mB {
|
|
75509
75757
|
_timeline = null;
|
|
75510
75758
|
_playPauseBtn = null;
|
|
75511
75759
|
_speedSelect = null;
|
|
@@ -75715,7 +75963,7 @@ var sB = class {
|
|
|
75715
75963
|
dispose() {
|
|
75716
75964
|
this._updateInterval !== null && (cancelAnimationFrame(this._updateInterval), this._updateInterval = null), super.dispose();
|
|
75717
75965
|
}
|
|
75718
|
-
},
|
|
75966
|
+
}, gB = class {
|
|
75719
75967
|
_mobject;
|
|
75720
75968
|
_scene;
|
|
75721
75969
|
_options;
|
|
@@ -75848,12 +76096,12 @@ var sB = class {
|
|
|
75848
76096
|
e.removeEventListener("mousedown", this._onMouseDown), window.removeEventListener("mousemove", this._onMouseMove), window.removeEventListener("mouseup", this._onMouseUp), e.removeEventListener("touchstart", this._onTouchStart), window.removeEventListener("touchmove", this._onTouchMove), window.removeEventListener("touchend", this._onTouchEnd);
|
|
75849
76097
|
}
|
|
75850
76098
|
};
|
|
75851
|
-
function
|
|
75852
|
-
return new
|
|
76099
|
+
function _B(e, t, n) {
|
|
76100
|
+
return new gB(e, t, n);
|
|
75853
76101
|
}
|
|
75854
76102
|
//#endregion
|
|
75855
76103
|
//#region src/interaction/Hoverable.ts
|
|
75856
|
-
var
|
|
76104
|
+
var vB = class {
|
|
75857
76105
|
_mobject;
|
|
75858
76106
|
_scene;
|
|
75859
76107
|
_options;
|
|
@@ -75936,12 +76184,12 @@ var dB = class {
|
|
|
75936
76184
|
e.removeEventListener("mousemove", this._onMouseMove), e.removeEventListener("mouseleave", this._onMouseLeave), this._isHovering && this._endHover();
|
|
75937
76185
|
}
|
|
75938
76186
|
};
|
|
75939
|
-
function
|
|
75940
|
-
return new
|
|
76187
|
+
function yB(e, t, n) {
|
|
76188
|
+
return new vB(e, t, n);
|
|
75941
76189
|
}
|
|
75942
76190
|
//#endregion
|
|
75943
76191
|
//#region src/interaction/Clickable.ts
|
|
75944
|
-
var
|
|
76192
|
+
var bB = class {
|
|
75945
76193
|
_mobject;
|
|
75946
76194
|
_scene;
|
|
75947
76195
|
_options;
|
|
@@ -76037,12 +76285,12 @@ var pB = class {
|
|
|
76037
76285
|
e.removeEventListener("click", this._onClick), e.removeEventListener("dblclick", this._onDblClick), e.removeEventListener("touchstart", this._onTouchStart), e.removeEventListener("touchend", this._onTouchEnd);
|
|
76038
76286
|
}
|
|
76039
76287
|
};
|
|
76040
|
-
function
|
|
76041
|
-
return new
|
|
76288
|
+
function xB(e, t, n) {
|
|
76289
|
+
return new bB(e, t, n);
|
|
76042
76290
|
}
|
|
76043
76291
|
//#endregion
|
|
76044
76292
|
//#region src/interaction/MovablePoint.ts
|
|
76045
|
-
var
|
|
76293
|
+
var SB = class extends IO {
|
|
76046
76294
|
_draggable;
|
|
76047
76295
|
_onChange;
|
|
76048
76296
|
_xTracker;
|
|
@@ -76059,7 +76307,7 @@ var hB = class extends IO {
|
|
|
76059
76307
|
point: n,
|
|
76060
76308
|
color: r,
|
|
76061
76309
|
radius: i
|
|
76062
|
-
}), this._onChange = a, this._xTracker = o, this._yTracker = s, this._draggable = new
|
|
76310
|
+
}), this._onChange = a, this._xTracker = o, this._yTracker = s, this._draggable = new gB(this, e, {
|
|
76063
76311
|
autoRender: c,
|
|
76064
76312
|
onDrag: (e, t) => this._commit(t, !0)
|
|
76065
76313
|
}), this._syncTrackers(this.getPoint());
|
|
@@ -76077,7 +76325,7 @@ var hB = class extends IO {
|
|
|
76077
76325
|
constrainToParametric(e, t) {
|
|
76078
76326
|
let n = t[0], r = t[1], i = t.length > 2 ? Math.max(2, Math.floor(t[2])) : 256;
|
|
76079
76327
|
return this._constraint = ([t, a, o]) => {
|
|
76080
|
-
let s =
|
|
76328
|
+
let s = wB(e, n, r, i, t, a);
|
|
76081
76329
|
this._parameter = s;
|
|
76082
76330
|
let [c, l] = e(s);
|
|
76083
76331
|
return [
|
|
@@ -76088,10 +76336,10 @@ var hB = class extends IO {
|
|
|
76088
76336
|
}, this._reproject(), this;
|
|
76089
76337
|
}
|
|
76090
76338
|
constrainToLine(e, t) {
|
|
76091
|
-
return this._constraint = (n) =>
|
|
76339
|
+
return this._constraint = (n) => CB(e, t, n, !1), this._reproject(), this;
|
|
76092
76340
|
}
|
|
76093
76341
|
constrainToSegment(e, t) {
|
|
76094
|
-
return this._constraint = (n) =>
|
|
76342
|
+
return this._constraint = (n) => CB(e, t, n, !0), this._reproject(), this;
|
|
76095
76343
|
}
|
|
76096
76344
|
clearConstraint() {
|
|
76097
76345
|
return this._constraint = null, this._parameter = null, this;
|
|
@@ -76116,7 +76364,7 @@ var hB = class extends IO {
|
|
|
76116
76364
|
this._xTracker?.setValue(e[0]), this._yTracker?.setValue(e[1]);
|
|
76117
76365
|
}
|
|
76118
76366
|
};
|
|
76119
|
-
function
|
|
76367
|
+
function CB(e, t, n, r) {
|
|
76120
76368
|
let i = t[0] - e[0], a = t[1] - e[1], o = i * i + a * a, s = o === 0 ? 0 : ((n[0] - e[0]) * i + (n[1] - e[1]) * a) / o;
|
|
76121
76369
|
return r && (s = Math.max(0, Math.min(1, s))), [
|
|
76122
76370
|
e[0] + s * i,
|
|
@@ -76124,7 +76372,7 @@ function gB(e, t, n, r) {
|
|
|
76124
76372
|
n[2]
|
|
76125
76373
|
];
|
|
76126
76374
|
}
|
|
76127
|
-
function
|
|
76375
|
+
function wB(e, t, n, r, i, a) {
|
|
76128
76376
|
let o = (t) => {
|
|
76129
76377
|
let [n, r] = e(t), o = n - i, s = r - a;
|
|
76130
76378
|
return o * o + s * s;
|
|
@@ -76140,12 +76388,12 @@ function _B(e, t, n, r, i, a) {
|
|
|
76140
76388
|
}
|
|
76141
76389
|
return (u + d) / 2;
|
|
76142
76390
|
}
|
|
76143
|
-
function
|
|
76144
|
-
return new
|
|
76391
|
+
function TB(e, t) {
|
|
76392
|
+
return new SB(e, t);
|
|
76145
76393
|
}
|
|
76146
76394
|
//#endregion
|
|
76147
76395
|
//#region src/interaction/Slider.ts
|
|
76148
|
-
var
|
|
76396
|
+
var EB = 28, DB = .35, OB = class extends PT {
|
|
76149
76397
|
_min;
|
|
76150
76398
|
_max;
|
|
76151
76399
|
_step;
|
|
@@ -76161,7 +76409,7 @@ var yB = 28, bB = .35, xB = class extends PT {
|
|
|
76161
76409
|
_draggable;
|
|
76162
76410
|
constructor(e, t = {}) {
|
|
76163
76411
|
super();
|
|
76164
|
-
let n =
|
|
76412
|
+
let n = kB(t), { center: r, color: i } = n;
|
|
76165
76413
|
this._min = n.min, this._max = n.max, this._step = n.step, this._length = n.length, this._center = [...r], this._trackY = r[1], this._tracker = n.tracker ?? new Yj(n.value), this._onChange = n.onChange, this._value = this._clampAndStep(n.value);
|
|
76166
76414
|
let a = r[0] - n.length / 2;
|
|
76167
76415
|
this._track = new rD({
|
|
@@ -76184,7 +76432,7 @@ var yB = 28, bB = .35, xB = class extends PT {
|
|
|
76184
76432
|
],
|
|
76185
76433
|
color: i,
|
|
76186
76434
|
radius: n.handleRadius
|
|
76187
|
-
}), this.add(this._track), this.add(this._handle), n.showLabel && this._createLabel(n.numDecimalPlaces, i), this._tracker.setValue(this._value), this._draggable = new
|
|
76435
|
+
}), this.add(this._track), this.add(this._handle), n.showLabel && this._createLabel(n.numDecimalPlaces, i), this._tracker.setValue(this._value), this._draggable = new gB(this._handle, e, {
|
|
76188
76436
|
autoRender: n.autoRender,
|
|
76189
76437
|
onDrag: (e, t) => this.setValue(this._xToValue(t[0]))
|
|
76190
76438
|
});
|
|
@@ -76222,7 +76470,7 @@ var yB = 28, bB = .35, xB = class extends PT {
|
|
|
76222
76470
|
this._label = new Kj({
|
|
76223
76471
|
value: this._value,
|
|
76224
76472
|
numDecimalPlaces: e,
|
|
76225
|
-
fontSize:
|
|
76473
|
+
fontSize: EB,
|
|
76226
76474
|
color: t
|
|
76227
76475
|
}), this.add(this._label), this._positionLabel();
|
|
76228
76476
|
}
|
|
@@ -76231,7 +76479,7 @@ var yB = 28, bB = .35, xB = class extends PT {
|
|
|
76231
76479
|
let e = this._valueToX(this._value);
|
|
76232
76480
|
this._label.moveTo([
|
|
76233
76481
|
e,
|
|
76234
|
-
this._trackY +
|
|
76482
|
+
this._trackY + DB,
|
|
76235
76483
|
this._center[2]
|
|
76236
76484
|
]);
|
|
76237
76485
|
}
|
|
@@ -76248,7 +76496,7 @@ var yB = 28, bB = .35, xB = class extends PT {
|
|
|
76248
76496
|
return this._step > 0 && (t = this._min + Math.round((e - this._min) / this._step) * this._step), Math.max(this._min, Math.min(this._max, t));
|
|
76249
76497
|
}
|
|
76250
76498
|
};
|
|
76251
|
-
function
|
|
76499
|
+
function kB(e) {
|
|
76252
76500
|
let t = e.min ?? 0;
|
|
76253
76501
|
return {
|
|
76254
76502
|
min: t,
|
|
@@ -76271,18 +76519,18 @@ function SB(e) {
|
|
|
76271
76519
|
autoRender: e.autoRender
|
|
76272
76520
|
};
|
|
76273
76521
|
}
|
|
76274
|
-
function
|
|
76275
|
-
return new
|
|
76522
|
+
function AB(e, t) {
|
|
76523
|
+
return new OB(e, t);
|
|
76276
76524
|
}
|
|
76277
76525
|
//#endregion
|
|
76278
76526
|
//#region src/interaction/DynamicMatrix.ts
|
|
76279
|
-
function
|
|
76527
|
+
function jB() {
|
|
76280
76528
|
return [[1, 0], [0, 1]];
|
|
76281
76529
|
}
|
|
76282
|
-
function
|
|
76530
|
+
function MB(e) {
|
|
76283
76531
|
return [[e[0][0], e[0][1]], [e[1][0], e[1][1]]];
|
|
76284
76532
|
}
|
|
76285
|
-
function
|
|
76533
|
+
function NB(e) {
|
|
76286
76534
|
if (typeof e == "function") {
|
|
76287
76535
|
let t = e();
|
|
76288
76536
|
return [t[0], t[1]];
|
|
@@ -76290,17 +76538,17 @@ function EB(e) {
|
|
|
76290
76538
|
let t = e.getPoint();
|
|
76291
76539
|
return [t[0], t[1]];
|
|
76292
76540
|
}
|
|
76293
|
-
var
|
|
76541
|
+
var PB = class e {
|
|
76294
76542
|
_matrix;
|
|
76295
76543
|
_compute;
|
|
76296
|
-
constructor(e =
|
|
76297
|
-
this._matrix =
|
|
76544
|
+
constructor(e = jB()) {
|
|
76545
|
+
this._matrix = MB(e), this._compute = null;
|
|
76298
76546
|
}
|
|
76299
76547
|
getMatrix() {
|
|
76300
|
-
return
|
|
76548
|
+
return MB(this._compute ? this._compute() : this._matrix);
|
|
76301
76549
|
}
|
|
76302
76550
|
setMatrix(e) {
|
|
76303
|
-
return this._compute = null, this._matrix =
|
|
76551
|
+
return this._compute = null, this._matrix = MB(e), this;
|
|
76304
76552
|
}
|
|
76305
76553
|
setColumns(e, t) {
|
|
76306
76554
|
return this.setMatrix([[e[0], t[0]], [e[1], t[1]]]);
|
|
@@ -76319,19 +76567,19 @@ var DB = class e {
|
|
|
76319
76567
|
}
|
|
76320
76568
|
static fromBasisVectors(t, n) {
|
|
76321
76569
|
return e.fromGetter(() => {
|
|
76322
|
-
let e =
|
|
76570
|
+
let e = NB(t), r = NB(n);
|
|
76323
76571
|
return [[e[0], r[0]], [e[1], r[1]]];
|
|
76324
76572
|
});
|
|
76325
76573
|
}
|
|
76326
76574
|
};
|
|
76327
|
-
function
|
|
76328
|
-
return new
|
|
76575
|
+
function FB(e) {
|
|
76576
|
+
return new PB(e);
|
|
76329
76577
|
}
|
|
76330
|
-
function
|
|
76331
|
-
return e instanceof
|
|
76578
|
+
function IB(e) {
|
|
76579
|
+
return e instanceof PB ? e : typeof e == "function" ? PB.fromGetter(e) : new PB(e);
|
|
76332
76580
|
}
|
|
76333
|
-
function
|
|
76334
|
-
let r =
|
|
76581
|
+
function LB(e, t, n = {}) {
|
|
76582
|
+
let r = IB(t), i = n.aboutPoint ?? [
|
|
76335
76583
|
0,
|
|
76336
76584
|
0,
|
|
76337
76585
|
0
|
|
@@ -76371,10 +76619,10 @@ function AB(e, t, n = {}) {
|
|
|
76371
76619
|
}
|
|
76372
76620
|
//#endregion
|
|
76373
76621
|
//#region src/interaction/PanZoomControls.ts
|
|
76374
|
-
function
|
|
76622
|
+
function RB(e, t, n) {
|
|
76375
76623
|
return Math.max(t, Math.min(n, e));
|
|
76376
76624
|
}
|
|
76377
|
-
var
|
|
76625
|
+
var zB = class {
|
|
76378
76626
|
_camera;
|
|
76379
76627
|
_domElement;
|
|
76380
76628
|
_options;
|
|
@@ -76426,7 +76674,7 @@ var MB = class {
|
|
|
76426
76674
|
if (!this._enabled || !this._options.enableZoom) return;
|
|
76427
76675
|
let t = this._eventToNdc(e.clientX, e.clientY);
|
|
76428
76676
|
if (!t) return;
|
|
76429
|
-
let n = this._worldAt(t.x, t.y), r = this._options.invertZoom ? -e.deltaY : e.deltaY, i = Math.exp(r * this._options.zoomSpeed), a = this._baseFrameWidth / this._options.maxZoom, o = this._baseFrameWidth / this._options.minZoom, s =
|
|
76677
|
+
let n = this._worldAt(t.x, t.y), r = this._options.invertZoom ? -e.deltaY : e.deltaY, i = Math.exp(r * this._options.zoomSpeed), a = this._baseFrameWidth / this._options.maxZoom, o = this._baseFrameWidth / this._options.minZoom, s = RB(this._camera.frameWidth * i, a, o) / this._camera.frameWidth;
|
|
76430
76678
|
if (s === 1) return;
|
|
76431
76679
|
this._camera.frameWidth = this._camera.frameWidth * s, this._camera.frameHeight = this._camera.frameHeight * s;
|
|
76432
76680
|
let c = n.x - t.x * this._camera.frameWidth / 2, l = n.y - t.y * this._camera.frameHeight / 2;
|
|
@@ -76475,12 +76723,12 @@ var MB = class {
|
|
|
76475
76723
|
this._options.onChange?.();
|
|
76476
76724
|
}
|
|
76477
76725
|
};
|
|
76478
|
-
function
|
|
76479
|
-
return new
|
|
76726
|
+
function BB(e, t, n) {
|
|
76727
|
+
return new zB(e, t, n);
|
|
76480
76728
|
}
|
|
76481
76729
|
//#endregion
|
|
76482
76730
|
//#region node_modules/gif.js/dist/gif.js
|
|
76483
|
-
var
|
|
76731
|
+
var VB = /* @__PURE__ */ r(((e, t) => {
|
|
76484
76732
|
(function(n) {
|
|
76485
76733
|
if (typeof e == "object" && t !== void 0) t.exports = n();
|
|
76486
76734
|
else if (typeof define == "function" && define.amd) define([], n);
|
|
@@ -76734,10 +76982,10 @@ var PB = /* @__PURE__ */ r(((e, t) => {
|
|
|
76734
76982
|
}]
|
|
76735
76983
|
}, {}, [3])(3);
|
|
76736
76984
|
});
|
|
76737
|
-
})),
|
|
76738
|
-
GifExporter: () =>
|
|
76739
|
-
createGifExporter: () =>
|
|
76740
|
-
}),
|
|
76985
|
+
})), HB = /* @__PURE__ */ t({
|
|
76986
|
+
GifExporter: () => WB,
|
|
76987
|
+
createGifExporter: () => GB
|
|
76988
|
+
}), UB = /* @__PURE__ */ e(VB(), 1), WB = class e {
|
|
76741
76989
|
_scene;
|
|
76742
76990
|
_options;
|
|
76743
76991
|
constructor(e, t) {
|
|
@@ -76755,7 +77003,7 @@ var PB = /* @__PURE__ */ r(((e, t) => {
|
|
|
76755
77003
|
};
|
|
76756
77004
|
}
|
|
76757
77005
|
async exportTimeline(e) {
|
|
76758
|
-
let t = (e || this._options.duration || this._getTimelineDuration()) ?? 5, n = Math.ceil(t * this._options.fps), r = Math.round(1e3 / this._options.fps), i = await this._createWorkerBlobUrl(), a = new
|
|
77006
|
+
let t = (e || this._options.duration || this._getTimelineDuration()) ?? 5, n = Math.ceil(t * this._options.fps), r = Math.round(1e3 / this._options.fps), i = await this._createWorkerBlobUrl(), a = new UB.default({
|
|
76759
77007
|
workers: this._options.workers,
|
|
76760
77008
|
quality: this._options.quality,
|
|
76761
77009
|
width: this._options.width,
|
|
@@ -76814,15 +77062,15 @@ var PB = /* @__PURE__ */ r(((e, t) => {
|
|
|
76814
77062
|
e.download(r, t);
|
|
76815
77063
|
}
|
|
76816
77064
|
};
|
|
76817
|
-
function
|
|
76818
|
-
return new
|
|
77065
|
+
function GB(e, t) {
|
|
77066
|
+
return new WB(e, t);
|
|
76819
77067
|
}
|
|
76820
77068
|
//#endregion
|
|
76821
77069
|
//#region src/export/VideoExporter.ts
|
|
76822
|
-
var
|
|
76823
|
-
VideoExporter: () =>
|
|
76824
|
-
createVideoExporter: () =>
|
|
76825
|
-
}),
|
|
77070
|
+
var KB = /* @__PURE__ */ t({
|
|
77071
|
+
VideoExporter: () => qB,
|
|
77072
|
+
createVideoExporter: () => JB
|
|
77073
|
+
}), qB = class e {
|
|
76826
77074
|
_scene;
|
|
76827
77075
|
_options;
|
|
76828
77076
|
_mediaRecorder = null;
|
|
@@ -76914,26 +77162,26 @@ var zB = /* @__PURE__ */ t({
|
|
|
76914
77162
|
return { ...this._options };
|
|
76915
77163
|
}
|
|
76916
77164
|
};
|
|
76917
|
-
function
|
|
76918
|
-
return new
|
|
77165
|
+
function JB(e, t) {
|
|
77166
|
+
return new qB(e, t);
|
|
76919
77167
|
}
|
|
76920
77168
|
//#endregion
|
|
76921
77169
|
//#region src/export/alphaBackground.ts
|
|
76922
|
-
var
|
|
76923
|
-
function
|
|
77170
|
+
var YB = "Transparent export needs a WebGL context created with an alpha channel. Create the Scene with { alpha: true } (or backgroundOpacity < 1) so the canvas carries a real alpha channel to export.", XB = "Transparent export needs access to the WebGL renderer, but the scene did not expose one.";
|
|
77171
|
+
function ZB(e) {
|
|
76924
77172
|
let t = e.renderer;
|
|
76925
77173
|
return !t || typeof t.getThreeRenderer != "function" ? null : t.getThreeRenderer() ?? null;
|
|
76926
77174
|
}
|
|
76927
|
-
function
|
|
77175
|
+
function QB(e) {
|
|
76928
77176
|
return e.getContext().getContextAttributes()?.alpha === !0;
|
|
76929
77177
|
}
|
|
76930
|
-
function
|
|
76931
|
-
let t =
|
|
76932
|
-
if (!t) throw Error(
|
|
76933
|
-
if (!
|
|
77178
|
+
function $B(e) {
|
|
77179
|
+
let t = ZB(e);
|
|
77180
|
+
if (!t) throw Error(XB);
|
|
77181
|
+
if (!QB(t)) throw Error(YB);
|
|
76934
77182
|
return t;
|
|
76935
77183
|
}
|
|
76936
|
-
async function
|
|
77184
|
+
async function eV(e, t) {
|
|
76937
77185
|
let n = e.getClearAlpha();
|
|
76938
77186
|
e.setClearAlpha(0);
|
|
76939
77187
|
try {
|
|
@@ -76944,7 +77192,7 @@ async function qB(e, t) {
|
|
|
76944
77192
|
}
|
|
76945
77193
|
//#endregion
|
|
76946
77194
|
//#region src/export/FrameExporter.ts
|
|
76947
|
-
function
|
|
77195
|
+
function tV(e, t, n) {
|
|
76948
77196
|
return new Promise((r, i) => {
|
|
76949
77197
|
if (typeof e.toBlob == "function") {
|
|
76950
77198
|
e.toBlob((e) => {
|
|
@@ -76953,22 +77201,22 @@ function JB(e, t, n) {
|
|
|
76953
77201
|
return;
|
|
76954
77202
|
}
|
|
76955
77203
|
try {
|
|
76956
|
-
r(
|
|
77204
|
+
r(nV(e.toDataURL(t, n)));
|
|
76957
77205
|
} catch (e) {
|
|
76958
77206
|
i(e instanceof Error ? e : Error(String(e)));
|
|
76959
77207
|
}
|
|
76960
77208
|
});
|
|
76961
77209
|
}
|
|
76962
|
-
function
|
|
77210
|
+
function nV(e) {
|
|
76963
77211
|
let [t, n] = e.split(","), r = t.match(/data:([^;]+)/), i = r ? r[1] : "image/png", a = atob(n), o = new Uint8Array(a.length);
|
|
76964
77212
|
for (let e = 0; e < a.length; e++) o[e] = a.charCodeAt(e);
|
|
76965
77213
|
return new Blob([o], { type: i });
|
|
76966
77214
|
}
|
|
76967
|
-
async function
|
|
77215
|
+
async function rV(e, t) {
|
|
76968
77216
|
let n = t?.type ?? "image/png";
|
|
76969
|
-
return t?.transparent ?
|
|
77217
|
+
return t?.transparent ? eV($B(e), () => (iV(e, t?.time), tV(e.getCanvas(), n, t?.quality))) : (t?.time !== void 0 && e.seek(t.time), tV(e.getCanvas(), n, t?.quality));
|
|
76970
77218
|
}
|
|
76971
|
-
function
|
|
77219
|
+
function iV(e, t) {
|
|
76972
77220
|
if (t !== void 0) {
|
|
76973
77221
|
e.seek(t);
|
|
76974
77222
|
return;
|
|
@@ -76979,29 +77227,29 @@ function ZB(e, t) {
|
|
|
76979
77227
|
}
|
|
76980
77228
|
throw Error("Transparent single-frame export needs either a `time` to seek to, or a scene with a render() method, so the frame is re-rendered with a transparent background.");
|
|
76981
77229
|
}
|
|
76982
|
-
async function
|
|
77230
|
+
async function aV(e, t) {
|
|
76983
77231
|
let n = t.fps, r = t.from ?? 0, i = t.to ?? e.getTimelineDuration() ?? 5, a = t.type ?? "image/png", o = t.onProgress ?? (() => {}), s = Math.max(0, i - r), c = Math.ceil(s * n), l = 1 / n, u = async () => {
|
|
76984
77232
|
let n = [];
|
|
76985
77233
|
for (let i = 0; i < c; i++) {
|
|
76986
77234
|
let s = r + i * l;
|
|
76987
77235
|
e.seek(s);
|
|
76988
77236
|
let u = e.getCanvas();
|
|
76989
|
-
n.push(await
|
|
77237
|
+
n.push(await tV(u, a, t.quality)), o((i + 1) / c);
|
|
76990
77238
|
}
|
|
76991
77239
|
return n;
|
|
76992
77240
|
};
|
|
76993
|
-
return t.transparent ?
|
|
77241
|
+
return t.transparent ? eV($B(e), u) : u();
|
|
76994
77242
|
}
|
|
76995
|
-
function
|
|
77243
|
+
function oV(e, t) {
|
|
76996
77244
|
let n = URL.createObjectURL(e), r = document.createElement("a");
|
|
76997
77245
|
r.href = n, r.download = t, document.body.appendChild(r), r.click(), document.body.removeChild(r), URL.revokeObjectURL(n);
|
|
76998
77246
|
}
|
|
76999
|
-
async function
|
|
77000
|
-
|
|
77247
|
+
async function sV(e, t = "frame.png", n) {
|
|
77248
|
+
oV(await rV(e, n), t);
|
|
77001
77249
|
}
|
|
77002
77250
|
//#endregion
|
|
77003
77251
|
//#region src/export/WebCodecsExporter.ts
|
|
77004
|
-
var
|
|
77252
|
+
var cV = {
|
|
77005
77253
|
avc: {
|
|
77006
77254
|
encoderCodec: "avc1.42001f",
|
|
77007
77255
|
mp4Codec: "avc",
|
|
@@ -77022,7 +77270,7 @@ var tV = {
|
|
|
77022
77270
|
mp4Codec: "av1",
|
|
77023
77271
|
webmCodec: "V_AV1"
|
|
77024
77272
|
}
|
|
77025
|
-
},
|
|
77273
|
+
}, lV = class e {
|
|
77026
77274
|
_scene;
|
|
77027
77275
|
_options;
|
|
77028
77276
|
constructor(e, t) {
|
|
@@ -77046,8 +77294,8 @@ var tV = {
|
|
|
77046
77294
|
}
|
|
77047
77295
|
async export() {
|
|
77048
77296
|
if (!e.isSupported()) throw Error("WebCodecs VideoEncoder is not available in this environment. Use VideoExporter (MediaRecorder) instead to export video.");
|
|
77049
|
-
let t = this._options, n = t.duration || this._scene.getTimelineDuration() || 5, r = Math.ceil(n * t.fps), i =
|
|
77050
|
-
t.alpha && (this._assertAlphaCodec(), a =
|
|
77297
|
+
let t = this._options, n = t.duration || this._scene.getTimelineDuration() || 5, r = Math.ceil(n * t.fps), i = cV[t.codec], a = null;
|
|
77298
|
+
t.alpha && (this._assertAlphaCodec(), a = $B(this._scene), await this._assertAlphaEncodeSupport(i));
|
|
77051
77299
|
let o = await this._createMuxer(i), s = new window.VideoEncoder({
|
|
77052
77300
|
output: (e, t) => o.addVideoChunk(e, t),
|
|
77053
77301
|
error: (e) => Gf.error("WebCodecs encoder error:", e)
|
|
@@ -77071,7 +77319,7 @@ var tV = {
|
|
|
77071
77319
|
s.encode(i, { keyFrame: e % t.keyFrameInterval === 0 }), i.close(), t.onProgress(r === 0 ? 1 : (e + 1) / r);
|
|
77072
77320
|
}
|
|
77073
77321
|
};
|
|
77074
|
-
return a ? await
|
|
77322
|
+
return a ? await eV(a, d) : d(), await s.flush(), s.close(), o.finalize();
|
|
77075
77323
|
}
|
|
77076
77324
|
_assertAlphaCodec() {
|
|
77077
77325
|
let e = this._options;
|
|
@@ -77127,30 +77375,30 @@ var tV = {
|
|
|
77127
77375
|
return { ...this._options };
|
|
77128
77376
|
}
|
|
77129
77377
|
};
|
|
77130
|
-
function
|
|
77131
|
-
return new
|
|
77378
|
+
function uV(e, t) {
|
|
77379
|
+
return new lV(e, t);
|
|
77132
77380
|
}
|
|
77133
77381
|
//#endregion
|
|
77134
77382
|
//#region src/export/chooseExporter.ts
|
|
77135
|
-
function
|
|
77383
|
+
function dV(e = lV.isSupported()) {
|
|
77136
77384
|
return e ? "webcodecs" : "mediarecorder";
|
|
77137
77385
|
}
|
|
77138
77386
|
//#endregion
|
|
77139
77387
|
//#region src/export/SvgExporter.ts
|
|
77140
|
-
var
|
|
77141
|
-
function
|
|
77388
|
+
var fV = 3;
|
|
77389
|
+
function pV(e, t) {
|
|
77142
77390
|
if (!Number.isFinite(e)) return "0";
|
|
77143
77391
|
let n = Number(e.toFixed(t));
|
|
77144
77392
|
return String(Object.is(n, -0) ? 0 : n);
|
|
77145
77393
|
}
|
|
77146
|
-
function
|
|
77394
|
+
function mV(e) {
|
|
77147
77395
|
return e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
77148
77396
|
}
|
|
77149
|
-
function
|
|
77397
|
+
function hV(e, t, n) {
|
|
77150
77398
|
let r = e.position.x, i = e.position.y, a = e.frameWidth || 1, o = e.frameHeight || 1;
|
|
77151
77399
|
return (e) => [(e[0] - r) / a * t + t / 2, n / 2 - (e[1] - i) / o * n];
|
|
77152
77400
|
}
|
|
77153
|
-
function
|
|
77401
|
+
function gV(e, t) {
|
|
77154
77402
|
if (!t || t.length <= 1) return [e];
|
|
77155
77403
|
let n = [], r = 0;
|
|
77156
77404
|
for (let i of t) {
|
|
@@ -77159,11 +77407,11 @@ function lV(e, t) {
|
|
|
77159
77407
|
}
|
|
77160
77408
|
return r === e.length ? n : [e];
|
|
77161
77409
|
}
|
|
77162
|
-
function
|
|
77410
|
+
function _V(e, t, n) {
|
|
77163
77411
|
if (e.length < 4) return null;
|
|
77164
77412
|
let r = (e) => {
|
|
77165
77413
|
let [r, i] = t(e);
|
|
77166
|
-
return `${
|
|
77414
|
+
return `${pV(r, n)} ${pV(i, n)}`;
|
|
77167
77415
|
}, i = [`M ${r(e[0])}`], a = Math.floor((e.length - 1) / 3);
|
|
77168
77416
|
for (let t = 0; t < a; t++) {
|
|
77169
77417
|
let n = e[3 * t + 1], a = e[3 * t + 2], o = e[3 * t + 3];
|
|
@@ -77171,53 +77419,53 @@ function uV(e, t, n) {
|
|
|
77171
77419
|
}
|
|
77172
77420
|
return km(e) && i.push("Z"), i.join(" ");
|
|
77173
77421
|
}
|
|
77174
|
-
function
|
|
77422
|
+
function vV(e) {
|
|
77175
77423
|
return e.style.fillColor ?? e.color;
|
|
77176
77424
|
}
|
|
77177
|
-
function
|
|
77425
|
+
function yV(e, t, n, r) {
|
|
77178
77426
|
let i = e.getPoints();
|
|
77179
77427
|
if (i.length < 4) return null;
|
|
77180
|
-
let a =
|
|
77428
|
+
let a = gV(i, e.getEffectiveSubpathLengths()), o = [];
|
|
77181
77429
|
for (let e of a) {
|
|
77182
|
-
let n =
|
|
77430
|
+
let n = _V(e, t, r);
|
|
77183
77431
|
n && o.push(n);
|
|
77184
77432
|
}
|
|
77185
77433
|
if (o.length === 0) return null;
|
|
77186
77434
|
let s = e.fillOpacity > 0, c = e.strokeWidth > 0;
|
|
77187
77435
|
if (!s && !c) return null;
|
|
77188
77436
|
let l = [`d="${o.join(" ")}"`];
|
|
77189
|
-
return s ? (l.push(`fill="${
|
|
77437
|
+
return s ? (l.push(`fill="${mV(vV(e))}"`), l.push("fill-rule=\"nonzero\""), e.fillOpacity < 1 && l.push(`fill-opacity="${pV(e.fillOpacity, r)}"`)) : l.push("fill=\"none\""), c && (l.push(`stroke="${mV(e.color)}"`), l.push(`stroke-width="${pV(e.strokeWidth * n, r)}"`), l.push("stroke-linejoin=\"round\""), l.push("stroke-linecap=\"round\""), e.opacity < 1 && l.push(`stroke-opacity="${pV(e.opacity, r)}"`)), `<path ${l.join(" ")} />`;
|
|
77190
77438
|
}
|
|
77191
|
-
function
|
|
77439
|
+
function bV(e) {
|
|
77192
77440
|
return e instanceof V && e.getPoints().length >= 4;
|
|
77193
77441
|
}
|
|
77194
|
-
function
|
|
77195
|
-
let n = t?.precision ??
|
|
77442
|
+
function xV(e, t) {
|
|
77443
|
+
let n = t?.precision ?? fV, r = e.getWidth(), i = e.getHeight(), a = e.camera, o = hV(a, r, i), s = .01 * r / (a.frameWidth || 1), c = [];
|
|
77196
77444
|
for (let t of e.mobjects) {
|
|
77197
77445
|
let e = [];
|
|
77198
77446
|
for (let r of t.getFamily()) {
|
|
77199
|
-
if (!
|
|
77200
|
-
let t =
|
|
77447
|
+
if (!bV(r)) continue;
|
|
77448
|
+
let t = yV(r, o, s, n);
|
|
77201
77449
|
t && e.push(t);
|
|
77202
77450
|
}
|
|
77203
77451
|
if (e.length === 0) continue;
|
|
77204
|
-
let r = t.userId ? ` data-mobject-id="${
|
|
77452
|
+
let r = t.userId ? ` data-mobject-id="${mV(t.userId)}"` : "";
|
|
77205
77453
|
c.push(` <g${r}>\n ${e.join("\n ")}\n </g>`);
|
|
77206
77454
|
}
|
|
77207
|
-
let l =
|
|
77208
|
-
return `${`<svg xmlns="http://www.w3.org/2000/svg" width="${l}" height="${u}" viewBox="0 0 ${l} ${u}">`}${t?.background ? `\n <rect x="0" y="0" width="${l}" height="${u}" fill="${
|
|
77455
|
+
let l = pV(r, n), u = pV(i, n);
|
|
77456
|
+
return `${`<svg xmlns="http://www.w3.org/2000/svg" width="${l}" height="${u}" viewBox="0 0 ${l} ${u}">`}${t?.background ? `\n <rect x="0" y="0" width="${l}" height="${u}" fill="${mV(t.background)}" />` : ""}${c.length > 0 ? `\n${c.join("\n")}\n` : "\n"}</svg>`;
|
|
77209
77457
|
}
|
|
77210
|
-
function
|
|
77211
|
-
let n =
|
|
77458
|
+
function SV(e, t) {
|
|
77459
|
+
let n = xV(e, t);
|
|
77212
77460
|
return new Blob([n], { type: "image/svg+xml" });
|
|
77213
77461
|
}
|
|
77214
|
-
function
|
|
77462
|
+
function CV(e, t = "scene.svg", n) {
|
|
77215
77463
|
if (typeof document > "u") throw Error("exportAndDownloadSVG requires a DOM (document is undefined)");
|
|
77216
|
-
|
|
77464
|
+
oV(SV(e, n), t);
|
|
77217
77465
|
}
|
|
77218
77466
|
//#endregion
|
|
77219
77467
|
//#region src/player/ExportSettingsUI.ts
|
|
77220
|
-
var
|
|
77468
|
+
var wV = [
|
|
77221
77469
|
{
|
|
77222
77470
|
id: "current",
|
|
77223
77471
|
label: "Current",
|
|
@@ -77254,11 +77502,11 @@ var _V = [
|
|
|
77254
77502
|
width: 3840,
|
|
77255
77503
|
height: 2160
|
|
77256
77504
|
}
|
|
77257
|
-
],
|
|
77505
|
+
], TV = [
|
|
77258
77506
|
24,
|
|
77259
77507
|
30,
|
|
77260
77508
|
60
|
|
77261
|
-
],
|
|
77509
|
+
], EV = [
|
|
77262
77510
|
{
|
|
77263
77511
|
id: "low",
|
|
77264
77512
|
label: "Low",
|
|
@@ -77274,12 +77522,12 @@ var _V = [
|
|
|
77274
77522
|
label: "High",
|
|
77275
77523
|
value: .9
|
|
77276
77524
|
}
|
|
77277
|
-
],
|
|
77278
|
-
function
|
|
77279
|
-
return Math.round(Math.max(0, Math.min(1, e)) *
|
|
77525
|
+
], DV = 1e7;
|
|
77526
|
+
function OV(e) {
|
|
77527
|
+
return Math.round(Math.max(0, Math.min(1, e)) * DV);
|
|
77280
77528
|
}
|
|
77281
|
-
function
|
|
77282
|
-
let r =
|
|
77529
|
+
function kV(e, t, n) {
|
|
77530
|
+
let r = wV.find((t) => t.id === e);
|
|
77283
77531
|
return !r || r.width === null || r.height === null ? {
|
|
77284
77532
|
width: t,
|
|
77285
77533
|
height: n
|
|
@@ -77288,7 +77536,7 @@ function SV(e, t, n) {
|
|
|
77288
77536
|
height: r.height
|
|
77289
77537
|
};
|
|
77290
77538
|
}
|
|
77291
|
-
var
|
|
77539
|
+
var AV = class {
|
|
77292
77540
|
_element;
|
|
77293
77541
|
_fpsSelect;
|
|
77294
77542
|
_resolutionSelect;
|
|
@@ -77301,22 +77549,22 @@ var CV = class {
|
|
|
77301
77549
|
display: "flex",
|
|
77302
77550
|
flexDirection: "column",
|
|
77303
77551
|
gap: "6px"
|
|
77304
|
-
}), this._element.setAttribute("data-export-settings", ""), this._fpsSelect = this._buildSelect("FPS",
|
|
77552
|
+
}), this._element.setAttribute("data-export-settings", ""), this._fpsSelect = this._buildSelect("FPS", TV.map((e) => ({
|
|
77305
77553
|
value: String(e),
|
|
77306
77554
|
label: `${e} fps`
|
|
77307
|
-
})), String(this._nearestFps(e.fps))), this._resolutionSelect = this._buildSelect("Resolution",
|
|
77555
|
+
})), String(this._nearestFps(e.fps))), this._resolutionSelect = this._buildSelect("Resolution", wV.map((e) => ({
|
|
77308
77556
|
value: e.id,
|
|
77309
77557
|
label: e.label
|
|
77310
|
-
})), "current"), this._qualitySelect = this._buildSelect("Quality",
|
|
77558
|
+
})), "current"), this._qualitySelect = this._buildSelect("Quality", EV.map((e) => ({
|
|
77311
77559
|
value: String(e.value),
|
|
77312
77560
|
label: e.label
|
|
77313
|
-
})), String(
|
|
77561
|
+
})), String(EV[EV.length - 1].value));
|
|
77314
77562
|
}
|
|
77315
77563
|
get element() {
|
|
77316
77564
|
return this._element;
|
|
77317
77565
|
}
|
|
77318
77566
|
getSettings() {
|
|
77319
|
-
let e = parseInt(this._fpsSelect.value, 10), { width: t, height: n } =
|
|
77567
|
+
let e = parseInt(this._fpsSelect.value, 10), { width: t, height: n } = kV(this._resolutionSelect.value, this._defaults.width, this._defaults.height);
|
|
77320
77568
|
return {
|
|
77321
77569
|
fps: e,
|
|
77322
77570
|
width: t,
|
|
@@ -77325,7 +77573,7 @@ var CV = class {
|
|
|
77325
77573
|
};
|
|
77326
77574
|
}
|
|
77327
77575
|
_nearestFps(e) {
|
|
77328
|
-
return
|
|
77576
|
+
return TV.reduce((t, n) => Math.abs(n - e) < Math.abs(t - e) ? n : t);
|
|
77329
77577
|
}
|
|
77330
77578
|
_buildSelect(e, t, n) {
|
|
77331
77579
|
let r = document.createElement("label");
|
|
@@ -77356,7 +77604,7 @@ var CV = class {
|
|
|
77356
77604
|
}
|
|
77357
77605
|
return a.value = n, a.addEventListener("click", (e) => e.stopPropagation()), r.appendChild(i), r.appendChild(a), this._element.appendChild(r), a;
|
|
77358
77606
|
}
|
|
77359
|
-
},
|
|
77607
|
+
}, jV = class {
|
|
77360
77608
|
_container;
|
|
77361
77609
|
_bar;
|
|
77362
77610
|
_playBtn;
|
|
@@ -77392,19 +77640,19 @@ var CV = class {
|
|
|
77392
77640
|
this._container = e, this._callbacks = t, this._autoHideMs = n.autoHideMs ?? 2500, this._exportControls = n.exportControls ?? !1, getComputedStyle(e).position === "static" && (e.style.position = "relative"), e.style.overflow = "hidden", this._bar = this._createBar(), this._playBtn = this._createPlayBtn(), this._prevBtn = this._createNavBtn("prev"), this._nextBtn = this._createNavBtn("next");
|
|
77393
77641
|
let r = this._createProgressBar();
|
|
77394
77642
|
this._progressWrap = r.wrap, this._progressFill = r.fill, this._segmentMarkers = r.markers, this._timeDisplay = this._createTimeDisplay(), this._speedSelect = this._createSpeedSelect(), this._fullscreenBtn = this._createFullscreenBtn(), this._slidesBtn = this._createSlidesBtn(), this._exportBtn = this._createExportBtn();
|
|
77395
|
-
let i =
|
|
77643
|
+
let i = MV("div", {
|
|
77396
77644
|
display: "flex",
|
|
77397
77645
|
alignItems: "center",
|
|
77398
77646
|
gap: "4px"
|
|
77399
77647
|
});
|
|
77400
77648
|
i.appendChild(this._prevBtn), i.appendChild(this._playBtn), i.appendChild(this._nextBtn);
|
|
77401
|
-
let a =
|
|
77649
|
+
let a = MV("div", {
|
|
77402
77650
|
display: "flex",
|
|
77403
77651
|
alignItems: "center",
|
|
77404
77652
|
gap: "8px"
|
|
77405
77653
|
});
|
|
77406
77654
|
a.appendChild(this._timeDisplay), a.appendChild(this._speedSelect), a.appendChild(this._slidesBtn), a.appendChild(this._exportBtnWrapper), a.appendChild(this._fullscreenBtn), this._bar.appendChild(this._progressWrap);
|
|
77407
|
-
let o =
|
|
77655
|
+
let o = MV("div", {
|
|
77408
77656
|
display: "flex",
|
|
77409
77657
|
alignItems: "center",
|
|
77410
77658
|
justifyContent: "space-between",
|
|
@@ -77419,10 +77667,10 @@ var CV = class {
|
|
|
77419
77667
|
let n = e / t * 100;
|
|
77420
77668
|
this._progressFill.style.width = `${n}%`;
|
|
77421
77669
|
}
|
|
77422
|
-
this._timeDisplay.textContent = `${
|
|
77670
|
+
this._timeDisplay.textContent = `${PV(e)} / ${PV(t)}`;
|
|
77423
77671
|
}
|
|
77424
77672
|
setPlaying(e, t = !1) {
|
|
77425
|
-
this._isPlaying = e, t ? (this._playBtn.innerHTML =
|
|
77673
|
+
this._isPlaying = e, t ? (this._playBtn.innerHTML = LV, this._playBtn.title = "Replay (Space)") : (this._playBtn.innerHTML = e ? IV : FV, this._playBtn.title = e ? "Pause (Space)" : "Play (Space)"), e && this._scheduleHide();
|
|
77426
77674
|
}
|
|
77427
77675
|
setSlidesMode(e) {
|
|
77428
77676
|
this._slidesActive = e, this._slidesBtn.style.opacity = e ? "1" : "0.4", this._slidesBtn.style.background = e ? "rgba(74,158,255,0.25)" : "none", this._slidesBtn.title = `Slides mode ${e ? "on" : "off"} (S)`;
|
|
@@ -77432,7 +77680,7 @@ var CV = class {
|
|
|
77432
77680
|
let t = e.getSlides(), n = e.getDuration();
|
|
77433
77681
|
if (!(n <= 0)) for (let e of t) {
|
|
77434
77682
|
if (e.index === 0) continue;
|
|
77435
|
-
let t =
|
|
77683
|
+
let t = MV("div", {
|
|
77436
77684
|
position: "absolute",
|
|
77437
77685
|
left: `${e.startTime / n * 100}%`,
|
|
77438
77686
|
top: "50%",
|
|
@@ -77447,7 +77695,7 @@ var CV = class {
|
|
|
77447
77695
|
}
|
|
77448
77696
|
}
|
|
77449
77697
|
_createBar() {
|
|
77450
|
-
let e =
|
|
77698
|
+
let e = MV("div", {
|
|
77451
77699
|
position: "absolute",
|
|
77452
77700
|
bottom: "0",
|
|
77453
77701
|
left: "0",
|
|
@@ -77465,21 +77713,21 @@ var CV = class {
|
|
|
77465
77713
|
}
|
|
77466
77714
|
_createPlayBtn() {
|
|
77467
77715
|
let e = document.createElement("button");
|
|
77468
|
-
return e.innerHTML =
|
|
77716
|
+
return e.innerHTML = FV, e.title = "Play (Space)", NV(e, "36px", "36px"), e.addEventListener("click", () => this._callbacks.onPlayPause()), e;
|
|
77469
77717
|
}
|
|
77470
77718
|
_createNavBtn(e) {
|
|
77471
77719
|
let t = document.createElement("button");
|
|
77472
|
-
return t.innerHTML = e === "prev" ?
|
|
77720
|
+
return t.innerHTML = e === "prev" ? RV : zV, t.title = e === "prev" ? "Previous (Left arrow)" : "Next (Right arrow)", NV(t, "28px", "28px"), t.addEventListener("click", () => {
|
|
77473
77721
|
e === "prev" ? this._callbacks.onPrev() : this._callbacks.onNext();
|
|
77474
77722
|
}), t;
|
|
77475
77723
|
}
|
|
77476
77724
|
_createProgressBar() {
|
|
77477
|
-
let e =
|
|
77725
|
+
let e = MV("div", {
|
|
77478
77726
|
position: "relative",
|
|
77479
77727
|
height: "16px",
|
|
77480
77728
|
padding: "6px 12px",
|
|
77481
77729
|
cursor: "pointer"
|
|
77482
|
-
}), t =
|
|
77730
|
+
}), t = MV("div", {
|
|
77483
77731
|
position: "absolute",
|
|
77484
77732
|
left: "12px",
|
|
77485
77733
|
right: "12px",
|
|
@@ -77489,14 +77737,14 @@ var CV = class {
|
|
|
77489
77737
|
background: "rgba(255,255,255,0.2)",
|
|
77490
77738
|
borderRadius: "2px",
|
|
77491
77739
|
overflow: "visible"
|
|
77492
|
-
}), n =
|
|
77740
|
+
}), n = MV("div", {
|
|
77493
77741
|
width: "0%",
|
|
77494
77742
|
height: "100%",
|
|
77495
77743
|
background: "#4a9eff",
|
|
77496
77744
|
borderRadius: "2px",
|
|
77497
77745
|
transition: "none",
|
|
77498
77746
|
position: "relative"
|
|
77499
|
-
}), r =
|
|
77747
|
+
}), r = MV("div", {
|
|
77500
77748
|
position: "absolute",
|
|
77501
77749
|
right: "-5px",
|
|
77502
77750
|
top: "50%",
|
|
@@ -77509,7 +77757,7 @@ var CV = class {
|
|
|
77509
77757
|
transition: "transform 0.1s"
|
|
77510
77758
|
});
|
|
77511
77759
|
n.appendChild(r);
|
|
77512
|
-
let i =
|
|
77760
|
+
let i = MV("div", {
|
|
77513
77761
|
width: "0%",
|
|
77514
77762
|
height: "100%",
|
|
77515
77763
|
background: "rgba(255,255,255,0.1)",
|
|
@@ -77518,7 +77766,7 @@ var CV = class {
|
|
|
77518
77766
|
top: "0",
|
|
77519
77767
|
left: "0",
|
|
77520
77768
|
pointerEvents: "none"
|
|
77521
|
-
}), a =
|
|
77769
|
+
}), a = MV("div", {
|
|
77522
77770
|
position: "absolute",
|
|
77523
77771
|
top: "0",
|
|
77524
77772
|
left: "0",
|
|
@@ -77543,7 +77791,7 @@ var CV = class {
|
|
|
77543
77791
|
};
|
|
77544
77792
|
}
|
|
77545
77793
|
_createTimeDisplay() {
|
|
77546
|
-
let e =
|
|
77794
|
+
let e = MV("span", {
|
|
77547
77795
|
fontFamily: "\"SF Mono\", Monaco, Consolas, monospace",
|
|
77548
77796
|
fontSize: "12px",
|
|
77549
77797
|
opacity: "0.8",
|
|
@@ -77585,16 +77833,16 @@ var CV = class {
|
|
|
77585
77833
|
}), e;
|
|
77586
77834
|
}
|
|
77587
77835
|
_createExportBtn() {
|
|
77588
|
-
let e =
|
|
77836
|
+
let e = MV("div", {
|
|
77589
77837
|
position: "relative",
|
|
77590
77838
|
display: "inline-block"
|
|
77591
77839
|
}), t = document.createElement("button");
|
|
77592
|
-
return t.innerHTML =
|
|
77840
|
+
return t.innerHTML = BV, t.title = "Export animation", NV(t, "28px", "28px"), t.addEventListener("click", (e) => {
|
|
77593
77841
|
e.stopPropagation(), this._exportMenu ? this._closeExportMenu() : this._showExportMenu();
|
|
77594
77842
|
}), e.appendChild(t), this._exportBtnWrapper = e, t;
|
|
77595
77843
|
}
|
|
77596
77844
|
_showExportMenu() {
|
|
77597
|
-
let e = this._exportBtn.getBoundingClientRect(), t =
|
|
77845
|
+
let e = this._exportBtn.getBoundingClientRect(), t = MV("div", {
|
|
77598
77846
|
position: "fixed",
|
|
77599
77847
|
top: "0",
|
|
77600
77848
|
left: "0",
|
|
@@ -77605,7 +77853,7 @@ var CV = class {
|
|
|
77605
77853
|
t.setAttribute("data-player-bar", ""), t.addEventListener("mousedown", (e) => {
|
|
77606
77854
|
e.stopPropagation(), e.preventDefault(), this._closeExportMenu();
|
|
77607
77855
|
});
|
|
77608
|
-
let n =
|
|
77856
|
+
let n = MV("div", {
|
|
77609
77857
|
position: "fixed",
|
|
77610
77858
|
bottom: `${window.innerHeight - e.top + 6}px`,
|
|
77611
77859
|
left: `${e.left - 60}px`,
|
|
@@ -77626,7 +77874,7 @@ var CV = class {
|
|
|
77626
77874
|
height: 1080,
|
|
77627
77875
|
fps: 60
|
|
77628
77876
|
};
|
|
77629
|
-
this._exportPanel = new
|
|
77877
|
+
this._exportPanel = new AV(e), n.appendChild(this._exportPanel.element);
|
|
77630
77878
|
}
|
|
77631
77879
|
for (let e of [
|
|
77632
77880
|
{
|
|
@@ -77645,7 +77893,7 @@ var CV = class {
|
|
|
77645
77893
|
desc: "Video file"
|
|
77646
77894
|
}
|
|
77647
77895
|
]) {
|
|
77648
|
-
let t =
|
|
77896
|
+
let t = MV("div", {
|
|
77649
77897
|
padding: "8px 14px",
|
|
77650
77898
|
cursor: "pointer",
|
|
77651
77899
|
fontSize: "13px",
|
|
@@ -77670,7 +77918,7 @@ var CV = class {
|
|
|
77670
77918
|
this._exportMenu && (this._exportMenuBackdrop?.remove(), this._exportMenuBackdrop = null, this._exportMenu.remove(), this._exportMenu = null, this._exportPanel = null);
|
|
77671
77919
|
}
|
|
77672
77920
|
setExportProgress(e) {
|
|
77673
|
-
if (e === null) this._exportBtn.innerHTML =
|
|
77921
|
+
if (e === null) this._exportBtn.innerHTML = BV, this._exportBtn.disabled = !1, this._exportBtn.title = "Export animation";
|
|
77674
77922
|
else {
|
|
77675
77923
|
let t = Math.round(e * 100);
|
|
77676
77924
|
this._exportBtn.innerHTML = `<span style="font-size:10px;font-weight:600">${t}%</span>`, this._exportBtn.disabled = !0, this._exportBtn.title = `Exporting... ${t}%`;
|
|
@@ -77678,7 +77926,7 @@ var CV = class {
|
|
|
77678
77926
|
}
|
|
77679
77927
|
_createSlidesBtn() {
|
|
77680
77928
|
let e = document.createElement("button");
|
|
77681
|
-
return e.innerHTML =
|
|
77929
|
+
return e.innerHTML = VV, e.title = "Slides mode off (S)", NV(e, "28px", "28px"), e.style.opacity = "0.4", e.addEventListener("click", () => {
|
|
77682
77930
|
this._slidesActive = !this._slidesActive, this.setSlidesMode(this._slidesActive), this._callbacks.onSlidesToggle(this._slidesActive);
|
|
77683
77931
|
}), e.addEventListener("mouseenter", () => {
|
|
77684
77932
|
e.style.background = this._slidesActive ? "rgba(74,158,255,0.35)" : "rgba(255,255,255,0.15)";
|
|
@@ -77688,7 +77936,7 @@ var CV = class {
|
|
|
77688
77936
|
}
|
|
77689
77937
|
_createFullscreenBtn() {
|
|
77690
77938
|
let e = document.createElement("button");
|
|
77691
|
-
return e.innerHTML =
|
|
77939
|
+
return e.innerHTML = HV, e.title = "Fullscreen (F)", NV(e, "28px", "28px"), e.addEventListener("click", () => this._callbacks.onFullscreen()), e;
|
|
77692
77940
|
}
|
|
77693
77941
|
_showControls() {
|
|
77694
77942
|
this._isVisible ||= (this._bar.style.opacity = "1", this._bar.style.transform = "translateY(0)", !0), this._scheduleHide();
|
|
@@ -77743,11 +77991,11 @@ var CV = class {
|
|
|
77743
77991
|
this._hideTimeout && clearTimeout(this._hideTimeout), this._container.removeEventListener("mousemove", this._onMouseMove), this._container.removeEventListener("mouseleave", this._onMouseLeave), this._progressWrap.removeEventListener("mousedown", this._onProgressDown), document.removeEventListener("mousemove", this._onProgressMove), document.removeEventListener("mouseup", this._onProgressUp), this._bar.remove();
|
|
77744
77992
|
}
|
|
77745
77993
|
};
|
|
77746
|
-
function
|
|
77994
|
+
function MV(e, t) {
|
|
77747
77995
|
let n = document.createElement(e);
|
|
77748
77996
|
return Object.assign(n.style, t), n;
|
|
77749
77997
|
}
|
|
77750
|
-
function
|
|
77998
|
+
function NV(e, t, n) {
|
|
77751
77999
|
Object.assign(e.style, {
|
|
77752
78000
|
width: t,
|
|
77753
78001
|
height: n,
|
|
@@ -77768,11 +78016,11 @@ function EV(e, t, n) {
|
|
|
77768
78016
|
e.style.background = "none";
|
|
77769
78017
|
});
|
|
77770
78018
|
}
|
|
77771
|
-
function
|
|
78019
|
+
function PV(e) {
|
|
77772
78020
|
let t = Math.floor(e / 60), n = Math.floor(e % 60);
|
|
77773
78021
|
return `${t}:${String(n).padStart(2, "0")}`;
|
|
77774
78022
|
}
|
|
77775
|
-
var
|
|
78023
|
+
var FV = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><path d=\"M5 3l10 6-10 6V3z\"/></svg>", IV = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><rect x=\"4\" y=\"3\" width=\"3.5\" height=\"12\" rx=\"0.5\"/><rect x=\"10.5\" y=\"3\" width=\"3.5\" height=\"12\" rx=\"0.5\"/></svg>", LV = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><path d=\"M9 3a6 6 0 1 0 6 6h-2a4 4 0 1 1-4-4v3l4-3.5L9 1v2z\"/></svg>", RV = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"2\" y=\"3\" width=\"2\" height=\"10\"/><path d=\"M14 3L6 8l8 5V3z\"/></svg>", zV = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"12\" y=\"3\" width=\"2\" height=\"10\"/><path d=\"M2 3l8 5-8 5V3z\"/></svg>", BV = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><path d=\"M8 1L8 10M8 10L5 7M8 10L11 7\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3 12v1h10v-1\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\"/></svg>", VV = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"1\" y=\"2\" width=\"14\" height=\"10\" rx=\"1.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"/><path d=\"M5 14h6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/><path d=\"M6 6l5 3-5 3V6z\"/></svg>", HV = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><path d=\"M2 2h4v2H4v2H2V2zm8 0h4v4h-2V4h-2V2zM2 10h2v2h2v2H2v-4zm10 2h-2v2h4v-4h-2v2z\"/></svg>", UV = class {
|
|
77776
78024
|
_container;
|
|
77777
78025
|
_callbacks;
|
|
77778
78026
|
_onKeyDown;
|
|
@@ -77802,7 +78050,7 @@ var OV = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
77802
78050
|
dispose() {
|
|
77803
78051
|
this._container.removeEventListener("keydown", this._onKeyDown);
|
|
77804
78052
|
}
|
|
77805
|
-
},
|
|
78053
|
+
}, WV = class {
|
|
77806
78054
|
_realScene;
|
|
77807
78055
|
_masterTimeline;
|
|
77808
78056
|
constructor(e, t) {
|
|
@@ -77839,7 +78087,7 @@ var OV = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
77839
78087
|
for (let n of e) t.push(n), n instanceof HT && t.push(...this._collectAll(n.animations));
|
|
77840
78088
|
return t;
|
|
77841
78089
|
}
|
|
77842
|
-
},
|
|
78090
|
+
}, GV = [
|
|
77843
78091
|
"mousedown",
|
|
77844
78092
|
"mousemove",
|
|
77845
78093
|
"mouseup",
|
|
@@ -77847,7 +78095,7 @@ var OV = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
77847
78095
|
"touchstart",
|
|
77848
78096
|
"touchmove",
|
|
77849
78097
|
"touchend"
|
|
77850
|
-
],
|
|
78098
|
+
], KV = class {
|
|
77851
78099
|
_target;
|
|
77852
78100
|
_scene;
|
|
77853
78101
|
_isIdle;
|
|
@@ -77866,13 +78114,13 @@ var OV = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
77866
78114
|
}
|
|
77867
78115
|
attach() {
|
|
77868
78116
|
if (!this._attached) {
|
|
77869
|
-
for (let e of
|
|
78117
|
+
for (let e of GV) this._target.addEventListener(e, this._onEvent);
|
|
77870
78118
|
this._attached = !0;
|
|
77871
78119
|
}
|
|
77872
78120
|
}
|
|
77873
78121
|
dispose() {
|
|
77874
78122
|
if (this._attached) {
|
|
77875
|
-
for (let e of
|
|
78123
|
+
for (let e of GV) this._target.removeEventListener(e, this._onEvent);
|
|
77876
78124
|
this._attached = !1, this._renderScheduled = !1;
|
|
77877
78125
|
}
|
|
77878
78126
|
}
|
|
@@ -77884,7 +78132,7 @@ var OV = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
77884
78132
|
this._renderScheduled = !1, !(!this._attached || !this._isIdle()) && (this._scene.render(), this._renderCount++);
|
|
77885
78133
|
}));
|
|
77886
78134
|
}
|
|
77887
|
-
},
|
|
78135
|
+
}, qV = class {
|
|
77888
78136
|
_scene;
|
|
77889
78137
|
_masterTimeline;
|
|
77890
78138
|
_ui;
|
|
@@ -77907,7 +78155,7 @@ var OV = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
77907
78155
|
_origHeight = 0;
|
|
77908
78156
|
_onFullscreenChange;
|
|
77909
78157
|
constructor(e, t = {}) {
|
|
77910
|
-
this._container = e, this._loop = t.loop ?? !1, this._autoPlay = t.autoPlay ?? !1, this._slidesMode = t.slidesMode ?? !1, this._interactiveSlides = t.interactiveSlides ?? !1, this._exportControls = t.exportControls ?? !1, this._exportFps = t.targetFps ?? 60, this._scene = new pE(e, t), this._masterTimeline = new
|
|
78158
|
+
this._container = e, this._loop = t.loop ?? !1, this._autoPlay = t.autoPlay ?? !1, this._slidesMode = t.slidesMode ?? !1, this._interactiveSlides = t.interactiveSlides ?? !1, this._exportControls = t.exportControls ?? !1, this._exportFps = t.targetFps ?? 60, this._scene = new pE(e, t), this._masterTimeline = new nL(), this._ui = new jV(e, {
|
|
77911
78159
|
onPlayPause: () => this.togglePlayPause(),
|
|
77912
78160
|
onSeek: (e) => this.seek(e),
|
|
77913
78161
|
onPrev: () => this.prevSegment(),
|
|
@@ -77924,7 +78172,7 @@ var OV = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
77924
78172
|
}, {
|
|
77925
78173
|
autoHideMs: t.autoHideMs,
|
|
77926
78174
|
exportControls: this._exportControls
|
|
77927
|
-
}), this._ui.setSlidesMode(this._slidesMode), this._ui.enableScrollScrub(() => this._masterTimeline.getCurrentTime()), this._controller = new
|
|
78175
|
+
}), this._ui.setSlidesMode(this._slidesMode), this._ui.enableScrollScrub(() => this._masterTimeline.getCurrentTime()), this._controller = new UV(e, {
|
|
77928
78176
|
onPlayPause: () => this.togglePlayPause(),
|
|
77929
78177
|
onPrev: () => this.prevSegment(),
|
|
77930
78178
|
onNext: () => this.nextSegment(),
|
|
@@ -77938,10 +78186,10 @@ var OV = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
77938
78186
|
}, document.addEventListener("fullscreenchange", this._onFullscreenChange), this._interactiveSlides && this._enableSlideInteraction();
|
|
77939
78187
|
}
|
|
77940
78188
|
_enableSlideInteraction() {
|
|
77941
|
-
this._slideInteraction || (this._slideInteraction = new
|
|
78189
|
+
this._slideInteraction || (this._slideInteraction = new KV(this._container, this._scene, () => !this._isPlaying), this._slideInteraction.attach());
|
|
77942
78190
|
}
|
|
77943
78191
|
async sequence(e) {
|
|
77944
|
-
this._masterTimeline = new
|
|
78192
|
+
this._masterTimeline = new nL(), this._activeLoopSlideIndex = null, this._slidesTargetSlideIndex = -1, await e(new WV(this._scene, this._masterTimeline)), this._masterTimeline.finalizeSlides(), this._scene.setTimeline(this._masterTimeline), this._masterTimeline.seek(0), this._scene.render(), this._ui.setSegments(this._masterTimeline), this._ui.updateTime(0, this._masterTimeline.getDuration()), this._autoPlay && this.play();
|
|
77945
78193
|
}
|
|
77946
78194
|
get scene() {
|
|
77947
78195
|
return this._scene;
|
|
@@ -78052,7 +78300,7 @@ var OV = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
78052
78300
|
let i = `animation.${e}`, a = this._masterTimeline.getDuration(), o = (e) => this._ui.setExportProgress(e);
|
|
78053
78301
|
this._ui.setExportProgress(0);
|
|
78054
78302
|
try {
|
|
78055
|
-
(e === "webm" || e === "mp4") &&
|
|
78303
|
+
(e === "webm" || e === "mp4") && dV() === "webcodecs" ? await this._exportWithWebCodecs(e === "mp4" ? "mp4" : "webm", t, a, o, i) : await this._scene.export(i, this._buildSceneExportOptions(e, t, a, o));
|
|
78056
78304
|
} catch (e) {
|
|
78057
78305
|
Gf.error("Export failed:", e), this._ui.showError(`Export failed: ${e instanceof Error ? e.message : "Unknown error"}`);
|
|
78058
78306
|
} finally {
|
|
@@ -78060,12 +78308,12 @@ var OV = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
78060
78308
|
}
|
|
78061
78309
|
}
|
|
78062
78310
|
async _exportWithWebCodecs(e, t, n, r, i) {
|
|
78063
|
-
|
|
78311
|
+
oV(await new lV(this._scene, {
|
|
78064
78312
|
format: e,
|
|
78065
78313
|
fps: t?.fps ?? this._exportFps,
|
|
78066
78314
|
width: t?.width ?? this._scene.getWidth(),
|
|
78067
78315
|
height: t?.height ?? this._scene.getHeight(),
|
|
78068
|
-
bitrate:
|
|
78316
|
+
bitrate: OV(t?.quality ?? .9),
|
|
78069
78317
|
duration: n,
|
|
78070
78318
|
onProgress: r
|
|
78071
78319
|
}).export(), i);
|
|
@@ -78126,36 +78374,36 @@ var OV = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
78126
78374
|
_stopLoop() {
|
|
78127
78375
|
this._animFrameId !== null && (cancelAnimationFrame(this._animFrameId), this._animFrameId = null);
|
|
78128
78376
|
}
|
|
78129
|
-
},
|
|
78377
|
+
}, JV = {
|
|
78130
78378
|
EXPERIMENTAL_3D_LIGHTING: !1,
|
|
78131
78379
|
WEBGPU_RENDERER: !1,
|
|
78132
78380
|
ADVANCED_TEXT_LAYOUT: !1
|
|
78133
|
-
},
|
|
78134
|
-
function
|
|
78135
|
-
return
|
|
78381
|
+
}, YV = { ...JV };
|
|
78382
|
+
function XV(e) {
|
|
78383
|
+
return YV[e] ?? !1;
|
|
78136
78384
|
}
|
|
78137
|
-
function
|
|
78138
|
-
|
|
78139
|
-
...
|
|
78385
|
+
function ZV(e) {
|
|
78386
|
+
YV = {
|
|
78387
|
+
...YV,
|
|
78140
78388
|
...e
|
|
78141
78389
|
};
|
|
78142
78390
|
}
|
|
78143
|
-
function
|
|
78144
|
-
|
|
78391
|
+
function QV() {
|
|
78392
|
+
YV = { ...JV };
|
|
78145
78393
|
}
|
|
78146
|
-
function
|
|
78147
|
-
return { ...
|
|
78394
|
+
function $V() {
|
|
78395
|
+
return { ...YV };
|
|
78148
78396
|
}
|
|
78149
78397
|
//#endregion
|
|
78150
78398
|
//#region src/utils/ManimColor.ts
|
|
78151
|
-
var
|
|
78152
|
-
function
|
|
78399
|
+
var eH = /(?:#|0[xX])([A-Fa-f0-9]{3,8})/;
|
|
78400
|
+
function tH(e) {
|
|
78153
78401
|
return Math.min(255, Math.max(0, Math.trunc(e * 255)));
|
|
78154
78402
|
}
|
|
78155
|
-
function
|
|
78156
|
-
return
|
|
78403
|
+
function nH(e) {
|
|
78404
|
+
return tH(e).toString(16).toUpperCase().padStart(2, "0");
|
|
78157
78405
|
}
|
|
78158
|
-
function
|
|
78406
|
+
function rH(e, t) {
|
|
78159
78407
|
let n = e;
|
|
78160
78408
|
(n.length === 3 || n.length === 4) && (n = n.split("").map((e) => e + e).join(""));
|
|
78161
78409
|
let r = t;
|
|
@@ -78168,14 +78416,14 @@ function XV(e, t) {
|
|
|
78168
78416
|
r
|
|
78169
78417
|
];
|
|
78170
78418
|
}
|
|
78171
|
-
function
|
|
78172
|
-
let n =
|
|
78173
|
-
if (n !== null) return
|
|
78419
|
+
function iH(e, t) {
|
|
78420
|
+
let n = eH.exec(e);
|
|
78421
|
+
if (n !== null) return rH(n[1], t);
|
|
78174
78422
|
let r = fl[e.toUpperCase()];
|
|
78175
|
-
if (typeof r == "string") return
|
|
78423
|
+
if (typeof r == "string") return iH(r, t);
|
|
78176
78424
|
throw Error(`Failed to parse a color from "${e}"`);
|
|
78177
78425
|
}
|
|
78178
|
-
function
|
|
78426
|
+
function aH(e, t) {
|
|
78179
78427
|
return [
|
|
78180
78428
|
(e >> 16 & 255) / 255,
|
|
78181
78429
|
(e >> 8 & 255) / 255,
|
|
@@ -78183,7 +78431,7 @@ function QV(e, t) {
|
|
|
78183
78431
|
t
|
|
78184
78432
|
];
|
|
78185
78433
|
}
|
|
78186
|
-
var
|
|
78434
|
+
var oH = class e {
|
|
78187
78435
|
value;
|
|
78188
78436
|
constructor(t, n = 1) {
|
|
78189
78437
|
if (t === null) this.value = [
|
|
@@ -78200,8 +78448,8 @@ var $V = class e {
|
|
|
78200
78448
|
e[2],
|
|
78201
78449
|
e[3]
|
|
78202
78450
|
];
|
|
78203
|
-
} else if (typeof t == "number") this.value =
|
|
78204
|
-
else if (typeof t == "string") this.value =
|
|
78451
|
+
} else if (typeof t == "number") this.value = aH(t, n);
|
|
78452
|
+
else if (typeof t == "string") this.value = iH(t, n);
|
|
78205
78453
|
else if (t.length === 3) this.value = [
|
|
78206
78454
|
t[0],
|
|
78207
78455
|
t[1],
|
|
@@ -78259,18 +78507,18 @@ var $V = class e {
|
|
|
78259
78507
|
toIntRgb() {
|
|
78260
78508
|
let e = this.internalRgba();
|
|
78261
78509
|
return [
|
|
78262
|
-
|
|
78263
|
-
|
|
78264
|
-
|
|
78510
|
+
tH(e[0]),
|
|
78511
|
+
tH(e[1]),
|
|
78512
|
+
tH(e[2])
|
|
78265
78513
|
];
|
|
78266
78514
|
}
|
|
78267
78515
|
toIntRgba() {
|
|
78268
78516
|
let e = this.internalRgba();
|
|
78269
78517
|
return [
|
|
78270
|
-
|
|
78271
|
-
|
|
78272
|
-
|
|
78273
|
-
|
|
78518
|
+
tH(e[0]),
|
|
78519
|
+
tH(e[1]),
|
|
78520
|
+
tH(e[2]),
|
|
78521
|
+
tH(e[3])
|
|
78274
78522
|
];
|
|
78275
78523
|
}
|
|
78276
78524
|
toHex(e = !1) {
|
|
@@ -78279,7 +78527,7 @@ var $V = class e {
|
|
|
78279
78527
|
t[1],
|
|
78280
78528
|
t[2]
|
|
78281
78529
|
]);
|
|
78282
|
-
return e ? n +
|
|
78530
|
+
return e ? n + nH(t[3]) : n;
|
|
78283
78531
|
}
|
|
78284
78532
|
toHsv() {
|
|
78285
78533
|
return _A(this.toRgb());
|
|
@@ -78339,7 +78587,7 @@ var $V = class e {
|
|
|
78339
78587
|
static parse(t, n = 1) {
|
|
78340
78588
|
return Array.isArray(t) && t.some((e) => typeof e != "number") ? t.map((t) => new e(t, n)) : new e(t, n);
|
|
78341
78589
|
}
|
|
78342
|
-
},
|
|
78590
|
+
}, sH = oH, cH = class e extends oH {
|
|
78343
78591
|
hsva;
|
|
78344
78592
|
constructor(e, t = 1) {
|
|
78345
78593
|
if (super(null), e.length === 3) this.hsva = [
|
|
@@ -78408,7 +78656,7 @@ var $V = class e {
|
|
|
78408
78656
|
return this.hsva[2];
|
|
78409
78657
|
}
|
|
78410
78658
|
};
|
|
78411
|
-
function
|
|
78659
|
+
function lH(e) {
|
|
78412
78660
|
let t = e >>> 0;
|
|
78413
78661
|
return () => {
|
|
78414
78662
|
t = t + 1831565813 | 0;
|
|
@@ -78416,18 +78664,18 @@ function nH(e) {
|
|
|
78416
78664
|
return e = e + Math.imul(e ^ e >>> 7, 61 | e) ^ e, ((e ^ e >>> 14) >>> 0) / 4294967296;
|
|
78417
78665
|
};
|
|
78418
78666
|
}
|
|
78419
|
-
var
|
|
78667
|
+
var uH = Array.from(new Set(Object.values(fl))).map((e) => new oH(e)), dH = class {
|
|
78420
78668
|
rng;
|
|
78421
78669
|
colors;
|
|
78422
78670
|
constructor(e, t) {
|
|
78423
|
-
this.rng = e === void 0 ? Math.random :
|
|
78671
|
+
this.rng = e === void 0 ? Math.random : lH(e), this.colors = t === void 0 ? uH : t.map((e) => e instanceof oH ? e : new oH(e));
|
|
78424
78672
|
}
|
|
78425
78673
|
next() {
|
|
78426
78674
|
let e = Math.floor(this.rng() * this.colors.length);
|
|
78427
78675
|
return this.colors[e];
|
|
78428
78676
|
}
|
|
78429
78677
|
};
|
|
78430
|
-
function
|
|
78678
|
+
function fH(e, t, n, r) {
|
|
78431
78679
|
let i = .5 * Jd(n, Zd([
|
|
78432
78680
|
r[0] - t[0],
|
|
78433
78681
|
r[1] - t[1],
|
|
@@ -78441,7 +78689,7 @@ function aH(e, t, n, r) {
|
|
|
78441
78689
|
}
|
|
78442
78690
|
//#endregion
|
|
78443
78691
|
//#region src/utils/iterables.ts
|
|
78444
|
-
function
|
|
78692
|
+
function pH(e, t) {
|
|
78445
78693
|
let n = e.length;
|
|
78446
78694
|
if (n === 0) return [];
|
|
78447
78695
|
let r = [];
|
|
@@ -78452,10 +78700,10 @@ function oH(e, t) {
|
|
|
78452
78700
|
}
|
|
78453
78701
|
return r;
|
|
78454
78702
|
}
|
|
78455
|
-
function
|
|
78456
|
-
return
|
|
78703
|
+
function mH(e) {
|
|
78704
|
+
return pH(e, 2);
|
|
78457
78705
|
}
|
|
78458
|
-
function
|
|
78706
|
+
function hH(e) {
|
|
78459
78707
|
let t = [], n = /* @__PURE__ */ new Set();
|
|
78460
78708
|
for (let r = e.length - 1; r >= 0; r--) {
|
|
78461
78709
|
let i = e[r];
|
|
@@ -78463,7 +78711,7 @@ function cH(e) {
|
|
|
78463
78711
|
}
|
|
78464
78712
|
return t.reverse(), t;
|
|
78465
78713
|
}
|
|
78466
|
-
function
|
|
78714
|
+
function gH(e, t, n) {
|
|
78467
78715
|
if (n === void 0) {
|
|
78468
78716
|
let n = new Set(t);
|
|
78469
78717
|
return e.filter((e) => !n.has(e));
|
|
@@ -78471,29 +78719,29 @@ function lH(e, t, n) {
|
|
|
78471
78719
|
let r = new Set(t.map((e) => n(e)));
|
|
78472
78720
|
return e.filter((e) => !r.has(n(e)));
|
|
78473
78721
|
}
|
|
78474
|
-
function
|
|
78475
|
-
return
|
|
78722
|
+
function _H(e, t, n) {
|
|
78723
|
+
return gH(e, t, n).concat(t);
|
|
78476
78724
|
}
|
|
78477
|
-
function
|
|
78725
|
+
function vH(e) {
|
|
78478
78726
|
return typeof e == "string" ? [e] : typeof e == "object" && e && Symbol.iterator in e ? [...e] : [e];
|
|
78479
78727
|
}
|
|
78480
|
-
function
|
|
78728
|
+
function yH(e, t) {
|
|
78481
78729
|
let n = e.length, r = t.length, i = Math.max(n, r), a = [], o = [];
|
|
78482
78730
|
for (let s = 0; s < i; s++) a.push(e[Math.floor(s * n / i)]), o.push(t[Math.floor(s * r / i)]);
|
|
78483
78731
|
return [a, o];
|
|
78484
78732
|
}
|
|
78485
|
-
function
|
|
78733
|
+
function bH(e, t) {
|
|
78486
78734
|
let n = e.length;
|
|
78487
78735
|
if (n > t) throw Error("Trying to stretch array to a length shorter than its own");
|
|
78488
78736
|
let r = [];
|
|
78489
78737
|
for (let i = 0; i < t; i++) r.push(e[Math.floor(i / t * n)]);
|
|
78490
78738
|
return r;
|
|
78491
78739
|
}
|
|
78492
|
-
function*
|
|
78740
|
+
function* xH(...e) {
|
|
78493
78741
|
let t = /* @__PURE__ */ new Set();
|
|
78494
78742
|
for (let n of e) for (let e of n) t.has(e) || (t.add(e), yield e);
|
|
78495
78743
|
}
|
|
78496
|
-
function
|
|
78744
|
+
function SH(e) {
|
|
78497
78745
|
let t = [[]];
|
|
78498
78746
|
for (let n of e) {
|
|
78499
78747
|
let e = t.length;
|
|
@@ -78501,82 +78749,82 @@ function hH(e) {
|
|
|
78501
78749
|
}
|
|
78502
78750
|
return t;
|
|
78503
78751
|
}
|
|
78504
|
-
function
|
|
78752
|
+
function CH(e, t) {
|
|
78505
78753
|
for (let n of e) if (!(n instanceof t)) return !1;
|
|
78506
78754
|
return !0;
|
|
78507
78755
|
}
|
|
78508
|
-
function
|
|
78756
|
+
function wH(...e) {
|
|
78509
78757
|
let t = [];
|
|
78510
78758
|
for (let n of e) for (let e of n) t.push(e);
|
|
78511
78759
|
return t;
|
|
78512
78760
|
}
|
|
78513
|
-
function
|
|
78761
|
+
function TH(e) {
|
|
78514
78762
|
return typeof e == "string" ? [e] : typeof e == "object" && e && Symbol.iterator in e ? [...e] : [e];
|
|
78515
78763
|
}
|
|
78516
|
-
function
|
|
78764
|
+
function EH(e) {
|
|
78517
78765
|
let t = [];
|
|
78518
78766
|
for (let n of e) n && t.push(n);
|
|
78519
78767
|
return t;
|
|
78520
78768
|
}
|
|
78521
|
-
function
|
|
78769
|
+
function DH(e, t) {
|
|
78522
78770
|
let n = Math.max(e.length, t.length), r = [], i = [];
|
|
78523
78771
|
for (let a = 0; a < n; a++) r.push(e[a % e.length]), i.push(t[a % t.length]);
|
|
78524
78772
|
return [r, i];
|
|
78525
78773
|
}
|
|
78526
|
-
function
|
|
78527
|
-
return
|
|
78774
|
+
function OH(e) {
|
|
78775
|
+
return AH(kH(e));
|
|
78528
78776
|
}
|
|
78529
|
-
function
|
|
78777
|
+
function kH(e) {
|
|
78530
78778
|
if (e === null) return "null";
|
|
78531
78779
|
if (e === void 0) return "undefined";
|
|
78532
78780
|
let t = typeof e;
|
|
78533
78781
|
if (t === "string") return `s:${e}`;
|
|
78534
78782
|
if (t === "number" || t === "boolean" || t === "bigint") return `${t[0]}:${String(e)}`;
|
|
78535
|
-
if (e instanceof Set) return `set:[${[...e].map(
|
|
78536
|
-
if (e instanceof Map) return `map:{${[...e.entries()].map(([e, t]) => `${
|
|
78537
|
-
if (Array.isArray(e)) return `arr:[${e.map(
|
|
78783
|
+
if (e instanceof Set) return `set:[${[...e].map(kH).sort().join(",")}]`;
|
|
78784
|
+
if (e instanceof Map) return `map:{${[...e.entries()].map(([e, t]) => `${kH(e)}=${kH(t)}`).sort().join(",")}}`;
|
|
78785
|
+
if (Array.isArray(e)) return `arr:[${e.map(kH).join(",")}]`;
|
|
78538
78786
|
if (t === "object") {
|
|
78539
78787
|
let t = e;
|
|
78540
|
-
return `obj:{${Object.keys(t).sort().map((e) => `${e}=${
|
|
78788
|
+
return `obj:{${Object.keys(t).sort().map((e) => `${e}=${kH(t[e])}`).join(",")}}`;
|
|
78541
78789
|
}
|
|
78542
78790
|
return `${t}:${String(e)}`;
|
|
78543
78791
|
}
|
|
78544
|
-
function
|
|
78792
|
+
function AH(e) {
|
|
78545
78793
|
let t = 2166136261;
|
|
78546
78794
|
for (let n = 0; n < e.length; n++) t ^= e.charCodeAt(n), t = Math.imul(t, 16777619);
|
|
78547
78795
|
return t >>> 0;
|
|
78548
78796
|
}
|
|
78549
78797
|
//#endregion
|
|
78550
78798
|
//#region src/utils/unit.ts
|
|
78551
|
-
function
|
|
78799
|
+
function jH(e) {
|
|
78552
78800
|
return e * dd / pd;
|
|
78553
78801
|
}
|
|
78554
|
-
function
|
|
78802
|
+
function MH(e) {
|
|
78555
78803
|
return e * Math.PI / 180;
|
|
78556
78804
|
}
|
|
78557
|
-
function
|
|
78805
|
+
function NH(e) {
|
|
78558
78806
|
return e;
|
|
78559
78807
|
}
|
|
78560
|
-
function
|
|
78808
|
+
function PH(e, t) {
|
|
78561
78809
|
return e[0] === t[0] && e[1] === t[1] && e[2] === t[2];
|
|
78562
78810
|
}
|
|
78563
|
-
function
|
|
78811
|
+
function FH(e, t) {
|
|
78564
78812
|
let n;
|
|
78565
|
-
if (
|
|
78566
|
-
else if (
|
|
78567
|
-
else if (
|
|
78813
|
+
if (PH(e, Ad)) n = dd;
|
|
78814
|
+
else if (PH(e, Dd)) n = 8;
|
|
78815
|
+
else if (PH(e, jd)) throw Error("length of Z axis is undefined");
|
|
78568
78816
|
else throw Error("Percent axis must be the X axis (RIGHT) or Y axis (UP)");
|
|
78569
78817
|
return t / 100 * n;
|
|
78570
78818
|
}
|
|
78571
78819
|
//#endregion
|
|
78572
78820
|
//#region src/utils/debug.ts
|
|
78573
|
-
function
|
|
78821
|
+
function IH(e, t = !1) {
|
|
78574
78822
|
let n = [];
|
|
78575
78823
|
for (let t of e) n.push(...t.getFamily());
|
|
78576
78824
|
return t ? n.filter((e) => e instanceof V && e.hasOwnPoints()) : n;
|
|
78577
78825
|
}
|
|
78578
|
-
function
|
|
78579
|
-
let n = [], r = new Set(
|
|
78826
|
+
function LH(e, t) {
|
|
78827
|
+
let n = [], r = new Set(IH(t)), i = (e, t) => {
|
|
78580
78828
|
for (let r of e) {
|
|
78581
78829
|
if (t.has(r)) continue;
|
|
78582
78830
|
let e = new Set(r.getFamily().filter((e) => t.has(e)));
|
|
@@ -78585,14 +78833,14 @@ function AH(e, t) {
|
|
|
78585
78833
|
};
|
|
78586
78834
|
return i(e, r), n;
|
|
78587
78835
|
}
|
|
78588
|
-
function
|
|
78836
|
+
function RH(e, t = {}) {
|
|
78589
78837
|
let { labelHeight: n = .15 } = t, r = new Nh();
|
|
78590
78838
|
return e.children.forEach((e, t) => {
|
|
78591
78839
|
let i = new qj({ value: t });
|
|
78592
78840
|
i.setHeight(n), i.moveTo(e), r.add(i);
|
|
78593
78841
|
}), r;
|
|
78594
78842
|
}
|
|
78595
|
-
function
|
|
78843
|
+
function zH(e, t = 0) {
|
|
78596
78844
|
let n = [], r = (e, t) => {
|
|
78597
78845
|
n.push(" ".repeat(t) + `${e.constructor.name} ${e.id}`);
|
|
78598
78846
|
for (let n of e.children) r(n, t + 1);
|
|
@@ -78603,8 +78851,8 @@ function MH(e, t = 0) {
|
|
|
78603
78851
|
}
|
|
78604
78852
|
//#endregion
|
|
78605
78853
|
//#region src/utils/spaceOps.ts
|
|
78606
|
-
var
|
|
78607
|
-
function
|
|
78854
|
+
var BH = 2 * Math.PI;
|
|
78855
|
+
function VH(e) {
|
|
78608
78856
|
let t = e.length, n = e[0].length, r = [];
|
|
78609
78857
|
for (let i = 0; i < n; i++) {
|
|
78610
78858
|
let n = [];
|
|
@@ -78613,20 +78861,20 @@ function PH(e) {
|
|
|
78613
78861
|
}
|
|
78614
78862
|
return r;
|
|
78615
78863
|
}
|
|
78616
|
-
function
|
|
78864
|
+
function HH(e, t) {
|
|
78617
78865
|
return e.map((e) => e.reduce((e, n, r) => e + n * (t[r] ?? 0), 0));
|
|
78618
78866
|
}
|
|
78619
|
-
function
|
|
78867
|
+
function UH(e) {
|
|
78620
78868
|
return e.reduce((e, t) => e + t * t, 0);
|
|
78621
78869
|
}
|
|
78622
|
-
function
|
|
78870
|
+
function WH(e, t) {
|
|
78623
78871
|
return e[0] * t[1] - e[1] * t[0];
|
|
78624
78872
|
}
|
|
78625
|
-
function
|
|
78626
|
-
let n = Math.sqrt(
|
|
78873
|
+
function GH(e, t) {
|
|
78874
|
+
let n = Math.sqrt(UH(e));
|
|
78627
78875
|
return n > 0 ? e.map((e) => e / n) : t ?? e.map(() => 0);
|
|
78628
78876
|
}
|
|
78629
|
-
function
|
|
78877
|
+
function KH(...e) {
|
|
78630
78878
|
if (e.length === 0) return [
|
|
78631
78879
|
1,
|
|
78632
78880
|
0,
|
|
@@ -78645,8 +78893,8 @@ function zH(...e) {
|
|
|
78645
78893
|
}
|
|
78646
78894
|
return t;
|
|
78647
78895
|
}
|
|
78648
|
-
function
|
|
78649
|
-
let r = n ? t :
|
|
78896
|
+
function qH(e, t, n = !1) {
|
|
78897
|
+
let r = n ? t : GH(t), i = Math.sin(e / 2);
|
|
78650
78898
|
return [
|
|
78651
78899
|
Math.cos(e / 2),
|
|
78652
78900
|
i * (r[0] ?? 0),
|
|
@@ -78654,19 +78902,19 @@ function BH(e, t, n = !1) {
|
|
|
78654
78902
|
i * (r[2] ?? 0)
|
|
78655
78903
|
];
|
|
78656
78904
|
}
|
|
78657
|
-
function
|
|
78658
|
-
let t =
|
|
78905
|
+
function JH(e) {
|
|
78906
|
+
let t = GH(e.slice(1), [
|
|
78659
78907
|
1,
|
|
78660
78908
|
0,
|
|
78661
78909
|
0
|
|
78662
78910
|
]), n = 2 * Math.acos(e[0]);
|
|
78663
|
-
return n >
|
|
78911
|
+
return n > BH / 2 && (n = BH - n, t = [
|
|
78664
78912
|
-t[0],
|
|
78665
78913
|
-t[1],
|
|
78666
78914
|
-t[2]
|
|
78667
78915
|
]), [n, t];
|
|
78668
78916
|
}
|
|
78669
|
-
function
|
|
78917
|
+
function YH(e) {
|
|
78670
78918
|
return [
|
|
78671
78919
|
e[0],
|
|
78672
78920
|
-e[1],
|
|
@@ -78674,7 +78922,7 @@ function HH(e) {
|
|
|
78674
78922
|
-e[3]
|
|
78675
78923
|
];
|
|
78676
78924
|
}
|
|
78677
|
-
function
|
|
78925
|
+
function XH(e, t, n = !1) {
|
|
78678
78926
|
let [r, i, a] = Zd(t), o = Math.cos(e), s = Math.sin(e), c = 1 - o, l = [
|
|
78679
78927
|
[
|
|
78680
78928
|
o + r * r * c,
|
|
@@ -78704,7 +78952,7 @@ function UH(e, t, n = !1) {
|
|
|
78704
78952
|
]
|
|
78705
78953
|
] : l;
|
|
78706
78954
|
}
|
|
78707
|
-
function
|
|
78955
|
+
function ZH(e) {
|
|
78708
78956
|
let t = Math.cos(e), n = Math.sin(e);
|
|
78709
78957
|
return [
|
|
78710
78958
|
[
|
|
@@ -78724,23 +78972,23 @@ function WH(e) {
|
|
|
78724
78972
|
]
|
|
78725
78973
|
];
|
|
78726
78974
|
}
|
|
78727
|
-
function
|
|
78728
|
-
return (t[0] ?? 0) === 0 && (t[1] ?? 0) === 0 ?
|
|
78975
|
+
function QH(e, t) {
|
|
78976
|
+
return (t[0] ?? 0) === 0 && (t[1] ?? 0) === 0 ? VH(ZH(e * Math.sign(t[2] ?? 0))) : VH(XH(e, t));
|
|
78729
78977
|
}
|
|
78730
|
-
function
|
|
78978
|
+
function $H(e, t, n = jd) {
|
|
78731
78979
|
if (e.length > 3) throw Error("Vector must have the correct dimensions.");
|
|
78732
78980
|
let r = e.length === 2 ? [
|
|
78733
78981
|
e[0],
|
|
78734
78982
|
e[1],
|
|
78735
78983
|
0
|
|
78736
|
-
] : e, i =
|
|
78984
|
+
] : e, i = HH(XH(t, n), r);
|
|
78737
78985
|
return [
|
|
78738
78986
|
i[0],
|
|
78739
78987
|
i[1],
|
|
78740
78988
|
i[2]
|
|
78741
78989
|
];
|
|
78742
78990
|
}
|
|
78743
|
-
function
|
|
78991
|
+
function eU(e) {
|
|
78744
78992
|
let t = Zd(e), n = Zd(Yd(t, Ad)), r = Yd(n, t);
|
|
78745
78993
|
if (Xd(n) === 0) {
|
|
78746
78994
|
r = Zd(Yd(Dd, t));
|
|
@@ -78751,27 +78999,27 @@ function qH(e) {
|
|
|
78751
78999
|
-e[2]
|
|
78752
79000
|
];
|
|
78753
79001
|
}
|
|
78754
|
-
return
|
|
79002
|
+
return VH([
|
|
78755
79003
|
r,
|
|
78756
79004
|
n,
|
|
78757
79005
|
t
|
|
78758
79006
|
]);
|
|
78759
79007
|
}
|
|
78760
|
-
function
|
|
79008
|
+
function tU(e) {
|
|
78761
79009
|
return Math.atan2(e[1] ?? 0, e[0] ?? 0);
|
|
78762
79010
|
}
|
|
78763
|
-
function
|
|
78764
|
-
let n =
|
|
78765
|
-
return 2 * Math.atan2(Math.sqrt(
|
|
79011
|
+
function nU(e, t) {
|
|
79012
|
+
let n = GH(e), r = GH(t), i = n.map((e, t) => e - r[t]), a = n.map((e, t) => e + r[t]);
|
|
79013
|
+
return 2 * Math.atan2(Math.sqrt(UH(i)), Math.sqrt(UH(a)));
|
|
78766
79014
|
}
|
|
78767
|
-
function
|
|
79015
|
+
function rU(e, t, n = 1e-6) {
|
|
78768
79016
|
let r = Math.max(...e.map(Math.abs)), i = Math.max(...t.map(Math.abs)), a;
|
|
78769
79017
|
if (r === 0) {
|
|
78770
79018
|
if (i === 0) return Od;
|
|
78771
79019
|
a = t.map((e) => e / i);
|
|
78772
79020
|
} else if (i === 0) a = e.map((e) => e / r);
|
|
78773
79021
|
else {
|
|
78774
|
-
let o = e.map((e) => e / r), s = Yd(o, t.map((e) => e / i)), c = Math.sqrt(
|
|
79022
|
+
let o = e.map((e) => e / r), s = Yd(o, t.map((e) => e / i)), c = Math.sqrt(UH(s));
|
|
78775
79023
|
if (c > n) return [
|
|
78776
79024
|
s[0] / c,
|
|
78777
79025
|
s[1] / c,
|
|
@@ -78784,43 +79032,43 @@ function XH(e, t, n = 1e-6) {
|
|
|
78784
79032
|
-a[0] * a[2],
|
|
78785
79033
|
-a[1] * a[2],
|
|
78786
79034
|
a[0] * a[0] + a[1] * a[1]
|
|
78787
|
-
], s = Math.sqrt(
|
|
79035
|
+
], s = Math.sqrt(UH(o));
|
|
78788
79036
|
return [
|
|
78789
79037
|
o[0] / s,
|
|
78790
79038
|
o[1] / s,
|
|
78791
79039
|
o[2] / s
|
|
78792
79040
|
];
|
|
78793
79041
|
}
|
|
78794
|
-
function
|
|
78795
|
-
let n =
|
|
78796
|
-
for (let i = 0; i < e; i++) r.push(
|
|
79042
|
+
function iU(e = 4, t = Ad) {
|
|
79043
|
+
let n = BH / e, r = [];
|
|
79044
|
+
for (let i = 0; i < e; i++) r.push($H(t, i * n));
|
|
78797
79045
|
return r;
|
|
78798
79046
|
}
|
|
78799
|
-
function
|
|
78800
|
-
let n = t.radius ?? 1, r = t.startAngle ?? (e % 2 == 0 ? 0 :
|
|
78801
|
-
return [
|
|
79047
|
+
function aU(e, t = {}) {
|
|
79048
|
+
let n = t.radius ?? 1, r = t.startAngle ?? (e % 2 == 0 ? 0 : BH / 4);
|
|
79049
|
+
return [iU(e, $H([
|
|
78802
79050
|
n,
|
|
78803
79051
|
0,
|
|
78804
79052
|
0
|
|
78805
79053
|
], r)), r];
|
|
78806
79054
|
}
|
|
78807
|
-
function
|
|
79055
|
+
function oU(e) {
|
|
78808
79056
|
return [
|
|
78809
79057
|
e.re,
|
|
78810
79058
|
e.im,
|
|
78811
79059
|
0
|
|
78812
79060
|
];
|
|
78813
79061
|
}
|
|
78814
|
-
function
|
|
79062
|
+
function sU(e) {
|
|
78815
79063
|
return {
|
|
78816
79064
|
re: e[0] ?? 0,
|
|
78817
79065
|
im: e[1] ?? 0
|
|
78818
79066
|
};
|
|
78819
79067
|
}
|
|
78820
|
-
function
|
|
78821
|
-
return (t) =>
|
|
79068
|
+
function cU(e) {
|
|
79069
|
+
return (t) => oU(e(sU(t)));
|
|
78822
79070
|
}
|
|
78823
|
-
function
|
|
79071
|
+
function lU(e) {
|
|
78824
79072
|
let t = [
|
|
78825
79073
|
0,
|
|
78826
79074
|
0,
|
|
@@ -78834,10 +79082,10 @@ function nU(e) {
|
|
|
78834
79082
|
t[2] / n
|
|
78835
79083
|
];
|
|
78836
79084
|
}
|
|
78837
|
-
function
|
|
78838
|
-
return
|
|
79085
|
+
function uU(e, t) {
|
|
79086
|
+
return lU([e, t]);
|
|
78839
79087
|
}
|
|
78840
|
-
function
|
|
79088
|
+
function dU(e, t) {
|
|
78841
79089
|
for (let n of [e, t]) for (let e of n) if ((e[2] ?? 0) !== 0) throw Error("Coords must be in the xy-plane.");
|
|
78842
79090
|
let n = (e) => Yd([
|
|
78843
79091
|
e[0][0],
|
|
@@ -78855,7 +79103,7 @@ function iU(e, t) {
|
|
|
78855
79103
|
0
|
|
78856
79104
|
];
|
|
78857
79105
|
}
|
|
78858
|
-
function
|
|
79106
|
+
function fU(e, t, n, r, i = 1e-5) {
|
|
78859
79107
|
let a = [];
|
|
78860
79108
|
for (let o = 0; o < e.length; o++) {
|
|
78861
79109
|
let s = e[o], c = t[o], l = n[o], u = r[o], d = Yd(u, Yd(c, u)), f = c[0] * d[0] + c[1] * d[1] + c[2] * d[2], p = Math.max(f, i), m = [
|
|
@@ -78871,15 +79119,15 @@ function aU(e, t, n, r, i = 1e-5) {
|
|
|
78871
79119
|
}
|
|
78872
79120
|
return a;
|
|
78873
79121
|
}
|
|
78874
|
-
function
|
|
79122
|
+
function pU(e) {
|
|
78875
79123
|
let t = 0;
|
|
78876
79124
|
for (let n = 0; n < e.length - 1; n++) t += (e[n + 1][0] - e[n][0]) * (e[n][1] + e[n + 1][1]) / 2;
|
|
78877
79125
|
return t;
|
|
78878
79126
|
}
|
|
78879
|
-
function
|
|
78880
|
-
return
|
|
79127
|
+
function mU(e) {
|
|
79128
|
+
return pU(e) > 0 ? "CW" : "CCW";
|
|
78881
79129
|
}
|
|
78882
|
-
function
|
|
79130
|
+
function hU(e) {
|
|
78883
79131
|
let t = Xd(e);
|
|
78884
79132
|
if (t === 0) return [
|
|
78885
79133
|
0,
|
|
@@ -78893,7 +79141,7 @@ function cU(e) {
|
|
|
78893
79141
|
n
|
|
78894
79142
|
];
|
|
78895
79143
|
}
|
|
78896
|
-
function
|
|
79144
|
+
function gU(e) {
|
|
78897
79145
|
let [t, n, r] = e;
|
|
78898
79146
|
return [
|
|
78899
79147
|
t * Math.cos(n) * Math.sin(r),
|
|
@@ -78901,12 +79149,12 @@ function lU(e) {
|
|
|
78901
79149
|
t * Math.cos(r)
|
|
78902
79150
|
];
|
|
78903
79151
|
}
|
|
78904
|
-
function
|
|
79152
|
+
function _U(e, t = jd) {
|
|
78905
79153
|
let n = e[0], r = e[1], i = Yd([
|
|
78906
79154
|
n[0] - r[0],
|
|
78907
79155
|
n[1] - r[1],
|
|
78908
79156
|
n[2] - r[2]
|
|
78909
|
-
], t), a =
|
|
79157
|
+
], t), a = uU(n, r);
|
|
78910
79158
|
return [[
|
|
78911
79159
|
a[0] + i[0],
|
|
78912
79160
|
a[1] + i[1],
|
|
@@ -78917,7 +79165,7 @@ function uU(e, t = jd) {
|
|
|
78917
79165
|
a[2] - i[2]
|
|
78918
79166
|
]];
|
|
78919
79167
|
}
|
|
78920
|
-
function
|
|
79168
|
+
function vU(e, t = 2) {
|
|
78921
79169
|
let n = [];
|
|
78922
79170
|
for (let r = 0; r < e; r++) {
|
|
78923
79171
|
let i = [];
|
|
@@ -78926,41 +79174,41 @@ function dU(e, t = 2) {
|
|
|
78926
79174
|
}
|
|
78927
79175
|
return n;
|
|
78928
79176
|
}
|
|
78929
|
-
function
|
|
79177
|
+
function yU(e) {
|
|
78930
79178
|
let t = 0;
|
|
78931
|
-
for (let [n, r] of
|
|
78932
|
-
let e = ((
|
|
79179
|
+
for (let [n, r] of mH(e)) {
|
|
79180
|
+
let e = ((tU(r) - tU(n) + Math.PI) % BH + BH) % BH - Math.PI;
|
|
78933
79181
|
t += e;
|
|
78934
79182
|
}
|
|
78935
|
-
return t /
|
|
79183
|
+
return t / BH;
|
|
78936
79184
|
}
|
|
78937
79185
|
//#endregion
|
|
78938
79186
|
//#region src/utils/paths.ts
|
|
78939
|
-
var
|
|
78940
|
-
function
|
|
79187
|
+
var bU = .01;
|
|
79188
|
+
function xU(e, t, n) {
|
|
78941
79189
|
return e.map((e, r) => e.map((e, i) => e + n * (t[r][i] - e)));
|
|
78942
79190
|
}
|
|
78943
|
-
function
|
|
79191
|
+
function SU(e, t) {
|
|
78944
79192
|
return t.map((t) => t.reduce((t, n, r) => t + n * e[r], 0));
|
|
78945
79193
|
}
|
|
78946
|
-
function
|
|
78947
|
-
return
|
|
79194
|
+
function CU() {
|
|
79195
|
+
return xU;
|
|
78948
79196
|
}
|
|
78949
|
-
function
|
|
78950
|
-
let r =
|
|
79197
|
+
function wU(e, t, n = jd) {
|
|
79198
|
+
let r = GH(n, jd), i = (e) => t[e] ?? t[0];
|
|
78951
79199
|
return (t, n, a) => {
|
|
78952
|
-
let o =
|
|
79200
|
+
let o = XH(-e, r), s = XH(a * e, r);
|
|
78953
79201
|
return t.map((e, t) => {
|
|
78954
|
-
let r = i(t), c =
|
|
78955
|
-
return
|
|
79202
|
+
let r = i(t), c = SU(n[t].map((e, t) => e - r[t]), o).map((e, t) => e + r[t]);
|
|
79203
|
+
return SU(e.map((e, t) => e + a * (c[t] - e)).map((e, t) => e - r[t]), s).map((e, t) => e + r[t]);
|
|
78956
79204
|
});
|
|
78957
79205
|
};
|
|
78958
79206
|
}
|
|
78959
|
-
function
|
|
78960
|
-
if (Math.abs(e) <
|
|
78961
|
-
let n =
|
|
79207
|
+
function TU(e, t = jd) {
|
|
79208
|
+
if (Math.abs(e) < bU) return CU();
|
|
79209
|
+
let n = GH(t, jd);
|
|
78962
79210
|
return (t, r, i) => {
|
|
78963
|
-
let a =
|
|
79211
|
+
let a = XH(i * e, n);
|
|
78964
79212
|
return t.map((t, i) => {
|
|
78965
79213
|
let o = r[i].map((e, n) => e - t[n]), s = t.map((e, t) => e + .5 * o[t]);
|
|
78966
79214
|
if (e !== Math.PI) {
|
|
@@ -78971,19 +79219,19 @@ function vU(e, t = jd) {
|
|
|
78971
79219
|
], i = 1 / Math.tan(e / 2);
|
|
78972
79220
|
for (let e = 0; e < s.length; e++) s[e] += r[e] * i;
|
|
78973
79221
|
}
|
|
78974
|
-
return
|
|
79222
|
+
return SU(t.map((e, t) => e - s[t]), a).map((e, t) => e + s[t]);
|
|
78975
79223
|
});
|
|
78976
79224
|
};
|
|
78977
79225
|
}
|
|
78978
|
-
function
|
|
78979
|
-
return
|
|
79226
|
+
function EU() {
|
|
79227
|
+
return TU(-Math.PI);
|
|
78980
79228
|
}
|
|
78981
|
-
function
|
|
78982
|
-
return
|
|
79229
|
+
function DU() {
|
|
79230
|
+
return TU(Math.PI);
|
|
78983
79231
|
}
|
|
78984
79232
|
//#endregion
|
|
78985
79233
|
//#region src/utils/simpleFunctions.ts
|
|
78986
|
-
function
|
|
79234
|
+
function OU(e, t, n, r, i = 1e-4) {
|
|
78987
79235
|
let a = n, o = r, s = (a + o) / 2;
|
|
78988
79236
|
for (; Math.abs(o - a) > i;) {
|
|
78989
79237
|
s = (a + o) / 2;
|
|
@@ -78996,7 +79244,7 @@ function xU(e, t, n, r, i = 1e-4) {
|
|
|
78996
79244
|
}
|
|
78997
79245
|
return s;
|
|
78998
79246
|
}
|
|
78999
|
-
function
|
|
79247
|
+
function kU(e, t) {
|
|
79000
79248
|
if (t < 0 || t > e) return 0;
|
|
79001
79249
|
let n = t;
|
|
79002
79250
|
n > e - n && (n = e - n);
|
|
@@ -79004,30 +79252,30 @@ function SU(e, t) {
|
|
|
79004
79252
|
for (let t = 0; t < n; t++) r = r * (e - t) / (t + 1);
|
|
79005
79253
|
return Math.round(r);
|
|
79006
79254
|
}
|
|
79007
|
-
function
|
|
79255
|
+
function AU(e, t, n) {
|
|
79008
79256
|
return e < t ? t : e > n ? n : e;
|
|
79009
79257
|
}
|
|
79010
|
-
function
|
|
79258
|
+
function jU(e) {
|
|
79011
79259
|
return 1 / (1 + Math.exp(-e));
|
|
79012
79260
|
}
|
|
79013
79261
|
//#endregion
|
|
79014
79262
|
//#region src/utils/bezier.ts
|
|
79015
|
-
function
|
|
79263
|
+
function MU(e, t, n) {
|
|
79016
79264
|
if (Array.isArray(e) && Array.isArray(t)) return e.map((e, r) => (1 - n) * e + n * t[r]);
|
|
79017
79265
|
if (typeof e == "number" && typeof t == "number") return (1 - n) * e + n * t;
|
|
79018
79266
|
throw Error("interpolate: start and end must both be numbers or both be arrays");
|
|
79019
79267
|
}
|
|
79020
|
-
function
|
|
79268
|
+
function NU(e, t) {
|
|
79021
79269
|
if (Array.isArray(e) && Array.isArray(t)) return e.map((e, n) => (e + t[n]) / 2);
|
|
79022
79270
|
if (typeof e == "number" && typeof t == "number") return (e + t) / 2;
|
|
79023
79271
|
throw Error("mid: start and end must both be numbers or both be arrays");
|
|
79024
79272
|
}
|
|
79025
|
-
function
|
|
79273
|
+
function PU(e, t, n) {
|
|
79026
79274
|
if (Array.isArray(e) && Array.isArray(t) && Array.isArray(n)) return e.map((e, r) => (n[r] - e) / (t[r] - e));
|
|
79027
79275
|
if (typeof e == "number" && typeof t == "number" && typeof n == "number") return (n - e) / (t - e);
|
|
79028
79276
|
throw Error("inverse_interpolate: start, end and value must all be numbers or all be arrays");
|
|
79029
79277
|
}
|
|
79030
|
-
function
|
|
79278
|
+
function FU(e, t, n, r, i) {
|
|
79031
79279
|
let a = r - n;
|
|
79032
79280
|
if (Array.isArray(i)) return i.map((r) => {
|
|
79033
79281
|
let i = (r - n) / a;
|
|
@@ -79036,7 +79284,7 @@ function OU(e, t, n, r, i) {
|
|
|
79036
79284
|
let o = (i - n) / a;
|
|
79037
79285
|
return (1 - o) * e + o * t;
|
|
79038
79286
|
}
|
|
79039
|
-
function
|
|
79287
|
+
function IU(e, t) {
|
|
79040
79288
|
if (e.length === 0) return 0;
|
|
79041
79289
|
let n = e.slice();
|
|
79042
79290
|
for (; n.length > 1;) {
|
|
@@ -79046,7 +79294,7 @@ function kU(e, t) {
|
|
|
79046
79294
|
}
|
|
79047
79295
|
return n[0];
|
|
79048
79296
|
}
|
|
79049
|
-
function
|
|
79297
|
+
function LU(e, t) {
|
|
79050
79298
|
if (e.length === 0) return [];
|
|
79051
79299
|
let n = e.map((e) => e.slice());
|
|
79052
79300
|
for (; n.length > 1;) {
|
|
@@ -79056,15 +79304,15 @@ function AU(e, t) {
|
|
|
79056
79304
|
}
|
|
79057
79305
|
return n[0];
|
|
79058
79306
|
}
|
|
79059
|
-
function
|
|
79307
|
+
function RU(e) {
|
|
79060
79308
|
if (e.length > 0 && Array.isArray(e[0])) {
|
|
79061
79309
|
let t = e.filter((e) => Array.isArray(e));
|
|
79062
|
-
return (e) =>
|
|
79310
|
+
return (e) => LU(t, e);
|
|
79063
79311
|
}
|
|
79064
79312
|
let t = e.filter((e) => typeof e == "number");
|
|
79065
|
-
return (e) =>
|
|
79313
|
+
return (e) => IU(t, e);
|
|
79066
79314
|
}
|
|
79067
|
-
function
|
|
79315
|
+
function zU(e, t) {
|
|
79068
79316
|
let n = e.length, r = e.map((e) => e.slice()), i = Array(n);
|
|
79069
79317
|
i[0] = e[0].slice();
|
|
79070
79318
|
for (let e = 1; e < n; e++) {
|
|
@@ -79073,7 +79321,7 @@ function MU(e, t) {
|
|
|
79073
79321
|
}
|
|
79074
79322
|
return [...i, ...r];
|
|
79075
79323
|
}
|
|
79076
|
-
function
|
|
79324
|
+
function BU(e, t) {
|
|
79077
79325
|
if (t <= 1) return e.map((e) => e.slice());
|
|
79078
79326
|
let n = [];
|
|
79079
79327
|
for (let r = 0; r < t; r++) {
|
|
@@ -79082,7 +79330,7 @@ function NU(e, t) {
|
|
|
79082
79330
|
}
|
|
79083
79331
|
return n;
|
|
79084
79332
|
}
|
|
79085
|
-
function
|
|
79333
|
+
function VU(e, t) {
|
|
79086
79334
|
let n = e.length;
|
|
79087
79335
|
if (n === 0) return [];
|
|
79088
79336
|
let r = e[0].length, i = [];
|
|
@@ -79093,12 +79341,12 @@ function PU(e, t) {
|
|
|
79093
79341
|
for (let t = 0; t < n; t++) {
|
|
79094
79342
|
let n = a[t];
|
|
79095
79343
|
if (n <= 0) continue;
|
|
79096
|
-
let i =
|
|
79344
|
+
let i = BU(e[t], n);
|
|
79097
79345
|
for (let e = 0; e < n; e++) o.push(i.slice(e * r, e * r + r));
|
|
79098
79346
|
}
|
|
79099
79347
|
return o;
|
|
79100
79348
|
}
|
|
79101
|
-
function
|
|
79349
|
+
function HU(e) {
|
|
79102
79350
|
let t = e[0], n = e[e.length - 1];
|
|
79103
79351
|
for (let e = 0; e < 3; e++) {
|
|
79104
79352
|
let r = t[e] ?? 0, i = n[e] ?? 0, a = 1e-8 + 1e-5 * Math.abs(r);
|
|
@@ -79106,43 +79354,43 @@ function FU(e) {
|
|
|
79106
79354
|
}
|
|
79107
79355
|
return !0;
|
|
79108
79356
|
}
|
|
79109
|
-
function
|
|
79357
|
+
function UU(e, t) {
|
|
79110
79358
|
return {
|
|
79111
79359
|
re: e.re + t.re,
|
|
79112
79360
|
im: e.im + t.im
|
|
79113
79361
|
};
|
|
79114
79362
|
}
|
|
79115
|
-
function
|
|
79363
|
+
function WU(e, t) {
|
|
79116
79364
|
return {
|
|
79117
79365
|
re: e.re - t.re,
|
|
79118
79366
|
im: e.im - t.im
|
|
79119
79367
|
};
|
|
79120
79368
|
}
|
|
79121
|
-
function
|
|
79369
|
+
function GU(e, t) {
|
|
79122
79370
|
return {
|
|
79123
79371
|
re: e.re * t.re - e.im * t.im,
|
|
79124
79372
|
im: e.re * t.im + e.im * t.re
|
|
79125
79373
|
};
|
|
79126
79374
|
}
|
|
79127
|
-
function
|
|
79375
|
+
function KU(e, t) {
|
|
79128
79376
|
let n = t.re * t.re + t.im * t.im;
|
|
79129
79377
|
return {
|
|
79130
79378
|
re: (e.re * t.re + e.im * t.im) / n,
|
|
79131
79379
|
im: (e.im * t.re - e.re * t.im) / n
|
|
79132
79380
|
};
|
|
79133
79381
|
}
|
|
79134
|
-
function
|
|
79382
|
+
function qU(e, t) {
|
|
79135
79383
|
let n = {
|
|
79136
79384
|
re: e[e.length - 1],
|
|
79137
79385
|
im: 0
|
|
79138
79386
|
};
|
|
79139
|
-
for (let r = e.length - 2; r >= 0; r--) n =
|
|
79387
|
+
for (let r = e.length - 2; r >= 0; r--) n = UU(GU(n, t), {
|
|
79140
79388
|
re: e[r],
|
|
79141
79389
|
im: 0
|
|
79142
79390
|
});
|
|
79143
79391
|
return n;
|
|
79144
79392
|
}
|
|
79145
|
-
function
|
|
79393
|
+
function JU(e) {
|
|
79146
79394
|
let t = e.slice();
|
|
79147
79395
|
for (; t.length > 1 && Math.abs(t[t.length - 1]) < 1e-14;) t.pop();
|
|
79148
79396
|
let n = t.length - 1;
|
|
@@ -79157,17 +79405,17 @@ function VU(e) {
|
|
|
79157
79405
|
for (let e = 0; e < n; e++) a.push({
|
|
79158
79406
|
re: s.re,
|
|
79159
79407
|
im: s.im
|
|
79160
|
-
}), s =
|
|
79408
|
+
}), s = GU(s, o);
|
|
79161
79409
|
for (let e = 0; e < 200; e++) {
|
|
79162
79410
|
let e = 0;
|
|
79163
79411
|
for (let t = 0; t < n; t++) {
|
|
79164
|
-
let r =
|
|
79412
|
+
let r = qU(i, a[t]), o = {
|
|
79165
79413
|
re: 1,
|
|
79166
79414
|
im: 0
|
|
79167
79415
|
};
|
|
79168
|
-
for (let e = 0; e < n; e++) e !== t && (o =
|
|
79169
|
-
let s =
|
|
79170
|
-
a[t] =
|
|
79416
|
+
for (let e = 0; e < n; e++) e !== t && (o = GU(o, WU(a[t], a[e])));
|
|
79417
|
+
let s = KU(r, o);
|
|
79418
|
+
a[t] = WU(a[t], s);
|
|
79171
79419
|
let c = Math.hypot(s.re, s.im);
|
|
79172
79420
|
c > e && (e = c);
|
|
79173
79421
|
}
|
|
@@ -79175,98 +79423,98 @@ function VU(e) {
|
|
|
79175
79423
|
}
|
|
79176
79424
|
return a;
|
|
79177
79425
|
}
|
|
79178
|
-
function
|
|
79426
|
+
function YU(e, t) {
|
|
79179
79427
|
if (t < 0 || t > e) return 0;
|
|
79180
79428
|
let n = 1;
|
|
79181
79429
|
for (let r = 0; r < t; r++) n = n * (e - r) / (r + 1);
|
|
79182
79430
|
return Math.round(n);
|
|
79183
79431
|
}
|
|
79184
|
-
function
|
|
79432
|
+
function XU(e, t) {
|
|
79185
79433
|
let n = 10 ** t;
|
|
79186
79434
|
return Math.round(e * n) / n;
|
|
79187
79435
|
}
|
|
79188
|
-
function
|
|
79436
|
+
function ZU(e, t, n) {
|
|
79189
79437
|
let r = .5 * 10 ** -n, i = [];
|
|
79190
79438
|
for (let n of e) t.some((e) => Math.abs(n - e) <= r) && !i.some((e) => Math.abs(n - e) <= r) && i.push(n);
|
|
79191
79439
|
return i;
|
|
79192
79440
|
}
|
|
79193
|
-
function
|
|
79441
|
+
function QU(e, t, n = 1e-6) {
|
|
79194
79442
|
for (let n of t) if (n.length !== e.length) throw Error("proportions_along_bezier_curve_for_point: point and control points have different shapes");
|
|
79195
79443
|
let r = t.length - 1, i = Math.round(Math.log10(1 / n)), a = [];
|
|
79196
79444
|
for (let n = 0; n < e.length; n++) {
|
|
79197
79445
|
let o = e[n], s = t.map((e) => e[n]), c = [];
|
|
79198
79446
|
for (let e = r; e >= 0; e--) {
|
|
79199
|
-
let t =
|
|
79447
|
+
let t = YU(r, e), n = 1, i = 0;
|
|
79200
79448
|
for (let t = e; t >= 0; t--) {
|
|
79201
|
-
let r =
|
|
79449
|
+
let r = YU(e, t) * n * s[t];
|
|
79202
79450
|
e === 0 && (r -= o), i += r, n *= -1;
|
|
79203
79451
|
}
|
|
79204
79452
|
c.push(t * i);
|
|
79205
79453
|
}
|
|
79206
79454
|
if (c.every((e) => e === 0)) continue;
|
|
79207
|
-
let l =
|
|
79455
|
+
let l = JU(c.slice().reverse()).filter((e) => Math.abs(e.im) < 1e-9).map((e) => XU(e.re, i));
|
|
79208
79456
|
a.push(l);
|
|
79209
79457
|
}
|
|
79210
79458
|
if (a.length === 0) return [];
|
|
79211
79459
|
let o = a[0];
|
|
79212
|
-
for (let e = 1; e < a.length; e++) o =
|
|
79460
|
+
for (let e = 1; e < a.length; e++) o = ZU(o, a[e], i);
|
|
79213
79461
|
return o.filter((e) => e >= 0 && e <= 1);
|
|
79214
79462
|
}
|
|
79215
|
-
function
|
|
79216
|
-
return
|
|
79463
|
+
function $U(e, t, n = 1e-6) {
|
|
79464
|
+
return QU(e, t, n).length > 0;
|
|
79217
79465
|
}
|
|
79218
79466
|
//#endregion
|
|
79219
79467
|
//#region src/mobjects/three-d/threeDVmobUtils.ts
|
|
79220
|
-
function
|
|
79468
|
+
function eW(e) {
|
|
79221
79469
|
return [
|
|
79222
79470
|
e[0],
|
|
79223
79471
|
e[1],
|
|
79224
79472
|
e[2]
|
|
79225
79473
|
];
|
|
79226
79474
|
}
|
|
79227
|
-
function
|
|
79475
|
+
function tW(e) {
|
|
79228
79476
|
return e.filter((e, t) => t % 3 == 0);
|
|
79229
79477
|
}
|
|
79230
|
-
function
|
|
79231
|
-
return [
|
|
79478
|
+
function nW(e) {
|
|
79479
|
+
return [aW(e), oW(e)];
|
|
79232
79480
|
}
|
|
79233
|
-
function
|
|
79481
|
+
function rW(e) {
|
|
79234
79482
|
return 0;
|
|
79235
79483
|
}
|
|
79236
|
-
function
|
|
79484
|
+
function iW(e) {
|
|
79237
79485
|
return Math.floor((e.getPoints().length - 1) / 6) * 3;
|
|
79238
79486
|
}
|
|
79239
|
-
function
|
|
79487
|
+
function aW(e) {
|
|
79240
79488
|
let t = e.getPoints();
|
|
79241
|
-
return t.length === 0 ? [...Nd] :
|
|
79489
|
+
return t.length === 0 ? [...Nd] : eW(t[rW(e)]);
|
|
79242
79490
|
}
|
|
79243
|
-
function
|
|
79491
|
+
function oW(e) {
|
|
79244
79492
|
let t = e.getPoints();
|
|
79245
|
-
return t.length === 0 ? [...Nd] :
|
|
79493
|
+
return t.length === 0 ? [...Nd] : eW(t[iW(e)]);
|
|
79246
79494
|
}
|
|
79247
|
-
function
|
|
79495
|
+
function sW(e, t) {
|
|
79248
79496
|
let n = e.getPoints(), r = n.length;
|
|
79249
|
-
if (
|
|
79250
|
-
let i = t, a = i > 2 ? i - 3 : r - 4, o =
|
|
79497
|
+
if (tW(n).length <= 2) return [...Dd];
|
|
79498
|
+
let i = t, a = i > 2 ? i - 3 : r - 4, o = rU(n[i < r - 3 ? i + 3 : 3].map((e, t) => e - n[i][t]), n[a].map((e, t) => e - n[i][t]));
|
|
79251
79499
|
return Math.hypot(...o) === 0 ? [...Dd] : o;
|
|
79252
79500
|
}
|
|
79253
|
-
function
|
|
79254
|
-
return
|
|
79501
|
+
function cW(e) {
|
|
79502
|
+
return sW(e, rW(e));
|
|
79255
79503
|
}
|
|
79256
|
-
function
|
|
79257
|
-
return
|
|
79504
|
+
function lW(e) {
|
|
79505
|
+
return sW(e, iW(e));
|
|
79258
79506
|
}
|
|
79259
79507
|
//#endregion
|
|
79260
79508
|
//#region src/core/SpecialThreeDScene.ts
|
|
79261
|
-
var
|
|
79509
|
+
var uW = 70 * ju, dW = -110 * ju, fW = 2, pW = 48, mW = class extends WE {
|
|
79262
79510
|
cutAxesAtRadius;
|
|
79263
79511
|
_threeDAxesConfig;
|
|
79264
79512
|
_sphereConfig;
|
|
79265
79513
|
_defaultAngledCameraPosition;
|
|
79266
79514
|
constructor(e, t = {}) {
|
|
79267
79515
|
let { cutAxesAtRadius: n = !0, threeDAxesConfig: r = {}, sphereConfig: i = {}, defaultAngledCameraPosition: a = {
|
|
79268
|
-
phi:
|
|
79269
|
-
theta:
|
|
79516
|
+
phi: uW,
|
|
79517
|
+
theta: dW
|
|
79270
79518
|
}, phi: o = a.phi, theta: s = a.theta, ...c } = t;
|
|
79271
79519
|
super(e, {
|
|
79272
79520
|
...c,
|
|
@@ -79296,8 +79544,8 @@ var rW = 70 * ju, iW = -110 * ju, aW = 2, oW = 48, sW = class extends WE {
|
|
|
79296
79544
|
}
|
|
79297
79545
|
getDefaultSphereConfig() {
|
|
79298
79546
|
return {
|
|
79299
|
-
radius:
|
|
79300
|
-
resolution:
|
|
79547
|
+
radius: fW,
|
|
79548
|
+
resolution: pW
|
|
79301
79549
|
};
|
|
79302
79550
|
}
|
|
79303
79551
|
getAxes() {
|
|
@@ -79323,36 +79571,36 @@ var rW = 70 * ju, iW = -110 * ju, aW = 2, oW = 48, sW = class extends WE {
|
|
|
79323
79571
|
};
|
|
79324
79572
|
//#endregion
|
|
79325
79573
|
//#region src/mobjects/text/registerFont.ts
|
|
79326
|
-
function
|
|
79574
|
+
function hW(e, t) {
|
|
79327
79575
|
if (typeof document > "u" || typeof FontFace > "u" || document.fonts === void 0) return !1;
|
|
79328
79576
|
let n = typeof t == "string" && !/^\s*(url|local)\s*\(/i.test(t) ? `url("${t}")` : t, r = new FontFace(e, n);
|
|
79329
79577
|
return document.fonts.add(r), !0;
|
|
79330
79578
|
}
|
|
79331
79579
|
//#endregion
|
|
79332
79580
|
//#region src/integrations/webcomponent.ts
|
|
79333
|
-
var
|
|
79581
|
+
var gW = 800, _W = 450, vW = { importModule: (e) => import(
|
|
79334
79582
|
/* @vite-ignore */
|
|
79335
79583
|
e
|
|
79336
79584
|
) };
|
|
79337
|
-
function
|
|
79585
|
+
function yW(e) {
|
|
79338
79586
|
return typeof e.togglePlayPause == "function";
|
|
79339
79587
|
}
|
|
79340
|
-
function
|
|
79588
|
+
function bW(e) {
|
|
79341
79589
|
try {
|
|
79342
79590
|
e.dispose();
|
|
79343
79591
|
} catch (e) {
|
|
79344
79592
|
Gf.error("<manim-scene> failed to dispose instance:", e);
|
|
79345
79593
|
}
|
|
79346
79594
|
}
|
|
79347
|
-
function
|
|
79595
|
+
function xW(e, t) {
|
|
79348
79596
|
let n = e?.trim();
|
|
79349
79597
|
return n ? /^\d+(\.\d+)?$/.test(n) ? `${n}px` : n : `${t}px`;
|
|
79350
79598
|
}
|
|
79351
|
-
function
|
|
79599
|
+
function SW(e) {
|
|
79352
79600
|
let t = e?.trim();
|
|
79353
79601
|
return !t || !/^\d+(\.\d+)?$/.test(t) ? null : Number(t);
|
|
79354
79602
|
}
|
|
79355
|
-
var
|
|
79603
|
+
var CW = typeof HTMLElement < "u" ? HTMLElement : class {}, wW = class extends CW {
|
|
79356
79604
|
static get observedAttributes() {
|
|
79357
79605
|
return [
|
|
79358
79606
|
"width",
|
|
@@ -79398,7 +79646,7 @@ var gW = typeof HTMLElement < "u" ? HTMLElement : class {}, _W = class extends g
|
|
|
79398
79646
|
}
|
|
79399
79647
|
_applyContainerStyle() {
|
|
79400
79648
|
let e = this._container;
|
|
79401
|
-
e && (e.style.width =
|
|
79649
|
+
e && (e.style.width = xW(this.getAttribute("width"), gW), e.style.height = xW(this.getAttribute("height"), _W), e.style.position = "relative", e.style.overflow = "hidden", e.style.background = this.getAttribute("background") ?? "");
|
|
79402
79650
|
}
|
|
79403
79651
|
_mount() {
|
|
79404
79652
|
return this._mountPromise = this._doMount(), this._mountPromise;
|
|
@@ -79417,7 +79665,7 @@ var gW = typeof HTMLElement < "u" ? HTMLElement : class {}, _W = class extends g
|
|
|
79417
79665
|
return;
|
|
79418
79666
|
}
|
|
79419
79667
|
if (e !== this._loadToken) {
|
|
79420
|
-
|
|
79668
|
+
bW(r);
|
|
79421
79669
|
return;
|
|
79422
79670
|
}
|
|
79423
79671
|
this._instance = r, this._applyPlaybackOptions();
|
|
@@ -79426,7 +79674,7 @@ var gW = typeof HTMLElement < "u" ? HTMLElement : class {}, _W = class extends g
|
|
|
79426
79674
|
if (this._sceneFactory) return this._sceneFactory;
|
|
79427
79675
|
let t = this.getAttribute("src");
|
|
79428
79676
|
if (!t) return null;
|
|
79429
|
-
let n = await
|
|
79677
|
+
let n = await vW.importModule(t);
|
|
79430
79678
|
if (e !== this._loadToken) return null;
|
|
79431
79679
|
let r = n.default;
|
|
79432
79680
|
return typeof r == "function" ? r : (Gf.error(`<manim-scene> module "${t}" has no default-export factory function.`), null);
|
|
@@ -79434,19 +79682,19 @@ var gW = typeof HTMLElement < "u" ? HTMLElement : class {}, _W = class extends g
|
|
|
79434
79682
|
_applyPlaybackOptions() {
|
|
79435
79683
|
let e = this._instance;
|
|
79436
79684
|
if (!e) return;
|
|
79437
|
-
let t =
|
|
79685
|
+
let t = yW(e);
|
|
79438
79686
|
t && (e.loop = this.hasAttribute("loop")), t || this._syncSceneControls(e), this.hasAttribute("autoplay") && !e.isPlaying && (t ? e.play() : e.resume());
|
|
79439
79687
|
}
|
|
79440
79688
|
_syncSceneControls(e) {
|
|
79441
79689
|
let t = this.hasAttribute("controls");
|
|
79442
|
-
t && !this._controls ? this._controls = new
|
|
79690
|
+
t && !this._controls ? this._controls = new hB(e) : !t && this._controls && (this._controls.dispose(), this._controls = null);
|
|
79443
79691
|
}
|
|
79444
79692
|
_resizeInstance() {
|
|
79445
79693
|
let e = this._instance;
|
|
79446
79694
|
if (!e) return;
|
|
79447
|
-
let t =
|
|
79695
|
+
let t = SW(this.getAttribute("width")), n = SW(this.getAttribute("height"));
|
|
79448
79696
|
if (t === null || n === null) return;
|
|
79449
|
-
let r =
|
|
79697
|
+
let r = yW(e) ? e.scene : e;
|
|
79450
79698
|
try {
|
|
79451
79699
|
r.resize(t, n);
|
|
79452
79700
|
} catch (e) {
|
|
@@ -79462,78 +79710,78 @@ var gW = typeof HTMLElement < "u" ? HTMLElement : class {}, _W = class extends g
|
|
|
79462
79710
|
}
|
|
79463
79711
|
this._controls = null;
|
|
79464
79712
|
}
|
|
79465
|
-
this._instance &&= (
|
|
79713
|
+
this._instance &&= (bW(this._instance), null);
|
|
79466
79714
|
}
|
|
79467
79715
|
_clearContainerChildren() {
|
|
79468
79716
|
let e = this._container;
|
|
79469
79717
|
if (e) for (; e.firstChild;) e.removeChild(e.firstChild);
|
|
79470
79718
|
}
|
|
79471
79719
|
};
|
|
79472
|
-
function
|
|
79473
|
-
typeof customElements > "u" || typeof HTMLElement > "u" || customElements.get(e) || customElements.define(e,
|
|
79720
|
+
function TW(e = "manim-scene") {
|
|
79721
|
+
typeof customElements > "u" || typeof HTMLElement > "u" || customElements.get(e) || customElements.define(e, wW);
|
|
79474
79722
|
}
|
|
79475
79723
|
//#endregion
|
|
79476
79724
|
//#region src/serialization/registry.ts
|
|
79477
|
-
var
|
|
79478
|
-
function
|
|
79479
|
-
|
|
79725
|
+
var EW = /* @__PURE__ */ new Map();
|
|
79726
|
+
function DW(e, t) {
|
|
79727
|
+
EW.set(e, t);
|
|
79480
79728
|
}
|
|
79481
|
-
function
|
|
79482
|
-
|
|
79729
|
+
function OW(e) {
|
|
79730
|
+
EW.delete(e);
|
|
79483
79731
|
}
|
|
79484
|
-
function
|
|
79485
|
-
return
|
|
79732
|
+
function kW(e) {
|
|
79733
|
+
return EW.get(e);
|
|
79486
79734
|
}
|
|
79487
|
-
function
|
|
79488
|
-
return [...
|
|
79735
|
+
function AW() {
|
|
79736
|
+
return [...EW.keys()].sort();
|
|
79489
79737
|
}
|
|
79490
79738
|
//#endregion
|
|
79491
79739
|
//#region src/serialization/props.ts
|
|
79492
|
-
function
|
|
79740
|
+
function jW(e, t) {
|
|
79493
79741
|
return typeof e == "number" && Number.isFinite(e) ? e : t;
|
|
79494
79742
|
}
|
|
79495
|
-
function
|
|
79743
|
+
function MW(e, t) {
|
|
79496
79744
|
return typeof e == "string" ? e : t;
|
|
79497
79745
|
}
|
|
79498
|
-
function
|
|
79746
|
+
function NW(e, t) {
|
|
79499
79747
|
return typeof e == "boolean" ? e : t;
|
|
79500
79748
|
}
|
|
79501
|
-
function
|
|
79749
|
+
function PW(e) {
|
|
79502
79750
|
return typeof e == "string" ? e : void 0;
|
|
79503
79751
|
}
|
|
79504
|
-
function
|
|
79752
|
+
function FW(e) {
|
|
79505
79753
|
return Array.isArray(e) && e.length === 3 && e.every((e) => typeof e == "number" && Number.isFinite(e));
|
|
79506
79754
|
}
|
|
79507
|
-
function
|
|
79508
|
-
return
|
|
79755
|
+
function IW(e, t) {
|
|
79756
|
+
return FW(e) ? [
|
|
79509
79757
|
e[0],
|
|
79510
79758
|
e[1],
|
|
79511
79759
|
e[2]
|
|
79512
79760
|
] : t;
|
|
79513
79761
|
}
|
|
79514
|
-
function
|
|
79762
|
+
function LW(e) {
|
|
79515
79763
|
if (!Array.isArray(e)) return [];
|
|
79516
79764
|
let t = [];
|
|
79517
|
-
for (let n of e)
|
|
79765
|
+
for (let n of e) FW(n) && t.push([
|
|
79518
79766
|
n[0],
|
|
79519
79767
|
n[1],
|
|
79520
79768
|
n[2]
|
|
79521
79769
|
]);
|
|
79522
79770
|
return t;
|
|
79523
79771
|
}
|
|
79524
|
-
function
|
|
79772
|
+
function RW(e) {
|
|
79525
79773
|
return typeof e == "object" && !!e && !Array.isArray(e);
|
|
79526
79774
|
}
|
|
79527
79775
|
//#endregion
|
|
79528
79776
|
//#region src/serialization/defaults.ts
|
|
79529
|
-
function
|
|
79530
|
-
return typeof e == "number" && Number.isFinite(e) ? e :
|
|
79777
|
+
function zW(e) {
|
|
79778
|
+
return typeof e == "number" && Number.isFinite(e) ? e : MW(e, "normal");
|
|
79531
79779
|
}
|
|
79532
|
-
function
|
|
79780
|
+
function BW(e) {
|
|
79533
79781
|
return e === "left" || e === "right" ? e : "center";
|
|
79534
79782
|
}
|
|
79535
|
-
function
|
|
79536
|
-
|
|
79783
|
+
function VW() {
|
|
79784
|
+
DW("Circle", {
|
|
79537
79785
|
serialize: (e) => {
|
|
79538
79786
|
let t = e;
|
|
79539
79787
|
return {
|
|
@@ -79542,10 +79790,10 @@ function PW() {
|
|
|
79542
79790
|
};
|
|
79543
79791
|
},
|
|
79544
79792
|
deserialize: (e) => new fO({
|
|
79545
|
-
radius:
|
|
79546
|
-
numPoints:
|
|
79793
|
+
radius: jW(e.radius, 1),
|
|
79794
|
+
numPoints: jW(e.numPoints, 64)
|
|
79547
79795
|
})
|
|
79548
|
-
}),
|
|
79796
|
+
}), DW("Rectangle", {
|
|
79549
79797
|
serialize: (e) => {
|
|
79550
79798
|
let t = e;
|
|
79551
79799
|
return {
|
|
@@ -79554,13 +79802,13 @@ function PW() {
|
|
|
79554
79802
|
};
|
|
79555
79803
|
},
|
|
79556
79804
|
deserialize: (e) => new GE({
|
|
79557
|
-
width:
|
|
79558
|
-
height:
|
|
79805
|
+
width: jW(e.width, 2),
|
|
79806
|
+
height: jW(e.height, 1)
|
|
79559
79807
|
})
|
|
79560
|
-
}),
|
|
79808
|
+
}), DW("Square", {
|
|
79561
79809
|
serialize: (e) => ({ sideLength: e._width }),
|
|
79562
|
-
deserialize: (e) => new KE({ sideLength:
|
|
79563
|
-
}),
|
|
79810
|
+
deserialize: (e) => new KE({ sideLength: jW(e.sideLength, 2) })
|
|
79811
|
+
}), DW("Line", {
|
|
79564
79812
|
serialize: (e) => {
|
|
79565
79813
|
let t = e;
|
|
79566
79814
|
return {
|
|
@@ -79569,27 +79817,27 @@ function PW() {
|
|
|
79569
79817
|
};
|
|
79570
79818
|
},
|
|
79571
79819
|
deserialize: (e) => new rD({
|
|
79572
|
-
start:
|
|
79820
|
+
start: IW(e.start, [
|
|
79573
79821
|
0,
|
|
79574
79822
|
0,
|
|
79575
79823
|
0
|
|
79576
79824
|
]),
|
|
79577
|
-
end:
|
|
79825
|
+
end: IW(e.end, [
|
|
79578
79826
|
1,
|
|
79579
79827
|
0,
|
|
79580
79828
|
0
|
|
79581
79829
|
])
|
|
79582
79830
|
})
|
|
79583
|
-
}),
|
|
79831
|
+
}), DW("Dot", {
|
|
79584
79832
|
serialize: (e) => ({ radius: e._radius }),
|
|
79585
|
-
deserialize: (e) => new IO({ radius:
|
|
79586
|
-
}),
|
|
79833
|
+
deserialize: (e) => new IO({ radius: jW(e.radius, .08) })
|
|
79834
|
+
}), DW("Polygon", {
|
|
79587
79835
|
serialize: (e) => ({
|
|
79588
79836
|
vertices: e.getVertices().map((e) => [...e]),
|
|
79589
79837
|
closed: e._closed
|
|
79590
79838
|
}),
|
|
79591
79839
|
deserialize: (e) => {
|
|
79592
|
-
let t =
|
|
79840
|
+
let t = LW(e.vertices);
|
|
79593
79841
|
return new pO({
|
|
79594
79842
|
vertices: t.length >= 2 ? t : [[
|
|
79595
79843
|
0,
|
|
@@ -79600,16 +79848,16 @@ function PW() {
|
|
|
79600
79848
|
0,
|
|
79601
79849
|
0
|
|
79602
79850
|
]],
|
|
79603
|
-
closed:
|
|
79851
|
+
closed: NW(e.closed, !0)
|
|
79604
79852
|
});
|
|
79605
79853
|
}
|
|
79606
|
-
}),
|
|
79854
|
+
}), DW("Group", {
|
|
79607
79855
|
serialize: () => ({}),
|
|
79608
79856
|
deserialize: () => new PT()
|
|
79609
|
-
}),
|
|
79857
|
+
}), DW("VGroup", {
|
|
79610
79858
|
serialize: () => ({}),
|
|
79611
79859
|
deserialize: () => new Nh()
|
|
79612
|
-
}),
|
|
79860
|
+
}), DW("Text", {
|
|
79613
79861
|
serialize: (e) => {
|
|
79614
79862
|
let t = e;
|
|
79615
79863
|
return {
|
|
@@ -79624,16 +79872,16 @@ function PW() {
|
|
|
79624
79872
|
};
|
|
79625
79873
|
},
|
|
79626
79874
|
deserialize: (e) => new Uw({
|
|
79627
|
-
text:
|
|
79628
|
-
fontSize:
|
|
79629
|
-
fontFamily:
|
|
79630
|
-
fontWeight:
|
|
79631
|
-
fontStyle:
|
|
79632
|
-
lineHeight:
|
|
79633
|
-
letterSpacing:
|
|
79634
|
-
textAlign:
|
|
79875
|
+
text: MW(e.text, ""),
|
|
79876
|
+
fontSize: jW(e.fontSize, 48),
|
|
79877
|
+
fontFamily: MW(e.fontFamily, "CMU Serif, Georgia, Times New Roman, serif"),
|
|
79878
|
+
fontWeight: zW(e.fontWeight),
|
|
79879
|
+
fontStyle: MW(e.fontStyle, "normal"),
|
|
79880
|
+
lineHeight: jW(e.lineHeight, 1.2),
|
|
79881
|
+
letterSpacing: jW(e.letterSpacing, 0),
|
|
79882
|
+
textAlign: BW(e.textAlign)
|
|
79635
79883
|
})
|
|
79636
|
-
}),
|
|
79884
|
+
}), DW("MathTex", {
|
|
79637
79885
|
serialize: (e) => {
|
|
79638
79886
|
let t = e;
|
|
79639
79887
|
return {
|
|
@@ -79643,15 +79891,15 @@ function PW() {
|
|
|
79643
79891
|
};
|
|
79644
79892
|
},
|
|
79645
79893
|
deserialize: (e) => new kj({
|
|
79646
|
-
latex:
|
|
79647
|
-
fontSize:
|
|
79648
|
-
displayMode:
|
|
79894
|
+
latex: MW(e.latex, ""),
|
|
79895
|
+
fontSize: jW(e.fontSize, 1),
|
|
79896
|
+
displayMode: NW(e.displayMode, !0)
|
|
79649
79897
|
})
|
|
79650
79898
|
});
|
|
79651
79899
|
}
|
|
79652
79900
|
//#endregion
|
|
79653
79901
|
//#region src/serialization/types.ts
|
|
79654
|
-
var
|
|
79902
|
+
var HW = "manim-web-scene", UW = {
|
|
79655
79903
|
position: [
|
|
79656
79904
|
0,
|
|
79657
79905
|
0,
|
|
@@ -79668,7 +79916,7 @@ var FW = "manim-web-scene", IW = {
|
|
|
79668
79916
|
1
|
|
79669
79917
|
]
|
|
79670
79918
|
};
|
|
79671
|
-
function
|
|
79919
|
+
function WW(e) {
|
|
79672
79920
|
return {
|
|
79673
79921
|
position: [
|
|
79674
79922
|
e.position.x,
|
|
@@ -79687,67 +79935,67 @@ function LW(e) {
|
|
|
79687
79935
|
]
|
|
79688
79936
|
};
|
|
79689
79937
|
}
|
|
79690
|
-
function
|
|
79938
|
+
function GW(e) {
|
|
79691
79939
|
let t = {};
|
|
79692
79940
|
return e.strokeColor !== void 0 && (t.strokeColor = e.strokeColor), e.fillColor !== void 0 && (t.fillColor = e.fillColor), typeof e.opacity == "number" && (t.strokeOpacity = e.opacity), typeof e.fillOpacity == "number" && (t.fillOpacity = e.fillOpacity), typeof e.strokeWidth == "number" && (t.strokeWidth = e.strokeWidth), t;
|
|
79693
79941
|
}
|
|
79694
|
-
function
|
|
79695
|
-
let n =
|
|
79942
|
+
function KW(e, t) {
|
|
79943
|
+
let n = RW(t) ? t : {}, r = IW(n.position, UW.position), i = IW(n.rotation, UW.rotation), a = IW(n.scale, UW.scale);
|
|
79696
79944
|
e.position.set(r[0], r[1], r[2]), e.rotation.set(i[0], i[1], i[2]), e.scaleVector.set(a[0], a[1], a[2]);
|
|
79697
79945
|
}
|
|
79698
|
-
function
|
|
79699
|
-
let n =
|
|
79946
|
+
function qW(e, t) {
|
|
79947
|
+
let n = RW(t) ? t : {};
|
|
79700
79948
|
typeof n.strokeWidth == "number" && e.setStrokeWidth(n.strokeWidth), typeof n.strokeOpacity == "number" && e.setStrokeOpacity(n.strokeOpacity), typeof n.fillOpacity == "number" && e.setFillOpacity(n.fillOpacity);
|
|
79701
|
-
let r =
|
|
79949
|
+
let r = PW(n.strokeColor), i = PW(n.fillColor);
|
|
79702
79950
|
r !== void 0 && (e.color = r), r !== void 0 && (e.strokeColor = r), i !== void 0 && (e.fillColor = i);
|
|
79703
79951
|
}
|
|
79704
|
-
function
|
|
79705
|
-
let t = e.constructor.name, n =
|
|
79952
|
+
function JW(e) {
|
|
79953
|
+
let t = e.constructor.name, n = kW(t), r = {
|
|
79706
79954
|
type: t,
|
|
79707
79955
|
props: n ? n.serialize(e) : {},
|
|
79708
|
-
transform:
|
|
79709
|
-
style:
|
|
79710
|
-
children: e.children.map(
|
|
79956
|
+
transform: WW(e),
|
|
79957
|
+
style: GW(e),
|
|
79958
|
+
children: e.children.map(JW)
|
|
79711
79959
|
};
|
|
79712
79960
|
return n || (r.unknown = !0), r;
|
|
79713
79961
|
}
|
|
79714
|
-
function
|
|
79715
|
-
if (!
|
|
79716
|
-
let t =
|
|
79962
|
+
function YW(e) {
|
|
79963
|
+
if (!RW(e) || e.unknown === !0) return null;
|
|
79964
|
+
let t = PW(e.type);
|
|
79717
79965
|
if (t === void 0) return null;
|
|
79718
|
-
let n =
|
|
79966
|
+
let n = kW(t);
|
|
79719
79967
|
if (!n) return null;
|
|
79720
|
-
let r =
|
|
79721
|
-
if (
|
|
79722
|
-
let e =
|
|
79968
|
+
let r = RW(e.props) ? e.props : {}, i = n.deserialize(r);
|
|
79969
|
+
if (KW(i, e.transform), qW(i, e.style), Array.isArray(e.children)) for (let t of e.children) {
|
|
79970
|
+
let e = YW(t);
|
|
79723
79971
|
e && i.add(e);
|
|
79724
79972
|
}
|
|
79725
79973
|
return i;
|
|
79726
79974
|
}
|
|
79727
|
-
function
|
|
79975
|
+
function XW(e) {
|
|
79728
79976
|
let t = [];
|
|
79729
|
-
for (let n of e.mobjects) t.push(
|
|
79977
|
+
for (let n of e.mobjects) t.push(JW(n));
|
|
79730
79978
|
return {
|
|
79731
|
-
format:
|
|
79979
|
+
format: HW,
|
|
79732
79980
|
version: 1,
|
|
79733
79981
|
mobjects: t
|
|
79734
79982
|
};
|
|
79735
79983
|
}
|
|
79736
|
-
function
|
|
79737
|
-
if (!
|
|
79984
|
+
function ZW(e, t) {
|
|
79985
|
+
if (!RW(e) || !Array.isArray(e.mobjects)) return [];
|
|
79738
79986
|
let n = [];
|
|
79739
79987
|
for (let r of e.mobjects) {
|
|
79740
|
-
let e =
|
|
79988
|
+
let e = YW(r);
|
|
79741
79989
|
e && (t.add(e), n.push(e));
|
|
79742
79990
|
}
|
|
79743
79991
|
return n;
|
|
79744
79992
|
}
|
|
79745
79993
|
//#endregion
|
|
79746
79994
|
//#region src/serialization/index.ts
|
|
79747
|
-
|
|
79995
|
+
VW();
|
|
79748
79996
|
//#endregion
|
|
79749
79997
|
//#region src/mobjects/geo/geojson.ts
|
|
79750
|
-
function
|
|
79998
|
+
function QW(e) {
|
|
79751
79999
|
if (e.type === "Polygon") {
|
|
79752
80000
|
let t = e.coordinates[0];
|
|
79753
80001
|
return t ? [t] : [];
|
|
@@ -79761,26 +80009,26 @@ function GW(e) {
|
|
|
79761
80009
|
}
|
|
79762
80010
|
//#endregion
|
|
79763
80011
|
//#region src/mobjects/geo/projections.ts
|
|
79764
|
-
var
|
|
79765
|
-
function
|
|
79766
|
-
let { radius: t = 1, centerLon: n = 0, centerLat: r = 0, standardParallel: i = 0 } = e, a = Math.cos(i *
|
|
79767
|
-
return ([e, i]) => [(e - n) *
|
|
80012
|
+
var $W = Math.PI / 180;
|
|
80013
|
+
function eG(e = {}) {
|
|
80014
|
+
let { radius: t = 1, centerLon: n = 0, centerLat: r = 0, standardParallel: i = 0 } = e, a = Math.cos(i * $W);
|
|
80015
|
+
return ([e, i]) => [(e - n) * $W * t * a, (i - r) * $W * t];
|
|
79768
80016
|
}
|
|
79769
|
-
function
|
|
80017
|
+
function tG(e = {}) {
|
|
79770
80018
|
let { radius: t = 1, centerLon: n = 0, maxLatitude: r = 85.05112878 } = e;
|
|
79771
80019
|
return ([e, i]) => {
|
|
79772
|
-
let a = Math.max(-r, Math.min(r, i)) *
|
|
79773
|
-
return [(e - n) *
|
|
80020
|
+
let a = Math.max(-r, Math.min(r, i)) * $W;
|
|
80021
|
+
return [(e - n) * $W * t, t * Math.log(Math.tan(Math.PI / 4 + a / 2))];
|
|
79774
80022
|
};
|
|
79775
80023
|
}
|
|
79776
80024
|
//#endregion
|
|
79777
80025
|
//#region src/mobjects/geo/colorScale.ts
|
|
79778
|
-
var
|
|
80026
|
+
var nG = ["#0d1b2a", "#4cc9f0"], rG = class {
|
|
79779
80027
|
_palette;
|
|
79780
80028
|
_domain;
|
|
79781
80029
|
constructor(e = {}) {
|
|
79782
|
-
let { colors: t =
|
|
79783
|
-
this._palette = Sh(t.length > 0 ? t :
|
|
80030
|
+
let { colors: t = nG, domain: n = [0, 1], samples: r = 256 } = e, i = Math.max(2, Math.floor(r));
|
|
80031
|
+
this._palette = Sh(t.length > 0 ? t : nG, i), this._domain = [n[0], n[1]];
|
|
79784
80032
|
}
|
|
79785
80033
|
setDomainFromValues(e) {
|
|
79786
80034
|
let t = Infinity, n = -Infinity;
|
|
@@ -79796,7 +80044,7 @@ var YW = ["#0d1b2a", "#4cc9f0"], XW = class {
|
|
|
79796
80044
|
let a = Math.round(i * (this._palette.length - 1));
|
|
79797
80045
|
return this._palette[a];
|
|
79798
80046
|
}
|
|
79799
|
-
},
|
|
80047
|
+
}, iG = class extends PT {
|
|
79800
80048
|
_projection;
|
|
79801
80049
|
_colorScale;
|
|
79802
80050
|
_regions = [];
|
|
@@ -79804,10 +80052,10 @@ var YW = ["#0d1b2a", "#4cc9f0"], XW = class {
|
|
|
79804
80052
|
_regionPolygons = [];
|
|
79805
80053
|
constructor(e) {
|
|
79806
80054
|
super();
|
|
79807
|
-
let { geojson: t, value: n, colorScale: r = ["#0d1b2a", "#4cc9f0"], domain: i, fillOpacity: a = 1, noDataColor: o = Sl, borderColor: s = "#1b263b", borderWidth: c = 1, projection: l =
|
|
80055
|
+
let { geojson: t, value: n, colorScale: r = ["#0d1b2a", "#4cc9f0"], domain: i, fillOpacity: a = 1, noDataColor: o = Sl, borderColor: s = "#1b263b", borderWidth: c = 1, projection: l = eG() } = e;
|
|
79808
80056
|
this._projection = l;
|
|
79809
80057
|
let u = t.features ?? [], d = u.map((e, t) => n(e, t));
|
|
79810
|
-
this._colorScale = new
|
|
80058
|
+
this._colorScale = new rG({
|
|
79811
80059
|
colors: r,
|
|
79812
80060
|
domain: i
|
|
79813
80061
|
}), i || this._colorScale.setDomainFromValues(d.filter((e) => typeof e == "number" && Number.isFinite(e))), u.forEach((e, t) => {
|
|
@@ -79820,7 +80068,7 @@ var YW = ["#0d1b2a", "#4cc9f0"], XW = class {
|
|
|
79820
80068
|
});
|
|
79821
80069
|
}
|
|
79822
80070
|
_buildRegion(e, t, n) {
|
|
79823
|
-
let r = typeof t == "number" && Number.isFinite(t) ? this._colorScale.colorFor(t) : n.noDataColor, i =
|
|
80071
|
+
let r = typeof t == "number" && Number.isFinite(t) ? this._colorScale.colorFor(t) : n.noDataColor, i = QW(e.geometry), a = [];
|
|
79824
80072
|
for (let e of i) {
|
|
79825
80073
|
let t = this._buildPolygon(e, r, n);
|
|
79826
80074
|
t && a.push(t);
|
|
@@ -79829,7 +80077,7 @@ var YW = ["#0d1b2a", "#4cc9f0"], XW = class {
|
|
|
79829
80077
|
this.add(o), this._regions.push(o), this._regionColors.push(r), this._regionPolygons.push(a);
|
|
79830
80078
|
}
|
|
79831
80079
|
_buildPolygon(e, t, n) {
|
|
79832
|
-
let r =
|
|
80080
|
+
let r = oG(e);
|
|
79833
80081
|
if (r.length < 3) return null;
|
|
79834
80082
|
let i = new pO({
|
|
79835
80083
|
vertices: r.map((e) => {
|
|
@@ -79865,15 +80113,15 @@ var YW = ["#0d1b2a", "#4cc9f0"], XW = class {
|
|
|
79865
80113
|
getColorScale() {
|
|
79866
80114
|
return this._colorScale;
|
|
79867
80115
|
}
|
|
79868
|
-
},
|
|
79869
|
-
function
|
|
80116
|
+
}, aG = iG;
|
|
80117
|
+
function oG(e) {
|
|
79870
80118
|
if (e.length < 2) return e;
|
|
79871
80119
|
let t = e[0], n = e[e.length - 1];
|
|
79872
80120
|
return t[0] === n[0] && t[1] === n[1] ? e.slice(0, -1) : e;
|
|
79873
80121
|
}
|
|
79874
80122
|
//#endregion
|
|
79875
80123
|
//#region src/mobjects/geo/Globe.ts
|
|
79876
|
-
var
|
|
80124
|
+
var sG = Math.PI / 180, cG = class extends PT {
|
|
79877
80125
|
_radius;
|
|
79878
80126
|
_center;
|
|
79879
80127
|
_sphere;
|
|
@@ -79921,9 +80169,9 @@ var eG = Math.PI / 180, tG = class extends PT {
|
|
|
79921
80169
|
return [...this._plottedPoints];
|
|
79922
80170
|
}
|
|
79923
80171
|
arc(e, t, n = {}) {
|
|
79924
|
-
let { segments: r = 64, color: i = "#ef476f", lineWidth: a = 2, altitude: o = 0 } = n, s = this._radius * (1 + o), c =
|
|
80172
|
+
let { segments: r = 64, color: i = "#ef476f", lineWidth: a = 2, altitude: o = 0 } = n, s = this._radius * (1 + o), c = lG(e[0], e[1]), l = lG(t[0], t[1]), u = fG(c[0] * l[0] + c[1] * l[1] + c[2] * l[2], -1, 1), d = Math.acos(u), f = Math.sin(d), p = [];
|
|
79925
80173
|
for (let e = 0; e <= r; e++) {
|
|
79926
|
-
let t =
|
|
80174
|
+
let t = uG(c, l, e / r, d, f);
|
|
79927
80175
|
p.push([
|
|
79928
80176
|
this._center[0] + s * t[0],
|
|
79929
80177
|
this._center[1] + s * t[1],
|
|
@@ -79940,8 +80188,8 @@ var eG = Math.PI / 180, tG = class extends PT {
|
|
|
79940
80188
|
}
|
|
79941
80189
|
graticule(e = {}) {
|
|
79942
80190
|
let { latStep: t = 30, lonStep: n = 30, segments: r = 48, color: i = "#8d99ae", lineWidth: a = 1 } = e, o = new PT();
|
|
79943
|
-
for (let e = -180; e < 180; e += n) o.add(this._gridLine(
|
|
79944
|
-
for (let e = -90 + t; e < 90; e += t) o.add(this._gridLine(
|
|
80191
|
+
for (let e = -180; e < 180; e += n) o.add(this._gridLine(pG(e, r), i, a));
|
|
80192
|
+
for (let e = -90 + t; e < 90; e += t) o.add(this._gridLine(mG(e, r), i, a));
|
|
79945
80193
|
return this.add(o), o;
|
|
79946
80194
|
}
|
|
79947
80195
|
_gridLine(e, t, n) {
|
|
@@ -79953,7 +80201,7 @@ var eG = Math.PI / 180, tG = class extends PT {
|
|
|
79953
80201
|
});
|
|
79954
80202
|
}
|
|
79955
80203
|
_surfacePoint(e, t, n) {
|
|
79956
|
-
let r =
|
|
80204
|
+
let r = lG(e, t);
|
|
79957
80205
|
return [
|
|
79958
80206
|
this._center[0] + n * r[0],
|
|
79959
80207
|
this._center[1] + n * r[1],
|
|
@@ -79961,16 +80209,16 @@ var eG = Math.PI / 180, tG = class extends PT {
|
|
|
79961
80209
|
];
|
|
79962
80210
|
}
|
|
79963
80211
|
};
|
|
79964
|
-
function
|
|
79965
|
-
let n = e *
|
|
80212
|
+
function lG(e, t) {
|
|
80213
|
+
let n = e * sG, r = t * sG, i = Math.cos(n);
|
|
79966
80214
|
return [
|
|
79967
80215
|
i * Math.cos(r),
|
|
79968
80216
|
i * Math.sin(r),
|
|
79969
80217
|
Math.sin(n)
|
|
79970
80218
|
];
|
|
79971
80219
|
}
|
|
79972
|
-
function
|
|
79973
|
-
if (i < 1e-9) return
|
|
80220
|
+
function uG(e, t, n, r, i) {
|
|
80221
|
+
if (i < 1e-9) return dG([
|
|
79974
80222
|
e[0] + (t[0] - e[0]) * n,
|
|
79975
80223
|
e[1] + (t[1] - e[1]) * n,
|
|
79976
80224
|
e[2] + (t[2] - e[2]) * n
|
|
@@ -79982,7 +80230,7 @@ function rG(e, t, n, r, i) {
|
|
|
79982
80230
|
e[2] * a + t[2] * o
|
|
79983
80231
|
];
|
|
79984
80232
|
}
|
|
79985
|
-
function
|
|
80233
|
+
function dG(e) {
|
|
79986
80234
|
let t = Math.sqrt(e[0] * e[0] + e[1] * e[1] + e[2] * e[2]) || 1;
|
|
79987
80235
|
return [
|
|
79988
80236
|
e[0] / t,
|
|
@@ -79990,18 +80238,18 @@ function iG(e) {
|
|
|
79990
80238
|
e[2] / t
|
|
79991
80239
|
];
|
|
79992
80240
|
}
|
|
79993
|
-
function
|
|
80241
|
+
function fG(e, t, n) {
|
|
79994
80242
|
return Math.max(t, Math.min(n, e));
|
|
79995
80243
|
}
|
|
79996
|
-
function
|
|
80244
|
+
function pG(e, t) {
|
|
79997
80245
|
let n = [];
|
|
79998
80246
|
for (let r = 0; r <= t; r++) n.push([-90 + 180 * r / t, e]);
|
|
79999
80247
|
return n;
|
|
80000
80248
|
}
|
|
80001
|
-
function
|
|
80249
|
+
function mG(e, t) {
|
|
80002
80250
|
let n = [];
|
|
80003
80251
|
for (let r = 0; r <= t; r++) n.push([e, -180 + 360 * r / t]);
|
|
80004
80252
|
return n;
|
|
80005
80253
|
}
|
|
80006
80254
|
//#endregion
|
|
80007
|
-
export { wz as Add, xP as AddTextLetterByLetter, PP as AddTextWordByWord, XO as Angle, DT as AnimateProxy, pz as AnimatedBoundary, SI as AnimatedImageMobject, o_ as Animation, HT as AnimationGroup, Fk as AnnotationDot, wO as AnnularSector, CO as Annulus, oL as ApplyComplexFunction, iL as ApplyFunction, uL as ApplyMatrix, cL as ApplyMethod, eR as ApplyPointwiseFunction, rR as ApplyPointwiseFunctionToCenter, Wz as ApplyWave, bO as Arc, xO as ArcBetweenPoints, eF as ArcBrace, EO as ArcPolygon, kO as ArcPolygonFromArcs, YD as AriaNarrator, sD as Arrow, ZM as Arrow3D, ok as ArrowCircleFilledTip, ak as ArrowCircleTip, ck as ArrowSquareFilledTip, sk as ArrowSquareTip, nk as ArrowTip, ik as ArrowTriangleFilledTip, rk as ArrowTriangleTip, NM as ArrowVectorField, ID as AudioAnalyzer, eE as AudioManager, qk as Axes, yl as BLACK, np as BLEND_MODES, jl as BLUE, Tl as BLUE_A, El as BLUE_B, Dl as BLUE_C, Ol as BLUE_D, kl as BLUE_E, Bu as BOLD, Yu as BOOK, zO as BackgroundRectangle, CM as BarChart, Qz as Blink, dk as BooleanResult, VM as Box3D, QP as Brace, $P as BraceBetweenPoints, tF as BraceLabel, nF as BraceText, Mz as Broadcast, _M as BulletedList, PA as COOLWARM, zT as Camera2D, LT as Camera2DFrame, RT as Camera3D, dO as CameraAnimateProxy, lO as CameraFrame, sd as CapStyleType, cz as ChangeDecimalToValue, vz as ChangeSpeed, sz as ChangingDecimal, ZW as ChoroplethMap, fO as Circle, Rz as Circumscribe, pB as Clickable, vL as ClockwiseTransform, mM as Code, XW as ColorScale, ER as ComplexHomotopy, bM as ComplexPlane, Zj as ComplexValueTracker, UM as Cone, qA as ContourPlot, sB as Controls, YO as ConvexHull, SN as ConvexHull3D, bL as CounterclockwiseTransform, dP as Create, HO as Cross, BM as Cube, FO as CubicBezier, AO as CurvedArrow, jO as CurvedDoubleArrow, jT as CurvesAsSubmobjects, JO as Cutout, TL as CyclicReplace, HM as Cylinder, wl as DARKER_GRAY, Ml as DARK_BLUE, Du as DARK_BROWN, Cl as DARK_GRAY, ud as DEFAULT_ANIMATION_DURATION, Ru as DEFAULT_ARROW_TIP_LENGTH, CI as DEFAULT_ASPECT_RATIO, aM as DEFAULT_COLOR_SCHEME, Lu as DEFAULT_DASH_LENGTH, Fu as DEFAULT_DOT_RADIUS, ld as DEFAULT_FONT_SIZE, hd as DEFAULT_FPS, fd as DEFAULT_FRAME_HEIGHT, dd as DEFAULT_FRAME_WIDTH, bd as DEFAULT_MOBJECT_TO_EDGE_BUFFER, xd as DEFAULT_MOBJECT_TO_MOBJECT_BUFFER, md as DEFAULT_PIXEL_HEIGHT, pd as DEFAULT_PIXEL_WIDTH, ed as DEFAULT_POINTWISE_FUNCTION_RUN_TIME, nd as DEFAULT_POINT_DENSITY_1D, td as DEFAULT_POINT_DENSITY_2D, Iu as DEFAULT_SMALL_DOT_RADIUS, cd as DEFAULT_STROKE_WIDTH, $u as DEFAULT_WAIT_TIME, ju as DEGREES, Id as DL, Od as DOWN, Ld as DR, NO as DashedLine, PO as DashedVMobject, rP as DecimalMatrix, Kj as DecimalNumber, XP as DecimalTable, TH as Degrees, iI as DiGraph, qI as DiceFace, _k as Difference, YM as Dodecahedron, OM as DonutChart, IO as Dot, sN as Dot3D, cD as DoubleArrow, lB as Draggable, pP as DrawBorderThenFill, QO as Elbow, SO as Ellipse, vk as Exclusion, CV as ExportSettingsPanel, vV as FPS_PRESETS, $I as FadeIn, tL as FadeOut, NL as FadeToColor, fL as FadeTransform, mL as FadeTransformPieces, Iz as Flash, Kz as FocusOn, EI as FullScreenFadeRectangle, TI as FullScreenRectangle, zk as FunctionGraph, ru as GOLD, Ql as GOLD_A, $l as GOLD_B, eu as GOLD_C, tu as GOLD_D, nu as GOLD_E, Sl as GRAY, ml as GRAY_A, hl as GRAY_B, gl as GRAY_C, _l as GRAY_D, vl as GRAY_E, Gl as GREEN, zl as GREEN_A, Bl as GREEN_B, Vl as GREEN_C, Hl as GREEN_D, Ul as GREEN_E, nI as GenericGraph, QW as GeoMap, LB as GifExporter, tG as Globe, vw as GlyphVMobject, uF as GradientVMobject, rI as Graph, PT as Group, NR as GrowArrow, uR as GrowFromCenter, FR as GrowFromEdge, LR as GrowFromPoint, Gu as HEAVY, tH as HSV, KA as HeatMap, gO as Hexagon, TR as Homotopy, dB as Hoverable, Md as IN, NA as INFERNO, Zu as ITALIC, JM as Icosahedron, l_ as ImageMobject, Qk as ImplicitFunction, ON as ImplicitSurface, Pz as Indicate, PN as InstancedMobject, qj as Integer, nP as IntegerMatrix, YP as IntegerTable, hE as InteractiveScene, gk as Intersection, yd as LARGE_BUFF, kd as LEFT, Hu as LIGHT, bl as LIGHTER_GRAY, Eu as LIGHT_BROWN, xl as LIGHT_GRAY, wu as LIGHT_PINK, UO as Label, Nk as LabeledArrow, Pk as LabeledDot, Mk as LabeledLine, Ik as LabeledPolygram, HR as LaggedStart, KR as LaggedStartMap, RO as LargeDot, gE as Lighting, rD as Line, XM as Line3D, od as LineJointType, Yk as LinearBase, dD as LinearTransformationScene, Xk as LogBase, Ou as MANIM_BACKGROUND, gu as MAROON, du as MAROON_A, fu as MAROON_B, pu as MAROON_C, mu as MAROON_D, hu as MAROON_E, Uu as MEDIUM, vd as MED_LARGE_BUFF, _d as MED_SMALL_BUFF, oM as MONOKAI_COLOR_SCHEME, zI as MandelbrotSet, WP as ManimBanner, $V as ManimColor, _W as ManimSceneElement, sO as MappingCamera, yM as MarkdownText, Cj as MarkupText, YI as MasterTimeline, qP as MathTable, kj as MathTex, ZC as MathTexImage, gM as MathTexPart, Aj as MathTexSVG, Uj as MathTypst, tP as Matrix, DB as MatrixTracker, cp as Mobject, MI as Mobject1D, NI as Mobject2D, GA as Mobject3D, iP as MobjectMatrix, JP as MobjectTable, eP as ModelMobject, hB as MovablePoint, vR as MoveAlongPath, vT as MoveToTarget, mR as MoveToTargetPosition, iO as MovingCamera, ZE as MovingCameraScene, oO as MultiCamera, EH as Munits, zu as NORMAL, UI as NewtonFractal, IT as NullRenderer, Lk as NumberLine, Zk as NumberPlane, Qu as OBLIQUE, Tu as ORANGE, Nd as ORIGIN, jd as OUT, qM as Octahedron, VE as OrbitControls, kI as PGroup, ku as PI, Cu as PINK, s_ as PMobject, Al as PURE_BLUE, Wl as PURE_GREEN, lu as PURE_RED, Su as PURPLE, _u as PURPLE_A, vu as PURPLE_B, yu as PURPLE_C, bu as PURPLE_D, xu as PURPLE_E, MB as PanZoomControls, sj as Paragraph, JA as ParametricFunction, tN as ParametricSurface, II as ParticleSystem, SF as PatternVMobject, _O as Pentagon, OH as Percent, OR as PhaseFlow, DM as PieChart, wH as Pixels, cB as PlaybackControls, BV as Player, IV as PlayerController, wV as PlayerUI, jI as PointCloudDot, AI as PointMobject, xM as PolarPlane, pO as Polygon, vO as Polygram, GM as Polyhedron, rO as PostProcessingPipeline, oN as Prism, Jz as Pulse, yV as QUALITY_PRESETS, uu as RED, iu as RED_A, au as RED_B, ou as RED_C, su as RED_D, cu as RED_E, _V as RESOLUTION_PRESETS, eH as RGBA, Ad as RIGHT, iH as RandomColorGenerator, GE as Rectangle, hO as RegularPolygon, qO as RegularPolygram, Ez as Remove, CP as RemoveTextLetterByLetter, FT as Renderer, gT as ReplacementTransform, jL as Restore, ZO as RightAngle, aR as Rotate, Az as Rotating, WO as RoundedRectangle, rd as SCALE_FACTOR_PER_FONT_POINT, Wu as SEMIBOLD, Ju as SEMILIGHT, gd as SMALL_BUFF, id as START_X, ad as START_Y, LF as SVGMobject, GI as SampleSpace, cR as Scale, Jk as ScaleBase, DL as ScaleInPlace, pE as Scene, ZT as SceneStateManager, wI as ScreenRectangle, TO as Sector, mE as SelectionManager, fR as Shift, eB as ShowCreationThenDestruction, IP as ShowIncreasingSubsets, RP as ShowPartial, Hz as ShowPassingFlash, Xz as ShowPassingFlashWithThinningStrokeWidth, BP as ShowSubmobjectsOneByOne, kL as ShrinkToCenter, hM as SingleStringMathTex, xB as Slider, LO as SmallDot, DR as SmoothedVectorizedHomotopy, sW as SpecialThreeDScene, zM as Sphere, zR as SpinInFromNothing, HP as SpiralIn, cO as SplitScreenCamera, KE as Square, GO as Star, lk as StealthTip, RM as StreamLines, WR as Succession, eN as Surface, eN as Surface3D, nN as SurfacePresets, BO as SurroundingRectangle, SL as Swap, Au as TAU, Rl as TEAL, Nl as TEAL_A, Pl as TEAL_B, Fl as TEAL_C, Il as TEAL_D, Ll as TEAL_E, Vu as THIN, qa as THREE, KP as Table, $O as TangentLine, MO as TangentialArc, KM as Tetrahedron, jj as Tex, wd as TexFontTemplates, Sd as TexTemplate, Td as TexTemplateLibrary, Uw as Text, bw as TextGlyphGroup, ij as TextOnPath, rN as TexturedSurface, aN as ThreeDAxes, aO as ThreeDCamera, WE as ThreeDScene, cN as ThreeDVMobject, WT as Timeline, yO as TipableVMobject, vM as Title, WM as Torus, dz as TracedPath, mT as Transform, FL as TransformAnimations, gL as TransformFromCopy, LL as TransformMatchingAbstractBase, ZL as TransformMatchingCode, WL as TransformMatchingShapes, qL as TransformMatchingTex, mO as Triangle, kP as TypeWithCursor, Hj as Typst, Pd as UL, Xu as ULTRABOLD, Ku as ULTRAHEAVY, qu as ULTRALIGHT, Dd as UP, Fd as UR, hP as Uncreate, VO as Underline, hk as Union, Rk as UnitInterval, jP as UntypeWithCursor, yP as Unwrite, YR as UpdateFromAlphaFunc, qR as UpdateFromFunc, MT as VDict, Nh as VGroup, MA as VIRIDIS, V as VMobject, IF as VMobjectFromSVGPath, Yj as ValueTracker, eM as Variable, lD as Vector, QM as Vector3D, MM as VectorField, YA as VectorFieldVector, uD as VectorScene, NT as VectorizedPoint, BB as VideoExporter, fI as VideoMobject, CD as Voiceover, wD as VoiceoverScene, pl as WHITE, Oz as Wait, nV as WebCodecsExporter, gD as WebSpeechSynthesizer, Bz as Wiggle, aB as WiggleOutThenIn, _P as Write, Mu as X_AXIS, Zl as YELLOW, Kl as YELLOW_A, ql as YELLOW_B, Jl as YELLOW_C, Yl as YELLOW_D, Xl as YELLOW_E, Nu as Y_AXIS, Pu as Z_AXIS, YE as ZoomDisplayPopOut, XE as ZoomedScene, Tz as add, SP as addTextLetterByLetter, FP as addTextWordByWord, Kd as addVec, oH as adjacentNTuples, sH as adjacentPairs, nj as alignmentToOffset, gH as allElementsAreInstances, ez as always, QR as alwaysRedraw, iz as alwaysRotate, rz as alwaysShift, VH as angleAxisFromQuaternion, YH as angleBetweenVectors, JH as angleOfVector, mz as animatedBoundary, UT as animationGroup, XD as announceMobject, ip as applyBlendMode, sL as applyComplexFunction, aL as applyFunction, dL as applyMatrix, AB as applyMatrixLive, lL as applyMethod, WN as applyObjMaterials, tR as applyPointwiseFunction, iR as applyPointwiseFunctionToCenter, fE as applyReducedMotion, Gz as applyWave, OC as areKatexStylesLoaded, tz as assertIsMobjectMethod, UD as attachCaptionTrack, fA as averageColor, jU as bezier, PU as bezierRemap, xU as binarySearch, lI as binaryTree, dI as bipartiteGraph, rp as blendModeToThree, $z as blink, Nz as broadcast, ww as buildStyledTextLines, cU as cartesianToSpherical, nU as centerOfMass, uz as changeDecimalToValue, yz as changeSpeed, lz as changingDecimal, SU as choose, iV as chooseVideoExporterStrategy, zz as circumscribe, TT as clearAnimationOverrides, CU as clip, yU as clockwisePath, yL as clockwiseTransform, Sh as colorGradient, oA as colorToIntRgb, sA as colorToIntRgba, CA as colorToOklab, DA as colorToOklch, iA as colorToRgb, aA as colorToRgba, ZH as compassDirections, aI as completeGraph, tU as complexFuncToR3Func, AR as complexHomotopy, $H as complexToR3, $j as complexValueTracker, bg as compose, BF as computeCircularLayout, ej as computeGlyphPlacements, zF as computeLayout, EM as computeSliceGeometry, _H as concatenateLists, bU as counterclockwisePath, xL as counterclockwiseTransform, fP as create, JI as createDiceRow, DI as createFadeToBlack, OI as createFadeToWhite, RB as createGifExporter, qD as createLiveRegion, VB as createVideoExporter, rV as createWebCodecsExporter, Yd as cross, Yd as crossVec, LH as cross2d, Zh as cubicBezier, oz as cycleAnimation, oI as cycleGraph, EL as cyclicReplace, zN as deriveBasePath, VN as deriveMtlUrl, JD as describeMobject, KT as deserializeMobject, WW as deserializeScene, HW as deserializeSceneMobject, JN as detectModelFormat, xk as difference, Jd as dotVec, _g as doubleSmooth, $B as downloadBlob, mP as drawBorderThenFill, ym as earclipTriangulation, Qh as ease, og as easeIn, og as easeInCubic, Zg as easeInBack, $h as easeInBezier, pg as easeInBounce, Gg as easeInCirc, n_ as easeInElastic, ug as easeInExpo, ag as easeInOut, ag as easeInOutCubic, $g as easeInOutBack, tg as easeInOutBezier, a_ as easeInOutBounce, qg as easeInOutCirc, i_ as easeInOutElastic, Wg as easeInOutExpo, Lg as easeInOutQuad, Bg as easeInOutQuart, Ug as easeInOutQuint, Ig as easeInOutSine, cg as easeInQuad, Rg as easeInQuart, Vg as easeInQuint, Pg as easeInSine, sg as easeOut, sg as easeOutCubic, Qg as easeOutBack, eg as easeOutBezier, fg as easeOutBounce, Kg as easeOutCirc, r_ as easeOutElastic, dg as easeOutExpo, lg as easeOutQuad, zg as easeOutQuart, Hg as easeOutQuint, Fg as easeOutSine, xz as emphasizeRegion, EC as ensureKatexStyles, qW as equirectangular, Sk as exclusion, Ag as exponentialDecay, eV as exportAndDownloadPNG, gV as exportAndDownloadSVG, XB as exportFramePNG, QB as exportPNGSequence, hV as exportSVG, GW as exteriorRings, kH as extractMobjectFamilyMembers, $R as fAlways, eL as fadeIn, nL as fadeOut, PL as fadeToColor, pL as fadeTransform, hL as fadeTransformPieces, aU as findIntersection, Lz as flash, qz as focusOn, RD as formatVttTimestamp, $U as get3dVmobEndCorner, ZU as get3dVmobEndCornerIndex, nW as get3dVmobEndCornerUnitNormal, YU as get3dVmobGradientStartAndEndPoints, QU as get3dVmobStartCorner, XU as get3dVmobStartCornerIndex, tW as get3dVmobStartCornerUnitNormal, eW as get3dVmobUnitNormal, $f as getActiveTheme, CT as getAnimationOverride, aP as getDetText, KV as getFeatureFlags, cE as getReducedMotionRunTime, CW as getSerializableTypes, SW as getSerializer, aH as getShadedRgb, gh as getSmoothCubicBezierHandlePoints, bD as getSpeechSynthesizer, Qf as getTheme, ep as getThemeNames, XH as getUnitNormal, fU as getWindingNumber, uI as gridGraph, PR as growArrow, dR as growFromCenter, IR as growFromEdge, RR as growFromPoint, wT as hasAnimationOverride, xH as hashObj, rA as hexToRgb, kR as homotopy, gA as hsvToRgb, jH as indexLabels, Fz as indicate, ph as integerInterpolate, TU as interpolate, dA as interpolateColor, AA as interpolateColorOklab, jA as interpolateColorOklch, bk as intersection, DU as inverseInterpolate, uA as invertColor, PD as isAudioAnalysisSupported, FU as isClosed, UV as isFeatureEnabled, UC as isMathJaxLoaded, sE as isReducedMotionEnabled, mD as isSpeechSupported, Lj as isTypstLoaded, KC as katexCanRender, VR as laggedStart, GR as laggedStartMap, Xd as lengthVec, iU as lineIntersection, rg as linear, bz as linearSpeedRamp, kg as lingering, tf as linspace, lH as listDifferenceUpdate, uH as listUpdate, vH as listify, Gf as logger, ZR as maintainPositionRelativeTo, mB as makeClickable, uB as makeDraggable, fH as makeEven, bH as makeEvenByCycling, fB as makeHoverable, OB as makeMatrixTracker, vB as makeMovablePoint, NB as makePanZoomControls, CB as makeSlider, dW as manimElementInternals, DN as marchingCubes, WA as marchingSquares, XI as masterTimeline, OU as matchInterpolate, oP as matrixToMobject, sP as matrixToTexString, JW as mercator, EU as mid, rU as midpoint, yR as moveAlongPath, yT as moveToTarget, hR as moveToTargetPosition, IH as normSquared, RH as normalize, Zd as normalizeVec, Og as notQuiteThere, wA as oklabToColor, TA as oklabToOklch, OA as oklchToColor, EA as oklchToOklab, Hf as onLog, ef as orientation2D, $d as orthonormalFrame, ST as overrideAnimate, xT as overrideAnimation, pD as parseBookmarks, mF as parsePatternDefs, AC as parseSVGPathData, fh as partialBezierPoints, vU as pathAlongArc, _U as pathAlongCircles, sI as pathGraph, uU as perpendicularBisector, MR as phaseFlow, KU as pointLiesOnBezier, hH as powerset, aE as prefersReducedMotion, WC as preloadMathJax, Rj as preloadTypst, ET as prepareAnimation, MH as printFamily, GU as proportionsAlongBezierCurveForPoint, Yz as pulse, xV as qualityToBitrate, HH as quaternionConjugate, BH as quaternionFromAngleAxis, zH as quaternionMult, eU as r3ToComplex, hA as randomBrightColor, mA as randomColor, dE as reducedRunTime, cW as registerFont, vW as registerManimElement, bW as registerSerializableMobject, Xf as registerTheme, QH as regularVertices, Dz as remove, cH as removeListRedundancies, yH as removeNones, wP as removeTextLetterByLetter, GC as renderLatexToSVG, Bj as renderTypstToSVG, _T as replacementTransform, GV as resetFeatureFlags, lE as resetReducedMotion, tp as resetThemes, hF as resolvePatternFill, SV as resolveResolution, ML as restore, $T as restoreMobjectState, AH as restructureListToExcludeCertainFamilyMembers, yg as reverse, cA as rgbToColor, nA as rgbToHex, _A as rgbToHsv, lA as rgbaToColor, oR as rotate, KH as rotateVector, jz as rotating, WH as rotationAboutZ, UH as rotationMatrix, GH as rotationMatrixTranspose, Eg as runningStart, gg as rushFrom, hg as rushInto, Sz as rushRegion, FA as sampleColormap, $A as sampledPathFromFunction, QA as sampledPathFromPoints, QT as saveMobjectState, lR as scale, OL as scaleInPlace, Gd as scaleVec, mV as sceneToSVG, GT as serializeMobject, UW as serializeScene, VW as serializeSceneMobject, WV as setFeatureFlags, bI as setGifDecoder, wC as setKatexStylesheetUrl, BC as setMathJaxScriptUrl, qN as setModelLoaderFactory, IN as setMtlLoaderFactory, $D as setPostProcessingModules, eO as setPostProcessingModulesLoader, oE as setReducedMotion, yD as setSpeechSynthesizer, Zf as setTheme, Fj as setTypstCompiler, pR as shift, oU as shoelace, sU as shoelaceDirection, uE as shouldReduceMotion, tB as showCreationThenDestruction, LP as showIncreasingSubsets, zP as showPartial, Uz as showPassingFlash, Zz as showPassingFlashWithThinningStrokeWidth, VP as showSubmobjectsOneByOne, AL as shrinkToCenter, wU as sigmoid, Cg as slowInto, ig as smooth, Cz as smoothSpeedCurve, jR as smoothedVectorizedHomotopy, Ng as smoothererstep, Mg as smootherstep, jg as smoothstep, XT as snapshotFromJSON, YT as snapshotToJSON, lU as sphericalToCartesian, BR as spinInFromNothing, UP as spiralIn, MU as splitBezier, Hh as spring, wg as squishRateFunc, cI as starGraph, JT as stateFromJSON, qT as stateToJSON, vg as stepFunction, kM as stepVectorField, ng as steps, gU as straightPath, pH as stretchArrayToLength, qd as subVec, NU as subdivideBezier, UR as succession, RF as svgMobject, PC as svgToVMobjects, CL as swap, iN as texturedSphere, mg as thereAndBack, Tg as thereAndBackWithPause, dU as thickDiagonal, fz as tracedPath, hT as transform, IL as transformAnimations, _L as transformFromCopy, QL as transformMatchingCode, GL as transformMatchingShapes, JL as transformMatchingTex, dH as tuplify, az as turnAnimationIntoUpdater, AP as typeWithCursor, gP as uncreate, yk as union, mH as uniqChain, Qd as unitPerpendicularTo, xW as unregisterSerializableMobject, MP as untypeWithCursor, bP as unwrite, XR as updateFromAlphaFunc, JR as updateFromFunc, IA as valueToColor, Qj as valueTracker, tj as visibleGlyphChars, VD as voiceoverToVTT, kz as wait, Vz as wiggle, oB as wiggleOutThenIn, Dg as wiggleRate, vP as write, qH as zToVector };
|
|
80255
|
+
export { jz as Add, xP as AddTextLetterByLetter, PP as AddTextWordByWord, XO as Angle, DT as AnimateProxy, bz as AnimatedBoundary, kI as AnimatedImageMobject, o_ as Animation, HT as AnimationGroup, Fk as AnnotationDot, wO as AnnularSector, CO as Annulus, pL as ApplyComplexFunction, dL as ApplyFunction, _L as ApplyMatrix, hL as ApplyMethod, sR as ApplyPointwiseFunction, uR as ApplyPointwiseFunctionToCenter, Zz as ApplyWave, bO as Arc, xO as ArcBetweenPoints, eF as ArcBrace, EO as ArcPolygon, kO as ArcPolygonFromArcs, YD as AriaNarrator, sD as Arrow, ZM as Arrow3D, ok as ArrowCircleFilledTip, ak as ArrowCircleTip, ck as ArrowSquareFilledTip, sk as ArrowSquareTip, nk as ArrowTip, ik as ArrowTriangleFilledTip, rk as ArrowTriangleTip, NM as ArrowVectorField, ID as AudioAnalyzer, eE as AudioManager, qk as Axes, yl as BLACK, np as BLEND_MODES, jl as BLUE, Tl as BLUE_A, El as BLUE_B, Dl as BLUE_C, Ol as BLUE_D, kl as BLUE_E, Bu as BOLD, Yu as BOOK, zO as BackgroundRectangle, CM as BarChart, aB as Blink, dk as BooleanResult, VM as Box3D, QP as Brace, $P as BraceBetweenPoints, tF as BraceLabel, nF as BraceText, zz as Broadcast, _M as BulletedList, PA as COOLWARM, zT as Camera2D, LT as Camera2DFrame, RT as Camera3D, dO as CameraAnimateProxy, lO as CameraFrame, sd as CapStyleType, hz as ChangeDecimalToValue, Tz as ChangeSpeed, mz as ChangingDecimal, iG as ChoroplethMap, fO as Circle, Gz as Circumscribe, bB as Clickable, TL as ClockwiseTransform, mM as Code, rG as ColorScale, NR as ComplexHomotopy, bM as ComplexPlane, Zj as ComplexValueTracker, UM as Cone, qA as ContourPlot, mB as Controls, YO as ConvexHull, SN as ConvexHull3D, DL as CounterclockwiseTransform, dP as Create, HO as Cross, BM as Cube, FO as CubicBezier, AO as CurvedArrow, jO as CurvedDoubleArrow, jT as CurvesAsSubmobjects, JO as Cutout, ML as CyclicReplace, HM as Cylinder, wl as DARKER_GRAY, Ml as DARK_BLUE, Du as DARK_BROWN, Cl as DARK_GRAY, ud as DEFAULT_ANIMATION_DURATION, Ru as DEFAULT_ARROW_TIP_LENGTH, AI as DEFAULT_ASPECT_RATIO, aM as DEFAULT_COLOR_SCHEME, Lu as DEFAULT_DASH_LENGTH, Fu as DEFAULT_DOT_RADIUS, ld as DEFAULT_FONT_SIZE, hd as DEFAULT_FPS, fd as DEFAULT_FRAME_HEIGHT, dd as DEFAULT_FRAME_WIDTH, bd as DEFAULT_MOBJECT_TO_EDGE_BUFFER, xd as DEFAULT_MOBJECT_TO_MOBJECT_BUFFER, md as DEFAULT_PIXEL_HEIGHT, pd as DEFAULT_PIXEL_WIDTH, ed as DEFAULT_POINTWISE_FUNCTION_RUN_TIME, nd as DEFAULT_POINT_DENSITY_1D, td as DEFAULT_POINT_DENSITY_2D, Iu as DEFAULT_SMALL_DOT_RADIUS, cd as DEFAULT_STROKE_WIDTH, $u as DEFAULT_WAIT_TIME, ju as DEGREES, Id as DL, Od as DOWN, Ld as DR, NO as DashedLine, PO as DashedVMobject, rP as DecimalMatrix, Kj as DecimalNumber, XP as DecimalTable, MH as Degrees, iI as DiGraph, eL as DiceFace, _k as Difference, YM as Dodecahedron, OM as DonutChart, IO as Dot, sN as Dot3D, cD as DoubleArrow, gB as Draggable, pP as DrawBorderThenFill, QO as Elbow, SO as Ellipse, vk as Exclusion, AV as ExportSettingsPanel, TV as FPS_PRESETS, oL as FadeIn, cL as FadeOut, BL as FadeToColor, yL as FadeTransform, xL as FadeTransformPieces, Uz as Flash, $z as FocusOn, NI as FullScreenFadeRectangle, MI as FullScreenRectangle, zk as FunctionGraph, ru as GOLD, Ql as GOLD_A, $l as GOLD_B, eu as GOLD_C, tu as GOLD_D, nu as GOLD_E, Sl as GRAY, ml as GRAY_A, hl as GRAY_B, gl as GRAY_C, _l as GRAY_D, vl as GRAY_E, Gl as GREEN, zl as GREEN_A, Bl as GREEN_B, Vl as GREEN_C, Hl as GREEN_D, Ul as GREEN_E, nI as GenericGraph, aG as GeoMap, WB as GifExporter, cG as Globe, vw as GlyphVMobject, uF as GradientVMobject, rI as Graph, PT as Group, BR as GrowArrow, _R as GrowFromCenter, HR as GrowFromEdge, WR as GrowFromPoint, Gu as HEAVY, cH as HSV, KA as HeatMap, gO as Hexagon, MR as Homotopy, vB as Hoverable, Md as IN, NA as INFERNO, Zu as ITALIC, JM as Icosahedron, l_ as ImageMobject, Qk as ImplicitFunction, ON as ImplicitSurface, Vz as Indicate, PN as InstancedMobject, qj as Integer, nP as IntegerMatrix, YP as IntegerTable, hE as InteractiveScene, gk as Intersection, yd as LARGE_BUFF, kd as LEFT, Hu as LIGHT, bl as LIGHTER_GRAY, Eu as LIGHT_BROWN, xl as LIGHT_GRAY, wu as LIGHT_PINK, UO as Label, Nk as LabeledArrow, Pk as LabeledDot, Mk as LabeledLine, Ik as LabeledPolygram, YR as LaggedStart, $R as LaggedStartMap, RO as LargeDot, gE as Lighting, rD as Line, XM as Line3D, od as LineJointType, Yk as LinearBase, dD as LinearTransformationScene, Xk as LogBase, yI as LottieMobject, Ou as MANIM_BACKGROUND, gu as MAROON, du as MAROON_A, fu as MAROON_B, pu as MAROON_C, mu as MAROON_D, hu as MAROON_E, Uu as MEDIUM, vd as MED_LARGE_BUFF, _d as MED_SMALL_BUFF, oM as MONOKAI_COLOR_SCHEME, KI as MandelbrotSet, WP as ManimBanner, oH as ManimColor, wW as ManimSceneElement, sO as MappingCamera, yM as MarkdownText, Cj as MarkupText, nL as MasterTimeline, qP as MathTable, kj as MathTex, ZC as MathTexImage, gM as MathTexPart, Aj as MathTexSVG, Uj as MathTypst, tP as Matrix, PB as MatrixTracker, cp as Mobject, zI as Mobject1D, BI as Mobject2D, GA as Mobject3D, iP as MobjectMatrix, JP as MobjectTable, eP as ModelMobject, SB as MovablePoint, TR as MoveAlongPath, vT as MoveToTarget, xR as MoveToTargetPosition, iO as MovingCamera, ZE as MovingCameraScene, oO as MultiCamera, NH as Munits, zu as NORMAL, XI as NewtonFractal, IT as NullRenderer, Lk as NumberLine, Zk as NumberPlane, Qu as OBLIQUE, Tu as ORANGE, Nd as ORIGIN, jd as OUT, qM as Octahedron, VE as OrbitControls, II as PGroup, ku as PI, Cu as PINK, s_ as PMobject, Al as PURE_BLUE, Wl as PURE_GREEN, lu as PURE_RED, Su as PURPLE, _u as PURPLE_A, vu as PURPLE_B, yu as PURPLE_C, bu as PURPLE_D, xu as PURPLE_E, zB as PanZoomControls, sj as Paragraph, JA as ParametricFunction, tN as ParametricSurface, UI as ParticleSystem, SF as PatternVMobject, _O as Pentagon, FH as Percent, FR as PhaseFlow, DM as PieChart, jH as Pixels, hB as PlaybackControls, qV as Player, UV as PlayerController, jV as PlayerUI, RI as PointCloudDot, LI as PointMobject, xM as PolarPlane, pO as Polygon, vO as Polygram, GM as Polyhedron, rO as PostProcessingPipeline, oN as Prism, tB as Pulse, EV as QUALITY_PRESETS, uu as RED, iu as RED_A, au as RED_B, ou as RED_C, su as RED_D, cu as RED_E, wV as RESOLUTION_PRESETS, sH as RGBA, Ad as RIGHT, dH as RandomColorGenerator, GE as Rectangle, hO as RegularPolygon, qO as RegularPolygram, Nz as Remove, CP as RemoveTextLetterByLetter, FT as Renderer, gT as ReplacementTransform, RL as Restore, ZO as RightAngle, fR as Rotate, Lz as Rotating, WO as RoundedRectangle, rd as SCALE_FACTOR_PER_FONT_POINT, Wu as SEMIBOLD, Ju as SEMILIGHT, gd as SMALL_BUFF, id as START_X, ad as START_Y, LF as SVGMobject, QI as SampleSpace, hR as Scale, Jk as ScaleBase, PL as ScaleInPlace, pE as Scene, ZT as SceneStateManager, jI as ScreenRectangle, TO as Sector, mE as SelectionManager, yR as Shift, sB as ShowCreationThenDestruction, IP as ShowIncreasingSubsets, RP as ShowPartial, Yz as ShowPassingFlash, rB as ShowPassingFlashWithThinningStrokeWidth, BP as ShowSubmobjectsOneByOne, IL as ShrinkToCenter, hM as SingleStringMathTex, OB as Slider, LO as SmallDot, PR as SmoothedVectorizedHomotopy, mW as SpecialThreeDScene, zM as Sphere, KR as SpinInFromNothing, HP as SpiralIn, cO as SplitScreenCamera, KE as Square, GO as Star, lk as StealthTip, RM as StreamLines, ZR as Succession, eN as Surface, eN as Surface3D, nN as SurfacePresets, BO as SurroundingRectangle, kL as Swap, Au as TAU, Rl as TEAL, Nl as TEAL_A, Pl as TEAL_B, Fl as TEAL_C, Il as TEAL_D, Ll as TEAL_E, Vu as THIN, qa as THREE, KP as Table, $O as TangentLine, MO as TangentialArc, KM as Tetrahedron, jj as Tex, wd as TexFontTemplates, Sd as TexTemplate, Td as TexTemplateLibrary, Uw as Text, bw as TextGlyphGroup, ij as TextOnPath, rN as TexturedSurface, aN as ThreeDAxes, aO as ThreeDCamera, WE as ThreeDScene, cN as ThreeDVMobject, WT as Timeline, yO as TipableVMobject, vM as Title, WM as Torus, vz as TracedPath, mT as Transform, HL as TransformAnimations, CL as TransformFromCopy, WL as TransformMatchingAbstractBase, iR as TransformMatchingCode, ZL as TransformMatchingShapes, eR as TransformMatchingTex, mO as Triangle, kP as TypeWithCursor, Hj as Typst, Pd as UL, Xu as ULTRABOLD, Ku as ULTRAHEAVY, qu as ULTRALIGHT, Dd as UP, Fd as UR, hP as Uncreate, VO as Underline, hk as Union, Rk as UnitInterval, jP as UntypeWithCursor, yP as Unwrite, nz as UpdateFromAlphaFunc, ez as UpdateFromFunc, MT as VDict, Nh as VGroup, MA as VIRIDIS, V as VMobject, IF as VMobjectFromSVGPath, Yj as ValueTracker, eM as Variable, lD as Vector, QM as Vector3D, MM as VectorField, YA as VectorFieldVector, uD as VectorScene, NT as VectorizedPoint, qB as VideoExporter, fI as VideoMobject, CD as Voiceover, wD as VoiceoverScene, pl as WHITE, Fz as Wait, lV as WebCodecsExporter, gD as WebSpeechSynthesizer, qz as Wiggle, fB as WiggleOutThenIn, _P as Write, Mu as X_AXIS, Zl as YELLOW, Kl as YELLOW_A, ql as YELLOW_B, Jl as YELLOW_C, Yl as YELLOW_D, Xl as YELLOW_E, Nu as Y_AXIS, Pu as Z_AXIS, YE as ZoomDisplayPopOut, XE as ZoomedScene, Mz as add, SP as addTextLetterByLetter, FP as addTextWordByWord, Kd as addVec, pH as adjacentNTuples, mH as adjacentPairs, nj as alignmentToOffset, CH as allElementsAreInstances, sz as always, az as alwaysRedraw, dz as alwaysRotate, uz as alwaysShift, JH as angleAxisFromQuaternion, nU as angleBetweenVectors, tU as angleOfVector, xz as animatedBoundary, UT as animationGroup, XD as announceMobject, ip as applyBlendMode, mL as applyComplexFunction, fL as applyFunction, vL as applyMatrix, LB as applyMatrixLive, gL as applyMethod, WN as applyObjMaterials, cR as applyPointwiseFunction, dR as applyPointwiseFunctionToCenter, fE as applyReducedMotion, Qz as applyWave, OC as areKatexStylesLoaded, cz as assertIsMobjectMethod, UD as attachCaptionTrack, fA as averageColor, RU as bezier, VU as bezierRemap, OU as binarySearch, lI as binaryTree, dI as bipartiteGraph, rp as blendModeToThree, oB as blink, Bz as broadcast, ww as buildStyledTextLines, hU as cartesianToSpherical, lU as centerOfMass, _z as changeDecimalToValue, Ez as changeSpeed, gz as changingDecimal, kU as choose, dV as chooseVideoExporterStrategy, Kz as circumscribe, TT as clearAnimationOverrides, AU as clip, EU as clockwisePath, EL as clockwiseTransform, Sh as colorGradient, oA as colorToIntRgb, sA as colorToIntRgba, CA as colorToOklab, DA as colorToOklch, iA as colorToRgb, aA as colorToRgba, iU as compassDirections, aI as completeGraph, cU as complexFuncToR3Func, LR as complexHomotopy, oU as complexToR3, $j as complexValueTracker, bg as compose, BF as computeCircularLayout, ej as computeGlyphPlacements, zF as computeLayout, EM as computeSliceGeometry, wH as concatenateLists, DU as counterclockwisePath, OL as counterclockwiseTransform, fP as create, tL as createDiceRow, PI as createFadeToBlack, FI as createFadeToWhite, GB as createGifExporter, qD as createLiveRegion, JB as createVideoExporter, uV as createWebCodecsExporter, Yd as cross, Yd as crossVec, WH as cross2d, Zh as cubicBezier, pz as cycleAnimation, oI as cycleGraph, NL as cyclicReplace, zN as deriveBasePath, VN as deriveMtlUrl, JD as describeMobject, KT as deserializeMobject, ZW as deserializeScene, YW as deserializeSceneMobject, JN as detectModelFormat, xk as difference, Jd as dotVec, _g as doubleSmooth, oV as downloadBlob, mP as drawBorderThenFill, ym as earclipTriangulation, Qh as ease, og as easeIn, og as easeInCubic, Zg as easeInBack, $h as easeInBezier, pg as easeInBounce, Gg as easeInCirc, n_ as easeInElastic, ug as easeInExpo, ag as easeInOut, ag as easeInOutCubic, $g as easeInOutBack, tg as easeInOutBezier, a_ as easeInOutBounce, qg as easeInOutCirc, i_ as easeInOutElastic, Wg as easeInOutExpo, Lg as easeInOutQuad, Bg as easeInOutQuart, Ug as easeInOutQuint, Ig as easeInOutSine, cg as easeInQuad, Rg as easeInQuart, Vg as easeInQuint, Pg as easeInSine, sg as easeOut, sg as easeOutCubic, Qg as easeOutBack, eg as easeOutBezier, fg as easeOutBounce, Kg as easeOutCirc, r_ as easeOutElastic, dg as easeOutExpo, lg as easeOutQuad, zg as easeOutQuart, Hg as easeOutQuint, Fg as easeOutSine, Oz as emphasizeRegion, EC as ensureKatexStyles, eG as equirectangular, Sk as exclusion, Ag as exponentialDecay, sV as exportAndDownloadPNG, CV as exportAndDownloadSVG, rV as exportFramePNG, aV as exportPNGSequence, SV as exportSVG, QW as exteriorRings, IH as extractMobjectFamilyMembers, oz as fAlways, sL as fadeIn, lL as fadeOut, VL as fadeToColor, bL as fadeTransform, SL as fadeTransformPieces, fU as findIntersection, Wz as flash, eB as focusOn, RD as formatVttTimestamp, oW as get3dVmobEndCorner, iW as get3dVmobEndCornerIndex, lW as get3dVmobEndCornerUnitNormal, nW as get3dVmobGradientStartAndEndPoints, aW as get3dVmobStartCorner, rW as get3dVmobStartCornerIndex, cW as get3dVmobStartCornerUnitNormal, sW as get3dVmobUnitNormal, $f as getActiveTheme, CT as getAnimationOverride, aP as getDetText, $V as getFeatureFlags, cE as getReducedMotionRunTime, AW as getSerializableTypes, kW as getSerializer, fH as getShadedRgb, gh as getSmoothCubicBezierHandlePoints, bD as getSpeechSynthesizer, Qf as getTheme, ep as getThemeNames, rU as getUnitNormal, yU as getWindingNumber, uI as gridGraph, VR as growArrow, vR as growFromCenter, UR as growFromEdge, GR as growFromPoint, wT as hasAnimationOverride, OH as hashObj, rA as hexToRgb, IR as homotopy, gA as hsvToRgb, RH as indexLabels, Hz as indicate, ph as integerInterpolate, MU as interpolate, dA as interpolateColor, AA as interpolateColorOklab, jA as interpolateColorOklch, bk as intersection, PU as inverseInterpolate, uA as invertColor, PD as isAudioAnalysisSupported, HU as isClosed, XV as isFeatureEnabled, UC as isMathJaxLoaded, sE as isReducedMotionEnabled, mD as isSpeechSupported, Lj as isTypstLoaded, KC as katexCanRender, JR as laggedStart, QR as laggedStartMap, Xd as lengthVec, dU as lineIntersection, rg as linear, Dz as linearSpeedRamp, kg as lingering, tf as linspace, gH as listDifferenceUpdate, _H as listUpdate, TH as listify, Gf as logger, iz as maintainPositionRelativeTo, xB as makeClickable, _B as makeDraggable, yH as makeEven, DH as makeEvenByCycling, yB as makeHoverable, FB as makeMatrixTracker, TB as makeMovablePoint, BB as makePanZoomControls, AB as makeSlider, vW as manimElementInternals, DN as marchingCubes, WA as marchingSquares, rL as masterTimeline, FU as matchInterpolate, oP as matrixToMobject, sP as matrixToTexString, tG as mercator, NU as mid, uU as midpoint, ER as moveAlongPath, yT as moveToTarget, SR as moveToTargetPosition, UH as normSquared, GH as normalize, Zd as normalizeVec, Og as notQuiteThere, wA as oklabToColor, TA as oklabToOklch, OA as oklchToColor, EA as oklchToOklab, Hf as onLog, ef as orientation2D, $d as orthonormalFrame, ST as overrideAnimate, xT as overrideAnimation, pD as parseBookmarks, mF as parsePatternDefs, AC as parseSVGPathData, fh as partialBezierPoints, TU as pathAlongArc, wU as pathAlongCircles, sI as pathGraph, _U as perpendicularBisector, zR as phaseFlow, $U as pointLiesOnBezier, SH as powerset, aE as prefersReducedMotion, WC as preloadMathJax, Rj as preloadTypst, ET as prepareAnimation, zH as printFamily, QU as proportionsAlongBezierCurveForPoint, nB as pulse, OV as qualityToBitrate, YH as quaternionConjugate, qH as quaternionFromAngleAxis, KH as quaternionMult, sU as r3ToComplex, hA as randomBrightColor, mA as randomColor, dE as reducedRunTime, hW as registerFont, TW as registerManimElement, DW as registerSerializableMobject, Xf as registerTheme, aU as regularVertices, Pz as remove, hH as removeListRedundancies, EH as removeNones, wP as removeTextLetterByLetter, GC as renderLatexToSVG, Bj as renderTypstToSVG, _T as replacementTransform, QV as resetFeatureFlags, lE as resetReducedMotion, tp as resetThemes, hF as resolvePatternFill, kV as resolveResolution, zL as restore, $T as restoreMobjectState, LH as restructureListToExcludeCertainFamilyMembers, yg as reverse, cA as rgbToColor, nA as rgbToHex, _A as rgbToHsv, lA as rgbaToColor, pR as rotate, $H as rotateVector, Rz as rotating, ZH as rotationAboutZ, XH as rotationMatrix, QH as rotationMatrixTranspose, Eg as runningStart, gg as rushFrom, hg as rushInto, kz as rushRegion, FA as sampleColormap, $A as sampledPathFromFunction, QA as sampledPathFromPoints, QT as saveMobjectState, gR as scale, FL as scaleInPlace, Gd as scaleVec, xV as sceneToSVG, GT as serializeMobject, XW as serializeScene, JW as serializeSceneMobject, ZV as setFeatureFlags, DI as setGifDecoder, wC as setKatexStylesheetUrl, mI as setLottiePlayerFactory, BC as setMathJaxScriptUrl, qN as setModelLoaderFactory, IN as setMtlLoaderFactory, $D as setPostProcessingModules, eO as setPostProcessingModulesLoader, oE as setReducedMotion, yD as setSpeechSynthesizer, Zf as setTheme, Fj as setTypstCompiler, bR as shift, pU as shoelace, mU as shoelaceDirection, uE as shouldReduceMotion, cB as showCreationThenDestruction, LP as showIncreasingSubsets, zP as showPartial, Xz as showPassingFlash, iB as showPassingFlashWithThinningStrokeWidth, VP as showSubmobjectsOneByOne, LL as shrinkToCenter, jU as sigmoid, Cg as slowInto, ig as smooth, Az as smoothSpeedCurve, RR as smoothedVectorizedHomotopy, Ng as smoothererstep, Mg as smootherstep, jg as smoothstep, XT as snapshotFromJSON, YT as snapshotToJSON, gU as sphericalToCartesian, qR as spinInFromNothing, UP as spiralIn, zU as splitBezier, Hh as spring, wg as squishRateFunc, cI as starGraph, JT as stateFromJSON, qT as stateToJSON, vg as stepFunction, kM as stepVectorField, ng as steps, CU as straightPath, bH as stretchArrayToLength, qd as subVec, BU as subdivideBezier, XR as succession, RF as svgMobject, PC as svgToVMobjects, AL as swap, iN as texturedSphere, mg as thereAndBack, Tg as thereAndBackWithPause, vU as thickDiagonal, yz as tracedPath, hT as transform, UL as transformAnimations, wL as transformFromCopy, aR as transformMatchingCode, QL as transformMatchingShapes, tR as transformMatchingTex, vH as tuplify, fz as turnAnimationIntoUpdater, AP as typeWithCursor, gP as uncreate, yk as union, xH as uniqChain, Qd as unitPerpendicularTo, OW as unregisterSerializableMobject, MP as untypeWithCursor, bP as unwrite, rz as updateFromAlphaFunc, tz as updateFromFunc, IA as valueToColor, Qj as valueTracker, tj as visibleGlyphChars, VD as voiceoverToVTT, Iz as wait, Jz as wiggle, pB as wiggleOutThenIn, Dg as wiggleRate, vP as write, eU as zToVector };
|