manim-web 0.31.0 → 0.32.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/notebook.js +11 -11
- package/dist/integrations/react.js +17 -17
- package/dist/integrations/vue.js +16 -16
- package/dist/interaction/GamepadInput.d.ts +273 -0
- package/dist/interaction/GamepadInput.d.ts.map +1 -0
- package/dist/interaction/index.d.ts +1 -0
- package/dist/interaction/index.d.ts.map +1 -1
- package/dist/manim-web.browser.js +800 -572
- package/dist/{src-DegxZDnn.js → src-CaFgSOIB.js} +785 -557
- package/package.json +1 -1
|
@@ -40611,7 +40611,7 @@ var jg = class e {
|
|
|
40611
40611
|
if (this.isHeadless) throw Error("export() is not available in headless mode. Create a Scene with a container for rendering and exporting.");
|
|
40612
40612
|
let n = e.slice(e.lastIndexOf(".")).toLowerCase(), r;
|
|
40613
40613
|
if (n === ".gif") {
|
|
40614
|
-
let { GifExporter: n } = await Promise.resolve().then(() =>
|
|
40614
|
+
let { GifExporter: n } = await Promise.resolve().then(() => lF);
|
|
40615
40615
|
r = await new n(this, {
|
|
40616
40616
|
fps: t?.fps,
|
|
40617
40617
|
quality: t?.quality,
|
|
@@ -40623,7 +40623,7 @@ var jg = class e {
|
|
|
40623
40623
|
workers: t?.workers
|
|
40624
40624
|
}).exportTimeline(t?.duration), n.download(r, e);
|
|
40625
40625
|
} else if (n === ".webm" || n === ".mp4" || n === ".mov") {
|
|
40626
|
-
let { VideoExporter: i } = await Promise.resolve().then(() =>
|
|
40626
|
+
let { VideoExporter: i } = await Promise.resolve().then(() => pF), a = n === ".mp4" ? "mp4" : n === ".mov" ? "mov" : "webm";
|
|
40627
40627
|
r = await new i(this, {
|
|
40628
40628
|
fps: t?.fps,
|
|
40629
40629
|
quality: t?.quality,
|
|
@@ -74754,11 +74754,239 @@ function qP(e, t) {
|
|
|
74754
74754
|
return new KP(e, t);
|
|
74755
74755
|
}
|
|
74756
74756
|
//#endregion
|
|
74757
|
+
//#region src/interaction/GamepadInput.ts
|
|
74758
|
+
var JP = {
|
|
74759
|
+
A: 0,
|
|
74760
|
+
B: 1,
|
|
74761
|
+
X: 2,
|
|
74762
|
+
Y: 3,
|
|
74763
|
+
LB: 4,
|
|
74764
|
+
RB: 5,
|
|
74765
|
+
LT: 6,
|
|
74766
|
+
RT: 7,
|
|
74767
|
+
select: 8,
|
|
74768
|
+
start: 9,
|
|
74769
|
+
L3: 10,
|
|
74770
|
+
R3: 11,
|
|
74771
|
+
dpadUp: 12,
|
|
74772
|
+
dpadDown: 13,
|
|
74773
|
+
dpadLeft: 14,
|
|
74774
|
+
dpadRight: 15,
|
|
74775
|
+
guide: 16
|
|
74776
|
+
}, YP = {
|
|
74777
|
+
leftX: 0,
|
|
74778
|
+
leftY: 1,
|
|
74779
|
+
rightX: 2,
|
|
74780
|
+
rightY: 3
|
|
74781
|
+
}, XP = {
|
|
74782
|
+
cross: "A",
|
|
74783
|
+
circle: "B",
|
|
74784
|
+
square: "X",
|
|
74785
|
+
triangle: "Y",
|
|
74786
|
+
l1: "LB",
|
|
74787
|
+
r1: "RB",
|
|
74788
|
+
l2: "LT",
|
|
74789
|
+
r2: "RT",
|
|
74790
|
+
back: "select",
|
|
74791
|
+
view: "select",
|
|
74792
|
+
menu: "start",
|
|
74793
|
+
home: "guide",
|
|
74794
|
+
up: "dpadUp",
|
|
74795
|
+
down: "dpadDown",
|
|
74796
|
+
left: "dpadLeft",
|
|
74797
|
+
right: "dpadRight"
|
|
74798
|
+
}, ZP = Object.fromEntries(Object.entries(JP).map(([e, t]) => [e.toLowerCase(), t]));
|
|
74799
|
+
function QP(e) {
|
|
74800
|
+
if (typeof e == "number") return e;
|
|
74801
|
+
let t = e.toLowerCase(), n = XP[t];
|
|
74802
|
+
return n ? JP[n] : ZP[t] ?? -1;
|
|
74803
|
+
}
|
|
74804
|
+
function $P(e) {
|
|
74805
|
+
return e || (typeof navigator < "u" && typeof navigator.getGamepads == "function" ? () => navigator.getGamepads() : null);
|
|
74806
|
+
}
|
|
74807
|
+
function eF(e) {
|
|
74808
|
+
return e || (typeof window < "u" && typeof window.addEventListener == "function" ? window : null);
|
|
74809
|
+
}
|
|
74810
|
+
function tF() {
|
|
74811
|
+
return $P() !== null;
|
|
74812
|
+
}
|
|
74813
|
+
var nF = class {
|
|
74814
|
+
_getGamepads;
|
|
74815
|
+
_eventTarget;
|
|
74816
|
+
_gamepadIndex;
|
|
74817
|
+
_deadzone;
|
|
74818
|
+
_down = /* @__PURE__ */ new Set();
|
|
74819
|
+
_pressed = /* @__PURE__ */ new Set();
|
|
74820
|
+
_released = /* @__PURE__ */ new Set();
|
|
74821
|
+
_axes = [];
|
|
74822
|
+
_buttonValues = [];
|
|
74823
|
+
_downCallbacks = /* @__PURE__ */ new Map();
|
|
74824
|
+
_upCallbacks = /* @__PURE__ */ new Map();
|
|
74825
|
+
_enabled = !1;
|
|
74826
|
+
_onConnect;
|
|
74827
|
+
_onDisconnect;
|
|
74828
|
+
constructor(e = {}, t, n) {
|
|
74829
|
+
this._getGamepads = $P(t), this._eventTarget = eF(n), this._gamepadIndex = e.gamepadIndex, this._deadzone = e.deadzone ?? .1, this._onConnect = this._handleConnect.bind(this), this._onDisconnect = this._handleDisconnect.bind(this), (e.autoEnable ?? !0) && this.enable();
|
|
74830
|
+
}
|
|
74831
|
+
get isEnabled() {
|
|
74832
|
+
return this._enabled;
|
|
74833
|
+
}
|
|
74834
|
+
get hasSource() {
|
|
74835
|
+
return this._getGamepads !== null;
|
|
74836
|
+
}
|
|
74837
|
+
get hasTarget() {
|
|
74838
|
+
return this._eventTarget !== null;
|
|
74839
|
+
}
|
|
74840
|
+
enable() {
|
|
74841
|
+
this._enabled ||= (this._eventTarget && (this._eventTarget.addEventListener("gamepadconnected", this._onConnect), this._eventTarget.addEventListener("gamepaddisconnected", this._onDisconnect)), !0);
|
|
74842
|
+
}
|
|
74843
|
+
disable() {
|
|
74844
|
+
this._eventTarget && (this._eventTarget.removeEventListener("gamepadconnected", this._onConnect), this._eventTarget.removeEventListener("gamepaddisconnected", this._onDisconnect)), this._enabled = !1, this.clear();
|
|
74845
|
+
}
|
|
74846
|
+
dispose() {
|
|
74847
|
+
this.disable(), this._downCallbacks.clear(), this._upCallbacks.clear();
|
|
74848
|
+
}
|
|
74849
|
+
clear() {
|
|
74850
|
+
this._down.clear(), this._pressed.clear(), this._released.clear(), this._axes = [], this._buttonValues = [];
|
|
74851
|
+
}
|
|
74852
|
+
poll() {
|
|
74853
|
+
this._pressed.clear(), this._released.clear();
|
|
74854
|
+
let e = this._readActivePad();
|
|
74855
|
+
if (!e) {
|
|
74856
|
+
this._releaseAll(), this._axes = [], this._buttonValues = [];
|
|
74857
|
+
return;
|
|
74858
|
+
}
|
|
74859
|
+
let t = e.buttons;
|
|
74860
|
+
for (let n = 0; n < t.length; n += 1) {
|
|
74861
|
+
let r = t[n]?.pressed ?? !1, i = this._down.has(n);
|
|
74862
|
+
r && !i ? (this._down.add(n), this._pressed.add(n), this._emit(this._downCallbacks, n, e)) : !r && i && (this._down.delete(n), this._released.add(n), this._emit(this._upCallbacks, n, e));
|
|
74863
|
+
}
|
|
74864
|
+
for (let n of [...this._down]) n >= t.length && (this._down.delete(n), this._released.add(n), this._emit(this._upCallbacks, n, e));
|
|
74865
|
+
this._axes = [...e.axes], this._buttonValues = t.map((e) => e?.value ?? 0);
|
|
74866
|
+
}
|
|
74867
|
+
update(e = 0) {
|
|
74868
|
+
this.poll();
|
|
74869
|
+
}
|
|
74870
|
+
isButtonDown(e) {
|
|
74871
|
+
let t = QP(e);
|
|
74872
|
+
return t >= 0 && this._down.has(t);
|
|
74873
|
+
}
|
|
74874
|
+
anyButtonDown() {
|
|
74875
|
+
return this._down.size > 0;
|
|
74876
|
+
}
|
|
74877
|
+
wasButtonPressed(e) {
|
|
74878
|
+
let t = QP(e);
|
|
74879
|
+
return t >= 0 && this._pressed.has(t);
|
|
74880
|
+
}
|
|
74881
|
+
wasButtonReleased(e) {
|
|
74882
|
+
let t = QP(e);
|
|
74883
|
+
return t >= 0 && this._released.has(t);
|
|
74884
|
+
}
|
|
74885
|
+
getButtonValue(e) {
|
|
74886
|
+
let t = QP(e);
|
|
74887
|
+
return t < 0 ? 0 : this._buttonValues[t] ?? 0;
|
|
74888
|
+
}
|
|
74889
|
+
getAxis(e, t = this._deadzone) {
|
|
74890
|
+
return this._applyDeadzone(this._axes[e] ?? 0, t);
|
|
74891
|
+
}
|
|
74892
|
+
getLeftStick() {
|
|
74893
|
+
return [this.getAxis(YP.leftX), 0 - this.getAxis(YP.leftY)];
|
|
74894
|
+
}
|
|
74895
|
+
getRightStick() {
|
|
74896
|
+
return [this.getAxis(YP.rightX), 0 - this.getAxis(YP.rightY)];
|
|
74897
|
+
}
|
|
74898
|
+
getDirectionVector() {
|
|
74899
|
+
let e = !!this.isButtonDown("dpadRight") - +!!this.isButtonDown("dpadLeft"), t = !!this.isButtonDown("dpadUp") - +!!this.isButtonDown("dpadDown");
|
|
74900
|
+
if (e !== 0 || t !== 0) return rF(e, t);
|
|
74901
|
+
let [n, r] = this.getLeftStick();
|
|
74902
|
+
return rF(n, r);
|
|
74903
|
+
}
|
|
74904
|
+
getConnectedGamepads() {
|
|
74905
|
+
if (!this._getGamepads) return [];
|
|
74906
|
+
try {
|
|
74907
|
+
return [...this._getGamepads()].filter((e) => e != null && (e.connected ?? !0));
|
|
74908
|
+
} catch {
|
|
74909
|
+
return [];
|
|
74910
|
+
}
|
|
74911
|
+
}
|
|
74912
|
+
onButtonDown(e, t) {
|
|
74913
|
+
return this._addCallback(this._downCallbacks, e, t);
|
|
74914
|
+
}
|
|
74915
|
+
onButtonUp(e, t) {
|
|
74916
|
+
return this._addCallback(this._upCallbacks, e, t);
|
|
74917
|
+
}
|
|
74918
|
+
bindBool(e, t, n) {
|
|
74919
|
+
let r = this.onButtonDown(n, () => e.setInput(t, !0)), i = this.onButtonUp(n, () => e.setInput(t, !1));
|
|
74920
|
+
return () => {
|
|
74921
|
+
r(), i();
|
|
74922
|
+
};
|
|
74923
|
+
}
|
|
74924
|
+
bindTrigger(e, t, n) {
|
|
74925
|
+
return this.onButtonDown(n, () => e.fire(t));
|
|
74926
|
+
}
|
|
74927
|
+
bindValue(e, t, n) {
|
|
74928
|
+
let r = n.releasedValue ?? 0, i = this.onButtonDown(t, () => e.setValue(n.heldValue)), a = this.onButtonUp(t, () => e.setValue(r));
|
|
74929
|
+
return () => {
|
|
74930
|
+
i(), a();
|
|
74931
|
+
};
|
|
74932
|
+
}
|
|
74933
|
+
_readActivePad() {
|
|
74934
|
+
if (!this._getGamepads) return null;
|
|
74935
|
+
let e;
|
|
74936
|
+
try {
|
|
74937
|
+
e = this._getGamepads() ?? [];
|
|
74938
|
+
} catch {
|
|
74939
|
+
return null;
|
|
74940
|
+
}
|
|
74941
|
+
if (this._gamepadIndex != null) return e[this._gamepadIndex] ?? null;
|
|
74942
|
+
for (let t of e) if (t && (t.connected ?? !0)) return t;
|
|
74943
|
+
return null;
|
|
74944
|
+
}
|
|
74945
|
+
_releaseAll() {
|
|
74946
|
+
if (this._down.size !== 0) {
|
|
74947
|
+
for (let e of [...this._down]) this._released.add(e), this._emit(this._upCallbacks, e, null);
|
|
74948
|
+
this._down.clear();
|
|
74949
|
+
}
|
|
74950
|
+
}
|
|
74951
|
+
_applyDeadzone(e, t) {
|
|
74952
|
+
return Math.abs(e) < t ? 0 : e;
|
|
74953
|
+
}
|
|
74954
|
+
_addCallback(e, t, n) {
|
|
74955
|
+
let r = this._callbackKey(t), i = e.get(r) ?? /* @__PURE__ */ new Set();
|
|
74956
|
+
return i.add(n), e.set(r, i), () => {
|
|
74957
|
+
i.delete(n), i.size === 0 && e.delete(r);
|
|
74958
|
+
};
|
|
74959
|
+
}
|
|
74960
|
+
_callbackKey(e) {
|
|
74961
|
+
if (e === "any") return "any";
|
|
74962
|
+
let t = QP(e);
|
|
74963
|
+
return t < 0 && i.warn(`[manim-web] GamepadInput: unknown button "${String(e)}".`), t;
|
|
74964
|
+
}
|
|
74965
|
+
_emit(e, t, n) {
|
|
74966
|
+
e.get(t)?.forEach((e) => e(t, n)), e.get("any")?.forEach((e) => e(t, n));
|
|
74967
|
+
}
|
|
74968
|
+
_handleConnect(e) {
|
|
74969
|
+
let t = e.gamepad;
|
|
74970
|
+
i.info(`[manim-web] GamepadInput: gamepad connected (index ${t?.index ?? "?"}).`);
|
|
74971
|
+
}
|
|
74972
|
+
_handleDisconnect(e) {
|
|
74973
|
+
let t = e.gamepad;
|
|
74974
|
+
i.info(`[manim-web] GamepadInput: gamepad disconnected (index ${t?.index ?? "?"}).`);
|
|
74975
|
+
}
|
|
74976
|
+
};
|
|
74977
|
+
function rF(e, t) {
|
|
74978
|
+
let n = Math.hypot(e, t);
|
|
74979
|
+
return n === 0 ? [0, 0] : [e / n, t / n];
|
|
74980
|
+
}
|
|
74981
|
+
function iF(e, t, n) {
|
|
74982
|
+
return new nF(e, t, n);
|
|
74983
|
+
}
|
|
74984
|
+
//#endregion
|
|
74757
74985
|
//#region src/interaction/PanZoomControls.ts
|
|
74758
|
-
function
|
|
74986
|
+
function aF(e, t, n) {
|
|
74759
74987
|
return Math.max(t, Math.min(n, e));
|
|
74760
74988
|
}
|
|
74761
|
-
var
|
|
74989
|
+
var oF = class {
|
|
74762
74990
|
_camera;
|
|
74763
74991
|
_domElement;
|
|
74764
74992
|
_options;
|
|
@@ -74810,7 +75038,7 @@ var YP = class {
|
|
|
74810
75038
|
if (!this._enabled || !this._options.enableZoom) return;
|
|
74811
75039
|
let t = this._eventToNdc(e.clientX, e.clientY);
|
|
74812
75040
|
if (!t) return;
|
|
74813
|
-
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 =
|
|
75041
|
+
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 = aF(this._camera.frameWidth * i, a, o) / this._camera.frameWidth;
|
|
74814
75042
|
if (s === 1) return;
|
|
74815
75043
|
this._camera.frameWidth = this._camera.frameWidth * s, this._camera.frameHeight = this._camera.frameHeight * s;
|
|
74816
75044
|
let c = n.x - t.x * this._camera.frameWidth / 2, l = n.y - t.y * this._camera.frameHeight / 2;
|
|
@@ -74859,12 +75087,12 @@ var YP = class {
|
|
|
74859
75087
|
this._options.onChange?.();
|
|
74860
75088
|
}
|
|
74861
75089
|
};
|
|
74862
|
-
function
|
|
74863
|
-
return new
|
|
75090
|
+
function sF(e, t, n) {
|
|
75091
|
+
return new oF(e, t, n);
|
|
74864
75092
|
}
|
|
74865
75093
|
//#endregion
|
|
74866
75094
|
//#region node_modules/gif.js/dist/gif.js
|
|
74867
|
-
var
|
|
75095
|
+
var cF = /* @__PURE__ */ r(((e, t) => {
|
|
74868
75096
|
(function(n) {
|
|
74869
75097
|
if (typeof e == "object" && t !== void 0) t.exports = n();
|
|
74870
75098
|
else if (typeof define == "function" && define.amd) define([], n);
|
|
@@ -75118,10 +75346,10 @@ var ZP = /* @__PURE__ */ r(((e, t) => {
|
|
|
75118
75346
|
}]
|
|
75119
75347
|
}, {}, [3])(3);
|
|
75120
75348
|
});
|
|
75121
|
-
})),
|
|
75122
|
-
GifExporter: () =>
|
|
75123
|
-
createGifExporter: () =>
|
|
75124
|
-
}),
|
|
75349
|
+
})), lF = /* @__PURE__ */ t({
|
|
75350
|
+
GifExporter: () => dF,
|
|
75351
|
+
createGifExporter: () => fF
|
|
75352
|
+
}), uF = /* @__PURE__ */ e(cF(), 1), dF = class e {
|
|
75125
75353
|
_scene;
|
|
75126
75354
|
_options;
|
|
75127
75355
|
constructor(e, t) {
|
|
@@ -75139,7 +75367,7 @@ var ZP = /* @__PURE__ */ r(((e, t) => {
|
|
|
75139
75367
|
};
|
|
75140
75368
|
}
|
|
75141
75369
|
async exportTimeline(e) {
|
|
75142
|
-
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
|
|
75370
|
+
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 uF.default({
|
|
75143
75371
|
workers: this._options.workers,
|
|
75144
75372
|
quality: this._options.quality,
|
|
75145
75373
|
width: this._options.width,
|
|
@@ -75198,15 +75426,15 @@ var ZP = /* @__PURE__ */ r(((e, t) => {
|
|
|
75198
75426
|
e.download(r, t);
|
|
75199
75427
|
}
|
|
75200
75428
|
};
|
|
75201
|
-
function
|
|
75202
|
-
return new
|
|
75429
|
+
function fF(e, t) {
|
|
75430
|
+
return new dF(e, t);
|
|
75203
75431
|
}
|
|
75204
75432
|
//#endregion
|
|
75205
75433
|
//#region src/export/VideoExporter.ts
|
|
75206
|
-
var
|
|
75207
|
-
VideoExporter: () =>
|
|
75208
|
-
createVideoExporter: () =>
|
|
75209
|
-
}),
|
|
75434
|
+
var pF = /* @__PURE__ */ t({
|
|
75435
|
+
VideoExporter: () => mF,
|
|
75436
|
+
createVideoExporter: () => hF
|
|
75437
|
+
}), mF = class e {
|
|
75210
75438
|
_scene;
|
|
75211
75439
|
_options;
|
|
75212
75440
|
_mediaRecorder = null;
|
|
@@ -75298,26 +75526,26 @@ var nF = /* @__PURE__ */ t({
|
|
|
75298
75526
|
return { ...this._options };
|
|
75299
75527
|
}
|
|
75300
75528
|
};
|
|
75301
|
-
function
|
|
75302
|
-
return new
|
|
75529
|
+
function hF(e, t) {
|
|
75530
|
+
return new mF(e, t);
|
|
75303
75531
|
}
|
|
75304
75532
|
//#endregion
|
|
75305
75533
|
//#region src/export/alphaBackground.ts
|
|
75306
|
-
var
|
|
75307
|
-
function
|
|
75534
|
+
var gF = "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.", _F = "Transparent export needs access to the WebGL renderer, but the scene did not expose one.";
|
|
75535
|
+
function vF(e) {
|
|
75308
75536
|
let t = e.renderer;
|
|
75309
75537
|
return !t || typeof t.getThreeRenderer != "function" ? null : t.getThreeRenderer() ?? null;
|
|
75310
75538
|
}
|
|
75311
|
-
function
|
|
75539
|
+
function yF(e) {
|
|
75312
75540
|
return e.getContext().getContextAttributes()?.alpha === !0;
|
|
75313
75541
|
}
|
|
75314
|
-
function
|
|
75315
|
-
let t =
|
|
75316
|
-
if (!t) throw Error(
|
|
75317
|
-
if (!
|
|
75542
|
+
function bF(e) {
|
|
75543
|
+
let t = vF(e);
|
|
75544
|
+
if (!t) throw Error(_F);
|
|
75545
|
+
if (!yF(t)) throw Error(gF);
|
|
75318
75546
|
return t;
|
|
75319
75547
|
}
|
|
75320
|
-
async function
|
|
75548
|
+
async function xF(e, t) {
|
|
75321
75549
|
let n = e.getClearAlpha();
|
|
75322
75550
|
e.setClearAlpha(0);
|
|
75323
75551
|
try {
|
|
@@ -75328,7 +75556,7 @@ async function uF(e, t) {
|
|
|
75328
75556
|
}
|
|
75329
75557
|
//#endregion
|
|
75330
75558
|
//#region src/export/FrameExporter.ts
|
|
75331
|
-
function
|
|
75559
|
+
function SF(e, t, n) {
|
|
75332
75560
|
return new Promise((r, i) => {
|
|
75333
75561
|
if (typeof e.toBlob == "function") {
|
|
75334
75562
|
e.toBlob((e) => {
|
|
@@ -75337,22 +75565,22 @@ function dF(e, t, n) {
|
|
|
75337
75565
|
return;
|
|
75338
75566
|
}
|
|
75339
75567
|
try {
|
|
75340
|
-
r(
|
|
75568
|
+
r(CF(e.toDataURL(t, n)));
|
|
75341
75569
|
} catch (e) {
|
|
75342
75570
|
i(e instanceof Error ? e : Error(String(e)));
|
|
75343
75571
|
}
|
|
75344
75572
|
});
|
|
75345
75573
|
}
|
|
75346
|
-
function
|
|
75574
|
+
function CF(e) {
|
|
75347
75575
|
let [t, n] = e.split(","), r = t.match(/data:([^;]+)/), i = r ? r[1] : "image/png", a = atob(n), o = new Uint8Array(a.length);
|
|
75348
75576
|
for (let e = 0; e < a.length; e++) o[e] = a.charCodeAt(e);
|
|
75349
75577
|
return new Blob([o], { type: i });
|
|
75350
75578
|
}
|
|
75351
|
-
async function
|
|
75579
|
+
async function wF(e, t) {
|
|
75352
75580
|
let n = t?.type ?? "image/png";
|
|
75353
|
-
return t?.transparent ?
|
|
75581
|
+
return t?.transparent ? xF(bF(e), () => (TF(e, t?.time), SF(e.getCanvas(), n, t?.quality))) : (t?.time !== void 0 && e.seek(t.time), SF(e.getCanvas(), n, t?.quality));
|
|
75354
75582
|
}
|
|
75355
|
-
function
|
|
75583
|
+
function TF(e, t) {
|
|
75356
75584
|
if (t !== void 0) {
|
|
75357
75585
|
e.seek(t);
|
|
75358
75586
|
return;
|
|
@@ -75363,29 +75591,29 @@ function mF(e, t) {
|
|
|
75363
75591
|
}
|
|
75364
75592
|
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.");
|
|
75365
75593
|
}
|
|
75366
|
-
async function
|
|
75594
|
+
async function EF(e, t) {
|
|
75367
75595
|
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 () => {
|
|
75368
75596
|
let n = [];
|
|
75369
75597
|
for (let i = 0; i < c; i++) {
|
|
75370
75598
|
let s = r + i * l;
|
|
75371
75599
|
e.seek(s);
|
|
75372
75600
|
let u = e.getCanvas();
|
|
75373
|
-
n.push(await
|
|
75601
|
+
n.push(await SF(u, a, t.quality)), o((i + 1) / c);
|
|
75374
75602
|
}
|
|
75375
75603
|
return n;
|
|
75376
75604
|
};
|
|
75377
|
-
return t.transparent ?
|
|
75605
|
+
return t.transparent ? xF(bF(e), u) : u();
|
|
75378
75606
|
}
|
|
75379
|
-
function
|
|
75607
|
+
function DF(e, t) {
|
|
75380
75608
|
let n = URL.createObjectURL(e), r = document.createElement("a");
|
|
75381
75609
|
r.href = n, r.download = t, document.body.appendChild(r), r.click(), document.body.removeChild(r), URL.revokeObjectURL(n);
|
|
75382
75610
|
}
|
|
75383
|
-
async function
|
|
75384
|
-
|
|
75611
|
+
async function OF(e, t = "frame.png", n) {
|
|
75612
|
+
DF(await wF(e, n), t);
|
|
75385
75613
|
}
|
|
75386
75614
|
//#endregion
|
|
75387
75615
|
//#region src/export/WebCodecsExporter.ts
|
|
75388
|
-
var
|
|
75616
|
+
var kF = {
|
|
75389
75617
|
avc: {
|
|
75390
75618
|
encoderCodec: "avc1.42001f",
|
|
75391
75619
|
mp4Codec: "avc",
|
|
@@ -75406,7 +75634,7 @@ var vF = {
|
|
|
75406
75634
|
mp4Codec: "av1",
|
|
75407
75635
|
webmCodec: "V_AV1"
|
|
75408
75636
|
}
|
|
75409
|
-
},
|
|
75637
|
+
}, AF = class e {
|
|
75410
75638
|
_scene;
|
|
75411
75639
|
_options;
|
|
75412
75640
|
constructor(e, t) {
|
|
@@ -75430,8 +75658,8 @@ var vF = {
|
|
|
75430
75658
|
}
|
|
75431
75659
|
async export() {
|
|
75432
75660
|
if (!e.isSupported()) throw Error("WebCodecs VideoEncoder is not available in this environment. Use VideoExporter (MediaRecorder) instead to export video.");
|
|
75433
|
-
let t = this._options, n = t.duration || this._scene.getTimelineDuration() || 5, r = Math.ceil(n * t.fps), a =
|
|
75434
|
-
t.alpha && (this._assertAlphaCodec(), o =
|
|
75661
|
+
let t = this._options, n = t.duration || this._scene.getTimelineDuration() || 5, r = Math.ceil(n * t.fps), a = kF[t.codec], o = null;
|
|
75662
|
+
t.alpha && (this._assertAlphaCodec(), o = bF(this._scene), await this._assertAlphaEncodeSupport(a));
|
|
75435
75663
|
let s = await this._createMuxer(a), c = new window.VideoEncoder({
|
|
75436
75664
|
output: (e, t) => s.addVideoChunk(e, t),
|
|
75437
75665
|
error: (e) => i.error("WebCodecs encoder error:", e)
|
|
@@ -75455,7 +75683,7 @@ var vF = {
|
|
|
75455
75683
|
c.encode(i, { keyFrame: e % t.keyFrameInterval === 0 }), i.close(), t.onProgress(r === 0 ? 1 : (e + 1) / r);
|
|
75456
75684
|
}
|
|
75457
75685
|
};
|
|
75458
|
-
return o ? await
|
|
75686
|
+
return o ? await xF(o, f) : f(), await c.flush(), c.close(), s.finalize();
|
|
75459
75687
|
}
|
|
75460
75688
|
_assertAlphaCodec() {
|
|
75461
75689
|
let e = this._options;
|
|
@@ -75511,30 +75739,30 @@ var vF = {
|
|
|
75511
75739
|
return { ...this._options };
|
|
75512
75740
|
}
|
|
75513
75741
|
};
|
|
75514
|
-
function
|
|
75515
|
-
return new
|
|
75742
|
+
function jF(e, t) {
|
|
75743
|
+
return new AF(e, t);
|
|
75516
75744
|
}
|
|
75517
75745
|
//#endregion
|
|
75518
75746
|
//#region src/export/chooseExporter.ts
|
|
75519
|
-
function
|
|
75747
|
+
function MF(e = AF.isSupported()) {
|
|
75520
75748
|
return e ? "webcodecs" : "mediarecorder";
|
|
75521
75749
|
}
|
|
75522
75750
|
//#endregion
|
|
75523
75751
|
//#region src/export/SvgExporter.ts
|
|
75524
|
-
var
|
|
75525
|
-
function
|
|
75752
|
+
var NF = 3;
|
|
75753
|
+
function PF(e, t) {
|
|
75526
75754
|
if (!Number.isFinite(e)) return "0";
|
|
75527
75755
|
let n = Number(e.toFixed(t));
|
|
75528
75756
|
return String(Object.is(n, -0) ? 0 : n);
|
|
75529
75757
|
}
|
|
75530
|
-
function
|
|
75758
|
+
function FF(e) {
|
|
75531
75759
|
return e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
75532
75760
|
}
|
|
75533
|
-
function
|
|
75761
|
+
function IF(e, t, n) {
|
|
75534
75762
|
let r = e.position.x, i = e.position.y, a = e.frameWidth || 1, o = e.frameHeight || 1;
|
|
75535
75763
|
return (e) => [(e[0] - r) / a * t + t / 2, n / 2 - (e[1] - i) / o * n];
|
|
75536
75764
|
}
|
|
75537
|
-
function
|
|
75765
|
+
function LF(e, t) {
|
|
75538
75766
|
if (!t || t.length <= 1) return [e];
|
|
75539
75767
|
let n = [], r = 0;
|
|
75540
75768
|
for (let i of t) {
|
|
@@ -75543,11 +75771,11 @@ function EF(e, t) {
|
|
|
75543
75771
|
}
|
|
75544
75772
|
return r === e.length ? n : [e];
|
|
75545
75773
|
}
|
|
75546
|
-
function
|
|
75774
|
+
function RF(e, t, n) {
|
|
75547
75775
|
if (e.length < 4) return null;
|
|
75548
75776
|
let r = (e) => {
|
|
75549
75777
|
let [r, i] = t(e);
|
|
75550
|
-
return `${
|
|
75778
|
+
return `${PF(r, n)} ${PF(i, n)}`;
|
|
75551
75779
|
}, i = [`M ${r(e[0])}`], a = Math.floor((e.length - 1) / 3);
|
|
75552
75780
|
for (let t = 0; t < a; t++) {
|
|
75553
75781
|
let n = e[3 * t + 1], a = e[3 * t + 2], o = e[3 * t + 3];
|
|
@@ -75555,65 +75783,65 @@ function DF(e, t, n) {
|
|
|
75555
75783
|
}
|
|
75556
75784
|
return Xi(e) && i.push("Z"), i.join(" ");
|
|
75557
75785
|
}
|
|
75558
|
-
function
|
|
75786
|
+
function zF(e) {
|
|
75559
75787
|
return e.style.fillColor ?? e.color;
|
|
75560
75788
|
}
|
|
75561
|
-
function
|
|
75789
|
+
function BF(e, t, n, r) {
|
|
75562
75790
|
let i = e.getPoints();
|
|
75563
75791
|
if (i.length < 4) return null;
|
|
75564
|
-
let a =
|
|
75792
|
+
let a = LF(i, e.getEffectiveSubpathLengths()), o = [];
|
|
75565
75793
|
for (let e of a) {
|
|
75566
|
-
let n =
|
|
75794
|
+
let n = RF(e, t, r);
|
|
75567
75795
|
n && o.push(n);
|
|
75568
75796
|
}
|
|
75569
75797
|
if (o.length === 0) return null;
|
|
75570
75798
|
let s = e.fillOpacity > 0, c = e.strokeWidth > 0;
|
|
75571
75799
|
if (!s && !c) return null;
|
|
75572
75800
|
let l = [`d="${o.join(" ")}"`];
|
|
75573
|
-
return s ? (l.push(`fill="${
|
|
75801
|
+
return s ? (l.push(`fill="${FF(zF(e))}"`), l.push("fill-rule=\"nonzero\""), e.fillOpacity < 1 && l.push(`fill-opacity="${PF(e.fillOpacity, r)}"`)) : l.push("fill=\"none\""), c && (l.push(`stroke="${FF(e.color)}"`), l.push(`stroke-width="${PF(e.strokeWidth * n, r)}"`), l.push("stroke-linejoin=\"round\""), l.push("stroke-linecap=\"round\""), e.opacity < 1 && l.push(`stroke-opacity="${PF(e.opacity, r)}"`)), `<path ${l.join(" ")} />`;
|
|
75574
75802
|
}
|
|
75575
|
-
function
|
|
75803
|
+
function VF(e) {
|
|
75576
75804
|
return e instanceof I && e.getPoints().length >= 4;
|
|
75577
75805
|
}
|
|
75578
|
-
function
|
|
75579
|
-
let n = t?.precision ??
|
|
75806
|
+
function HF(e, t) {
|
|
75807
|
+
let n = t?.precision ?? NF, r = e.getWidth(), i = e.getHeight(), a = e.camera, o = IF(a, r, i), s = .01 * r / (a.frameWidth || 1), c = [];
|
|
75580
75808
|
for (let t of e.mobjects) {
|
|
75581
75809
|
let e = [];
|
|
75582
75810
|
for (let r of t.getFamily()) {
|
|
75583
|
-
if (!
|
|
75584
|
-
let t =
|
|
75811
|
+
if (!VF(r)) continue;
|
|
75812
|
+
let t = BF(r, o, s, n);
|
|
75585
75813
|
t && e.push(t);
|
|
75586
75814
|
}
|
|
75587
75815
|
if (e.length === 0) continue;
|
|
75588
|
-
let r = t.userId ? ` data-mobject-id="${
|
|
75816
|
+
let r = t.userId ? ` data-mobject-id="${FF(t.userId)}"` : "";
|
|
75589
75817
|
c.push(` <g${r}>\n ${e.join("\n ")}\n </g>`);
|
|
75590
75818
|
}
|
|
75591
|
-
let l =
|
|
75592
|
-
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="${
|
|
75819
|
+
let l = PF(r, n), u = PF(i, n);
|
|
75820
|
+
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="${FF(t.background)}" />` : ""}${c.length > 0 ? `\n${c.join("\n")}\n` : "\n"}</svg>`;
|
|
75593
75821
|
}
|
|
75594
|
-
function
|
|
75595
|
-
let n =
|
|
75822
|
+
function UF(e, t) {
|
|
75823
|
+
let n = HF(e, t);
|
|
75596
75824
|
return new Blob([n], { type: "image/svg+xml" });
|
|
75597
75825
|
}
|
|
75598
|
-
function
|
|
75826
|
+
function WF(e, t = "scene.svg", n) {
|
|
75599
75827
|
if (typeof document > "u") throw Error("exportAndDownloadSVG requires a DOM (document is undefined)");
|
|
75600
|
-
|
|
75828
|
+
DF(UF(e, n), t);
|
|
75601
75829
|
}
|
|
75602
75830
|
//#endregion
|
|
75603
75831
|
//#region src/export/SlideDeckExporter.ts
|
|
75604
|
-
var
|
|
75605
|
-
function
|
|
75832
|
+
var GF = "PNG";
|
|
75833
|
+
function KF(e, t) {
|
|
75606
75834
|
return e.seek(t), {
|
|
75607
75835
|
dataUrl: e.getCanvas().toDataURL("image/png"),
|
|
75608
75836
|
width: e.getWidth(),
|
|
75609
75837
|
height: e.getHeight()
|
|
75610
75838
|
};
|
|
75611
75839
|
}
|
|
75612
|
-
async function
|
|
75840
|
+
async function qF(e) {
|
|
75613
75841
|
let { jsPDF: t } = await import("./jspdf.es.min-CvMJL6nS.js");
|
|
75614
75842
|
return new t(e);
|
|
75615
75843
|
}
|
|
75616
|
-
function
|
|
75844
|
+
function JF(e, t, n, r) {
|
|
75617
75845
|
let i = e > 0 ? e : 1, a = t > 0 ? t : 1, o = Math.min(n / i, r / a), s = i * o, c = a * o;
|
|
75618
75846
|
return {
|
|
75619
75847
|
x: (n - s) / 2,
|
|
@@ -75622,33 +75850,33 @@ function LF(e, t, n, r) {
|
|
|
75622
75850
|
h: c
|
|
75623
75851
|
};
|
|
75624
75852
|
}
|
|
75625
|
-
function
|
|
75853
|
+
function YF(e, t) {
|
|
75626
75854
|
return t === "first" ? e.startTime : e.endTime;
|
|
75627
75855
|
}
|
|
75628
|
-
async function
|
|
75856
|
+
async function XF(e, t) {
|
|
75629
75857
|
let n = e.timeline.getSlides();
|
|
75630
75858
|
if (n.length === 0) return null;
|
|
75631
|
-
let r = t?.still ?? "last", i = t?.orientation ?? "landscape", a = t?.pageSize ?? "a4", o = t?.unit ?? "pt", s = t?.imageFormat ??
|
|
75859
|
+
let r = t?.still ?? "last", i = t?.orientation ?? "landscape", a = t?.pageSize ?? "a4", o = t?.unit ?? "pt", s = t?.imageFormat ?? GF, c = t?.background, l = t?.captureSlide ?? KF, u = t?.pdfFactory ?? qF, d = t?.onProgress ?? (() => {}), f = await u({
|
|
75632
75860
|
orientation: i,
|
|
75633
75861
|
unit: o,
|
|
75634
75862
|
format: a
|
|
75635
75863
|
}), p = f.internal.pageSize.getWidth(), m = f.internal.pageSize.getHeight();
|
|
75636
75864
|
for (let t = 0; t < n.length; t++) {
|
|
75637
75865
|
t > 0 && f.addPage(a, i), c && (f.setFillColor(c[0], c[1], c[2]), f.rect(0, 0, p, m, "F"));
|
|
75638
|
-
let o = await l(e.scene,
|
|
75866
|
+
let o = await l(e.scene, YF(n[t], r)), u = JF(o.width, o.height, p, m);
|
|
75639
75867
|
f.addImage(o.dataUrl, s, u.x, u.y, u.w, u.h), d((t + 1) / n.length);
|
|
75640
75868
|
}
|
|
75641
75869
|
return f.output("blob");
|
|
75642
75870
|
}
|
|
75643
|
-
async function
|
|
75871
|
+
async function ZF(e, t = "slides.pdf", n) {
|
|
75644
75872
|
if (typeof document > "u") {
|
|
75645
75873
|
i.warn("exportAndDownloadSlidesToPDF: no DOM available, skipping download.");
|
|
75646
75874
|
return;
|
|
75647
75875
|
}
|
|
75648
|
-
let r = await
|
|
75649
|
-
r &&
|
|
75876
|
+
let r = await XF(e, n);
|
|
75877
|
+
r && DF(r, t);
|
|
75650
75878
|
}
|
|
75651
|
-
async function
|
|
75879
|
+
async function QF() {
|
|
75652
75880
|
let e;
|
|
75653
75881
|
try {
|
|
75654
75882
|
e = await import(
|
|
@@ -75660,14 +75888,14 @@ async function VF() {
|
|
|
75660
75888
|
}
|
|
75661
75889
|
return new (e.default ?? e)();
|
|
75662
75890
|
}
|
|
75663
|
-
async function
|
|
75891
|
+
async function $F(e, t) {
|
|
75664
75892
|
let n = e.timeline.getSlides();
|
|
75665
75893
|
if (n.length === 0) return null;
|
|
75666
|
-
let r = t?.still ?? "last", i = t?.slideWidth ?? 13.333, a = t?.slideHeight ?? 7.5, o = t?.background, s = t?.captureSlide ??
|
|
75894
|
+
let r = t?.still ?? "last", i = t?.slideWidth ?? 13.333, a = t?.slideHeight ?? 7.5, o = t?.background, s = t?.captureSlide ?? KF, c = t?.pptxFactory ?? QF, l = t?.onProgress ?? (() => {}), u = await c();
|
|
75667
75895
|
for (let t = 0; t < n.length; t++) {
|
|
75668
75896
|
let c = u.addSlide();
|
|
75669
75897
|
o && (c.background = { color: o });
|
|
75670
|
-
let d = await s(e.scene,
|
|
75898
|
+
let d = await s(e.scene, YF(n[t], r));
|
|
75671
75899
|
c.addImage({
|
|
75672
75900
|
data: d.dataUrl,
|
|
75673
75901
|
x: 0,
|
|
@@ -75685,7 +75913,7 @@ async function HF(e, t) {
|
|
|
75685
75913
|
}
|
|
75686
75914
|
//#endregion
|
|
75687
75915
|
//#region src/player/ExportSettingsUI.ts
|
|
75688
|
-
var
|
|
75916
|
+
var eI = [
|
|
75689
75917
|
{
|
|
75690
75918
|
id: "current",
|
|
75691
75919
|
label: "Current",
|
|
@@ -75722,11 +75950,11 @@ var UF = [
|
|
|
75722
75950
|
width: 3840,
|
|
75723
75951
|
height: 2160
|
|
75724
75952
|
}
|
|
75725
|
-
],
|
|
75953
|
+
], tI = [
|
|
75726
75954
|
24,
|
|
75727
75955
|
30,
|
|
75728
75956
|
60
|
|
75729
|
-
],
|
|
75957
|
+
], nI = [
|
|
75730
75958
|
{
|
|
75731
75959
|
id: "low",
|
|
75732
75960
|
label: "Low",
|
|
@@ -75742,12 +75970,12 @@ var UF = [
|
|
|
75742
75970
|
label: "High",
|
|
75743
75971
|
value: .9
|
|
75744
75972
|
}
|
|
75745
|
-
],
|
|
75746
|
-
function
|
|
75747
|
-
return Math.round(Math.max(0, Math.min(1, e)) *
|
|
75973
|
+
], rI = 1e7;
|
|
75974
|
+
function iI(e) {
|
|
75975
|
+
return Math.round(Math.max(0, Math.min(1, e)) * rI);
|
|
75748
75976
|
}
|
|
75749
|
-
function
|
|
75750
|
-
let r =
|
|
75977
|
+
function aI(e, t, n) {
|
|
75978
|
+
let r = eI.find((t) => t.id === e);
|
|
75751
75979
|
return !r || r.width === null || r.height === null ? {
|
|
75752
75980
|
width: t,
|
|
75753
75981
|
height: n
|
|
@@ -75756,7 +75984,7 @@ function JF(e, t, n) {
|
|
|
75756
75984
|
height: r.height
|
|
75757
75985
|
};
|
|
75758
75986
|
}
|
|
75759
|
-
var
|
|
75987
|
+
var oI = class {
|
|
75760
75988
|
_element;
|
|
75761
75989
|
_fpsSelect;
|
|
75762
75990
|
_resolutionSelect;
|
|
@@ -75769,22 +75997,22 @@ var YF = class {
|
|
|
75769
75997
|
display: "flex",
|
|
75770
75998
|
flexDirection: "column",
|
|
75771
75999
|
gap: "6px"
|
|
75772
|
-
}), this._element.setAttribute("data-export-settings", ""), this._fpsSelect = this._buildSelect("FPS",
|
|
76000
|
+
}), this._element.setAttribute("data-export-settings", ""), this._fpsSelect = this._buildSelect("FPS", tI.map((e) => ({
|
|
75773
76001
|
value: String(e),
|
|
75774
76002
|
label: `${e} fps`
|
|
75775
|
-
})), String(this._nearestFps(e.fps))), this._resolutionSelect = this._buildSelect("Resolution",
|
|
76003
|
+
})), String(this._nearestFps(e.fps))), this._resolutionSelect = this._buildSelect("Resolution", eI.map((e) => ({
|
|
75776
76004
|
value: e.id,
|
|
75777
76005
|
label: e.label
|
|
75778
|
-
})), "current"), this._qualitySelect = this._buildSelect("Quality",
|
|
76006
|
+
})), "current"), this._qualitySelect = this._buildSelect("Quality", nI.map((e) => ({
|
|
75779
76007
|
value: String(e.value),
|
|
75780
76008
|
label: e.label
|
|
75781
|
-
})), String(
|
|
76009
|
+
})), String(nI[nI.length - 1].value));
|
|
75782
76010
|
}
|
|
75783
76011
|
get element() {
|
|
75784
76012
|
return this._element;
|
|
75785
76013
|
}
|
|
75786
76014
|
getSettings() {
|
|
75787
|
-
let e = parseInt(this._fpsSelect.value, 10), { width: t, height: n } =
|
|
76015
|
+
let e = parseInt(this._fpsSelect.value, 10), { width: t, height: n } = aI(this._resolutionSelect.value, this._defaults.width, this._defaults.height);
|
|
75788
76016
|
return {
|
|
75789
76017
|
fps: e,
|
|
75790
76018
|
width: t,
|
|
@@ -75793,7 +76021,7 @@ var YF = class {
|
|
|
75793
76021
|
};
|
|
75794
76022
|
}
|
|
75795
76023
|
_nearestFps(e) {
|
|
75796
|
-
return
|
|
76024
|
+
return tI.reduce((t, n) => Math.abs(n - e) < Math.abs(t - e) ? n : t);
|
|
75797
76025
|
}
|
|
75798
76026
|
_buildSelect(e, t, n) {
|
|
75799
76027
|
let r = document.createElement("label");
|
|
@@ -75824,7 +76052,7 @@ var YF = class {
|
|
|
75824
76052
|
}
|
|
75825
76053
|
return a.value = n, a.addEventListener("click", (e) => e.stopPropagation()), r.appendChild(i), r.appendChild(a), this._element.appendChild(r), a;
|
|
75826
76054
|
}
|
|
75827
|
-
},
|
|
76055
|
+
}, sI = class {
|
|
75828
76056
|
_container;
|
|
75829
76057
|
_bar;
|
|
75830
76058
|
_playBtn;
|
|
@@ -75860,19 +76088,19 @@ var YF = class {
|
|
|
75860
76088
|
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");
|
|
75861
76089
|
let r = this._createProgressBar();
|
|
75862
76090
|
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();
|
|
75863
|
-
let i =
|
|
76091
|
+
let i = cI("div", {
|
|
75864
76092
|
display: "flex",
|
|
75865
76093
|
alignItems: "center",
|
|
75866
76094
|
gap: "4px"
|
|
75867
76095
|
});
|
|
75868
76096
|
i.appendChild(this._prevBtn), i.appendChild(this._playBtn), i.appendChild(this._nextBtn);
|
|
75869
|
-
let a =
|
|
76097
|
+
let a = cI("div", {
|
|
75870
76098
|
display: "flex",
|
|
75871
76099
|
alignItems: "center",
|
|
75872
76100
|
gap: "8px"
|
|
75873
76101
|
});
|
|
75874
76102
|
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);
|
|
75875
|
-
let o =
|
|
76103
|
+
let o = cI("div", {
|
|
75876
76104
|
display: "flex",
|
|
75877
76105
|
alignItems: "center",
|
|
75878
76106
|
justifyContent: "space-between",
|
|
@@ -75887,10 +76115,10 @@ var YF = class {
|
|
|
75887
76115
|
let n = e / t * 100;
|
|
75888
76116
|
this._progressFill.style.width = `${n}%`;
|
|
75889
76117
|
}
|
|
75890
|
-
this._timeDisplay.textContent = `${
|
|
76118
|
+
this._timeDisplay.textContent = `${uI(e)} / ${uI(t)}`;
|
|
75891
76119
|
}
|
|
75892
76120
|
setPlaying(e, t = !1) {
|
|
75893
|
-
this._isPlaying = e, t ? (this._playBtn.innerHTML =
|
|
76121
|
+
this._isPlaying = e, t ? (this._playBtn.innerHTML = pI, this._playBtn.title = "Replay (Space)") : (this._playBtn.innerHTML = e ? fI : dI, this._playBtn.title = e ? "Pause (Space)" : "Play (Space)"), e && this._scheduleHide();
|
|
75894
76122
|
}
|
|
75895
76123
|
setSlidesMode(e) {
|
|
75896
76124
|
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)`;
|
|
@@ -75900,7 +76128,7 @@ var YF = class {
|
|
|
75900
76128
|
let t = e.getSlides(), n = e.getDuration();
|
|
75901
76129
|
if (!(n <= 0)) for (let e of t) {
|
|
75902
76130
|
if (e.index === 0) continue;
|
|
75903
|
-
let t =
|
|
76131
|
+
let t = cI("div", {
|
|
75904
76132
|
position: "absolute",
|
|
75905
76133
|
left: `${e.startTime / n * 100}%`,
|
|
75906
76134
|
top: "50%",
|
|
@@ -75915,7 +76143,7 @@ var YF = class {
|
|
|
75915
76143
|
}
|
|
75916
76144
|
}
|
|
75917
76145
|
_createBar() {
|
|
75918
|
-
let e =
|
|
76146
|
+
let e = cI("div", {
|
|
75919
76147
|
position: "absolute",
|
|
75920
76148
|
bottom: "0",
|
|
75921
76149
|
left: "0",
|
|
@@ -75933,21 +76161,21 @@ var YF = class {
|
|
|
75933
76161
|
}
|
|
75934
76162
|
_createPlayBtn() {
|
|
75935
76163
|
let e = document.createElement("button");
|
|
75936
|
-
return e.innerHTML =
|
|
76164
|
+
return e.innerHTML = dI, e.title = "Play (Space)", lI(e, "36px", "36px"), e.addEventListener("click", () => this._callbacks.onPlayPause()), e;
|
|
75937
76165
|
}
|
|
75938
76166
|
_createNavBtn(e) {
|
|
75939
76167
|
let t = document.createElement("button");
|
|
75940
|
-
return t.innerHTML = e === "prev" ?
|
|
76168
|
+
return t.innerHTML = e === "prev" ? mI : hI, t.title = e === "prev" ? "Previous (Left arrow)" : "Next (Right arrow)", lI(t, "28px", "28px"), t.addEventListener("click", () => {
|
|
75941
76169
|
e === "prev" ? this._callbacks.onPrev() : this._callbacks.onNext();
|
|
75942
76170
|
}), t;
|
|
75943
76171
|
}
|
|
75944
76172
|
_createProgressBar() {
|
|
75945
|
-
let e =
|
|
76173
|
+
let e = cI("div", {
|
|
75946
76174
|
position: "relative",
|
|
75947
76175
|
height: "16px",
|
|
75948
76176
|
padding: "6px 12px",
|
|
75949
76177
|
cursor: "pointer"
|
|
75950
|
-
}), t =
|
|
76178
|
+
}), t = cI("div", {
|
|
75951
76179
|
position: "absolute",
|
|
75952
76180
|
left: "12px",
|
|
75953
76181
|
right: "12px",
|
|
@@ -75957,14 +76185,14 @@ var YF = class {
|
|
|
75957
76185
|
background: "rgba(255,255,255,0.2)",
|
|
75958
76186
|
borderRadius: "2px",
|
|
75959
76187
|
overflow: "visible"
|
|
75960
|
-
}), n =
|
|
76188
|
+
}), n = cI("div", {
|
|
75961
76189
|
width: "0%",
|
|
75962
76190
|
height: "100%",
|
|
75963
76191
|
background: "#4a9eff",
|
|
75964
76192
|
borderRadius: "2px",
|
|
75965
76193
|
transition: "none",
|
|
75966
76194
|
position: "relative"
|
|
75967
|
-
}), r =
|
|
76195
|
+
}), r = cI("div", {
|
|
75968
76196
|
position: "absolute",
|
|
75969
76197
|
right: "-5px",
|
|
75970
76198
|
top: "50%",
|
|
@@ -75977,7 +76205,7 @@ var YF = class {
|
|
|
75977
76205
|
transition: "transform 0.1s"
|
|
75978
76206
|
});
|
|
75979
76207
|
n.appendChild(r);
|
|
75980
|
-
let i =
|
|
76208
|
+
let i = cI("div", {
|
|
75981
76209
|
width: "0%",
|
|
75982
76210
|
height: "100%",
|
|
75983
76211
|
background: "rgba(255,255,255,0.1)",
|
|
@@ -75986,7 +76214,7 @@ var YF = class {
|
|
|
75986
76214
|
top: "0",
|
|
75987
76215
|
left: "0",
|
|
75988
76216
|
pointerEvents: "none"
|
|
75989
|
-
}), a =
|
|
76217
|
+
}), a = cI("div", {
|
|
75990
76218
|
position: "absolute",
|
|
75991
76219
|
top: "0",
|
|
75992
76220
|
left: "0",
|
|
@@ -76011,7 +76239,7 @@ var YF = class {
|
|
|
76011
76239
|
};
|
|
76012
76240
|
}
|
|
76013
76241
|
_createTimeDisplay() {
|
|
76014
|
-
let e =
|
|
76242
|
+
let e = cI("span", {
|
|
76015
76243
|
fontFamily: "\"SF Mono\", Monaco, Consolas, monospace",
|
|
76016
76244
|
fontSize: "12px",
|
|
76017
76245
|
opacity: "0.8",
|
|
@@ -76053,16 +76281,16 @@ var YF = class {
|
|
|
76053
76281
|
}), e;
|
|
76054
76282
|
}
|
|
76055
76283
|
_createExportBtn() {
|
|
76056
|
-
let e =
|
|
76284
|
+
let e = cI("div", {
|
|
76057
76285
|
position: "relative",
|
|
76058
76286
|
display: "inline-block"
|
|
76059
76287
|
}), t = document.createElement("button");
|
|
76060
|
-
return t.innerHTML =
|
|
76288
|
+
return t.innerHTML = gI, t.title = "Export animation", lI(t, "28px", "28px"), t.addEventListener("click", (e) => {
|
|
76061
76289
|
e.stopPropagation(), this._exportMenu ? this._closeExportMenu() : this._showExportMenu();
|
|
76062
76290
|
}), e.appendChild(t), this._exportBtnWrapper = e, t;
|
|
76063
76291
|
}
|
|
76064
76292
|
_showExportMenu() {
|
|
76065
|
-
let e = this._exportBtn.getBoundingClientRect(), t =
|
|
76293
|
+
let e = this._exportBtn.getBoundingClientRect(), t = cI("div", {
|
|
76066
76294
|
position: "fixed",
|
|
76067
76295
|
top: "0",
|
|
76068
76296
|
left: "0",
|
|
@@ -76073,7 +76301,7 @@ var YF = class {
|
|
|
76073
76301
|
t.setAttribute("data-player-bar", ""), t.addEventListener("mousedown", (e) => {
|
|
76074
76302
|
e.stopPropagation(), e.preventDefault(), this._closeExportMenu();
|
|
76075
76303
|
});
|
|
76076
|
-
let n =
|
|
76304
|
+
let n = cI("div", {
|
|
76077
76305
|
position: "fixed",
|
|
76078
76306
|
bottom: `${window.innerHeight - e.top + 6}px`,
|
|
76079
76307
|
left: `${e.left - 60}px`,
|
|
@@ -76094,7 +76322,7 @@ var YF = class {
|
|
|
76094
76322
|
height: 1080,
|
|
76095
76323
|
fps: 60
|
|
76096
76324
|
};
|
|
76097
|
-
this._exportPanel = new
|
|
76325
|
+
this._exportPanel = new oI(e), n.appendChild(this._exportPanel.element);
|
|
76098
76326
|
}
|
|
76099
76327
|
for (let e of [
|
|
76100
76328
|
{
|
|
@@ -76113,7 +76341,7 @@ var YF = class {
|
|
|
76113
76341
|
desc: "Video file"
|
|
76114
76342
|
}
|
|
76115
76343
|
]) {
|
|
76116
|
-
let t =
|
|
76344
|
+
let t = cI("div", {
|
|
76117
76345
|
padding: "8px 14px",
|
|
76118
76346
|
cursor: "pointer",
|
|
76119
76347
|
fontSize: "13px",
|
|
@@ -76138,7 +76366,7 @@ var YF = class {
|
|
|
76138
76366
|
this._exportMenu && (this._exportMenuBackdrop?.remove(), this._exportMenuBackdrop = null, this._exportMenu.remove(), this._exportMenu = null, this._exportPanel = null);
|
|
76139
76367
|
}
|
|
76140
76368
|
setExportProgress(e) {
|
|
76141
|
-
if (e === null) this._exportBtn.innerHTML =
|
|
76369
|
+
if (e === null) this._exportBtn.innerHTML = gI, this._exportBtn.disabled = !1, this._exportBtn.title = "Export animation";
|
|
76142
76370
|
else {
|
|
76143
76371
|
let t = Math.round(e * 100);
|
|
76144
76372
|
this._exportBtn.innerHTML = `<span style="font-size:10px;font-weight:600">${t}%</span>`, this._exportBtn.disabled = !0, this._exportBtn.title = `Exporting... ${t}%`;
|
|
@@ -76146,7 +76374,7 @@ var YF = class {
|
|
|
76146
76374
|
}
|
|
76147
76375
|
_createSlidesBtn() {
|
|
76148
76376
|
let e = document.createElement("button");
|
|
76149
|
-
return e.innerHTML =
|
|
76377
|
+
return e.innerHTML = _I, e.title = "Slides mode off (S)", lI(e, "28px", "28px"), e.style.opacity = "0.4", e.addEventListener("click", () => {
|
|
76150
76378
|
this._slidesActive = !this._slidesActive, this.setSlidesMode(this._slidesActive), this._callbacks.onSlidesToggle(this._slidesActive);
|
|
76151
76379
|
}), e.addEventListener("mouseenter", () => {
|
|
76152
76380
|
e.style.background = this._slidesActive ? "rgba(74,158,255,0.35)" : "rgba(255,255,255,0.15)";
|
|
@@ -76156,7 +76384,7 @@ var YF = class {
|
|
|
76156
76384
|
}
|
|
76157
76385
|
_createFullscreenBtn() {
|
|
76158
76386
|
let e = document.createElement("button");
|
|
76159
|
-
return e.innerHTML =
|
|
76387
|
+
return e.innerHTML = vI, e.title = "Fullscreen (F)", lI(e, "28px", "28px"), e.addEventListener("click", () => this._callbacks.onFullscreen()), e;
|
|
76160
76388
|
}
|
|
76161
76389
|
_showControls() {
|
|
76162
76390
|
this._isVisible ||= (this._bar.style.opacity = "1", this._bar.style.transform = "translateY(0)", !0), this._scheduleHide();
|
|
@@ -76211,11 +76439,11 @@ var YF = class {
|
|
|
76211
76439
|
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();
|
|
76212
76440
|
}
|
|
76213
76441
|
};
|
|
76214
|
-
function
|
|
76442
|
+
function cI(e, t) {
|
|
76215
76443
|
let n = document.createElement(e);
|
|
76216
76444
|
return Object.assign(n.style, t), n;
|
|
76217
76445
|
}
|
|
76218
|
-
function
|
|
76446
|
+
function lI(e, t, n) {
|
|
76219
76447
|
Object.assign(e.style, {
|
|
76220
76448
|
width: t,
|
|
76221
76449
|
height: n,
|
|
@@ -76236,11 +76464,11 @@ function QF(e, t, n) {
|
|
|
76236
76464
|
e.style.background = "none";
|
|
76237
76465
|
});
|
|
76238
76466
|
}
|
|
76239
|
-
function
|
|
76467
|
+
function uI(e) {
|
|
76240
76468
|
let t = Math.floor(e / 60), n = Math.floor(e % 60);
|
|
76241
76469
|
return `${t}:${String(n).padStart(2, "0")}`;
|
|
76242
76470
|
}
|
|
76243
|
-
var
|
|
76471
|
+
var dI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><path d=\"M5 3l10 6-10 6V3z\"/></svg>", fI = "<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>", pI = "<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>", mI = "<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>", hI = "<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>", gI = "<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>", _I = "<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>", vI = "<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>", yI = class {
|
|
76244
76472
|
_container;
|
|
76245
76473
|
_callbacks;
|
|
76246
76474
|
_onKeyDown;
|
|
@@ -76270,7 +76498,7 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76270
76498
|
dispose() {
|
|
76271
76499
|
this._container.removeEventListener("keydown", this._onKeyDown);
|
|
76272
76500
|
}
|
|
76273
|
-
},
|
|
76501
|
+
}, bI = class {
|
|
76274
76502
|
_realScene;
|
|
76275
76503
|
_masterTimeline;
|
|
76276
76504
|
constructor(e, t) {
|
|
@@ -76307,7 +76535,7 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76307
76535
|
for (let n of e) t.push(n), n instanceof og && t.push(...this._collectAll(n.animations));
|
|
76308
76536
|
return t;
|
|
76309
76537
|
}
|
|
76310
|
-
},
|
|
76538
|
+
}, xI = [
|
|
76311
76539
|
"mousedown",
|
|
76312
76540
|
"mousemove",
|
|
76313
76541
|
"mouseup",
|
|
@@ -76315,7 +76543,7 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76315
76543
|
"touchstart",
|
|
76316
76544
|
"touchmove",
|
|
76317
76545
|
"touchend"
|
|
76318
|
-
],
|
|
76546
|
+
], SI = class {
|
|
76319
76547
|
_target;
|
|
76320
76548
|
_scene;
|
|
76321
76549
|
_isIdle;
|
|
@@ -76334,13 +76562,13 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76334
76562
|
}
|
|
76335
76563
|
attach() {
|
|
76336
76564
|
if (!this._attached) {
|
|
76337
|
-
for (let e of
|
|
76565
|
+
for (let e of xI) this._target.addEventListener(e, this._onEvent);
|
|
76338
76566
|
this._attached = !0;
|
|
76339
76567
|
}
|
|
76340
76568
|
}
|
|
76341
76569
|
dispose() {
|
|
76342
76570
|
if (this._attached) {
|
|
76343
|
-
for (let e of
|
|
76571
|
+
for (let e of xI) this._target.removeEventListener(e, this._onEvent);
|
|
76344
76572
|
this._attached = !1, this._renderScheduled = !1;
|
|
76345
76573
|
}
|
|
76346
76574
|
}
|
|
@@ -76352,7 +76580,7 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76352
76580
|
this._renderScheduled = !1, !(!this._attached || !this._isIdle()) && (this._scene.render(), this._renderCount++);
|
|
76353
76581
|
}));
|
|
76354
76582
|
}
|
|
76355
|
-
},
|
|
76583
|
+
}, CI = class {
|
|
76356
76584
|
_scene;
|
|
76357
76585
|
_masterTimeline;
|
|
76358
76586
|
_ui;
|
|
@@ -76375,7 +76603,7 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76375
76603
|
_origHeight = 0;
|
|
76376
76604
|
_onFullscreenChange;
|
|
76377
76605
|
constructor(e, t = {}) {
|
|
76378
|
-
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 jg(e, t), this._masterTimeline = new RA(), this._ui = new
|
|
76606
|
+
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 jg(e, t), this._masterTimeline = new RA(), this._ui = new sI(e, {
|
|
76379
76607
|
onPlayPause: () => this.togglePlayPause(),
|
|
76380
76608
|
onSeek: (e) => this.seek(e),
|
|
76381
76609
|
onPrev: () => this.prevSegment(),
|
|
@@ -76392,7 +76620,7 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76392
76620
|
}, {
|
|
76393
76621
|
autoHideMs: t.autoHideMs,
|
|
76394
76622
|
exportControls: this._exportControls
|
|
76395
|
-
}), this._ui.setSlidesMode(this._slidesMode), this._ui.enableScrollScrub(() => this._masterTimeline.getCurrentTime()), this._controller = new
|
|
76623
|
+
}), this._ui.setSlidesMode(this._slidesMode), this._ui.enableScrollScrub(() => this._masterTimeline.getCurrentTime()), this._controller = new yI(e, {
|
|
76396
76624
|
onPlayPause: () => this.togglePlayPause(),
|
|
76397
76625
|
onPrev: () => this.prevSegment(),
|
|
76398
76626
|
onNext: () => this.nextSegment(),
|
|
@@ -76406,10 +76634,10 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76406
76634
|
}, document.addEventListener("fullscreenchange", this._onFullscreenChange), this._interactiveSlides && this._enableSlideInteraction();
|
|
76407
76635
|
}
|
|
76408
76636
|
_enableSlideInteraction() {
|
|
76409
|
-
this._slideInteraction || (this._slideInteraction = new
|
|
76637
|
+
this._slideInteraction || (this._slideInteraction = new SI(this._container, this._scene, () => !this._isPlaying), this._slideInteraction.attach());
|
|
76410
76638
|
}
|
|
76411
76639
|
async sequence(e) {
|
|
76412
|
-
this._masterTimeline = new RA(), this._activeLoopSlideIndex = null, this._slidesTargetSlideIndex = -1, await e(new
|
|
76640
|
+
this._masterTimeline = new RA(), this._activeLoopSlideIndex = null, this._slidesTargetSlideIndex = -1, await e(new bI(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();
|
|
76413
76641
|
}
|
|
76414
76642
|
get scene() {
|
|
76415
76643
|
return this._scene;
|
|
@@ -76520,7 +76748,7 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76520
76748
|
let a = `animation.${e}`, o = this._masterTimeline.getDuration(), s = (e) => this._ui.setExportProgress(e);
|
|
76521
76749
|
this._ui.setExportProgress(0);
|
|
76522
76750
|
try {
|
|
76523
|
-
(e === "webm" || e === "mp4") &&
|
|
76751
|
+
(e === "webm" || e === "mp4") && MF() === "webcodecs" ? await this._exportWithWebCodecs(e === "mp4" ? "mp4" : "webm", t, o, s, a) : await this._scene.export(a, this._buildSceneExportOptions(e, t, o, s));
|
|
76524
76752
|
} catch (e) {
|
|
76525
76753
|
i.error("Export failed:", e), this._ui.showError(`Export failed: ${e instanceof Error ? e.message : "Unknown error"}`);
|
|
76526
76754
|
} finally {
|
|
@@ -76528,12 +76756,12 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76528
76756
|
}
|
|
76529
76757
|
}
|
|
76530
76758
|
async _exportWithWebCodecs(e, t, n, r, i) {
|
|
76531
|
-
|
|
76759
|
+
DF(await new AF(this._scene, {
|
|
76532
76760
|
format: e,
|
|
76533
76761
|
fps: t?.fps ?? this._exportFps,
|
|
76534
76762
|
width: t?.width ?? this._scene.getWidth(),
|
|
76535
76763
|
height: t?.height ?? this._scene.getHeight(),
|
|
76536
|
-
bitrate:
|
|
76764
|
+
bitrate: iI(t?.quality ?? .9),
|
|
76537
76765
|
duration: n,
|
|
76538
76766
|
onProgress: r
|
|
76539
76767
|
}).export(), i);
|
|
@@ -76594,36 +76822,36 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76594
76822
|
_stopLoop() {
|
|
76595
76823
|
this._animFrameId !== null && (cancelAnimationFrame(this._animFrameId), this._animFrameId = null);
|
|
76596
76824
|
}
|
|
76597
|
-
},
|
|
76825
|
+
}, wI = {
|
|
76598
76826
|
EXPERIMENTAL_3D_LIGHTING: !1,
|
|
76599
76827
|
WEBGPU_RENDERER: !1,
|
|
76600
76828
|
ADVANCED_TEXT_LAYOUT: !1
|
|
76601
|
-
},
|
|
76602
|
-
function
|
|
76603
|
-
return
|
|
76829
|
+
}, TI = { ...wI };
|
|
76830
|
+
function EI(e) {
|
|
76831
|
+
return TI[e] ?? !1;
|
|
76604
76832
|
}
|
|
76605
|
-
function
|
|
76606
|
-
|
|
76607
|
-
...
|
|
76833
|
+
function DI(e) {
|
|
76834
|
+
TI = {
|
|
76835
|
+
...TI,
|
|
76608
76836
|
...e
|
|
76609
76837
|
};
|
|
76610
76838
|
}
|
|
76611
|
-
function
|
|
76612
|
-
|
|
76839
|
+
function OI() {
|
|
76840
|
+
TI = { ...wI };
|
|
76613
76841
|
}
|
|
76614
|
-
function
|
|
76615
|
-
return { ...
|
|
76842
|
+
function kI() {
|
|
76843
|
+
return { ...TI };
|
|
76616
76844
|
}
|
|
76617
76845
|
//#endregion
|
|
76618
76846
|
//#region src/utils/ManimColor.ts
|
|
76619
|
-
var
|
|
76620
|
-
function
|
|
76847
|
+
var AI = /(?:#|0[xX])([A-Fa-f0-9]{3,8})/;
|
|
76848
|
+
function jI(e) {
|
|
76621
76849
|
return Math.min(255, Math.max(0, Math.trunc(e * 255)));
|
|
76622
76850
|
}
|
|
76623
|
-
function
|
|
76624
|
-
return
|
|
76851
|
+
function MI(e) {
|
|
76852
|
+
return jI(e).toString(16).toUpperCase().padStart(2, "0");
|
|
76625
76853
|
}
|
|
76626
|
-
function
|
|
76854
|
+
function NI(e, t) {
|
|
76627
76855
|
let n = e;
|
|
76628
76856
|
(n.length === 3 || n.length === 4) && (n = n.split("").map((e) => e + e).join(""));
|
|
76629
76857
|
let r = t;
|
|
@@ -76636,14 +76864,14 @@ function SI(e, t) {
|
|
|
76636
76864
|
r
|
|
76637
76865
|
];
|
|
76638
76866
|
}
|
|
76639
|
-
function
|
|
76640
|
-
let n =
|
|
76641
|
-
if (n !== null) return
|
|
76867
|
+
function PI(e, t) {
|
|
76868
|
+
let n = AI.exec(e);
|
|
76869
|
+
if (n !== null) return NI(n[1], t);
|
|
76642
76870
|
let r = se[e.toUpperCase()];
|
|
76643
|
-
if (typeof r == "string") return
|
|
76871
|
+
if (typeof r == "string") return PI(r, t);
|
|
76644
76872
|
throw Error(`Failed to parse a color from "${e}"`);
|
|
76645
76873
|
}
|
|
76646
|
-
function
|
|
76874
|
+
function FI(e, t) {
|
|
76647
76875
|
return [
|
|
76648
76876
|
(e >> 16 & 255) / 255,
|
|
76649
76877
|
(e >> 8 & 255) / 255,
|
|
@@ -76651,7 +76879,7 @@ function wI(e, t) {
|
|
|
76651
76879
|
t
|
|
76652
76880
|
];
|
|
76653
76881
|
}
|
|
76654
|
-
var
|
|
76882
|
+
var II = class e {
|
|
76655
76883
|
value;
|
|
76656
76884
|
constructor(t, n = 1) {
|
|
76657
76885
|
if (t === null) this.value = [
|
|
@@ -76668,8 +76896,8 @@ var TI = class e {
|
|
|
76668
76896
|
e[2],
|
|
76669
76897
|
e[3]
|
|
76670
76898
|
];
|
|
76671
|
-
} else if (typeof t == "number") this.value =
|
|
76672
|
-
else if (typeof t == "string") this.value =
|
|
76899
|
+
} else if (typeof t == "number") this.value = FI(t, n);
|
|
76900
|
+
else if (typeof t == "string") this.value = PI(t, n);
|
|
76673
76901
|
else if (t.length === 3) this.value = [
|
|
76674
76902
|
t[0],
|
|
76675
76903
|
t[1],
|
|
@@ -76727,18 +76955,18 @@ var TI = class e {
|
|
|
76727
76955
|
toIntRgb() {
|
|
76728
76956
|
let e = this.internalRgba();
|
|
76729
76957
|
return [
|
|
76730
|
-
|
|
76731
|
-
|
|
76732
|
-
|
|
76958
|
+
jI(e[0]),
|
|
76959
|
+
jI(e[1]),
|
|
76960
|
+
jI(e[2])
|
|
76733
76961
|
];
|
|
76734
76962
|
}
|
|
76735
76963
|
toIntRgba() {
|
|
76736
76964
|
let e = this.internalRgba();
|
|
76737
76965
|
return [
|
|
76738
|
-
|
|
76739
|
-
|
|
76740
|
-
|
|
76741
|
-
|
|
76966
|
+
jI(e[0]),
|
|
76967
|
+
jI(e[1]),
|
|
76968
|
+
jI(e[2]),
|
|
76969
|
+
jI(e[3])
|
|
76742
76970
|
];
|
|
76743
76971
|
}
|
|
76744
76972
|
toHex(e = !1) {
|
|
@@ -76747,7 +76975,7 @@ var TI = class e {
|
|
|
76747
76975
|
t[1],
|
|
76748
76976
|
t[2]
|
|
76749
76977
|
]);
|
|
76750
|
-
return e ? n +
|
|
76978
|
+
return e ? n + MI(t[3]) : n;
|
|
76751
76979
|
}
|
|
76752
76980
|
toHsv() {
|
|
76753
76981
|
return Yb(this.toRgb());
|
|
@@ -76807,7 +77035,7 @@ var TI = class e {
|
|
|
76807
77035
|
static parse(t, n = 1) {
|
|
76808
77036
|
return Array.isArray(t) && t.some((e) => typeof e != "number") ? t.map((t) => new e(t, n)) : new e(t, n);
|
|
76809
77037
|
}
|
|
76810
|
-
},
|
|
77038
|
+
}, LI = II, RI = class e extends II {
|
|
76811
77039
|
hsva;
|
|
76812
77040
|
constructor(e, t = 1) {
|
|
76813
77041
|
if (super(null), e.length === 3) this.hsva = [
|
|
@@ -76876,7 +77104,7 @@ var TI = class e {
|
|
|
76876
77104
|
return this.hsva[2];
|
|
76877
77105
|
}
|
|
76878
77106
|
};
|
|
76879
|
-
function
|
|
77107
|
+
function zI(e) {
|
|
76880
77108
|
let t = e >>> 0;
|
|
76881
77109
|
return () => {
|
|
76882
77110
|
t = t + 1831565813 | 0;
|
|
@@ -76884,18 +77112,18 @@ function OI(e) {
|
|
|
76884
77112
|
return e = e + Math.imul(e ^ e >>> 7, 61 | e) ^ e, ((e ^ e >>> 14) >>> 0) / 4294967296;
|
|
76885
77113
|
};
|
|
76886
77114
|
}
|
|
76887
|
-
var
|
|
77115
|
+
var BI = Array.from(new Set(Object.values(se))).map((e) => new II(e)), VI = class {
|
|
76888
77116
|
rng;
|
|
76889
77117
|
colors;
|
|
76890
77118
|
constructor(e, t) {
|
|
76891
|
-
this.rng = e === void 0 ? Math.random :
|
|
77119
|
+
this.rng = e === void 0 ? Math.random : zI(e), this.colors = t === void 0 ? BI : t.map((e) => e instanceof II ? e : new II(e));
|
|
76892
77120
|
}
|
|
76893
77121
|
next() {
|
|
76894
77122
|
let e = Math.floor(this.rng() * this.colors.length);
|
|
76895
77123
|
return this.colors[e];
|
|
76896
77124
|
}
|
|
76897
77125
|
};
|
|
76898
|
-
function
|
|
77126
|
+
function HI(e, t, n, r) {
|
|
76899
77127
|
let i = .5 * Fn(n, Rn([
|
|
76900
77128
|
r[0] - t[0],
|
|
76901
77129
|
r[1] - t[1],
|
|
@@ -76909,7 +77137,7 @@ function jI(e, t, n, r) {
|
|
|
76909
77137
|
}
|
|
76910
77138
|
//#endregion
|
|
76911
77139
|
//#region src/utils/iterables.ts
|
|
76912
|
-
function
|
|
77140
|
+
function UI(e, t) {
|
|
76913
77141
|
let n = e.length;
|
|
76914
77142
|
if (n === 0) return [];
|
|
76915
77143
|
let r = [];
|
|
@@ -76920,10 +77148,10 @@ function MI(e, t) {
|
|
|
76920
77148
|
}
|
|
76921
77149
|
return r;
|
|
76922
77150
|
}
|
|
76923
|
-
function
|
|
76924
|
-
return
|
|
77151
|
+
function WI(e) {
|
|
77152
|
+
return UI(e, 2);
|
|
76925
77153
|
}
|
|
76926
|
-
function
|
|
77154
|
+
function GI(e) {
|
|
76927
77155
|
let t = [], n = /* @__PURE__ */ new Set();
|
|
76928
77156
|
for (let r = e.length - 1; r >= 0; r--) {
|
|
76929
77157
|
let i = e[r];
|
|
@@ -76931,7 +77159,7 @@ function PI(e) {
|
|
|
76931
77159
|
}
|
|
76932
77160
|
return t.reverse(), t;
|
|
76933
77161
|
}
|
|
76934
|
-
function
|
|
77162
|
+
function KI(e, t, n) {
|
|
76935
77163
|
if (n === void 0) {
|
|
76936
77164
|
let n = new Set(t);
|
|
76937
77165
|
return e.filter((e) => !n.has(e));
|
|
@@ -76939,29 +77167,29 @@ function FI(e, t, n) {
|
|
|
76939
77167
|
let r = new Set(t.map((e) => n(e)));
|
|
76940
77168
|
return e.filter((e) => !r.has(n(e)));
|
|
76941
77169
|
}
|
|
76942
|
-
function
|
|
76943
|
-
return
|
|
77170
|
+
function qI(e, t, n) {
|
|
77171
|
+
return KI(e, t, n).concat(t);
|
|
76944
77172
|
}
|
|
76945
|
-
function
|
|
77173
|
+
function JI(e) {
|
|
76946
77174
|
return typeof e == "string" ? [e] : typeof e == "object" && e && Symbol.iterator in e ? [...e] : [e];
|
|
76947
77175
|
}
|
|
76948
|
-
function
|
|
77176
|
+
function YI(e, t) {
|
|
76949
77177
|
let n = e.length, r = t.length, i = Math.max(n, r), a = [], o = [];
|
|
76950
77178
|
for (let s = 0; s < i; s++) a.push(e[Math.floor(s * n / i)]), o.push(t[Math.floor(s * r / i)]);
|
|
76951
77179
|
return [a, o];
|
|
76952
77180
|
}
|
|
76953
|
-
function
|
|
77181
|
+
function XI(e, t) {
|
|
76954
77182
|
let n = e.length;
|
|
76955
77183
|
if (n > t) throw Error("Trying to stretch array to a length shorter than its own");
|
|
76956
77184
|
let r = [];
|
|
76957
77185
|
for (let i = 0; i < t; i++) r.push(e[Math.floor(i / t * n)]);
|
|
76958
77186
|
return r;
|
|
76959
77187
|
}
|
|
76960
|
-
function*
|
|
77188
|
+
function* ZI(...e) {
|
|
76961
77189
|
let t = /* @__PURE__ */ new Set();
|
|
76962
77190
|
for (let n of e) for (let e of n) t.has(e) || (t.add(e), yield e);
|
|
76963
77191
|
}
|
|
76964
|
-
function
|
|
77192
|
+
function QI(e) {
|
|
76965
77193
|
let t = [[]];
|
|
76966
77194
|
for (let n of e) {
|
|
76967
77195
|
let e = t.length;
|
|
@@ -76969,82 +77197,82 @@ function VI(e) {
|
|
|
76969
77197
|
}
|
|
76970
77198
|
return t;
|
|
76971
77199
|
}
|
|
76972
|
-
function
|
|
77200
|
+
function $I(e, t) {
|
|
76973
77201
|
for (let n of e) if (!(n instanceof t)) return !1;
|
|
76974
77202
|
return !0;
|
|
76975
77203
|
}
|
|
76976
|
-
function
|
|
77204
|
+
function eL(...e) {
|
|
76977
77205
|
let t = [];
|
|
76978
77206
|
for (let n of e) for (let e of n) t.push(e);
|
|
76979
77207
|
return t;
|
|
76980
77208
|
}
|
|
76981
|
-
function
|
|
77209
|
+
function tL(e) {
|
|
76982
77210
|
return typeof e == "string" ? [e] : typeof e == "object" && e && Symbol.iterator in e ? [...e] : [e];
|
|
76983
77211
|
}
|
|
76984
|
-
function
|
|
77212
|
+
function nL(e) {
|
|
76985
77213
|
let t = [];
|
|
76986
77214
|
for (let n of e) n && t.push(n);
|
|
76987
77215
|
return t;
|
|
76988
77216
|
}
|
|
76989
|
-
function
|
|
77217
|
+
function rL(e, t) {
|
|
76990
77218
|
let n = Math.max(e.length, t.length), r = [], i = [];
|
|
76991
77219
|
for (let a = 0; a < n; a++) r.push(e[a % e.length]), i.push(t[a % t.length]);
|
|
76992
77220
|
return [r, i];
|
|
76993
77221
|
}
|
|
76994
|
-
function
|
|
76995
|
-
return
|
|
77222
|
+
function iL(e) {
|
|
77223
|
+
return oL(aL(e));
|
|
76996
77224
|
}
|
|
76997
|
-
function
|
|
77225
|
+
function aL(e) {
|
|
76998
77226
|
if (e === null) return "null";
|
|
76999
77227
|
if (e === void 0) return "undefined";
|
|
77000
77228
|
let t = typeof e;
|
|
77001
77229
|
if (t === "string") return `s:${e}`;
|
|
77002
77230
|
if (t === "number" || t === "boolean" || t === "bigint") return `${t[0]}:${String(e)}`;
|
|
77003
|
-
if (e instanceof Set) return `set:[${[...e].map(
|
|
77004
|
-
if (e instanceof Map) return `map:{${[...e.entries()].map(([e, t]) => `${
|
|
77005
|
-
if (Array.isArray(e)) return `arr:[${e.map(
|
|
77231
|
+
if (e instanceof Set) return `set:[${[...e].map(aL).sort().join(",")}]`;
|
|
77232
|
+
if (e instanceof Map) return `map:{${[...e.entries()].map(([e, t]) => `${aL(e)}=${aL(t)}`).sort().join(",")}}`;
|
|
77233
|
+
if (Array.isArray(e)) return `arr:[${e.map(aL).join(",")}]`;
|
|
77006
77234
|
if (t === "object") {
|
|
77007
77235
|
let t = e;
|
|
77008
|
-
return `obj:{${Object.keys(t).sort().map((e) => `${e}=${
|
|
77236
|
+
return `obj:{${Object.keys(t).sort().map((e) => `${e}=${aL(t[e])}`).join(",")}}`;
|
|
77009
77237
|
}
|
|
77010
77238
|
return `${t}:${String(e)}`;
|
|
77011
77239
|
}
|
|
77012
|
-
function
|
|
77240
|
+
function oL(e) {
|
|
77013
77241
|
let t = 2166136261;
|
|
77014
77242
|
for (let n = 0; n < e.length; n++) t ^= e.charCodeAt(n), t = Math.imul(t, 16777619);
|
|
77015
77243
|
return t >>> 0;
|
|
77016
77244
|
}
|
|
77017
77245
|
//#endregion
|
|
77018
77246
|
//#region src/utils/unit.ts
|
|
77019
|
-
function
|
|
77247
|
+
function sL(e) {
|
|
77020
77248
|
return e * Zt / $t;
|
|
77021
77249
|
}
|
|
77022
|
-
function
|
|
77250
|
+
function cL(e) {
|
|
77023
77251
|
return e * Math.PI / 180;
|
|
77024
77252
|
}
|
|
77025
|
-
function
|
|
77253
|
+
function lL(e) {
|
|
77026
77254
|
return e;
|
|
77027
77255
|
}
|
|
77028
|
-
function
|
|
77256
|
+
function uL(e, t) {
|
|
77029
77257
|
return e[0] === t[0] && e[1] === t[1] && e[2] === t[2];
|
|
77030
77258
|
}
|
|
77031
|
-
function
|
|
77259
|
+
function dL(e, t) {
|
|
77032
77260
|
let n;
|
|
77033
|
-
if (
|
|
77034
|
-
else if (
|
|
77035
|
-
else if (
|
|
77261
|
+
if (uL(e, _n)) n = Zt;
|
|
77262
|
+
else if (uL(e, mn)) n = 8;
|
|
77263
|
+
else if (uL(e, vn)) throw Error("length of Z axis is undefined");
|
|
77036
77264
|
else throw Error("Percent axis must be the X axis (RIGHT) or Y axis (UP)");
|
|
77037
77265
|
return t / 100 * n;
|
|
77038
77266
|
}
|
|
77039
77267
|
//#endregion
|
|
77040
77268
|
//#region src/utils/debug.ts
|
|
77041
|
-
function
|
|
77269
|
+
function fL(e, t = !1) {
|
|
77042
77270
|
let n = [];
|
|
77043
77271
|
for (let t of e) n.push(...t.getFamily());
|
|
77044
77272
|
return t ? n.filter((e) => e instanceof I && e.hasOwnPoints()) : n;
|
|
77045
77273
|
}
|
|
77046
|
-
function
|
|
77047
|
-
let n = [], r = new Set(
|
|
77274
|
+
function pL(e, t) {
|
|
77275
|
+
let n = [], r = new Set(fL(t)), i = (e, t) => {
|
|
77048
77276
|
for (let r of e) {
|
|
77049
77277
|
if (t.has(r)) continue;
|
|
77050
77278
|
let e = new Set(r.getFamily().filter((e) => t.has(e)));
|
|
@@ -77053,14 +77281,14 @@ function nL(e, t) {
|
|
|
77053
77281
|
};
|
|
77054
77282
|
return i(e, r), n;
|
|
77055
77283
|
}
|
|
77056
|
-
function
|
|
77284
|
+
function mL(e, t = {}) {
|
|
77057
77285
|
let { labelHeight: n = .15 } = t, r = new L();
|
|
77058
77286
|
return e.children.forEach((e, t) => {
|
|
77059
77287
|
let i = new HS({ value: t });
|
|
77060
77288
|
i.setHeight(n), i.moveTo(e), r.add(i);
|
|
77061
77289
|
}), r;
|
|
77062
77290
|
}
|
|
77063
|
-
function
|
|
77291
|
+
function hL(e, t = 0) {
|
|
77064
77292
|
let n = [], r = (e, t) => {
|
|
77065
77293
|
n.push(" ".repeat(t) + `${e.constructor.name} ${e.id}`);
|
|
77066
77294
|
for (let n of e.children) r(n, t + 1);
|
|
@@ -77071,8 +77299,8 @@ function iL(e, t = 0) {
|
|
|
77071
77299
|
}
|
|
77072
77300
|
//#endregion
|
|
77073
77301
|
//#region src/utils/spaceOps.ts
|
|
77074
|
-
var
|
|
77075
|
-
function
|
|
77302
|
+
var gL = 2 * Math.PI;
|
|
77303
|
+
function _L(e) {
|
|
77076
77304
|
let t = e.length, n = e[0].length, r = [];
|
|
77077
77305
|
for (let i = 0; i < n; i++) {
|
|
77078
77306
|
let n = [];
|
|
@@ -77081,20 +77309,20 @@ function oL(e) {
|
|
|
77081
77309
|
}
|
|
77082
77310
|
return r;
|
|
77083
77311
|
}
|
|
77084
|
-
function
|
|
77312
|
+
function vL(e, t) {
|
|
77085
77313
|
return e.map((e) => e.reduce((e, n, r) => e + n * (t[r] ?? 0), 0));
|
|
77086
77314
|
}
|
|
77087
|
-
function
|
|
77315
|
+
function yL(e) {
|
|
77088
77316
|
return e.reduce((e, t) => e + t * t, 0);
|
|
77089
77317
|
}
|
|
77090
|
-
function
|
|
77318
|
+
function bL(e, t) {
|
|
77091
77319
|
return e[0] * t[1] - e[1] * t[0];
|
|
77092
77320
|
}
|
|
77093
|
-
function
|
|
77094
|
-
let n = Math.sqrt(
|
|
77321
|
+
function xL(e, t) {
|
|
77322
|
+
let n = Math.sqrt(yL(e));
|
|
77095
77323
|
return n > 0 ? e.map((e) => e / n) : t ?? e.map(() => 0);
|
|
77096
77324
|
}
|
|
77097
|
-
function
|
|
77325
|
+
function SL(...e) {
|
|
77098
77326
|
if (e.length === 0) return [
|
|
77099
77327
|
1,
|
|
77100
77328
|
0,
|
|
@@ -77113,8 +77341,8 @@ function dL(...e) {
|
|
|
77113
77341
|
}
|
|
77114
77342
|
return t;
|
|
77115
77343
|
}
|
|
77116
|
-
function
|
|
77117
|
-
let r = n ? t :
|
|
77344
|
+
function CL(e, t, n = !1) {
|
|
77345
|
+
let r = n ? t : xL(t), i = Math.sin(e / 2);
|
|
77118
77346
|
return [
|
|
77119
77347
|
Math.cos(e / 2),
|
|
77120
77348
|
i * (r[0] ?? 0),
|
|
@@ -77122,19 +77350,19 @@ function fL(e, t, n = !1) {
|
|
|
77122
77350
|
i * (r[2] ?? 0)
|
|
77123
77351
|
];
|
|
77124
77352
|
}
|
|
77125
|
-
function
|
|
77126
|
-
let t =
|
|
77353
|
+
function wL(e) {
|
|
77354
|
+
let t = xL(e.slice(1), [
|
|
77127
77355
|
1,
|
|
77128
77356
|
0,
|
|
77129
77357
|
0
|
|
77130
77358
|
]), n = 2 * Math.acos(e[0]);
|
|
77131
|
-
return n >
|
|
77359
|
+
return n > gL / 2 && (n = gL - n, t = [
|
|
77132
77360
|
-t[0],
|
|
77133
77361
|
-t[1],
|
|
77134
77362
|
-t[2]
|
|
77135
77363
|
]), [n, t];
|
|
77136
77364
|
}
|
|
77137
|
-
function
|
|
77365
|
+
function TL(e) {
|
|
77138
77366
|
return [
|
|
77139
77367
|
e[0],
|
|
77140
77368
|
-e[1],
|
|
@@ -77142,7 +77370,7 @@ function mL(e) {
|
|
|
77142
77370
|
-e[3]
|
|
77143
77371
|
];
|
|
77144
77372
|
}
|
|
77145
|
-
function
|
|
77373
|
+
function EL(e, t, n = !1) {
|
|
77146
77374
|
let [r, i, a] = Rn(t), o = Math.cos(e), s = Math.sin(e), c = 1 - o, l = [
|
|
77147
77375
|
[
|
|
77148
77376
|
o + r * r * c,
|
|
@@ -77172,7 +77400,7 @@ function hL(e, t, n = !1) {
|
|
|
77172
77400
|
]
|
|
77173
77401
|
] : l;
|
|
77174
77402
|
}
|
|
77175
|
-
function
|
|
77403
|
+
function DL(e) {
|
|
77176
77404
|
let t = Math.cos(e), n = Math.sin(e);
|
|
77177
77405
|
return [
|
|
77178
77406
|
[
|
|
@@ -77192,23 +77420,23 @@ function gL(e) {
|
|
|
77192
77420
|
]
|
|
77193
77421
|
];
|
|
77194
77422
|
}
|
|
77195
|
-
function
|
|
77196
|
-
return (t[0] ?? 0) === 0 && (t[1] ?? 0) === 0 ?
|
|
77423
|
+
function OL(e, t) {
|
|
77424
|
+
return (t[0] ?? 0) === 0 && (t[1] ?? 0) === 0 ? _L(DL(e * Math.sign(t[2] ?? 0))) : _L(EL(e, t));
|
|
77197
77425
|
}
|
|
77198
|
-
function
|
|
77426
|
+
function kL(e, t, n = vn) {
|
|
77199
77427
|
if (e.length > 3) throw Error("Vector must have the correct dimensions.");
|
|
77200
77428
|
let r = e.length === 2 ? [
|
|
77201
77429
|
e[0],
|
|
77202
77430
|
e[1],
|
|
77203
77431
|
0
|
|
77204
|
-
] : e, i =
|
|
77432
|
+
] : e, i = vL(EL(t, n), r);
|
|
77205
77433
|
return [
|
|
77206
77434
|
i[0],
|
|
77207
77435
|
i[1],
|
|
77208
77436
|
i[2]
|
|
77209
77437
|
];
|
|
77210
77438
|
}
|
|
77211
|
-
function
|
|
77439
|
+
function AL(e) {
|
|
77212
77440
|
let t = Rn(e), n = Rn(In(t, _n)), r = In(n, t);
|
|
77213
77441
|
if (Ln(n) === 0) {
|
|
77214
77442
|
r = Rn(In(mn, t));
|
|
@@ -77219,27 +77447,27 @@ function yL(e) {
|
|
|
77219
77447
|
-e[2]
|
|
77220
77448
|
];
|
|
77221
77449
|
}
|
|
77222
|
-
return
|
|
77450
|
+
return _L([
|
|
77223
77451
|
r,
|
|
77224
77452
|
n,
|
|
77225
77453
|
t
|
|
77226
77454
|
]);
|
|
77227
77455
|
}
|
|
77228
|
-
function
|
|
77456
|
+
function jL(e) {
|
|
77229
77457
|
return Math.atan2(e[1] ?? 0, e[0] ?? 0);
|
|
77230
77458
|
}
|
|
77231
|
-
function
|
|
77232
|
-
let n =
|
|
77233
|
-
return 2 * Math.atan2(Math.sqrt(
|
|
77459
|
+
function ML(e, t) {
|
|
77460
|
+
let n = xL(e), r = xL(t), i = n.map((e, t) => e - r[t]), a = n.map((e, t) => e + r[t]);
|
|
77461
|
+
return 2 * Math.atan2(Math.sqrt(yL(i)), Math.sqrt(yL(a)));
|
|
77234
77462
|
}
|
|
77235
|
-
function
|
|
77463
|
+
function NL(e, t, n = 1e-6) {
|
|
77236
77464
|
let r = Math.max(...e.map(Math.abs)), i = Math.max(...t.map(Math.abs)), a;
|
|
77237
77465
|
if (r === 0) {
|
|
77238
77466
|
if (i === 0) return hn;
|
|
77239
77467
|
a = t.map((e) => e / i);
|
|
77240
77468
|
} else if (i === 0) a = e.map((e) => e / r);
|
|
77241
77469
|
else {
|
|
77242
|
-
let o = e.map((e) => e / r), s = In(o, t.map((e) => e / i)), c = Math.sqrt(
|
|
77470
|
+
let o = e.map((e) => e / r), s = In(o, t.map((e) => e / i)), c = Math.sqrt(yL(s));
|
|
77243
77471
|
if (c > n) return [
|
|
77244
77472
|
s[0] / c,
|
|
77245
77473
|
s[1] / c,
|
|
@@ -77252,43 +77480,43 @@ function SL(e, t, n = 1e-6) {
|
|
|
77252
77480
|
-a[0] * a[2],
|
|
77253
77481
|
-a[1] * a[2],
|
|
77254
77482
|
a[0] * a[0] + a[1] * a[1]
|
|
77255
|
-
], s = Math.sqrt(
|
|
77483
|
+
], s = Math.sqrt(yL(o));
|
|
77256
77484
|
return [
|
|
77257
77485
|
o[0] / s,
|
|
77258
77486
|
o[1] / s,
|
|
77259
77487
|
o[2] / s
|
|
77260
77488
|
];
|
|
77261
77489
|
}
|
|
77262
|
-
function
|
|
77263
|
-
let n =
|
|
77264
|
-
for (let i = 0; i < e; i++) r.push(
|
|
77490
|
+
function PL(e = 4, t = _n) {
|
|
77491
|
+
let n = gL / e, r = [];
|
|
77492
|
+
for (let i = 0; i < e; i++) r.push(kL(t, i * n));
|
|
77265
77493
|
return r;
|
|
77266
77494
|
}
|
|
77267
|
-
function
|
|
77268
|
-
let n = t.radius ?? 1, r = t.startAngle ?? (e % 2 == 0 ? 0 :
|
|
77269
|
-
return [
|
|
77495
|
+
function FL(e, t = {}) {
|
|
77496
|
+
let n = t.radius ?? 1, r = t.startAngle ?? (e % 2 == 0 ? 0 : gL / 4);
|
|
77497
|
+
return [PL(e, kL([
|
|
77270
77498
|
n,
|
|
77271
77499
|
0,
|
|
77272
77500
|
0
|
|
77273
77501
|
], r)), r];
|
|
77274
77502
|
}
|
|
77275
|
-
function
|
|
77503
|
+
function IL(e) {
|
|
77276
77504
|
return [
|
|
77277
77505
|
e.re,
|
|
77278
77506
|
e.im,
|
|
77279
77507
|
0
|
|
77280
77508
|
];
|
|
77281
77509
|
}
|
|
77282
|
-
function
|
|
77510
|
+
function LL(e) {
|
|
77283
77511
|
return {
|
|
77284
77512
|
re: e[0] ?? 0,
|
|
77285
77513
|
im: e[1] ?? 0
|
|
77286
77514
|
};
|
|
77287
77515
|
}
|
|
77288
|
-
function
|
|
77289
|
-
return (t) =>
|
|
77516
|
+
function RL(e) {
|
|
77517
|
+
return (t) => IL(e(LL(t)));
|
|
77290
77518
|
}
|
|
77291
|
-
function
|
|
77519
|
+
function zL(e) {
|
|
77292
77520
|
let t = [
|
|
77293
77521
|
0,
|
|
77294
77522
|
0,
|
|
@@ -77302,10 +77530,10 @@ function OL(e) {
|
|
|
77302
77530
|
t[2] / n
|
|
77303
77531
|
];
|
|
77304
77532
|
}
|
|
77305
|
-
function
|
|
77306
|
-
return
|
|
77533
|
+
function BL(e, t) {
|
|
77534
|
+
return zL([e, t]);
|
|
77307
77535
|
}
|
|
77308
|
-
function
|
|
77536
|
+
function VL(e, t) {
|
|
77309
77537
|
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.");
|
|
77310
77538
|
let n = (e) => In([
|
|
77311
77539
|
e[0][0],
|
|
@@ -77323,7 +77551,7 @@ function AL(e, t) {
|
|
|
77323
77551
|
0
|
|
77324
77552
|
];
|
|
77325
77553
|
}
|
|
77326
|
-
function
|
|
77554
|
+
function HL(e, t, n, r, i = 1e-5) {
|
|
77327
77555
|
let a = [];
|
|
77328
77556
|
for (let o = 0; o < e.length; o++) {
|
|
77329
77557
|
let s = e[o], c = t[o], l = n[o], u = r[o], d = In(u, In(c, u)), f = c[0] * d[0] + c[1] * d[1] + c[2] * d[2], p = Math.max(f, i), m = [
|
|
@@ -77339,15 +77567,15 @@ function jL(e, t, n, r, i = 1e-5) {
|
|
|
77339
77567
|
}
|
|
77340
77568
|
return a;
|
|
77341
77569
|
}
|
|
77342
|
-
function
|
|
77570
|
+
function UL(e) {
|
|
77343
77571
|
let t = 0;
|
|
77344
77572
|
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;
|
|
77345
77573
|
return t;
|
|
77346
77574
|
}
|
|
77347
|
-
function
|
|
77348
|
-
return
|
|
77575
|
+
function WL(e) {
|
|
77576
|
+
return UL(e) > 0 ? "CW" : "CCW";
|
|
77349
77577
|
}
|
|
77350
|
-
function
|
|
77578
|
+
function GL(e) {
|
|
77351
77579
|
let t = Ln(e);
|
|
77352
77580
|
if (t === 0) return [
|
|
77353
77581
|
0,
|
|
@@ -77361,7 +77589,7 @@ function PL(e) {
|
|
|
77361
77589
|
n
|
|
77362
77590
|
];
|
|
77363
77591
|
}
|
|
77364
|
-
function
|
|
77592
|
+
function KL(e) {
|
|
77365
77593
|
let [t, n, r] = e;
|
|
77366
77594
|
return [
|
|
77367
77595
|
t * Math.cos(n) * Math.sin(r),
|
|
@@ -77369,12 +77597,12 @@ function FL(e) {
|
|
|
77369
77597
|
t * Math.cos(r)
|
|
77370
77598
|
];
|
|
77371
77599
|
}
|
|
77372
|
-
function
|
|
77600
|
+
function qL(e, t = vn) {
|
|
77373
77601
|
let n = e[0], r = e[1], i = In([
|
|
77374
77602
|
n[0] - r[0],
|
|
77375
77603
|
n[1] - r[1],
|
|
77376
77604
|
n[2] - r[2]
|
|
77377
|
-
], t), a =
|
|
77605
|
+
], t), a = BL(n, r);
|
|
77378
77606
|
return [[
|
|
77379
77607
|
a[0] + i[0],
|
|
77380
77608
|
a[1] + i[1],
|
|
@@ -77385,7 +77613,7 @@ function IL(e, t = vn) {
|
|
|
77385
77613
|
a[2] - i[2]
|
|
77386
77614
|
]];
|
|
77387
77615
|
}
|
|
77388
|
-
function
|
|
77616
|
+
function JL(e, t = 2) {
|
|
77389
77617
|
let n = [];
|
|
77390
77618
|
for (let r = 0; r < e; r++) {
|
|
77391
77619
|
let i = [];
|
|
@@ -77394,41 +77622,41 @@ function LL(e, t = 2) {
|
|
|
77394
77622
|
}
|
|
77395
77623
|
return n;
|
|
77396
77624
|
}
|
|
77397
|
-
function
|
|
77625
|
+
function YL(e) {
|
|
77398
77626
|
let t = 0;
|
|
77399
|
-
for (let [n, r] of
|
|
77400
|
-
let e = ((
|
|
77627
|
+
for (let [n, r] of WI(e)) {
|
|
77628
|
+
let e = ((jL(r) - jL(n) + Math.PI) % gL + gL) % gL - Math.PI;
|
|
77401
77629
|
t += e;
|
|
77402
77630
|
}
|
|
77403
|
-
return t /
|
|
77631
|
+
return t / gL;
|
|
77404
77632
|
}
|
|
77405
77633
|
//#endregion
|
|
77406
77634
|
//#region src/utils/paths.ts
|
|
77407
|
-
var
|
|
77408
|
-
function
|
|
77635
|
+
var XL = .01;
|
|
77636
|
+
function ZL(e, t, n) {
|
|
77409
77637
|
return e.map((e, r) => e.map((e, i) => e + n * (t[r][i] - e)));
|
|
77410
77638
|
}
|
|
77411
|
-
function
|
|
77639
|
+
function QL(e, t) {
|
|
77412
77640
|
return t.map((t) => t.reduce((t, n, r) => t + n * e[r], 0));
|
|
77413
77641
|
}
|
|
77414
|
-
function
|
|
77415
|
-
return
|
|
77642
|
+
function $L() {
|
|
77643
|
+
return ZL;
|
|
77416
77644
|
}
|
|
77417
|
-
function
|
|
77418
|
-
let r =
|
|
77645
|
+
function eR(e, t, n = vn) {
|
|
77646
|
+
let r = xL(n, vn), i = (e) => t[e] ?? t[0];
|
|
77419
77647
|
return (t, n, a) => {
|
|
77420
|
-
let o =
|
|
77648
|
+
let o = EL(-e, r), s = EL(a * e, r);
|
|
77421
77649
|
return t.map((e, t) => {
|
|
77422
|
-
let r = i(t), c =
|
|
77423
|
-
return
|
|
77650
|
+
let r = i(t), c = QL(n[t].map((e, t) => e - r[t]), o).map((e, t) => e + r[t]);
|
|
77651
|
+
return QL(e.map((e, t) => e + a * (c[t] - e)).map((e, t) => e - r[t]), s).map((e, t) => e + r[t]);
|
|
77424
77652
|
});
|
|
77425
77653
|
};
|
|
77426
77654
|
}
|
|
77427
|
-
function
|
|
77428
|
-
if (Math.abs(e) <
|
|
77429
|
-
let n =
|
|
77655
|
+
function tR(e, t = vn) {
|
|
77656
|
+
if (Math.abs(e) < XL) return $L();
|
|
77657
|
+
let n = xL(t, vn);
|
|
77430
77658
|
return (t, r, i) => {
|
|
77431
|
-
let a =
|
|
77659
|
+
let a = EL(i * e, n);
|
|
77432
77660
|
return t.map((t, i) => {
|
|
77433
77661
|
let o = r[i].map((e, n) => e - t[n]), s = t.map((e, t) => e + .5 * o[t]);
|
|
77434
77662
|
if (e !== Math.PI) {
|
|
@@ -77439,19 +77667,19 @@ function WL(e, t = vn) {
|
|
|
77439
77667
|
], i = 1 / Math.tan(e / 2);
|
|
77440
77668
|
for (let e = 0; e < s.length; e++) s[e] += r[e] * i;
|
|
77441
77669
|
}
|
|
77442
|
-
return
|
|
77670
|
+
return QL(t.map((e, t) => e - s[t]), a).map((e, t) => e + s[t]);
|
|
77443
77671
|
});
|
|
77444
77672
|
};
|
|
77445
77673
|
}
|
|
77446
|
-
function
|
|
77447
|
-
return
|
|
77674
|
+
function nR() {
|
|
77675
|
+
return tR(-Math.PI);
|
|
77448
77676
|
}
|
|
77449
|
-
function
|
|
77450
|
-
return
|
|
77677
|
+
function rR() {
|
|
77678
|
+
return tR(Math.PI);
|
|
77451
77679
|
}
|
|
77452
77680
|
//#endregion
|
|
77453
77681
|
//#region src/utils/simpleFunctions.ts
|
|
77454
|
-
function
|
|
77682
|
+
function iR(e, t, n, r, i = 1e-4) {
|
|
77455
77683
|
let a = n, o = r, s = (a + o) / 2;
|
|
77456
77684
|
for (; Math.abs(o - a) > i;) {
|
|
77457
77685
|
s = (a + o) / 2;
|
|
@@ -77464,7 +77692,7 @@ function qL(e, t, n, r, i = 1e-4) {
|
|
|
77464
77692
|
}
|
|
77465
77693
|
return s;
|
|
77466
77694
|
}
|
|
77467
|
-
function
|
|
77695
|
+
function aR(e, t) {
|
|
77468
77696
|
if (t < 0 || t > e) return 0;
|
|
77469
77697
|
let n = t;
|
|
77470
77698
|
n > e - n && (n = e - n);
|
|
@@ -77472,30 +77700,30 @@ function JL(e, t) {
|
|
|
77472
77700
|
for (let t = 0; t < n; t++) r = r * (e - t) / (t + 1);
|
|
77473
77701
|
return Math.round(r);
|
|
77474
77702
|
}
|
|
77475
|
-
function
|
|
77703
|
+
function oR(e, t, n) {
|
|
77476
77704
|
return e < t ? t : e > n ? n : e;
|
|
77477
77705
|
}
|
|
77478
|
-
function
|
|
77706
|
+
function sR(e) {
|
|
77479
77707
|
return 1 / (1 + Math.exp(-e));
|
|
77480
77708
|
}
|
|
77481
77709
|
//#endregion
|
|
77482
77710
|
//#region src/utils/bezier.ts
|
|
77483
|
-
function
|
|
77711
|
+
function cR(e, t, n) {
|
|
77484
77712
|
if (Array.isArray(e) && Array.isArray(t)) return e.map((e, r) => (1 - n) * e + n * t[r]);
|
|
77485
77713
|
if (typeof e == "number" && typeof t == "number") return (1 - n) * e + n * t;
|
|
77486
77714
|
throw Error("interpolate: start and end must both be numbers or both be arrays");
|
|
77487
77715
|
}
|
|
77488
|
-
function
|
|
77716
|
+
function lR(e, t) {
|
|
77489
77717
|
if (Array.isArray(e) && Array.isArray(t)) return e.map((e, n) => (e + t[n]) / 2);
|
|
77490
77718
|
if (typeof e == "number" && typeof t == "number") return (e + t) / 2;
|
|
77491
77719
|
throw Error("mid: start and end must both be numbers or both be arrays");
|
|
77492
77720
|
}
|
|
77493
|
-
function
|
|
77721
|
+
function uR(e, t, n) {
|
|
77494
77722
|
if (Array.isArray(e) && Array.isArray(t) && Array.isArray(n)) return e.map((e, r) => (n[r] - e) / (t[r] - e));
|
|
77495
77723
|
if (typeof e == "number" && typeof t == "number" && typeof n == "number") return (n - e) / (t - e);
|
|
77496
77724
|
throw Error("inverse_interpolate: start, end and value must all be numbers or all be arrays");
|
|
77497
77725
|
}
|
|
77498
|
-
function
|
|
77726
|
+
function dR(e, t, n, r, i) {
|
|
77499
77727
|
let a = r - n;
|
|
77500
77728
|
if (Array.isArray(i)) return i.map((r) => {
|
|
77501
77729
|
let i = (r - n) / a;
|
|
@@ -77504,7 +77732,7 @@ function eR(e, t, n, r, i) {
|
|
|
77504
77732
|
let o = (i - n) / a;
|
|
77505
77733
|
return (1 - o) * e + o * t;
|
|
77506
77734
|
}
|
|
77507
|
-
function
|
|
77735
|
+
function fR(e, t) {
|
|
77508
77736
|
if (e.length === 0) return 0;
|
|
77509
77737
|
let n = e.slice();
|
|
77510
77738
|
for (; n.length > 1;) {
|
|
@@ -77514,7 +77742,7 @@ function tR(e, t) {
|
|
|
77514
77742
|
}
|
|
77515
77743
|
return n[0];
|
|
77516
77744
|
}
|
|
77517
|
-
function
|
|
77745
|
+
function pR(e, t) {
|
|
77518
77746
|
if (e.length === 0) return [];
|
|
77519
77747
|
let n = e.map((e) => e.slice());
|
|
77520
77748
|
for (; n.length > 1;) {
|
|
@@ -77524,15 +77752,15 @@ function nR(e, t) {
|
|
|
77524
77752
|
}
|
|
77525
77753
|
return n[0];
|
|
77526
77754
|
}
|
|
77527
|
-
function
|
|
77755
|
+
function mR(e) {
|
|
77528
77756
|
if (e.length > 0 && Array.isArray(e[0])) {
|
|
77529
77757
|
let t = e.filter((e) => Array.isArray(e));
|
|
77530
|
-
return (e) =>
|
|
77758
|
+
return (e) => pR(t, e);
|
|
77531
77759
|
}
|
|
77532
77760
|
let t = e.filter((e) => typeof e == "number");
|
|
77533
|
-
return (e) =>
|
|
77761
|
+
return (e) => fR(t, e);
|
|
77534
77762
|
}
|
|
77535
|
-
function
|
|
77763
|
+
function hR(e, t) {
|
|
77536
77764
|
let n = e.length, r = e.map((e) => e.slice()), i = Array(n);
|
|
77537
77765
|
i[0] = e[0].slice();
|
|
77538
77766
|
for (let e = 1; e < n; e++) {
|
|
@@ -77541,7 +77769,7 @@ function iR(e, t) {
|
|
|
77541
77769
|
}
|
|
77542
77770
|
return [...i, ...r];
|
|
77543
77771
|
}
|
|
77544
|
-
function
|
|
77772
|
+
function gR(e, t) {
|
|
77545
77773
|
if (t <= 1) return e.map((e) => e.slice());
|
|
77546
77774
|
let n = [];
|
|
77547
77775
|
for (let r = 0; r < t; r++) {
|
|
@@ -77550,7 +77778,7 @@ function aR(e, t) {
|
|
|
77550
77778
|
}
|
|
77551
77779
|
return n;
|
|
77552
77780
|
}
|
|
77553
|
-
function
|
|
77781
|
+
function _R(e, t) {
|
|
77554
77782
|
let n = e.length;
|
|
77555
77783
|
if (n === 0) return [];
|
|
77556
77784
|
let r = e[0].length, i = [];
|
|
@@ -77561,12 +77789,12 @@ function oR(e, t) {
|
|
|
77561
77789
|
for (let t = 0; t < n; t++) {
|
|
77562
77790
|
let n = a[t];
|
|
77563
77791
|
if (n <= 0) continue;
|
|
77564
|
-
let i =
|
|
77792
|
+
let i = gR(e[t], n);
|
|
77565
77793
|
for (let e = 0; e < n; e++) o.push(i.slice(e * r, e * r + r));
|
|
77566
77794
|
}
|
|
77567
77795
|
return o;
|
|
77568
77796
|
}
|
|
77569
|
-
function
|
|
77797
|
+
function vR(e) {
|
|
77570
77798
|
let t = e[0], n = e[e.length - 1];
|
|
77571
77799
|
for (let e = 0; e < 3; e++) {
|
|
77572
77800
|
let r = t[e] ?? 0, i = n[e] ?? 0, a = 1e-8 + 1e-5 * Math.abs(r);
|
|
@@ -77574,43 +77802,43 @@ function sR(e) {
|
|
|
77574
77802
|
}
|
|
77575
77803
|
return !0;
|
|
77576
77804
|
}
|
|
77577
|
-
function
|
|
77805
|
+
function yR(e, t) {
|
|
77578
77806
|
return {
|
|
77579
77807
|
re: e.re + t.re,
|
|
77580
77808
|
im: e.im + t.im
|
|
77581
77809
|
};
|
|
77582
77810
|
}
|
|
77583
|
-
function
|
|
77811
|
+
function bR(e, t) {
|
|
77584
77812
|
return {
|
|
77585
77813
|
re: e.re - t.re,
|
|
77586
77814
|
im: e.im - t.im
|
|
77587
77815
|
};
|
|
77588
77816
|
}
|
|
77589
|
-
function
|
|
77817
|
+
function xR(e, t) {
|
|
77590
77818
|
return {
|
|
77591
77819
|
re: e.re * t.re - e.im * t.im,
|
|
77592
77820
|
im: e.re * t.im + e.im * t.re
|
|
77593
77821
|
};
|
|
77594
77822
|
}
|
|
77595
|
-
function
|
|
77823
|
+
function SR(e, t) {
|
|
77596
77824
|
let n = t.re * t.re + t.im * t.im;
|
|
77597
77825
|
return {
|
|
77598
77826
|
re: (e.re * t.re + e.im * t.im) / n,
|
|
77599
77827
|
im: (e.im * t.re - e.re * t.im) / n
|
|
77600
77828
|
};
|
|
77601
77829
|
}
|
|
77602
|
-
function
|
|
77830
|
+
function CR(e, t) {
|
|
77603
77831
|
let n = {
|
|
77604
77832
|
re: e[e.length - 1],
|
|
77605
77833
|
im: 0
|
|
77606
77834
|
};
|
|
77607
|
-
for (let r = e.length - 2; r >= 0; r--) n =
|
|
77835
|
+
for (let r = e.length - 2; r >= 0; r--) n = yR(xR(n, t), {
|
|
77608
77836
|
re: e[r],
|
|
77609
77837
|
im: 0
|
|
77610
77838
|
});
|
|
77611
77839
|
return n;
|
|
77612
77840
|
}
|
|
77613
|
-
function
|
|
77841
|
+
function wR(e) {
|
|
77614
77842
|
let t = e.slice();
|
|
77615
77843
|
for (; t.length > 1 && Math.abs(t[t.length - 1]) < 1e-14;) t.pop();
|
|
77616
77844
|
let n = t.length - 1;
|
|
@@ -77625,17 +77853,17 @@ function pR(e) {
|
|
|
77625
77853
|
for (let e = 0; e < n; e++) a.push({
|
|
77626
77854
|
re: s.re,
|
|
77627
77855
|
im: s.im
|
|
77628
|
-
}), s =
|
|
77856
|
+
}), s = xR(s, o);
|
|
77629
77857
|
for (let e = 0; e < 200; e++) {
|
|
77630
77858
|
let e = 0;
|
|
77631
77859
|
for (let t = 0; t < n; t++) {
|
|
77632
|
-
let r =
|
|
77860
|
+
let r = CR(i, a[t]), o = {
|
|
77633
77861
|
re: 1,
|
|
77634
77862
|
im: 0
|
|
77635
77863
|
};
|
|
77636
|
-
for (let e = 0; e < n; e++) e !== t && (o =
|
|
77637
|
-
let s =
|
|
77638
|
-
a[t] =
|
|
77864
|
+
for (let e = 0; e < n; e++) e !== t && (o = xR(o, bR(a[t], a[e])));
|
|
77865
|
+
let s = SR(r, o);
|
|
77866
|
+
a[t] = bR(a[t], s);
|
|
77639
77867
|
let c = Math.hypot(s.re, s.im);
|
|
77640
77868
|
c > e && (e = c);
|
|
77641
77869
|
}
|
|
@@ -77643,98 +77871,98 @@ function pR(e) {
|
|
|
77643
77871
|
}
|
|
77644
77872
|
return a;
|
|
77645
77873
|
}
|
|
77646
|
-
function
|
|
77874
|
+
function TR(e, t) {
|
|
77647
77875
|
if (t < 0 || t > e) return 0;
|
|
77648
77876
|
let n = 1;
|
|
77649
77877
|
for (let r = 0; r < t; r++) n = n * (e - r) / (r + 1);
|
|
77650
77878
|
return Math.round(n);
|
|
77651
77879
|
}
|
|
77652
|
-
function
|
|
77880
|
+
function ER(e, t) {
|
|
77653
77881
|
let n = 10 ** t;
|
|
77654
77882
|
return Math.round(e * n) / n;
|
|
77655
77883
|
}
|
|
77656
|
-
function
|
|
77884
|
+
function DR(e, t, n) {
|
|
77657
77885
|
let r = .5 * 10 ** -n, i = [];
|
|
77658
77886
|
for (let n of e) t.some((e) => Math.abs(n - e) <= r) && !i.some((e) => Math.abs(n - e) <= r) && i.push(n);
|
|
77659
77887
|
return i;
|
|
77660
77888
|
}
|
|
77661
|
-
function
|
|
77889
|
+
function OR(e, t, n = 1e-6) {
|
|
77662
77890
|
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");
|
|
77663
77891
|
let r = t.length - 1, i = Math.round(Math.log10(1 / n)), a = [];
|
|
77664
77892
|
for (let n = 0; n < e.length; n++) {
|
|
77665
77893
|
let o = e[n], s = t.map((e) => e[n]), c = [];
|
|
77666
77894
|
for (let e = r; e >= 0; e--) {
|
|
77667
|
-
let t =
|
|
77895
|
+
let t = TR(r, e), n = 1, i = 0;
|
|
77668
77896
|
for (let t = e; t >= 0; t--) {
|
|
77669
|
-
let r =
|
|
77897
|
+
let r = TR(e, t) * n * s[t];
|
|
77670
77898
|
e === 0 && (r -= o), i += r, n *= -1;
|
|
77671
77899
|
}
|
|
77672
77900
|
c.push(t * i);
|
|
77673
77901
|
}
|
|
77674
77902
|
if (c.every((e) => e === 0)) continue;
|
|
77675
|
-
let l =
|
|
77903
|
+
let l = wR(c.slice().reverse()).filter((e) => Math.abs(e.im) < 1e-9).map((e) => ER(e.re, i));
|
|
77676
77904
|
a.push(l);
|
|
77677
77905
|
}
|
|
77678
77906
|
if (a.length === 0) return [];
|
|
77679
77907
|
let o = a[0];
|
|
77680
|
-
for (let e = 1; e < a.length; e++) o =
|
|
77908
|
+
for (let e = 1; e < a.length; e++) o = DR(o, a[e], i);
|
|
77681
77909
|
return o.filter((e) => e >= 0 && e <= 1);
|
|
77682
77910
|
}
|
|
77683
|
-
function
|
|
77684
|
-
return
|
|
77911
|
+
function kR(e, t, n = 1e-6) {
|
|
77912
|
+
return OR(e, t, n).length > 0;
|
|
77685
77913
|
}
|
|
77686
77914
|
//#endregion
|
|
77687
77915
|
//#region src/mobjects/three-d/threeDVmobUtils.ts
|
|
77688
|
-
function
|
|
77916
|
+
function AR(e) {
|
|
77689
77917
|
return [
|
|
77690
77918
|
e[0],
|
|
77691
77919
|
e[1],
|
|
77692
77920
|
e[2]
|
|
77693
77921
|
];
|
|
77694
77922
|
}
|
|
77695
|
-
function
|
|
77923
|
+
function jR(e) {
|
|
77696
77924
|
return e.filter((e, t) => t % 3 == 0);
|
|
77697
77925
|
}
|
|
77698
|
-
function
|
|
77699
|
-
return [
|
|
77926
|
+
function MR(e) {
|
|
77927
|
+
return [FR(e), IR(e)];
|
|
77700
77928
|
}
|
|
77701
|
-
function
|
|
77929
|
+
function NR(e) {
|
|
77702
77930
|
return 0;
|
|
77703
77931
|
}
|
|
77704
|
-
function
|
|
77932
|
+
function PR(e) {
|
|
77705
77933
|
return Math.floor((e.getPoints().length - 1) / 6) * 3;
|
|
77706
77934
|
}
|
|
77707
|
-
function
|
|
77935
|
+
function FR(e) {
|
|
77708
77936
|
let t = e.getPoints();
|
|
77709
|
-
return t.length === 0 ? [...bn] :
|
|
77937
|
+
return t.length === 0 ? [...bn] : AR(t[NR(e)]);
|
|
77710
77938
|
}
|
|
77711
|
-
function
|
|
77939
|
+
function IR(e) {
|
|
77712
77940
|
let t = e.getPoints();
|
|
77713
|
-
return t.length === 0 ? [...bn] :
|
|
77941
|
+
return t.length === 0 ? [...bn] : AR(t[PR(e)]);
|
|
77714
77942
|
}
|
|
77715
|
-
function
|
|
77943
|
+
function LR(e, t) {
|
|
77716
77944
|
let n = e.getPoints(), r = n.length;
|
|
77717
|
-
if (
|
|
77718
|
-
let i = t, a = i > 2 ? i - 3 : r - 4, o =
|
|
77945
|
+
if (jR(n).length <= 2) return [...mn];
|
|
77946
|
+
let i = t, a = i > 2 ? i - 3 : r - 4, o = NL(n[i < r - 3 ? i + 3 : 3].map((e, t) => e - n[i][t]), n[a].map((e, t) => e - n[i][t]));
|
|
77719
77947
|
return Math.hypot(...o) === 0 ? [...mn] : o;
|
|
77720
77948
|
}
|
|
77721
|
-
function
|
|
77722
|
-
return
|
|
77949
|
+
function RR(e) {
|
|
77950
|
+
return LR(e, NR(e));
|
|
77723
77951
|
}
|
|
77724
|
-
function
|
|
77725
|
-
return
|
|
77952
|
+
function zR(e) {
|
|
77953
|
+
return LR(e, PR(e));
|
|
77726
77954
|
}
|
|
77727
77955
|
//#endregion
|
|
77728
77956
|
//#region src/core/SpecialThreeDScene.ts
|
|
77729
|
-
var
|
|
77957
|
+
var BR = 70 * _t, VR = -110 * _t, HR = 2, UR = 48, WR = class extends c_ {
|
|
77730
77958
|
cutAxesAtRadius;
|
|
77731
77959
|
_threeDAxesConfig;
|
|
77732
77960
|
_sphereConfig;
|
|
77733
77961
|
_defaultAngledCameraPosition;
|
|
77734
77962
|
constructor(e, t = {}) {
|
|
77735
77963
|
let { cutAxesAtRadius: n = !0, threeDAxesConfig: r = {}, sphereConfig: i = {}, defaultAngledCameraPosition: a = {
|
|
77736
|
-
phi:
|
|
77737
|
-
theta:
|
|
77964
|
+
phi: BR,
|
|
77965
|
+
theta: VR
|
|
77738
77966
|
}, phi: o = a.phi, theta: s = a.theta, ...c } = t;
|
|
77739
77967
|
super(e, {
|
|
77740
77968
|
...c,
|
|
@@ -77764,8 +77992,8 @@ var kR = 70 * _t, AR = -110 * _t, jR = 2, MR = 48, NR = class extends c_ {
|
|
|
77764
77992
|
}
|
|
77765
77993
|
getDefaultSphereConfig() {
|
|
77766
77994
|
return {
|
|
77767
|
-
radius:
|
|
77768
|
-
resolution:
|
|
77995
|
+
radius: HR,
|
|
77996
|
+
resolution: UR
|
|
77769
77997
|
};
|
|
77770
77998
|
}
|
|
77771
77999
|
getAxes() {
|
|
@@ -77791,73 +78019,73 @@ var kR = 70 * _t, AR = -110 * _t, jR = 2, MR = 48, NR = class extends c_ {
|
|
|
77791
78019
|
};
|
|
77792
78020
|
//#endregion
|
|
77793
78021
|
//#region src/mobjects/text/registerFont.ts
|
|
77794
|
-
function
|
|
78022
|
+
function GR(e, t) {
|
|
77795
78023
|
if (typeof document > "u" || typeof FontFace > "u" || document.fonts === void 0) return !1;
|
|
77796
78024
|
let n = typeof t == "string" && !/^\s*(url|local)\s*\(/i.test(t) ? `url("${t}")` : t, r = new FontFace(e, n);
|
|
77797
78025
|
return document.fonts.add(r), !0;
|
|
77798
78026
|
}
|
|
77799
78027
|
//#endregion
|
|
77800
78028
|
//#region src/serialization/registry.ts
|
|
77801
|
-
var
|
|
77802
|
-
function
|
|
77803
|
-
|
|
78029
|
+
var KR = /* @__PURE__ */ new Map();
|
|
78030
|
+
function qR(e, t) {
|
|
78031
|
+
KR.set(e, t);
|
|
77804
78032
|
}
|
|
77805
|
-
function
|
|
77806
|
-
|
|
78033
|
+
function JR(e) {
|
|
78034
|
+
KR.delete(e);
|
|
77807
78035
|
}
|
|
77808
|
-
function
|
|
77809
|
-
return
|
|
78036
|
+
function YR(e) {
|
|
78037
|
+
return KR.get(e);
|
|
77810
78038
|
}
|
|
77811
|
-
function
|
|
77812
|
-
return [...
|
|
78039
|
+
function XR() {
|
|
78040
|
+
return [...KR.keys()].sort();
|
|
77813
78041
|
}
|
|
77814
78042
|
//#endregion
|
|
77815
78043
|
//#region src/serialization/props.ts
|
|
77816
|
-
function
|
|
78044
|
+
function ZR(e, t) {
|
|
77817
78045
|
return typeof e == "number" && Number.isFinite(e) ? e : t;
|
|
77818
78046
|
}
|
|
77819
|
-
function
|
|
78047
|
+
function QR(e, t) {
|
|
77820
78048
|
return typeof e == "string" ? e : t;
|
|
77821
78049
|
}
|
|
77822
|
-
function
|
|
78050
|
+
function $R(e, t) {
|
|
77823
78051
|
return typeof e == "boolean" ? e : t;
|
|
77824
78052
|
}
|
|
77825
|
-
function
|
|
78053
|
+
function ez(e) {
|
|
77826
78054
|
return typeof e == "string" ? e : void 0;
|
|
77827
78055
|
}
|
|
77828
|
-
function
|
|
78056
|
+
function tz(e) {
|
|
77829
78057
|
return Array.isArray(e) && e.length === 3 && e.every((e) => typeof e == "number" && Number.isFinite(e));
|
|
77830
78058
|
}
|
|
77831
|
-
function
|
|
77832
|
-
return
|
|
78059
|
+
function nz(e, t) {
|
|
78060
|
+
return tz(e) ? [
|
|
77833
78061
|
e[0],
|
|
77834
78062
|
e[1],
|
|
77835
78063
|
e[2]
|
|
77836
78064
|
] : t;
|
|
77837
78065
|
}
|
|
77838
|
-
function
|
|
78066
|
+
function rz(e) {
|
|
77839
78067
|
if (!Array.isArray(e)) return [];
|
|
77840
78068
|
let t = [];
|
|
77841
|
-
for (let n of e)
|
|
78069
|
+
for (let n of e) tz(n) && t.push([
|
|
77842
78070
|
n[0],
|
|
77843
78071
|
n[1],
|
|
77844
78072
|
n[2]
|
|
77845
78073
|
]);
|
|
77846
78074
|
return t;
|
|
77847
78075
|
}
|
|
77848
|
-
function
|
|
78076
|
+
function iz(e) {
|
|
77849
78077
|
return typeof e == "object" && !!e && !Array.isArray(e);
|
|
77850
78078
|
}
|
|
77851
78079
|
//#endregion
|
|
77852
78080
|
//#region src/serialization/defaults.ts
|
|
77853
|
-
function
|
|
77854
|
-
return typeof e == "number" && Number.isFinite(e) ? e :
|
|
78081
|
+
function az(e) {
|
|
78082
|
+
return typeof e == "number" && Number.isFinite(e) ? e : QR(e, "normal");
|
|
77855
78083
|
}
|
|
77856
|
-
function
|
|
78084
|
+
function oz(e) {
|
|
77857
78085
|
return e === "left" || e === "right" ? e : "center";
|
|
77858
78086
|
}
|
|
77859
|
-
function
|
|
77860
|
-
|
|
78087
|
+
function sz() {
|
|
78088
|
+
qR("Circle", {
|
|
77861
78089
|
serialize: (e) => {
|
|
77862
78090
|
let t = e;
|
|
77863
78091
|
return {
|
|
@@ -77866,10 +78094,10 @@ function XR() {
|
|
|
77866
78094
|
};
|
|
77867
78095
|
},
|
|
77868
78096
|
deserialize: (e) => new Wv({
|
|
77869
|
-
radius:
|
|
77870
|
-
numPoints:
|
|
78097
|
+
radius: ZR(e.radius, 1),
|
|
78098
|
+
numPoints: ZR(e.numPoints, 64)
|
|
77871
78099
|
})
|
|
77872
|
-
}),
|
|
78100
|
+
}), qR("Rectangle", {
|
|
77873
78101
|
serialize: (e) => {
|
|
77874
78102
|
let t = e;
|
|
77875
78103
|
return {
|
|
@@ -77878,13 +78106,13 @@ function XR() {
|
|
|
77878
78106
|
};
|
|
77879
78107
|
},
|
|
77880
78108
|
deserialize: (e) => new l_({
|
|
77881
|
-
width:
|
|
77882
|
-
height:
|
|
78109
|
+
width: ZR(e.width, 2),
|
|
78110
|
+
height: ZR(e.height, 1)
|
|
77883
78111
|
})
|
|
77884
|
-
}),
|
|
78112
|
+
}), qR("Square", {
|
|
77885
78113
|
serialize: (e) => ({ sideLength: e._width }),
|
|
77886
|
-
deserialize: (e) => new u_({ sideLength:
|
|
77887
|
-
}),
|
|
78114
|
+
deserialize: (e) => new u_({ sideLength: ZR(e.sideLength, 2) })
|
|
78115
|
+
}), qR("Line", {
|
|
77888
78116
|
serialize: (e) => {
|
|
77889
78117
|
let t = e;
|
|
77890
78118
|
return {
|
|
@@ -77893,27 +78121,27 @@ function XR() {
|
|
|
77893
78121
|
};
|
|
77894
78122
|
},
|
|
77895
78123
|
deserialize: (e) => new x_({
|
|
77896
|
-
start:
|
|
78124
|
+
start: nz(e.start, [
|
|
77897
78125
|
0,
|
|
77898
78126
|
0,
|
|
77899
78127
|
0
|
|
77900
78128
|
]),
|
|
77901
|
-
end:
|
|
78129
|
+
end: nz(e.end, [
|
|
77902
78130
|
1,
|
|
77903
78131
|
0,
|
|
77904
78132
|
0
|
|
77905
78133
|
])
|
|
77906
78134
|
})
|
|
77907
|
-
}),
|
|
78135
|
+
}), qR("Dot", {
|
|
77908
78136
|
serialize: (e) => ({ radius: e._radius }),
|
|
77909
|
-
deserialize: (e) => new my({ radius:
|
|
77910
|
-
}),
|
|
78137
|
+
deserialize: (e) => new my({ radius: ZR(e.radius, .08) })
|
|
78138
|
+
}), qR("Polygon", {
|
|
77911
78139
|
serialize: (e) => ({
|
|
77912
78140
|
vertices: e.getVertices().map((e) => [...e]),
|
|
77913
78141
|
closed: e._closed
|
|
77914
78142
|
}),
|
|
77915
78143
|
deserialize: (e) => {
|
|
77916
|
-
let t =
|
|
78144
|
+
let t = rz(e.vertices);
|
|
77917
78145
|
return new Gv({
|
|
77918
78146
|
vertices: t.length >= 2 ? t : [[
|
|
77919
78147
|
0,
|
|
@@ -77924,16 +78152,16 @@ function XR() {
|
|
|
77924
78152
|
0,
|
|
77925
78153
|
0
|
|
77926
78154
|
]],
|
|
77927
|
-
closed:
|
|
78155
|
+
closed: $R(e.closed, !0)
|
|
77928
78156
|
});
|
|
77929
78157
|
}
|
|
77930
|
-
}),
|
|
78158
|
+
}), qR("Group", {
|
|
77931
78159
|
serialize: () => ({}),
|
|
77932
78160
|
deserialize: () => new Qh()
|
|
77933
|
-
}),
|
|
78161
|
+
}), qR("VGroup", {
|
|
77934
78162
|
serialize: () => ({}),
|
|
77935
78163
|
deserialize: () => new L()
|
|
77936
|
-
}),
|
|
78164
|
+
}), qR("Text", {
|
|
77937
78165
|
serialize: (e) => {
|
|
77938
78166
|
let t = e;
|
|
77939
78167
|
return {
|
|
@@ -77948,16 +78176,16 @@ function XR() {
|
|
|
77948
78176
|
};
|
|
77949
78177
|
},
|
|
77950
78178
|
deserialize: (e) => new sh({
|
|
77951
|
-
text:
|
|
77952
|
-
fontSize:
|
|
77953
|
-
fontFamily:
|
|
77954
|
-
fontWeight:
|
|
77955
|
-
fontStyle:
|
|
77956
|
-
lineHeight:
|
|
77957
|
-
letterSpacing:
|
|
77958
|
-
textAlign:
|
|
78179
|
+
text: QR(e.text, ""),
|
|
78180
|
+
fontSize: ZR(e.fontSize, 48),
|
|
78181
|
+
fontFamily: QR(e.fontFamily, "CMU Serif, Georgia, Times New Roman, serif"),
|
|
78182
|
+
fontWeight: az(e.fontWeight),
|
|
78183
|
+
fontStyle: QR(e.fontStyle, "normal"),
|
|
78184
|
+
lineHeight: ZR(e.lineHeight, 1.2),
|
|
78185
|
+
letterSpacing: ZR(e.letterSpacing, 0),
|
|
78186
|
+
textAlign: oz(e.textAlign)
|
|
77959
78187
|
})
|
|
77960
|
-
}),
|
|
78188
|
+
}), qR("MathTex", {
|
|
77961
78189
|
serialize: (e) => {
|
|
77962
78190
|
let t = e;
|
|
77963
78191
|
return {
|
|
@@ -77967,15 +78195,15 @@ function XR() {
|
|
|
77967
78195
|
};
|
|
77968
78196
|
},
|
|
77969
78197
|
deserialize: (e) => new wS({
|
|
77970
|
-
latex:
|
|
77971
|
-
fontSize:
|
|
77972
|
-
displayMode:
|
|
78198
|
+
latex: QR(e.latex, ""),
|
|
78199
|
+
fontSize: ZR(e.fontSize, 1),
|
|
78200
|
+
displayMode: $R(e.displayMode, !0)
|
|
77973
78201
|
})
|
|
77974
78202
|
});
|
|
77975
78203
|
}
|
|
77976
78204
|
//#endregion
|
|
77977
78205
|
//#region src/serialization/types.ts
|
|
77978
|
-
var
|
|
78206
|
+
var cz = "manim-web-scene", lz = {
|
|
77979
78207
|
position: [
|
|
77980
78208
|
0,
|
|
77981
78209
|
0,
|
|
@@ -77992,7 +78220,7 @@ var ZR = "manim-web-scene", QR = {
|
|
|
77992
78220
|
1
|
|
77993
78221
|
]
|
|
77994
78222
|
};
|
|
77995
|
-
function
|
|
78223
|
+
function uz(e) {
|
|
77996
78224
|
return {
|
|
77997
78225
|
position: [
|
|
77998
78226
|
e.position.x,
|
|
@@ -78011,98 +78239,98 @@ function $R(e) {
|
|
|
78011
78239
|
]
|
|
78012
78240
|
};
|
|
78013
78241
|
}
|
|
78014
|
-
function
|
|
78242
|
+
function dz(e) {
|
|
78015
78243
|
let t = {};
|
|
78016
78244
|
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;
|
|
78017
78245
|
}
|
|
78018
|
-
function
|
|
78019
|
-
let n =
|
|
78246
|
+
function fz(e, t) {
|
|
78247
|
+
let n = iz(t) ? t : {}, r = nz(n.position, lz.position), i = nz(n.rotation, lz.rotation), a = nz(n.scale, lz.scale);
|
|
78020
78248
|
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]);
|
|
78021
78249
|
}
|
|
78022
|
-
function
|
|
78023
|
-
let n =
|
|
78250
|
+
function pz(e, t) {
|
|
78251
|
+
let n = iz(t) ? t : {};
|
|
78024
78252
|
typeof n.strokeWidth == "number" && e.setStrokeWidth(n.strokeWidth), typeof n.strokeOpacity == "number" && e.setStrokeOpacity(n.strokeOpacity), typeof n.fillOpacity == "number" && e.setFillOpacity(n.fillOpacity);
|
|
78025
|
-
let r =
|
|
78253
|
+
let r = ez(n.strokeColor), i = ez(n.fillColor);
|
|
78026
78254
|
r !== void 0 && (e.color = r), r !== void 0 && (e.strokeColor = r), i !== void 0 && (e.fillColor = i);
|
|
78027
78255
|
}
|
|
78028
|
-
function
|
|
78029
|
-
let t = e.constructor.name, n =
|
|
78256
|
+
function mz(e) {
|
|
78257
|
+
let t = e.constructor.name, n = YR(t), r = {
|
|
78030
78258
|
type: t,
|
|
78031
78259
|
props: n ? n.serialize(e) : {},
|
|
78032
|
-
transform:
|
|
78033
|
-
style:
|
|
78034
|
-
children: e.children.map(
|
|
78260
|
+
transform: uz(e),
|
|
78261
|
+
style: dz(e),
|
|
78262
|
+
children: e.children.map(mz)
|
|
78035
78263
|
};
|
|
78036
78264
|
return n || (r.unknown = !0), r;
|
|
78037
78265
|
}
|
|
78038
|
-
function
|
|
78039
|
-
if (!
|
|
78040
|
-
let t =
|
|
78266
|
+
function hz(e) {
|
|
78267
|
+
if (!iz(e) || e.unknown === !0) return null;
|
|
78268
|
+
let t = ez(e.type);
|
|
78041
78269
|
if (t === void 0) return null;
|
|
78042
|
-
let n =
|
|
78270
|
+
let n = YR(t);
|
|
78043
78271
|
if (!n) return null;
|
|
78044
|
-
let r =
|
|
78045
|
-
if (
|
|
78046
|
-
let e =
|
|
78272
|
+
let r = iz(e.props) ? e.props : {}, i = n.deserialize(r);
|
|
78273
|
+
if (fz(i, e.transform), pz(i, e.style), Array.isArray(e.children)) for (let t of e.children) {
|
|
78274
|
+
let e = hz(t);
|
|
78047
78275
|
e && i.add(e);
|
|
78048
78276
|
}
|
|
78049
78277
|
return i;
|
|
78050
78278
|
}
|
|
78051
|
-
function
|
|
78279
|
+
function gz(e) {
|
|
78052
78280
|
let t = [];
|
|
78053
|
-
for (let n of e.mobjects) t.push(
|
|
78281
|
+
for (let n of e.mobjects) t.push(mz(n));
|
|
78054
78282
|
return {
|
|
78055
|
-
format:
|
|
78283
|
+
format: cz,
|
|
78056
78284
|
version: 1,
|
|
78057
78285
|
mobjects: t
|
|
78058
78286
|
};
|
|
78059
78287
|
}
|
|
78060
|
-
function
|
|
78061
|
-
if (!
|
|
78288
|
+
function _z(e, t) {
|
|
78289
|
+
if (!iz(e) || !Array.isArray(e.mobjects)) return [];
|
|
78062
78290
|
let n = [];
|
|
78063
78291
|
for (let r of e.mobjects) {
|
|
78064
|
-
let e =
|
|
78292
|
+
let e = hz(r);
|
|
78065
78293
|
e && (t.add(e), n.push(e));
|
|
78066
78294
|
}
|
|
78067
78295
|
return n;
|
|
78068
78296
|
}
|
|
78069
78297
|
//#endregion
|
|
78070
78298
|
//#region src/serialization/urlState.ts
|
|
78071
|
-
var
|
|
78299
|
+
var vz = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", yz = (() => {
|
|
78072
78300
|
let e = /* @__PURE__ */ new Map();
|
|
78073
|
-
for (let t = 0; t < 64; t++) e.set(
|
|
78301
|
+
for (let t = 0; t < 64; t++) e.set(vz.charAt(t), t);
|
|
78074
78302
|
return e;
|
|
78075
78303
|
})();
|
|
78076
|
-
function
|
|
78304
|
+
function bz(e) {
|
|
78077
78305
|
let t = "";
|
|
78078
78306
|
for (let n = 0; n < e.length; n += 3) {
|
|
78079
78307
|
let r = e[n], i = n + 1 < e.length, a = n + 2 < e.length, o = i ? e[n + 1] : 0, s = a ? e[n + 2] : 0, c = r << 16 | o << 8 | s;
|
|
78080
|
-
t +=
|
|
78308
|
+
t += vz.charAt(c >> 18 & 63), t += vz.charAt(c >> 12 & 63), i && (t += vz.charAt(c >> 6 & 63)), a && (t += vz.charAt(c & 63));
|
|
78081
78309
|
}
|
|
78082
78310
|
return t;
|
|
78083
78311
|
}
|
|
78084
|
-
function
|
|
78312
|
+
function xz(e) {
|
|
78085
78313
|
let t = e.length;
|
|
78086
78314
|
if (t % 4 == 1) return null;
|
|
78087
78315
|
let n = [];
|
|
78088
78316
|
for (let r = 0; r < t; r += 4) {
|
|
78089
|
-
let i = Math.min(4, t - r), a =
|
|
78317
|
+
let i = Math.min(4, t - r), a = yz.get(e.charAt(r)), o = yz.get(e.charAt(r + 1));
|
|
78090
78318
|
if (a === void 0 || o === void 0) return null;
|
|
78091
|
-
let s = i > 2 ?
|
|
78319
|
+
let s = i > 2 ? yz.get(e.charAt(r + 2)) : 0, c = i > 3 ? yz.get(e.charAt(r + 3)) : 0;
|
|
78092
78320
|
if (s === void 0 || c === void 0) return null;
|
|
78093
78321
|
let l = a << 18 | o << 12 | s << 6 | c;
|
|
78094
78322
|
n.push(l >> 16 & 255), i > 2 && n.push(l >> 8 & 255), i > 3 && n.push(l & 255);
|
|
78095
78323
|
}
|
|
78096
78324
|
return Uint8Array.from(n);
|
|
78097
78325
|
}
|
|
78098
|
-
function
|
|
78326
|
+
function Sz(e) {
|
|
78099
78327
|
let t = JSON.stringify(e), n = typeof t == "string" ? t : "null";
|
|
78100
|
-
return
|
|
78328
|
+
return bz(new TextEncoder().encode(n));
|
|
78101
78329
|
}
|
|
78102
|
-
function
|
|
78330
|
+
function Cz(e) {
|
|
78103
78331
|
let t = e.startsWith("#") ? e.slice(1) : e;
|
|
78104
78332
|
if (t.length === 0) return null;
|
|
78105
|
-
let n =
|
|
78333
|
+
let n = xz(t);
|
|
78106
78334
|
if (n === null) return null;
|
|
78107
78335
|
try {
|
|
78108
78336
|
let e = new TextDecoder().decode(n);
|
|
@@ -78111,18 +78339,18 @@ function fz(e) {
|
|
|
78111
78339
|
return null;
|
|
78112
78340
|
}
|
|
78113
78341
|
}
|
|
78114
|
-
function
|
|
78342
|
+
function wz() {
|
|
78115
78343
|
return typeof window < "u" && window.location ? window.location : null;
|
|
78116
78344
|
}
|
|
78117
|
-
function
|
|
78345
|
+
function Tz() {
|
|
78118
78346
|
return typeof window < "u" && window.history ? window.history : null;
|
|
78119
78347
|
}
|
|
78120
|
-
function
|
|
78121
|
-
let n =
|
|
78348
|
+
function Ez(e, t = {}) {
|
|
78349
|
+
let n = wz();
|
|
78122
78350
|
if (!n) return;
|
|
78123
|
-
let r =
|
|
78351
|
+
let r = Sz(e), i = `#${r}`;
|
|
78124
78352
|
if (t.replace) {
|
|
78125
|
-
let e =
|
|
78353
|
+
let e = Tz();
|
|
78126
78354
|
if (e && typeof e.replaceState == "function") {
|
|
78127
78355
|
e.replaceState(e.state ?? null, "", i);
|
|
78128
78356
|
return;
|
|
@@ -78130,29 +78358,29 @@ function hz(e, t = {}) {
|
|
|
78130
78358
|
}
|
|
78131
78359
|
n.hash = r;
|
|
78132
78360
|
}
|
|
78133
|
-
function
|
|
78134
|
-
let e =
|
|
78135
|
-
return e ?
|
|
78361
|
+
function Dz() {
|
|
78362
|
+
let e = wz();
|
|
78363
|
+
return e ? Cz(e.hash) : null;
|
|
78136
78364
|
}
|
|
78137
|
-
function
|
|
78365
|
+
function Oz(e) {
|
|
78138
78366
|
if (typeof window > "u" || typeof window.addEventListener != "function") return () => void 0;
|
|
78139
|
-
let t = () => e(
|
|
78367
|
+
let t = () => e(Dz());
|
|
78140
78368
|
return window.addEventListener("hashchange", t), () => window.removeEventListener("hashchange", t);
|
|
78141
78369
|
}
|
|
78142
|
-
function
|
|
78370
|
+
function kz(e) {
|
|
78143
78371
|
let t = {};
|
|
78144
78372
|
for (let n of e) t[n.id] = n.get();
|
|
78145
78373
|
return t;
|
|
78146
78374
|
}
|
|
78147
|
-
function
|
|
78375
|
+
function Az(e, t) {
|
|
78148
78376
|
if (typeof t != "object" || !t || Array.isArray(t)) return !1;
|
|
78149
78377
|
let n = t, r = !1;
|
|
78150
78378
|
for (let t of e) Object.prototype.hasOwnProperty.call(n, t.id) && (t.set(n[t.id]), r = !0);
|
|
78151
78379
|
return r;
|
|
78152
78380
|
}
|
|
78153
|
-
function
|
|
78154
|
-
let { replace: n = !0, restoreOnBind: r = !0, listen: i = !0 } = t, a = () =>
|
|
78155
|
-
return r && s(), i && (c =
|
|
78381
|
+
function jz(e, t = {}) {
|
|
78382
|
+
let { replace: n = !0, restoreOnBind: r = !0, listen: i = !0 } = t, a = () => kz(e), o = () => Ez(a(), { replace: n }), s = () => Az(e, Dz()), c = null;
|
|
78383
|
+
return r && s(), i && (c = Oz((t) => Az(e, t))), {
|
|
78156
78384
|
capture: a,
|
|
78157
78385
|
save: o,
|
|
78158
78386
|
restore: s,
|
|
@@ -78163,13 +78391,13 @@ function bz(e, t = {}) {
|
|
|
78163
78391
|
}
|
|
78164
78392
|
//#endregion
|
|
78165
78393
|
//#region src/serialization/parametrized.ts
|
|
78166
|
-
function
|
|
78394
|
+
function Mz(e) {
|
|
78167
78395
|
return Array.isArray(e) && e.length === 3 && e.every((e) => typeof e == "number" && Number.isFinite(e));
|
|
78168
78396
|
}
|
|
78169
|
-
function
|
|
78170
|
-
return typeof e == "number" ? "number" : typeof e == "string" ? "string" : typeof e == "boolean" ? "boolean" :
|
|
78397
|
+
function Nz(e) {
|
|
78398
|
+
return typeof e == "number" ? "number" : typeof e == "string" ? "string" : typeof e == "boolean" ? "boolean" : Mz(e) ? "vec3" : Array.isArray(e) ? "array" : iz(e) ? "object" : null;
|
|
78171
78399
|
}
|
|
78172
|
-
function
|
|
78400
|
+
function Pz(e, t, n) {
|
|
78173
78401
|
switch (t) {
|
|
78174
78402
|
case "number":
|
|
78175
78403
|
if (typeof e == "number" && Number.isFinite(e)) return e;
|
|
@@ -78180,46 +78408,46 @@ function Cz(e, t, n) {
|
|
|
78180
78408
|
return typeof e == "boolean" ? +!!e : n;
|
|
78181
78409
|
case "string": return typeof e == "string" ? e : typeof e == "number" && Number.isFinite(e) || typeof e == "boolean" ? String(e) : n;
|
|
78182
78410
|
case "boolean": return typeof e == "boolean" ? e : e === "true" ? !0 : e === "false" ? !1 : typeof e == "number" && Number.isFinite(e) ? e !== 0 : n;
|
|
78183
|
-
case "vec3": return
|
|
78411
|
+
case "vec3": return nz(e, Mz(n) ? n : [
|
|
78184
78412
|
0,
|
|
78185
78413
|
0,
|
|
78186
78414
|
0
|
|
78187
78415
|
]);
|
|
78188
78416
|
case "array": return Array.isArray(e) ? e : n;
|
|
78189
|
-
case "object": return
|
|
78417
|
+
case "object": return iz(e) ? e : n;
|
|
78190
78418
|
}
|
|
78191
78419
|
}
|
|
78192
|
-
function
|
|
78193
|
-
let r = e.defaultProps[t], i = e.schema?.[t] ??
|
|
78194
|
-
return i === null ? n === void 0 ? r : n :
|
|
78420
|
+
function Fz(e, t, n) {
|
|
78421
|
+
let r = e.defaultProps[t], i = e.schema?.[t] ?? Nz(r);
|
|
78422
|
+
return i === null ? n === void 0 ? r : n : Pz(n, i, r);
|
|
78195
78423
|
}
|
|
78196
|
-
function
|
|
78424
|
+
function Iz(e, t, n) {
|
|
78197
78425
|
let r = { ...t };
|
|
78198
|
-
if (n) for (let t of Object.keys(n)) Object.prototype.hasOwnProperty.call(e.defaultProps, t) && (r[t] =
|
|
78426
|
+
if (n) for (let t of Object.keys(n)) Object.prototype.hasOwnProperty.call(e.defaultProps, t) && (r[t] = Fz(e, t, n[t]));
|
|
78199
78427
|
return r;
|
|
78200
78428
|
}
|
|
78201
|
-
function
|
|
78429
|
+
function Lz(e) {
|
|
78202
78430
|
return e;
|
|
78203
78431
|
}
|
|
78204
|
-
function
|
|
78205
|
-
return
|
|
78432
|
+
function Rz(e, t) {
|
|
78433
|
+
return Iz(e, { ...e.defaultProps }, t);
|
|
78206
78434
|
}
|
|
78207
|
-
function
|
|
78208
|
-
let t =
|
|
78209
|
-
return
|
|
78435
|
+
function zz(e) {
|
|
78436
|
+
let t = Dz();
|
|
78437
|
+
return Rz(e, iz(t) ? t : void 0);
|
|
78210
78438
|
}
|
|
78211
|
-
var
|
|
78439
|
+
var Bz = async (e, t) => {
|
|
78212
78440
|
if (typeof fetch != "function") throw Error("renderParametrized: no global fetch available. Pass options.fetch to inject one.");
|
|
78213
78441
|
let n = await fetch(e, t);
|
|
78214
78442
|
if (!n.ok) throw Error(`renderParametrized: fetch failed for ${e} (status ${n.status})`);
|
|
78215
78443
|
return n.json();
|
|
78216
78444
|
};
|
|
78217
|
-
function
|
|
78445
|
+
function Vz(e, t) {
|
|
78218
78446
|
let n = t.width ?? e.renderer.width, r = t.height ?? e.renderer.height;
|
|
78219
78447
|
(n !== e.renderer.width || r !== e.renderer.height) && e.resize(n, r), typeof t.fps == "number" && Number.isFinite(t.fps) && e.setTargetFps(t.fps);
|
|
78220
78448
|
}
|
|
78221
|
-
async function
|
|
78222
|
-
let r = n.fetch ??
|
|
78449
|
+
async function Hz(e, t, n = {}) {
|
|
78450
|
+
let r = n.fetch ?? Bz, i = Rz(e, t), a, o = {};
|
|
78223
78451
|
if (e.calculateMetadata) {
|
|
78224
78452
|
let t = await e.calculateMetadata({
|
|
78225
78453
|
props: i,
|
|
@@ -78230,7 +78458,7 @@ async function jz(e, t, n = {}) {
|
|
|
78230
78458
|
width: t.width,
|
|
78231
78459
|
height: t.height,
|
|
78232
78460
|
fps: t.fps
|
|
78233
|
-
}, t.props && (i =
|
|
78461
|
+
}, t.props && (i = Iz(e, i, t.props));
|
|
78234
78462
|
}
|
|
78235
78463
|
let s = n.scene;
|
|
78236
78464
|
s ||= jg.createHeadless({
|
|
@@ -78238,9 +78466,9 @@ async function jz(e, t, n = {}) {
|
|
|
78238
78466
|
...o.width === void 0 ? {} : { width: o.width },
|
|
78239
78467
|
...o.height === void 0 ? {} : { height: o.height },
|
|
78240
78468
|
...o.fps === void 0 ? {} : { targetFps: o.fps }
|
|
78241
|
-
}),
|
|
78242
|
-
let c =
|
|
78243
|
-
return n.writeUrl &&
|
|
78469
|
+
}), Vz(s, o);
|
|
78470
|
+
let c = Sz(i);
|
|
78471
|
+
return n.writeUrl && Ez(i, { replace: n.urlReplace ?? !0 }), await e.build(s, i, a), {
|
|
78244
78472
|
scene: s,
|
|
78245
78473
|
props: i,
|
|
78246
78474
|
data: a,
|
|
@@ -78255,10 +78483,10 @@ async function jz(e, t, n = {}) {
|
|
|
78255
78483
|
}
|
|
78256
78484
|
//#endregion
|
|
78257
78485
|
//#region src/serialization/index.ts
|
|
78258
|
-
|
|
78486
|
+
sz();
|
|
78259
78487
|
//#endregion
|
|
78260
78488
|
//#region src/mobjects/geo/geojson.ts
|
|
78261
|
-
function
|
|
78489
|
+
function Uz(e) {
|
|
78262
78490
|
if (e.type === "Polygon") {
|
|
78263
78491
|
let t = e.coordinates[0];
|
|
78264
78492
|
return t ? [t] : [];
|
|
@@ -78272,26 +78500,26 @@ function Mz(e) {
|
|
|
78272
78500
|
}
|
|
78273
78501
|
//#endregion
|
|
78274
78502
|
//#region src/mobjects/geo/projections.ts
|
|
78275
|
-
var
|
|
78276
|
-
function
|
|
78277
|
-
let { radius: t = 1, centerLon: n = 0, centerLat: r = 0, standardParallel: i = 0 } = e, a = Math.cos(i *
|
|
78278
|
-
return ([e, i]) => [(e - n) *
|
|
78503
|
+
var Wz = Math.PI / 180;
|
|
78504
|
+
function Gz(e = {}) {
|
|
78505
|
+
let { radius: t = 1, centerLon: n = 0, centerLat: r = 0, standardParallel: i = 0 } = e, a = Math.cos(i * Wz);
|
|
78506
|
+
return ([e, i]) => [(e - n) * Wz * t * a, (i - r) * Wz * t];
|
|
78279
78507
|
}
|
|
78280
|
-
function
|
|
78508
|
+
function Kz(e = {}) {
|
|
78281
78509
|
let { radius: t = 1, centerLon: n = 0, maxLatitude: r = 85.05112878 } = e;
|
|
78282
78510
|
return ([e, i]) => {
|
|
78283
|
-
let a = Math.max(-r, Math.min(r, i)) *
|
|
78284
|
-
return [(e - n) *
|
|
78511
|
+
let a = Math.max(-r, Math.min(r, i)) * Wz;
|
|
78512
|
+
return [(e - n) * Wz * t, t * Math.log(Math.tan(Math.PI / 4 + a / 2))];
|
|
78285
78513
|
};
|
|
78286
78514
|
}
|
|
78287
78515
|
//#endregion
|
|
78288
78516
|
//#region src/mobjects/geo/colorScale.ts
|
|
78289
|
-
var
|
|
78517
|
+
var qz = ["#0d1b2a", "#4cc9f0"], Jz = class {
|
|
78290
78518
|
_palette;
|
|
78291
78519
|
_domain;
|
|
78292
78520
|
constructor(e = {}) {
|
|
78293
|
-
let { colors: t =
|
|
78294
|
-
this._palette = Ua(t.length > 0 ? t :
|
|
78521
|
+
let { colors: t = qz, domain: n = [0, 1], samples: r = 256 } = e, i = Math.max(2, Math.floor(r));
|
|
78522
|
+
this._palette = Ua(t.length > 0 ? t : qz, i), this._domain = [n[0], n[1]];
|
|
78295
78523
|
}
|
|
78296
78524
|
setDomainFromValues(e) {
|
|
78297
78525
|
let t = Infinity, n = -Infinity;
|
|
@@ -78307,7 +78535,7 @@ var Iz = ["#0d1b2a", "#4cc9f0"], Lz = class {
|
|
|
78307
78535
|
let a = Math.round(i * (this._palette.length - 1));
|
|
78308
78536
|
return this._palette[a];
|
|
78309
78537
|
}
|
|
78310
|
-
},
|
|
78538
|
+
}, Yz = class extends Qh {
|
|
78311
78539
|
_projection;
|
|
78312
78540
|
_colorScale;
|
|
78313
78541
|
_regions = [];
|
|
@@ -78315,10 +78543,10 @@ var Iz = ["#0d1b2a", "#4cc9f0"], Lz = class {
|
|
|
78315
78543
|
_regionPolygons = [];
|
|
78316
78544
|
constructor(e) {
|
|
78317
78545
|
super();
|
|
78318
|
-
let { geojson: t, value: n, colorScale: r = ["#0d1b2a", "#4cc9f0"], domain: i, fillOpacity: a = 1, noDataColor: o = pe, borderColor: s = "#1b263b", borderWidth: c = 1, projection: l =
|
|
78546
|
+
let { geojson: t, value: n, colorScale: r = ["#0d1b2a", "#4cc9f0"], domain: i, fillOpacity: a = 1, noDataColor: o = pe, borderColor: s = "#1b263b", borderWidth: c = 1, projection: l = Gz() } = e;
|
|
78319
78547
|
this._projection = l;
|
|
78320
78548
|
let u = t.features ?? [], d = u.map((e, t) => n(e, t));
|
|
78321
|
-
this._colorScale = new
|
|
78549
|
+
this._colorScale = new Jz({
|
|
78322
78550
|
colors: r,
|
|
78323
78551
|
domain: i
|
|
78324
78552
|
}), i || this._colorScale.setDomainFromValues(d.filter((e) => typeof e == "number" && Number.isFinite(e))), u.forEach((e, t) => {
|
|
@@ -78331,7 +78559,7 @@ var Iz = ["#0d1b2a", "#4cc9f0"], Lz = class {
|
|
|
78331
78559
|
});
|
|
78332
78560
|
}
|
|
78333
78561
|
_buildRegion(e, t, n) {
|
|
78334
|
-
let r = typeof t == "number" && Number.isFinite(t) ? this._colorScale.colorFor(t) : n.noDataColor, i =
|
|
78562
|
+
let r = typeof t == "number" && Number.isFinite(t) ? this._colorScale.colorFor(t) : n.noDataColor, i = Uz(e.geometry), a = [];
|
|
78335
78563
|
for (let e of i) {
|
|
78336
78564
|
let t = this._buildPolygon(e, r, n);
|
|
78337
78565
|
t && a.push(t);
|
|
@@ -78340,7 +78568,7 @@ var Iz = ["#0d1b2a", "#4cc9f0"], Lz = class {
|
|
|
78340
78568
|
this.add(o), this._regions.push(o), this._regionColors.push(r), this._regionPolygons.push(a);
|
|
78341
78569
|
}
|
|
78342
78570
|
_buildPolygon(e, t, n) {
|
|
78343
|
-
let r =
|
|
78571
|
+
let r = Zz(e);
|
|
78344
78572
|
if (r.length < 3) return null;
|
|
78345
78573
|
let i = new Gv({
|
|
78346
78574
|
vertices: r.map((e) => {
|
|
@@ -78376,15 +78604,15 @@ var Iz = ["#0d1b2a", "#4cc9f0"], Lz = class {
|
|
|
78376
78604
|
getColorScale() {
|
|
78377
78605
|
return this._colorScale;
|
|
78378
78606
|
}
|
|
78379
|
-
},
|
|
78380
|
-
function
|
|
78607
|
+
}, Xz = Yz;
|
|
78608
|
+
function Zz(e) {
|
|
78381
78609
|
if (e.length < 2) return e;
|
|
78382
78610
|
let t = e[0], n = e[e.length - 1];
|
|
78383
78611
|
return t[0] === n[0] && t[1] === n[1] ? e.slice(0, -1) : e;
|
|
78384
78612
|
}
|
|
78385
78613
|
//#endregion
|
|
78386
78614
|
//#region src/mobjects/geo/Globe.ts
|
|
78387
|
-
var
|
|
78615
|
+
var Qz = Math.PI / 180, $z = class extends Qh {
|
|
78388
78616
|
_radius;
|
|
78389
78617
|
_center;
|
|
78390
78618
|
_sphere;
|
|
@@ -78432,9 +78660,9 @@ var Vz = Math.PI / 180, Hz = class extends Qh {
|
|
|
78432
78660
|
return [...this._plottedPoints];
|
|
78433
78661
|
}
|
|
78434
78662
|
arc(e, t, n = {}) {
|
|
78435
|
-
let { segments: r = 64, color: i = "#ef476f", lineWidth: a = 2, altitude: o = 0 } = n, s = this._radius * (1 + o), c =
|
|
78663
|
+
let { segments: r = 64, color: i = "#ef476f", lineWidth: a = 2, altitude: o = 0 } = n, s = this._radius * (1 + o), c = eB(e[0], e[1]), l = eB(t[0], t[1]), u = rB(c[0] * l[0] + c[1] * l[1] + c[2] * l[2], -1, 1), d = Math.acos(u), f = Math.sin(d), p = [];
|
|
78436
78664
|
for (let e = 0; e <= r; e++) {
|
|
78437
|
-
let t =
|
|
78665
|
+
let t = tB(c, l, e / r, d, f);
|
|
78438
78666
|
p.push([
|
|
78439
78667
|
this._center[0] + s * t[0],
|
|
78440
78668
|
this._center[1] + s * t[1],
|
|
@@ -78451,8 +78679,8 @@ var Vz = Math.PI / 180, Hz = class extends Qh {
|
|
|
78451
78679
|
}
|
|
78452
78680
|
graticule(e = {}) {
|
|
78453
78681
|
let { latStep: t = 30, lonStep: n = 30, segments: r = 48, color: i = "#8d99ae", lineWidth: a = 1 } = e, o = new Qh();
|
|
78454
|
-
for (let e = -180; e < 180; e += n) o.add(this._gridLine(
|
|
78455
|
-
for (let e = -90 + t; e < 90; e += t) o.add(this._gridLine(
|
|
78682
|
+
for (let e = -180; e < 180; e += n) o.add(this._gridLine(iB(e, r), i, a));
|
|
78683
|
+
for (let e = -90 + t; e < 90; e += t) o.add(this._gridLine(aB(e, r), i, a));
|
|
78456
78684
|
return this.add(o), o;
|
|
78457
78685
|
}
|
|
78458
78686
|
_gridLine(e, t, n) {
|
|
@@ -78464,7 +78692,7 @@ var Vz = Math.PI / 180, Hz = class extends Qh {
|
|
|
78464
78692
|
});
|
|
78465
78693
|
}
|
|
78466
78694
|
_surfacePoint(e, t, n) {
|
|
78467
|
-
let r =
|
|
78695
|
+
let r = eB(e, t);
|
|
78468
78696
|
return [
|
|
78469
78697
|
this._center[0] + n * r[0],
|
|
78470
78698
|
this._center[1] + n * r[1],
|
|
@@ -78472,16 +78700,16 @@ var Vz = Math.PI / 180, Hz = class extends Qh {
|
|
|
78472
78700
|
];
|
|
78473
78701
|
}
|
|
78474
78702
|
};
|
|
78475
|
-
function
|
|
78476
|
-
let n = e *
|
|
78703
|
+
function eB(e, t) {
|
|
78704
|
+
let n = e * Qz, r = t * Qz, i = Math.cos(n);
|
|
78477
78705
|
return [
|
|
78478
78706
|
i * Math.cos(r),
|
|
78479
78707
|
i * Math.sin(r),
|
|
78480
78708
|
Math.sin(n)
|
|
78481
78709
|
];
|
|
78482
78710
|
}
|
|
78483
|
-
function
|
|
78484
|
-
if (i < 1e-9) return
|
|
78711
|
+
function tB(e, t, n, r, i) {
|
|
78712
|
+
if (i < 1e-9) return nB([
|
|
78485
78713
|
e[0] + (t[0] - e[0]) * n,
|
|
78486
78714
|
e[1] + (t[1] - e[1]) * n,
|
|
78487
78715
|
e[2] + (t[2] - e[2]) * n
|
|
@@ -78493,7 +78721,7 @@ function Wz(e, t, n, r, i) {
|
|
|
78493
78721
|
e[2] * a + t[2] * o
|
|
78494
78722
|
];
|
|
78495
78723
|
}
|
|
78496
|
-
function
|
|
78724
|
+
function nB(e) {
|
|
78497
78725
|
let t = Math.sqrt(e[0] * e[0] + e[1] * e[1] + e[2] * e[2]) || 1;
|
|
78498
78726
|
return [
|
|
78499
78727
|
e[0] / t,
|
|
@@ -78501,44 +78729,44 @@ function Gz(e) {
|
|
|
78501
78729
|
e[2] / t
|
|
78502
78730
|
];
|
|
78503
78731
|
}
|
|
78504
|
-
function
|
|
78732
|
+
function rB(e, t, n) {
|
|
78505
78733
|
return Math.max(t, Math.min(n, e));
|
|
78506
78734
|
}
|
|
78507
|
-
function
|
|
78735
|
+
function iB(e, t) {
|
|
78508
78736
|
let n = [];
|
|
78509
78737
|
for (let r = 0; r <= t; r++) n.push([-90 + 180 * r / t, e]);
|
|
78510
78738
|
return n;
|
|
78511
78739
|
}
|
|
78512
|
-
function
|
|
78740
|
+
function aB(e, t) {
|
|
78513
78741
|
let n = [];
|
|
78514
78742
|
for (let r = 0; r <= t; r++) n.push([e, -180 + 360 * r / t]);
|
|
78515
78743
|
return n;
|
|
78516
78744
|
}
|
|
78517
78745
|
//#endregion
|
|
78518
78746
|
//#region src/mobjects/ml/mlStyles.ts
|
|
78519
|
-
var
|
|
78747
|
+
var oB = {
|
|
78520
78748
|
color: be,
|
|
78521
78749
|
fillColor: be,
|
|
78522
78750
|
fillOpacity: .3,
|
|
78523
78751
|
strokeWidth: 2
|
|
78524
|
-
},
|
|
78752
|
+
}, sB = {
|
|
78525
78753
|
color: pe,
|
|
78526
78754
|
strokeWidth: 1.5,
|
|
78527
78755
|
opacity: .35
|
|
78528
|
-
},
|
|
78529
|
-
function
|
|
78756
|
+
}, cB = E;
|
|
78757
|
+
function lB(e, t) {
|
|
78530
78758
|
return {
|
|
78531
78759
|
...e,
|
|
78532
|
-
...
|
|
78760
|
+
...dB(t)
|
|
78533
78761
|
};
|
|
78534
78762
|
}
|
|
78535
|
-
function
|
|
78763
|
+
function uB(e, t) {
|
|
78536
78764
|
return {
|
|
78537
78765
|
...e,
|
|
78538
|
-
...
|
|
78766
|
+
...dB(t)
|
|
78539
78767
|
};
|
|
78540
78768
|
}
|
|
78541
|
-
function
|
|
78769
|
+
function dB(e) {
|
|
78542
78770
|
if (!e) return {};
|
|
78543
78771
|
let t = {};
|
|
78544
78772
|
for (let n of Object.keys(e)) e[n] !== void 0 && (t[n] = e[n]);
|
|
@@ -78546,7 +78774,7 @@ function eB(e) {
|
|
|
78546
78774
|
}
|
|
78547
78775
|
//#endregion
|
|
78548
78776
|
//#region src/mobjects/ml/NeuralNetworkLayer.ts
|
|
78549
|
-
var
|
|
78777
|
+
var fB = class extends L {
|
|
78550
78778
|
_nodes = [];
|
|
78551
78779
|
normalizeTransform(e = this._ownMatrix()) {
|
|
78552
78780
|
return this._flattenAsContainer(e);
|
|
@@ -78560,14 +78788,14 @@ var tB = class extends L {
|
|
|
78560
78788
|
nodeAnchors() {
|
|
78561
78789
|
return this._nodes.map((e) => e.getCenter());
|
|
78562
78790
|
}
|
|
78563
|
-
},
|
|
78791
|
+
}, pB = class extends fB {
|
|
78564
78792
|
_nodeRadius;
|
|
78565
78793
|
_nodeSpacing;
|
|
78566
78794
|
_nodeStyle;
|
|
78567
78795
|
constructor(e = {}) {
|
|
78568
78796
|
super();
|
|
78569
78797
|
let t = e.numNodes ?? 3, n = Math.max(0, Math.floor(t));
|
|
78570
|
-
this._nodeRadius = e.nodeRadius ?? .25, this._nodeSpacing = e.nodeSpacing ?? .7, this._nodeStyle =
|
|
78798
|
+
this._nodeRadius = e.nodeRadius ?? .25, this._nodeSpacing = e.nodeSpacing ?? .7, this._nodeStyle = lB(oB, e.nodeStyle), this._buildNodes(n);
|
|
78571
78799
|
}
|
|
78572
78800
|
_buildNodes(e) {
|
|
78573
78801
|
if (e === 0) return;
|
|
@@ -78596,7 +78824,7 @@ var tB = class extends L {
|
|
|
78596
78824
|
};
|
|
78597
78825
|
//#endregion
|
|
78598
78826
|
//#region src/mobjects/ml/featureMapStack.ts
|
|
78599
|
-
function
|
|
78827
|
+
function mB(e) {
|
|
78600
78828
|
let { numFeatureMaps: t, mapSize: n, offset: r, style: i } = e, a = Math.max(0, Math.floor(t)), o = a > 0 ? (a - 1) * r : 0, s = n + o, c = [];
|
|
78601
78829
|
for (let e = 0; e < a; e++) {
|
|
78602
78830
|
let t = -o / 2 + e * r, a = o / 2 - e * r, s = new l_({
|
|
@@ -78620,15 +78848,15 @@ function rB(e) {
|
|
|
78620
78848
|
}
|
|
78621
78849
|
//#endregion
|
|
78622
78850
|
//#region src/mobjects/ml/ConvolutionalLayer.ts
|
|
78623
|
-
var
|
|
78851
|
+
var hB = class extends fB {
|
|
78624
78852
|
_width;
|
|
78625
78853
|
constructor(e = {}) {
|
|
78626
78854
|
super();
|
|
78627
|
-
let { nodes: t, width: n } =
|
|
78855
|
+
let { nodes: t, width: n } = mB({
|
|
78628
78856
|
numFeatureMaps: e.numFeatureMaps ?? 3,
|
|
78629
78857
|
mapSize: e.mapSize ?? .5,
|
|
78630
78858
|
offset: e.offset ?? .15,
|
|
78631
|
-
style:
|
|
78859
|
+
style: lB(oB, e.nodeStyle)
|
|
78632
78860
|
});
|
|
78633
78861
|
this._width = n;
|
|
78634
78862
|
for (let e of t) this._nodes.push(e), this.add(e);
|
|
@@ -78636,15 +78864,15 @@ var iB = class extends tB {
|
|
|
78636
78864
|
layerWidth() {
|
|
78637
78865
|
return this._width;
|
|
78638
78866
|
}
|
|
78639
|
-
},
|
|
78867
|
+
}, gB = class extends fB {
|
|
78640
78868
|
_width;
|
|
78641
78869
|
constructor(e = {}) {
|
|
78642
78870
|
super();
|
|
78643
|
-
let { nodes: t, width: n } =
|
|
78871
|
+
let { nodes: t, width: n } = mB({
|
|
78644
78872
|
numFeatureMaps: e.numFeatureMaps ?? 3,
|
|
78645
78873
|
mapSize: e.mapSize ?? .3,
|
|
78646
78874
|
offset: e.offset ?? .12,
|
|
78647
|
-
style:
|
|
78875
|
+
style: lB(oB, e.nodeStyle)
|
|
78648
78876
|
});
|
|
78649
78877
|
this._width = n;
|
|
78650
78878
|
for (let e of t) this._nodes.push(e), this.add(e);
|
|
@@ -78652,7 +78880,7 @@ var iB = class extends tB {
|
|
|
78652
78880
|
layerWidth() {
|
|
78653
78881
|
return this._width;
|
|
78654
78882
|
}
|
|
78655
|
-
},
|
|
78883
|
+
}, _B = class extends fB {
|
|
78656
78884
|
_cols;
|
|
78657
78885
|
_cellSize;
|
|
78658
78886
|
_grid;
|
|
@@ -78660,7 +78888,7 @@ var iB = class extends tB {
|
|
|
78660
78888
|
super();
|
|
78661
78889
|
let t = Math.max(0, Math.floor(e.rows ?? 3));
|
|
78662
78890
|
this._cols = Math.max(0, Math.floor(e.cols ?? 3)), this._cellSize = e.cellSize ?? .25;
|
|
78663
|
-
let n =
|
|
78891
|
+
let n = lB(oB, e.nodeStyle);
|
|
78664
78892
|
this._grid = this._buildGrid(t, this._cols, n), this.add(this._grid), t > 0 && this._cols > 0 && this._nodes.push(this._grid);
|
|
78665
78893
|
}
|
|
78666
78894
|
_buildGrid(e, t, n) {
|
|
@@ -78685,13 +78913,13 @@ var iB = class extends tB {
|
|
|
78685
78913
|
layerWidth() {
|
|
78686
78914
|
return Math.max(this._cols, 1) * this._cellSize;
|
|
78687
78915
|
}
|
|
78688
|
-
},
|
|
78916
|
+
}, vB = class extends L {
|
|
78689
78917
|
_layers;
|
|
78690
78918
|
_connections = [];
|
|
78691
78919
|
_stages = [];
|
|
78692
78920
|
_edgeStyle;
|
|
78693
78921
|
constructor(e = [], t = {}) {
|
|
78694
|
-
super(), this._layers = [...e], this._edgeStyle =
|
|
78922
|
+
super(), this._layers = [...e], this._edgeStyle = uB(sB, t.edgeStyle);
|
|
78695
78923
|
let n = t.layerSpacing ?? 1, r = t.connectAdjacent ?? !0;
|
|
78696
78924
|
this._placeLayers(n), r && this._buildConnections();
|
|
78697
78925
|
for (let e of this._connections) this.add(e);
|
|
@@ -78738,7 +78966,7 @@ var iB = class extends tB {
|
|
|
78738
78966
|
getConnectionStages() {
|
|
78739
78967
|
return this._stages.map((e) => [...e]);
|
|
78740
78968
|
}
|
|
78741
|
-
},
|
|
78969
|
+
}, yB = class extends z {
|
|
78742
78970
|
activation = 0;
|
|
78743
78971
|
_activationColor;
|
|
78744
78972
|
_peakOpacity;
|
|
@@ -78749,7 +78977,7 @@ var iB = class extends tB {
|
|
|
78749
78977
|
super(e, {
|
|
78750
78978
|
duration: t.duration ?? 1,
|
|
78751
78979
|
rateFunc: t.rateFunc ?? (t.restore ? Fo : void 0)
|
|
78752
|
-
}), this._activationColor = t.activationColor ??
|
|
78980
|
+
}), this._activationColor = t.activationColor ?? cB, this._peakOpacity = t.peakOpacity ?? 1, this._restore = t.restore ?? !1;
|
|
78753
78981
|
}
|
|
78754
78982
|
begin() {
|
|
78755
78983
|
super.begin(), this._baseOpacity = this.mobject.opacity, this._baseColor = this.mobject.color, this.activation = 0;
|
|
@@ -78765,12 +78993,12 @@ var iB = class extends tB {
|
|
|
78765
78993
|
this._restore ? (this.mobject.setStrokeOpacity(this._baseOpacity), this.mobject.setColor(this._baseColor), this.activation = 0) : this.activation = 1, this.mobject._markDirty(), super.finish();
|
|
78766
78994
|
}
|
|
78767
78995
|
};
|
|
78768
|
-
function
|
|
78769
|
-
return new
|
|
78996
|
+
function bB(e, t) {
|
|
78997
|
+
return new yB(e, t);
|
|
78770
78998
|
}
|
|
78771
78999
|
//#endregion
|
|
78772
79000
|
//#region src/mobjects/ml/forwardPass.ts
|
|
78773
|
-
function
|
|
79001
|
+
function xB(e, t, n) {
|
|
78774
79002
|
let r = e.getConnectionStages(), i = t ? [...r].reverse() : r, a = {
|
|
78775
79003
|
duration: n.gapDuration ?? 1,
|
|
78776
79004
|
activationColor: n.activationColor,
|
|
@@ -78778,13 +79006,13 @@ function uB(e, t, n) {
|
|
|
78778
79006
|
restore: n.restore,
|
|
78779
79007
|
rateFunc: n.rateFunc
|
|
78780
79008
|
};
|
|
78781
|
-
return i.map((e) => new og(e.map((e) => new
|
|
79009
|
+
return i.map((e) => new og(e.map((e) => new yB(e, a)), { lagRatio: 0 }));
|
|
78782
79010
|
}
|
|
78783
|
-
function
|
|
78784
|
-
return new jM(
|
|
79011
|
+
function SB(e, t = {}) {
|
|
79012
|
+
return new jM(xB(e, !1, t), { lagRatio: t.lagRatio ?? 1 });
|
|
78785
79013
|
}
|
|
78786
|
-
function
|
|
78787
|
-
return new jM(
|
|
79014
|
+
function CB(e, t = {}) {
|
|
79015
|
+
return new jM(xB(e, !0, t), { lagRatio: t.lagRatio ?? 1 });
|
|
78788
79016
|
}
|
|
78789
79017
|
//#endregion
|
|
78790
|
-
export { oR as $, je as $_, rj as $a, cT as $c, zy as $d, Dv as $f, Bt as $g, Tr as $h, CM as $i, SC as $l, R as $m, tF as $n, Ik as $o, og as $p, VN as $r, cD as $s, ZI as $t, fx as $u, dz as A, _e as A_, Ij as Aa, bE as Ac, Ob as Ad, ny as Af, dn as Ag, $o as Ah, eN as Ai, uw as Al, cm as Am, XF as An, SA as Ao, Pg as Ap, aP as Ar, sO as As, AL as At, vS as Au, Se as Av, IR as B, He as B_, xj as Ba, qT as Bc, mb as Bd, qv as Bf, en as Bg, So as Bh, MM as Bi, RC as Bl, z as Bm, NF as Bn, eA as Bo, wg as Bp, YN as Br, DD as Bs, vL as Bt, Ix as Bu, Re as Bv, Mz as C, vt as C_, Kj as Ca, ME as Cc, Bb as Cd, dy as Cf, gn as Cg, Bo as Ch, sN as Ci, ww as Cl, sh as Cm, jI as Cn, kA as Co, h_ as Cp, pP as Cr, fO as Cs, CL as Ct, MS as Cu, N as Cv, Dz as D, be as D_, Bj as Da, kE as Dc, Ab as Dd, iy as Df, xn as Dg, Wo as Dh, iN as Di, yw as Dl, hm as Dm, gI as Dn, EA as Do, u_ as Dp, oP as Dr, pO as Ds, jL as Dt, ES as Du, Ye as Dv, jz as E, de as E_, Wj as Ea, EE as Ec, Vb as Ed, cy as Ef, _n as Eg, Io as Eh, rN as Ei, _w as El, Im as Em, _I as En, AA as Eo, l_ as Ep, lP as Er, mO as Es, lL as Et, AS as Eu, Je as Ev, oz as F, pt as F_, bj as Fa, oE as Fc, gb as Fd, Zv as Ff, tn as Fg, Ko as Fh, GM as Fi, tw as Fl, Kp as Fm, qF as Fn, lA as Fo, Eg as Fp, QN as Fr, FD as Fs, mL as Ft, Jx as Fu, E as Fv, CR as G, ce as G_, lj as Ga, OT as Gc, qy as Gd, zv as Gf, rn as Gg, I as Gh, PM as Gi, DC as Gl, Po as Gm, bF as Gn, Wk as Go, _g as Gp, HN as Gr, _D as Gs, NL as Gt, Px as Gu, PR as H, We as H_, yj as Ha, BT as Hc, Yy as Hd, Wv as Hf, Jt as Hg, Co as Hh, HM as Hi, IC as Hl, Ro as Hm, jF as Hn, qk as Ho, vg as Hp, qN as Hr, bD as Hs, hL as Ht, zx as Hu, rz as I, A as I_, gj as Ia, eE as Ic, pb as Id, Xv as If, Qt as Ig, Jo as Ih, UM as Ii, YC as Il, Wp as Im, JF as In, uA as Io, Tg as Ip, $N as Ir, TD as Is, fL as It, qx as Iu, ze as Iv, wR as J, ue as J_, cj as Ja, mT as Jc, Qy as Jd, Bv as Jf, Ft as Jg, Na as Jh, AM as Ji, CC as Jl, jo as Jm, pF as Jn, Bk as Jo, mg as Jp, BN as Jr, sD as Js, yL as Jt, jx as Ju, OR as K, le as K_, mj as Ka, pT as Kc, $y as Kd, Iv as Kf, nn as Kg, Ua as Kh, WM as Ki, EC as Kl, fs as Km, gF as Kn, Uk as Ko, gg as Kp, UN as Kr, hD as Ks, FL as Kt, Nx as Ku, az as L, Ge as L_, vj as La, $T as Lc, db as Ld, Jv as Lf, Zt as Lg, vo as Lh, FM as Li, qC as Ll, Hp as Lm, BF as Ln, iA as Lo, Cg as Lp, XN as Lr, CD as Ls, dL as Lt, Xx as Lu, Fe as Lv, gz as M, j as M_, Lj as Ma, yE as Mc, Tb as Md, ey as Mf, fn as Mg, Go as Mh, QM as Mi, ow as Ml, im as Mm, WF as Mn, hA as Mo, Mg as Mp, nP as Mr, qD as Ms, cL as Mt, $x as Mu, we as Mv, hz as N, me as N_, Ej as Na, TE as Nc, _b as Nd, $v as Nf, Xt as Ng, zo as Nh, ZM as Ni, aw as Nl, Jp as Nm, GF as Nn, dA as No, jg as Np, tP as Nr, zD as Ns, uL as Nt, Zx as Nu, Te as Nv, bz as O, he as O_, Vj as Oa, SE as Oc, kb as Od, sy as Of, mn as Og, To as Oh, tN as Oi, hw as Ol, sm as Om, fI as On, DA as Oo, c_ as Op, sP as Or, hO as Os, SL as Ot, wS as Ou, Xe as Ov, iz as P, xe as P_, Sj as Pa, CE as Pc, hb as Pd, Qv as Pf, Yt as Pg, Fo as Ph, YM as Pi, iw as Pl, Qp as Pm, UF as Pn, fA as Po, Ag as Pp, rP as Pr, BD as Ps, IL as Pt, Yx as Pu, Ee as Pv, rR as Q, Ae as Q_, tj as Qa, sT as Qc, By as Qd, Mv as Qf, xt as Qg, Cr as Qh, OM as Qi, wC as Ql, ms as Qm, eF as Qn, Hk as Qo, cg as Qp, NN as Qr, oD as Qs, nL as Qt, Sx as Qu, zR as R, Be as R_, wj as Ra, XT as Rc, fb as Rd, Yv as Rf, sn as Rg, yo as Rh, zM as Ri, GC as Rl, Os as Rm, zF as Rn, tA as Ro, kg as Rp, ZN as Rr, wD as Rs, EL as Rt, Wx as Ru, Ie as Rv, Fz as S, Nt as S_, Yj as Sa, jE as Sc, Kb as Sd, fy as Sf, yn as Sg, Yo as Sh, lN as Si, Dw as Sl, Nh as Sm, AI as Sn, NA as So, x_ as Sp, gP as Sr, EO as Ss, OL as St, LS as Su, st as Sv, Oz as T, bt as T_, Uj as Ta, DE as Tc, Yb as Td, ly as Tf, vn as Tg, Lo as Th, aN as Ti, Tw as Tl, Rm as Tm, hI as Tn, jA as To, m_ as Tp, cP as Tr, uO as Ts, TL as Tt, FS as Tu, qe as Tv, NR as U, pe as U_, Tj as Ua, PT as Uc, Xy as Ud, Uv as Uf, on as Ug, co as Uh, qM as Ui, FC as Ul, Do as Um, xF as Un, Kk as Uo, hg as Up, WN as Ur, vD as Us, _L as Ut, Rx as Uu, LR as V, Ue as V_, _j as Va, HT as Vc, Uy as Vd, Kv as Vf, $t as Vg, xo as Vh, BM as Vi, LC as Vl, Vo as Vm, MF as Vn, Xk as Vo, Og as Vp, KN as Vr, xD as Vs, gL as Vt, Bx as Vu, M as Vv, TR as W, D as W_, sj as Wa, NT as Wc, Jy as Wd, Vv as Wf, an as Wg, L as Wh, KM as Wi, AC as Wl, vs as Wm, yF as Wn, Gk as Wo, ug as Wp, GN as Wr, yD as Ws, ML as Wt, Lx as Wu, DR as X, Oe as X_, hj as Xa, lT as Xc, Ry as Xd, Fv as Xf, wt as Xg, Bi as Xh, wM as Xi, TC as Xl, bs as Xm, rF as Xn, Rk as Xo, fg as Xp, RN as Xr, dD as Xs, rL as Xt, wx as Xu, SR as Y, Pe as Y_, uj as Ya, dT as Yc, Zy as Yd, Lv as Yf, qt as Yg, La as Yh, SM as Yi, jC as Yl, Eo as Ym, hF as Yn, zk as Yo, pg as Yp, PN as Yr, lD as Ys, tL as Yt, Tx as Yu, ER as Z, ke as Z_, fj as Za, uT as Zc, Ly as Zd, jv as Zf, Ct as Zg, kr as Zh, EM as Zi, NC as Zl, Ts as Zm, iF as Zn, Vk as Zo, dg as Zp, IN as Zr, pD as Zs, iL as Zt, Cx as Zu, Hz as _, Gt as __, $j as _a, YE as _c, Fb as _d, yy as _f, zn as _g, ls as _h, fN as _i, Rw as _l, Ih as _m, LI as _n, zA as _o, k_ as _p, yP as _r, VO as _s, HL as _t, JS as _u, ct as _v, sB as a, jt as a_, _M as aa, tD as ac, ax as ad, Ay as af, Sr as ag, ko as ah, kN as ai, eT as al, $h as am, HI as an, qA as ao, yv as ap, LP as ar, dk as as, vR as at, gC as au, mt as av, Lz as b, It as b_, Qj as ba, UE as bc, Hb as bd, hy as bf, hn as bg, wo as bh, pN as bi, jw as bl, Lh as bm, TI as bn, FA as bo, E_ as bp, vP as br, FO as bs, bL as bt, HS as bu, at as bv, iB as c, Kt as c_, vM as ca, IE as cc, nx as cd, Dy as cf, In as cg, ts as ch, jN as ci, Qw as cl, Zh as cm, FI as cn, XA as co, ev as cp, BP as cr, YO as cs, aR as ct, pC as cu, P as cv, tB as d, Rt as d_, sM as da, BE as dc, ix as dd, Sy as df, Hn as dg, No as dh, SN as di, Jw as dl, Uh as dm, RI as dn, QA as do, V_ as dp, IP as dr, HO as ds, YL as dt, lC as du, tt as dv, Ht as e_, TM as ea, uD as ec, dx as ed, Py as ef, wr as eg, ds as eh, FN as ei, oT as el, sg as em, QI as en, aj as eo, Ov as ep, YP as er, Pk as es, ZL as et, yC as eu, Me as ev, Zz as f, ht as f_, cM as fa, WE as fc, Wb as fd, Cy as ff, Rn as fg, ps as fh, bN as fi, qw as fl, Vh as fm, KI as fn, WA as fo, P_ as fp, PP as fr, WO as fs, XL as ft, eC as fu, dt as fv, Qz as g, Wt as g_, nM as ga, zE as gc, Lb as gd, vy as gf, Pn as gg, os as gh, _N as gi, Ww as gl, Wh as gm, zI as gn, RA as go, j_ as gp, wP as gr, BO as gs, UL as gt, WS as gu, Ze as gv, $z as h, Pt as h_, iM as ha, LE as hc, Ib as hd, by as hf, Mn as hg, Ao as hh, vN as hi, zw as hl, zh as hm, GI as hn, UA as ho, L_ as hp, xP as hr, UO as hs, WL as ht, KS as hu, Ne as hv, lB as i, _t as i_, mM as ia, nD as ic, tx as id, Oy as if, _r as ig, rs as ih, DN as ii, tT as il, eg as im, NI as in, YA as io, gv as ip, UP as ir, vk as is, QL as it, hC as iu, ut as iv, _z as j, ve as j_, Pj as ja, xE as jc, Eb as jd, ty as jf, ln as jg, Qo as jh, $M as ji, sw as jl, lm as jm, YF as jn, yA as jo, Ng as jp, eP as jr, lO as js, kL as jt, nS as ju, Ce as jv, fz as k, ge as k_, Nj as ka, wE as kc, Db as kd, ry as kf, Sn as kg, es as kh, nN as ki, pw as kl, um as km, cI as kn, wA as ko, a_ as kp, iP as kr, cO as ks, RL as kt, TS as ku, De as kv, rB as l, kt as l_, xM as la, RE as lc, rx as ld, Ey as lf, Fn as lg, Oo as lh, xN as li, Xw as ll, Yh as lm, II as ln, JA as lo, Q_ as lp, RP as lr, qO as ls, qL as lt, dC as lu, $e as lv, Yz as m, At as m_, tM as ma, qE as mc, zb as md, _y as mf, Bn as mg, Mo as mh, hN as mi, Gw as ml, Bh as mm, PI as mn, HA as mo, M_ as mp, kP as mr, zO as ms, KL as mt, YS as mu, ye as mv, dB as n, St as n_, kM as na, mD as nc, px as nd, Fy as nf, yr as ng, ss as nh, LN as ni, iT as nl, ng as nm, XI as nn, ij as no, Ev as np, KP as nr, xk as ns, sR as nt, xC as nu, ft as nv, oB as o, Lt as o_, gM as oa, rD as oc, cx as od, ky as of, vr as og, as as oh, ON as oi, $w as ol, Qh as om, UI as on, $A as oo, mv as op, VP as or, ek as os, _R as ot, fC as ou, nt as ov, Xz as p, Ut as p_, rM as pa, HE as pc, Rb as pd, xy as pf, Vn as pg, ws as ph, gN as pi, Kw as pl, Hh as pm, VI as pn, GA as po, R_ as pp, DP as pr, RO as ps, GL as pt, tC as pu, lt as pv, xR as q, O as q_, dj as qa, fT as qc, eb as qd, Rv as qf, Et as qg, Pa as qh, jM as qi, PC as ql, Cs as qm, _F as qn, Lk as qo, lg as qp, MN as qr, aD as qs, LL as qt, Mx as qu, cB as r, zt as r_, hM as ra, eD as rc, mx as rd, Vy as rf, xr as rg, us as rh, EN as ri, nT as rl, tg as rm, MI as rn, oj as ro, xv as rp, qP as rr, yk as rs, eR as rt, vC as ru, fe as rv, aB as s, Ot as s_, yM as sa, KE as sc, lx as sd, jy as sf, Nn as sg, cs as sh, AN as si, Zw as sl, Xh as sm, qI as sn, ZA as so, dv as sp, zP as sr, XO as ss, iR as st, mC as su, Qe as sv, fB as t, Vt as t_, DM as ta, fD as tc, ux as td, Iy as tf, br as tg, is as th, zN as ti, rT as tl, rg as tm, eL as tn, nj as to, Tv as tp, XP as tr, Ek as ts, $L as tt, bC as tu, k as tv, nB as u, Tt as u_, bM as ua, JE as uc, ox as ud, Ty as uf, Ln as ug, ys as uh, yN as ui, Yw as ul, Gh as um, WI as un, ej as uo, H_ as up, NP as ur, GO as us, JL as ut, uC as uu, et as uv, Rz as v, gt as v_, Zj as va, VE as vc, Jb as vd, my as vf, a as vg, ns as vh, dN as vi, Fw as vl, Ph as vm, BI as vn, IA as vo, O_ as vp, bP as vr, LO as vs, pL as vt, qS as vu, rt as vv, Ez as w, yt as w_, qj as wa, OE as wc, Pb as wd, uy as wf, bn as wg, qo as wh, oN as wi, Ew as wl, Hm as wm, vI as wn, OA as wo, p_ as wp, mP as wr, dO as ws, DL as wt, NS as wu, Ke as wv, Pz as x, Mt as x_, Jj as xa, AE as xc, qb as xd, py as xf, wn as xg, Xo as xh, cN as xi, kw as xl, Fh as xm, EI as xn, PA as xo, D_ as xp, hP as xr, TO as xs, PL as xt, RS as xu, ot as xv, zz as y, Dt as y_, eM as ya, GE as yc, Ub as yd, gy as yf, Cn as yg, Zo as yh, mN as yi, Pw as yl, Mh as ym, DI as yn, LA as yo, T_ as yp, _P as yr, IO as ys, xL as yt, VS as yu, it as yv, RR as z, Ve as z_, Cj as za, GT as zc, ub as zd, Gv as zf, cn as zg, bo as zh, XM as zi, UC as zl, Es as zm, HF as zn, nA as zo, Dg as zp, JN as zr, ED as zs, wL as zt, Ux as zu, Le as zv };
|
|
79018
|
+
export { _R as $, O as $_, dj as $a, fT as $c, eb as $d, Rv as $f, Et as $g, Pa as $h, jM as $i, PC as $l, Cs as $m, fF as $n, Lk as $o, lg as $p, MN as $r, aD as $s, cL as $t, Mx as $u, Sz as A, yt as A_, qj as Aa, OE as Ac, Pb as Ad, uy as Af, bn as Ag, qo as Ah, oN as Ai, Ew as Al, Hm as Am, sI as An, OA as Ao, p_ as Ap, mP as Ar, dO as As, VL as At, NS as Au, Ke as Av, qR as B, xe as B_, Sj as Ba, CE as Bc, hb as Bd, Qv as Bf, Yt as Bg, Fo as Bh, YM as Bi, iw as Bl, Qp as Bm, WF as Bn, fA as Bo, Ag as Bp, rP as Br, BD as Bs, kL as Bt, Yx as Bu, Ee as Bv, Uz as C, Gt as C_, $j as Ca, YE as Cc, Fb as Cd, yy as Cf, zn as Cg, ls as Ch, fN as Ci, Rw as Cl, Ih as Cm, HI as Cn, zA as Co, k_ as Cp, yP as Cr, VO as Cs, PL as Ct, JS as Cu, ct as Cv, Rz as D, Mt as D_, Jj as Da, AE as Dc, qb as Dd, py as Df, wn as Dg, Xo as Dh, cN as Di, kw as Dl, Fh as Dm, DI as Dn, PA as Do, D_ as Dp, hP as Dr, TO as Ds, HL as Dt, RS as Du, ot as Dv, Hz as E, It as E_, Qj as Ea, UE as Ec, Hb as Ed, hy as Ef, hn as Eg, wo as Eh, pN as Ei, jw as El, Lh as Em, OI as En, FA as Eo, E_ as Ep, vP as Er, FO as Es, bL as Et, HS as Eu, at as Ev, _z as F, ge as F_, Nj as Fa, wE as Fc, Db as Fd, ry as Ff, Sn as Fg, es as Fh, nN as Fi, pw as Fl, um as Fm, iI as Fn, wA as Fo, a_ as Fp, iP as Fr, cO as Fs, TL as Ft, TS as Fu, De as Fv, PR as G, Ve as G_, Cj as Ga, GT as Gc, ub as Gd, Gv as Gf, cn as Gg, bo as Gh, XM as Gi, UC as Gl, Es as Gm, jF as Gn, nA as Go, Dg as Gp, JN as Gr, ED as Gs, WL as Gt, Ux as Gu, Le as Gv, GR as H, A as H_, gj as Ha, eE as Hc, pb as Hd, Xv as Hf, Qt as Hg, Jo as Hh, UM as Hi, YC as Hl, Wp as Hm, HF as Hn, uA as Ho, Tg as Hp, $N as Hr, TD as Hs, EL as Ht, qx as Hu, ze as Hv, mz as I, _e as I_, Ij as Ia, bE as Ic, Ob as Id, ny as If, dn as Ig, $o as Ih, eN as Ii, uw as Il, cm as Im, aI as In, SA as Io, Pg as Ip, aP as Ir, sO as Is, CL as It, vS as Iu, Se as Iv, FR as J, We as J_, yj as Ja, BT as Jc, Yy as Jd, Wv as Jf, Jt as Jg, Co as Jh, HM as Ji, IC as Jl, Ro as Jm, wF as Jn, qk as Jo, vg as Jp, qN as Jr, bD as Js, AL as Jt, zx as Ju, zR as K, He as K_, xj as Ka, qT as Kc, mb as Kd, qv as Kf, en as Kg, So as Kh, MM as Ki, RC as Kl, z as Km, DF as Kn, eA as Ko, wg as Kp, YN as Kr, DD as Ks, KL as Kt, Ix as Ku, Re as Kv, gz as L, ve as L_, Pj as La, xE as Lc, Eb as Ld, ty as Lf, ln as Lg, Qo as Lh, $M as Li, sw as Ll, lm as Lm, ZF as Ln, yA as Lo, Ng as Lp, eP as Lr, lO as Ls, SL as Lt, nS as Lu, Ce as Lv, Dz as M, de as M_, Wj as Ma, EE as Mc, Vb as Md, cy as Mf, _n as Mg, Io as Mh, rN as Mi, _w as Ml, Im as Mm, tI as Mn, AA as Mo, l_ as Mp, lP as Mr, mO as Ms, yL as Mt, AS as Mu, Je as Mv, Ez as N, be as N_, Bj as Na, kE as Nc, Ab as Nd, iy as Nf, xn as Ng, Wo as Nh, iN as Ni, yw as Nl, hm as Nm, nI as Nn, EA as No, u_ as Np, oP as Nr, pO as Ns, xL as Nt, ES as Nu, Ye as Nv, jz as O, Nt as O_, Yj as Oa, jE as Oc, Kb as Od, fy as Of, yn as Og, Yo as Oh, lN as Oi, Dw as Ol, Nh as Om, CI as On, NA as Oo, x_ as Op, gP as Or, EO as Os, NL as Ot, LS as Ou, st as Ov, hz as P, he as P_, Vj as Pa, SE as Pc, kb as Pd, sy as Pf, mn as Pg, To as Ph, tN as Pi, hw as Pl, sm as Pm, eI as Pn, DA as Po, c_ as Pp, sP as Pr, hO as Ps, qL as Pt, wS as Pu, Xe as Pv, mR as Q, le as Q_, mj as Qa, pT as Qc, $y as Qd, Iv as Qf, nn as Qg, Ua as Qh, WM as Qi, EC as Ql, fs as Qm, dF as Qn, Uk as Qo, gg as Qp, UN as Qr, hD as Qs, pL as Qt, Nx as Qu, XR as R, j as R_, Lj as Ra, yE as Rc, Tb as Rd, ey as Rf, fn as Rg, Go as Rh, QM as Ri, ow as Rl, im as Rm, XF as Rn, hA as Ro, Mg as Rp, nP as Rr, qD as Rs, LL as Rt, $x as Ru, we as Rv, Kz as S, Wt as S_, nM as Sa, zE as Sc, Lb as Sd, vy as Sf, Pn as Sg, os as Sh, _N as Si, Ww as Sl, Wh as Sm, VI as Sn, RA as So, j_ as Sp, wP as Sr, BO as Ss, zL as St, WS as Su, Ze as Sv, zz as T, Dt as T_, eM as Ta, GE as Tc, Ub as Td, gy as Tf, Cn as Tg, Zo as Th, mN as Ti, Pw as Tl, Mh as Tm, EI as Tn, LA as To, T_ as Tp, _P as Tr, IO as Ts, IL as Tt, VS as Tu, it as Tv, WR as U, Ge as U_, vj as Ua, $T as Uc, db as Ud, Jv as Uf, Zt as Ug, vo as Uh, FM as Ui, qC as Ul, Hp as Um, MF as Un, iA as Uo, Cg as Up, XN as Ur, CD as Us, OL as Ut, Xx as Uu, Fe as Uv, JR as V, pt as V_, bj as Va, oE as Vc, gb as Vd, Zv as Vf, tn as Vg, Ko as Vh, GM as Vi, tw as Vl, Kp as Vm, UF as Vn, lA as Vo, Eg as Vp, QN as Vr, FD as Vs, DL as Vt, Jx as Vu, E as Vv, IR as W, Be as W_, wj as Wa, XT as Wc, fb as Wd, Yv as Wf, sn as Wg, yo as Wh, zM as Wi, GC as Wl, Os as Wm, AF as Wn, tA as Wo, kg as Wp, ZN as Wr, wD as Ws, UL as Wt, Wx as Wu, Ie as Wv, RR as X, D as X_, sj as Xa, NT as Xc, Jy as Xd, Vv as Xf, an as Xg, L as Xh, KM as Xi, AC as Xl, vs as Xm, mF as Xn, Gk as Xo, ug as Xp, GN as Xr, yD as Xs, mL as Xt, Lx as Xu, NR as Y, pe as Y_, Tj as Ya, PT as Yc, Xy as Yd, Uv as Yf, on as Yg, co as Yh, qM as Yi, FC as Yl, Do as Ym, EF as Yn, Kk as Yo, hg as Yp, WN as Yr, vD as Ys, fL as Yt, Rx as Yu, LR as Z, ce as Z_, lj as Za, OT as Zc, qy as Zd, zv as Zf, rn as Zg, I as Zh, PM as Zi, DC as Zl, Po as Zm, hF as Zn, Wk as Zo, _g as Zp, HN as Zr, _D as Zs, hL as Zt, Px as Zu, $z as _, Rt as __, sM as _a, BE as _c, ix as _d, Sy as _f, Hn as _g, No as _h, SN as _i, Jw as _l, Uh as _m, JI as _n, QA as _o, V_ as _p, IP as _r, HO as _s, $L as _t, lC as _u, tt as _v, vB as a, Bt as a_, CM as aa, cD as ac, fx as ad, zy as af, Tr as ag, R as ah, VN as ai, cT as al, og as am, $I as an, rj as ao, Dv as ap, tF as ar, Ik as as, kR as at, SC as au, je as av, Jz as b, At as b_, tM as ba, qE as bc, zb as bd, _y as bf, Bn as bg, Mo as bh, hN as bi, Gw as bl, Bh as bm, II as bn, HA as bo, M_ as bp, kP as br, zO as bs, jL as bt, YS as bu, ye as bv, hB as c, St as c_, kM as ca, mD as cc, px as cd, Fy as cf, yr as cg, ss as ch, LN as ci, iT as cl, ng as cm, KI as cn, ij as co, Ev as cp, KP as cr, xk as cs, gR as ct, xC as cu, ft as cv, fB as d, jt as d_, _M as da, tD as dc, ax as dd, Ay as df, Sr as dg, ko as dh, kN as di, eT as dl, $h as dm, YI as dn, qA as do, yv as dp, LP as dr, dk as ds, oR as dt, gC as du, mt as dv, Ft as e_, AM as ea, sD as ec, jx as ed, Qy as ef, Na as eg, jo as eh, BN as ei, mT as el, mg as em, lL as en, cj as eo, Bv as ep, oF as er, Bk as es, cR as et, CC as eu, ue as ev, cB as f, Lt as f_, gM as fa, rD as fc, cx as fd, ky as ff, vr as fg, as as fh, ON as fi, $w as fl, Qh as fm, rL as fn, $A as fo, mv as fp, VP as fr, ek as fs, sR as ft, fC as fu, nt as fv, lB as g, Tt as g_, bM as ga, JE as gc, ox as gd, Ty as gf, Ln as gg, ys as gh, yN as gi, Yw as gl, Gh as gm, XI as gn, ej as go, H_ as gp, NP as gr, GO as gs, eR as gt, uC as gu, et as gv, uB as h, kt as h_, xM as ha, RE as hc, rx as hd, Ey as hf, Fn as hg, Oo as hh, xN as hi, Xw as hl, Yh as hm, nL as hn, JA as ho, Q_ as hp, RP as hr, qO as hs, tR as ht, dC as hu, $e as hv, bB as i, xt as i_, OM as ia, oD as ic, Sx as id, By as if, Cr as ig, ms as ih, NN as ii, sT as il, cg as im, WI as in, tj as io, Mv as ip, JP as ir, Hk as is, lR as it, wC as iu, Ae as iv, Oz as j, bt as j_, Uj as ja, DE as jc, Yb as jd, ly as jf, vn as jg, Lo as jh, aN as ji, Tw as jl, Rm as jm, oI as jn, jA as jo, m_ as jp, cP as jr, uO as js, BL as jt, FS as ju, qe as jv, Cz as k, vt as k_, Kj as ka, ME as kc, Bb as kd, dy as kf, gn as kg, Bo as kh, sN as ki, ww as kl, sh as km, yI as kn, kA as ko, h_ as kp, pP as kr, fO as ks, YL as kt, MS as ku, N as kv, mB as l, zt as l_, hM as la, eD as lc, mx as ld, Vy as lf, xr as lg, us as lh, EN as li, nT as ll, tg as lm, qI as ln, oj as lo, xv as lp, qP as lr, yk as ls, iR as lt, vC as lu, fe as lv, oB as m, Kt as m_, vM as ma, IE as mc, nx as md, Dy as mf, In as mg, ts as mh, jN as mi, Qw as ml, Zh as mm, GI as mn, XA as mo, ev as mp, BP as mr, YO as ms, rR as mt, pC as mu, P as mv, SB as n, wt as n_, wM as na, dD as nc, wx as nd, Ry as nf, Bi as ng, bs as nh, RN as ni, lT as nl, fg as nm, sL as nn, hj as no, Fv as np, nF as nr, Rk as ns, vR as nt, TC as nu, Oe as nv, _B as o, Ht as o_, TM as oa, uD as oc, dx as od, Py as of, wr as og, ds as oh, FN as oi, oT as ol, sg as om, eL as on, aj as oo, Ov as op, iF as or, Pk as os, OR as ot, yC as ou, Me as ov, sB as p, Ot as p_, yM as pa, KE as pc, lx as pd, jy as pf, Nn as pg, cs as ph, AN as pi, Zw as pl, Xh as pm, QI as pn, ZA as po, dv as pp, zP as pr, XO as ps, nR as pt, mC as pu, Qe as pv, MR as q, Ue as q_, _j as qa, HT as qc, Uy as qd, Kv as qf, $t as qg, xo as qh, BM as qi, LC as ql, Vo as qm, OF as qn, Xk as qo, Og as qp, KN as qr, xD as qs, JL as qt, Bx as qu, M as qv, yB as r, Ct as r_, EM as ra, pD as rc, Cx as rd, Ly as rf, kr as rg, Ts as rh, IN as ri, uT as rl, dg as rm, UI as rn, fj as ro, jv as rp, YP as rr, Vk as rs, dR as rt, NC as ru, ke as rv, gB as s, Vt as s_, DM as sa, fD as sc, ux as sd, Iy as sf, br as sg, is as sh, zN as si, rT as sl, rg as sm, iL as sn, nj as so, Tv as sp, QP as sr, Ek as ss, hR as st, bC as su, k as sv, CB as t, qt as t_, SM as ta, lD as tc, Tx as td, Zy as tf, La as tg, Eo as th, PN as ti, dT as tl, pg as tm, dL as tn, uj as to, Lv as tp, sF as tr, zk as ts, uR as tt, jC as tu, Pe as tv, pB as u, _t as u_, mM as ua, nD as uc, tx as ud, Oy as uf, _r as ug, rs as uh, DN as ui, tT as ul, eg as um, tL as un, YA as uo, gv as up, UP as ur, vk as us, aR as ut, hC as uu, ut as uv, Yz as v, ht as v_, cM as va, WE as vc, Wb as vd, Cy as vf, Rn as vg, ps as vh, bN as vi, qw as vl, Vh as vm, ZI as vn, WA as vo, P_ as vp, PP as vr, WO as vs, wL as vt, eC as vu, dt as vv, Lz as w, gt as w_, Zj as wa, VE as wc, Jb as wd, my as wf, a as wg, ns as wh, dN as wi, Fw as wl, Ph as wm, kI as wn, IA as wo, O_ as wp, bP as wr, LO as ws, RL as wt, qS as wu, rt as wv, Gz as x, Pt as x_, iM as xa, LE as xc, Ib as xd, by as xf, Mn as xg, Ao as xh, vN as xi, zw as xl, zh as xm, LI as xn, UA as xo, L_ as xp, xP as xr, UO as xs, GL as xt, KS as xu, Ne as xv, Xz as y, Ut as y_, rM as ya, HE as yc, Rb as yd, xy as yf, Vn as yg, ws as yh, gN as yi, Kw as yl, Hh as ym, RI as yn, GA as yo, R_ as yp, DP as yr, RO as ys, ML as yt, tC as yu, lt as yv, YR as z, me as z_, Ej as za, TE as zc, _b as zd, $v as zf, Xt as zg, zo as zh, ZM as zi, aw as zl, Jp as zm, $F as zn, dA as zo, jg as zp, tP as zr, zD as zs, FL as zt, Zx as zu, Te as zv };
|