manim-web 0.3.2 → 0.3.4
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.js
CHANGED
|
@@ -142,10 +142,10 @@ class st {
|
|
|
142
142
|
if (e && (Array.isArray(e) ? i = e : (i = e.axis ?? [0, 0, 1], r = e.aboutPoint)), "_points3D" in this && this._points3D.length > 0) {
|
|
143
143
|
const n = this._points3D, o = Math.cos(t), a = Math.sin(t);
|
|
144
144
|
if (!r) {
|
|
145
|
-
let u = 1 / 0, d = -1 / 0, f = 1 / 0, g = -1 / 0,
|
|
145
|
+
let u = 1 / 0, d = -1 / 0, f = 1 / 0, g = -1 / 0, p = 1 / 0, m = -1 / 0;
|
|
146
146
|
for (const _ of n)
|
|
147
|
-
_[0] < u && (u = _[0]), _[0] > d && (d = _[0]), _[1] < f && (f = _[1]), _[1] > g && (g = _[1]), _[2] <
|
|
148
|
-
r = [(u + d) / 2, (f + g) / 2, (
|
|
147
|
+
_[0] < u && (u = _[0]), _[0] > d && (d = _[0]), _[1] < f && (f = _[1]), _[1] > g && (g = _[1]), _[2] < p && (p = _[2]), _[2] > m && (m = _[2]);
|
|
148
|
+
r = [(u + d) / 2, (f + g) / 2, (p + m) / 2];
|
|
149
149
|
}
|
|
150
150
|
const h = r[0], l = r[1], c = r[2];
|
|
151
151
|
if (i[0] === 0 && i[1] === 0 && i[2] !== 0)
|
|
@@ -156,8 +156,8 @@ class st {
|
|
|
156
156
|
else {
|
|
157
157
|
st._tempVec3.set(i[0], i[1], i[2]).normalize(), st._tempQuaternion.setFromAxisAngle(st._tempVec3, t);
|
|
158
158
|
for (const u of n) {
|
|
159
|
-
const d = u[0] - h, f = u[1] - l, g = u[2] - c,
|
|
160
|
-
|
|
159
|
+
const d = u[0] - h, f = u[1] - l, g = u[2] - c, p = new S.Vector3(d, f, g);
|
|
160
|
+
p.applyQuaternion(st._tempQuaternion), u[0] = h + p.x, u[1] = l + p.y, u[2] = c + p.z;
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
this._geometryDirty = !0, this._markDirty();
|
|
@@ -659,8 +659,8 @@ class st {
|
|
|
659
659
|
for (let o = 0; o + 3 < r.length; o += 3) {
|
|
660
660
|
const a = r[o], h = r[o + 1], l = r[o + 2], c = r[o + 3];
|
|
661
661
|
for (let u = 0; u < t; u++) {
|
|
662
|
-
const d = u / t, f = (u + 1) / t, g = cr(a, h, l, c, d),
|
|
663
|
-
u === 0 && o === 0 && n.push(g), n.push(y, x,
|
|
662
|
+
const d = u / t, f = (u + 1) / t, g = cr(a, h, l, c, d), p = cr(a, h, l, c, f), m = d + (f - d) / 3, _ = d + 2 * (f - d) / 3, y = cr(a, h, l, c, m), x = cr(a, h, l, c, _);
|
|
663
|
+
u === 0 && o === 0 && n.push(g), n.push(y, x, p);
|
|
664
664
|
}
|
|
665
665
|
}
|
|
666
666
|
i.setPoints(n);
|
|
@@ -1442,9 +1442,9 @@ function lf(s, t, e) {
|
|
|
1442
1442
|
te.lerp(Jt, w);
|
|
1443
1443
|
}
|
|
1444
1444
|
Jt.applyMatrix4(i), te.applyMatrix4(i), Jt.multiplyScalar(1 / Jt.w), te.multiplyScalar(1 / te.w), Jt.x *= n.x / 2, Jt.y *= n.y / 2, te.x *= n.x / 2, te.y *= n.y / 2, ee.start.copy(Jt), ee.start.z = 0, ee.end.copy(te), ee.end.z = 0;
|
|
1445
|
-
const
|
|
1446
|
-
ee.at(
|
|
1447
|
-
const
|
|
1445
|
+
const p = ee.closestPointToPointParameter(Nn, !0);
|
|
1446
|
+
ee.at(p, oh);
|
|
1447
|
+
const m = h0.lerp(Jt.z, te.z, p), _ = m >= -1 && m <= 1, y = Nn.distanceTo(oh) < Ki * 0.5;
|
|
1448
1448
|
if (_ && y) {
|
|
1449
1449
|
ee.start.fromBufferAttribute(h, d), ee.end.fromBufferAttribute(l, d), ee.start.applyMatrix4(o), ee.end.applyMatrix4(o);
|
|
1450
1450
|
const x = new Ft(), w = new Ft();
|
|
@@ -1888,14 +1888,14 @@ class Is {
|
|
|
1888
1888
|
n
|
|
1889
1889
|
], l = Math.floor((t.length - 1) / 3), c = i ?? e;
|
|
1890
1890
|
for (let u = 0; u < l; u++) {
|
|
1891
|
-
const d = u * 3, f = l > 1 ? u / (l - 1) : 0, g = l > 1 ? (u + 1) / (l - 1) : 1,
|
|
1891
|
+
const d = u * 3, f = l > 1 ? u / (l - 1) : 0, g = l > 1 ? (u + 1) / (l - 1) : 1, p = e + (c - e) * f, m = e + (c - e) * Math.min(g, 1);
|
|
1892
1892
|
o.push({
|
|
1893
1893
|
p0: t[d],
|
|
1894
1894
|
p1: t[d + 1],
|
|
1895
1895
|
p2: t[d + 2],
|
|
1896
1896
|
p3: t[d + 3],
|
|
1897
|
-
widthStart:
|
|
1898
|
-
widthEnd:
|
|
1897
|
+
widthStart: p,
|
|
1898
|
+
widthEnd: m,
|
|
1899
1899
|
color: h
|
|
1900
1900
|
});
|
|
1901
1901
|
}
|
|
@@ -1920,8 +1920,8 @@ class Is {
|
|
|
1920
1920
|
i.instanceCount = e, i.setAttribute("aQuadUV", new S.BufferAttribute(mf, 2));
|
|
1921
1921
|
const r = new Float32Array(e * 3), n = new Float32Array(e * 3), o = new Float32Array(e * 3), a = new Float32Array(e * 3), h = new Float32Array(e), l = new Float32Array(e), c = new Float32Array(e * 4);
|
|
1922
1922
|
for (let d = 0; d < e; d++) {
|
|
1923
|
-
const f = t[d], g = d * 3,
|
|
1924
|
-
r[g] = f.p0[0], r[g + 1] = f.p0[1], r[g + 2] = f.p0[2] ?? 0, n[g] = f.p1[0], n[g + 1] = f.p1[1], n[g + 2] = f.p1[2] ?? 0, o[g] = f.p2[0], o[g + 1] = f.p2[1], o[g + 2] = f.p2[2] ?? 0, a[g] = f.p3[0], a[g + 1] = f.p3[1], a[g + 2] = f.p3[2] ?? 0, h[d] = f.widthStart, l[d] = f.widthEnd, c[
|
|
1923
|
+
const f = t[d], g = d * 3, p = d * 4;
|
|
1924
|
+
r[g] = f.p0[0], r[g + 1] = f.p0[1], r[g + 2] = f.p0[2] ?? 0, n[g] = f.p1[0], n[g + 1] = f.p1[1], n[g + 2] = f.p1[2] ?? 0, o[g] = f.p2[0], o[g + 1] = f.p2[1], o[g + 2] = f.p2[2] ?? 0, a[g] = f.p3[0], a[g + 1] = f.p3[1], a[g + 2] = f.p3[2] ?? 0, h[d] = f.widthStart, l[d] = f.widthEnd, c[p] = f.color[0], c[p + 1] = f.color[1], c[p + 2] = f.color[2], c[p + 3] = f.color[3];
|
|
1925
1925
|
}
|
|
1926
1926
|
i.setAttribute("aP0", new S.InstancedBufferAttribute(r, 3)), i.setAttribute("aP1", new S.InstancedBufferAttribute(n, 3)), i.setAttribute("aP2", new S.InstancedBufferAttribute(o, 3)), i.setAttribute("aP3", new S.InstancedBufferAttribute(a, 3)), i.setAttribute("aWidthStart", new S.InstancedBufferAttribute(h, 1)), i.setAttribute("aWidthEnd", new S.InstancedBufferAttribute(l, 1)), i.setAttribute("aColor", new S.InstancedBufferAttribute(c, 4));
|
|
1927
1927
|
const u = new S.Mesh(i, this._material);
|
|
@@ -1967,8 +1967,8 @@ class Is {
|
|
|
1967
1967
|
t.visible = !0;
|
|
1968
1968
|
const n = i.getAttribute("aP0"), o = i.getAttribute("aP1"), a = i.getAttribute("aP2"), h = i.getAttribute("aP3"), l = i.getAttribute("aWidthStart"), c = i.getAttribute("aWidthEnd"), u = i.getAttribute("aColor");
|
|
1969
1969
|
for (let d = 0; d < r; d++) {
|
|
1970
|
-
const f = e[d], g = d * 3,
|
|
1971
|
-
n.array[g] = f.p0[0], n.array[g + 1] = f.p0[1], n.array[g + 2] = f.p0[2] ?? 0, o.array[g] = f.p1[0], o.array[g + 1] = f.p1[1], o.array[g + 2] = f.p1[2] ?? 0, a.array[g] = f.p2[0], a.array[g + 1] = f.p2[1], a.array[g + 2] = f.p2[2] ?? 0, h.array[g] = f.p3[0], h.array[g + 1] = f.p3[1], h.array[g + 2] = f.p3[2] ?? 0, l.array[d] = f.widthStart, c.array[d] = f.widthEnd, u.array[
|
|
1970
|
+
const f = e[d], g = d * 3, p = d * 4;
|
|
1971
|
+
n.array[g] = f.p0[0], n.array[g + 1] = f.p0[1], n.array[g + 2] = f.p0[2] ?? 0, o.array[g] = f.p1[0], o.array[g + 1] = f.p1[1], o.array[g + 2] = f.p1[2] ?? 0, a.array[g] = f.p2[0], a.array[g + 1] = f.p2[1], a.array[g + 2] = f.p2[2] ?? 0, h.array[g] = f.p3[0], h.array[g + 1] = f.p3[1], h.array[g + 2] = f.p3[2] ?? 0, l.array[d] = f.widthStart, c.array[d] = f.widthEnd, u.array[p] = f.color[0], u.array[p + 1] = f.color[1], u.array[p + 2] = f.color[2], u.array[p + 3] = f.color[3];
|
|
1972
1972
|
}
|
|
1973
1973
|
return n.needsUpdate = !0, o.needsUpdate = !0, a.needsUpdate = !0, h.needsUpdate = !0, l.needsUpdate = !0, c.needsUpdate = !0, u.needsUpdate = !0, t;
|
|
1974
1974
|
}
|
|
@@ -2060,18 +2060,18 @@ function _f(s) {
|
|
|
2060
2060
|
function vf(s, t, e, i) {
|
|
2061
2061
|
const r = s.prev, n = s, o = s.next;
|
|
2062
2062
|
if (Wt(r, n, o) >= 0) return !1;
|
|
2063
|
-
const a = r.x, h = n.x, l = o.x, c = r.y, u = n.y, d = o.y, f = Math.min(a, h, l), g = Math.min(c, u, d),
|
|
2063
|
+
const a = r.x, h = n.x, l = o.x, c = r.y, u = n.y, d = o.y, f = Math.min(a, h, l), g = Math.min(c, u, d), p = Math.max(a, h, l), m = Math.max(c, u, d), _ = wo(f, g, t, e, i), y = wo(p, m, t, e, i);
|
|
2064
2064
|
let x = s.prevZ, w = s.nextZ;
|
|
2065
2065
|
for (; x && x.z >= _ && w && w.z <= y; ) {
|
|
2066
|
-
if (x.x >= f && x.x <=
|
|
2066
|
+
if (x.x >= f && x.x <= p && x.y >= g && x.y <= m && x !== r && x !== o && Ds(a, c, h, u, l, d, x.x, x.y) && Wt(x.prev, x, x.next) >= 0 || (x = x.prevZ, w.x >= f && w.x <= p && w.y >= g && w.y <= m && w !== r && w !== o && Ds(a, c, h, u, l, d, w.x, w.y) && Wt(w.prev, w, w.next) >= 0)) return !1;
|
|
2067
2067
|
w = w.nextZ;
|
|
2068
2068
|
}
|
|
2069
2069
|
for (; x && x.z >= _; ) {
|
|
2070
|
-
if (x.x >= f && x.x <=
|
|
2070
|
+
if (x.x >= f && x.x <= p && x.y >= g && x.y <= m && x !== r && x !== o && Ds(a, c, h, u, l, d, x.x, x.y) && Wt(x.prev, x, x.next) >= 0) return !1;
|
|
2071
2071
|
x = x.prevZ;
|
|
2072
2072
|
}
|
|
2073
2073
|
for (; w && w.z <= y; ) {
|
|
2074
|
-
if (w.x >= f && w.x <=
|
|
2074
|
+
if (w.x >= f && w.x <= p && w.y >= g && w.y <= m && w !== r && w !== o && Ds(a, c, h, u, l, d, w.x, w.y) && Wt(w.prev, w, w.next) >= 0) return !1;
|
|
2075
2075
|
w = w.nextZ;
|
|
2076
2076
|
}
|
|
2077
2077
|
return !0;
|
|
@@ -2344,7 +2344,7 @@ function Mo(s, t, e, i, r) {
|
|
|
2344
2344
|
(s[2] ?? 0) * a + (t[2] ?? 0) * 3 * o * r + (e[2] ?? 0) * 3 * n * h + (i[2] ?? 0) * l
|
|
2345
2345
|
];
|
|
2346
2346
|
}
|
|
2347
|
-
class
|
|
2347
|
+
class I extends st {
|
|
2348
2348
|
/**
|
|
2349
2349
|
* Array of cubic Bezier control points in 3D.
|
|
2350
2350
|
* Each point is [x, y, z].
|
|
@@ -2376,7 +2376,7 @@ class B extends st {
|
|
|
2376
2376
|
* linewidth_px = strokeWidth * 0.01 * (rendererWidth / frameWidth)
|
|
2377
2377
|
*/
|
|
2378
2378
|
static _toLinewidth(t) {
|
|
2379
|
-
return t * 0.01 * (
|
|
2379
|
+
return t * 0.01 * (I._rendererWidth / I._frameWidth);
|
|
2380
2380
|
}
|
|
2381
2381
|
/**
|
|
2382
2382
|
* When true, VMobjects use GPU Bezier SDF shaders for stroke rendering
|
|
@@ -2405,10 +2405,10 @@ class B extends st {
|
|
|
2405
2405
|
* Get the shared BezierRenderer, creating it if needed.
|
|
2406
2406
|
*/
|
|
2407
2407
|
static _getBezierRenderer() {
|
|
2408
|
-
return
|
|
2409
|
-
resolution: [
|
|
2408
|
+
return I._sharedBezierRenderer || (I._sharedBezierRenderer = new Is({
|
|
2409
|
+
resolution: [I._rendererWidth, I._rendererHeight],
|
|
2410
2410
|
pixelRatio: typeof window < "u" ? Math.min(window.devicePixelRatio, 2) : 1
|
|
2411
|
-
})),
|
|
2411
|
+
})), I._sharedBezierRenderer;
|
|
2412
2412
|
}
|
|
2413
2413
|
constructor() {
|
|
2414
2414
|
super(), this.fillOpacity = 0.5, this._style.fillOpacity = 0.5, this._style.strokeOpacity = 1;
|
|
@@ -2418,7 +2418,7 @@ class B extends st {
|
|
|
2418
2418
|
* Returns the per-instance override if set, otherwise the class-level default.
|
|
2419
2419
|
*/
|
|
2420
2420
|
get shaderCurves() {
|
|
2421
|
-
return this._useShaderCurvesOverride ??
|
|
2421
|
+
return this._useShaderCurvesOverride ?? I.useShaderCurves;
|
|
2422
2422
|
}
|
|
2423
2423
|
/**
|
|
2424
2424
|
* Enable or disable shader-based Bezier curve rendering for this instance.
|
|
@@ -2698,7 +2698,7 @@ class B extends st {
|
|
|
2698
2698
|
const n = new Array(r.length).fill(-1);
|
|
2699
2699
|
for (let h = 0; h < r.length; h++)
|
|
2700
2700
|
for (let l = 0; l < r.length; l++)
|
|
2701
|
-
if (h !== l &&
|
|
2701
|
+
if (h !== l && I._pointInPolygon(r[h][0], r[l])) {
|
|
2702
2702
|
n[h] = l;
|
|
2703
2703
|
break;
|
|
2704
2704
|
}
|
|
@@ -2748,7 +2748,7 @@ class B extends st {
|
|
|
2748
2748
|
_sampleBezierOutline(t, e) {
|
|
2749
2749
|
const i = [];
|
|
2750
2750
|
for (let r = 0; r + 3 < t.length; r += 3) {
|
|
2751
|
-
const n = t[r], o = t[r + 1], a = t[r + 2], h = t[r + 3], l =
|
|
2751
|
+
const n = t[r], o = t[r + 1], a = t[r + 2], h = t[r + 3], l = I._isNearlyLinear(n, o, a, h) ? 1 : e, c = r === 0 ? 0 : 1;
|
|
2752
2752
|
for (let u = c; u <= l; u++) {
|
|
2753
2753
|
const d = u / l, f = Mo(n, o, a, h, d);
|
|
2754
2754
|
i.push([f[0], f[1]]);
|
|
@@ -2778,10 +2778,10 @@ class B extends st {
|
|
|
2778
2778
|
const t = new S.Group();
|
|
2779
2779
|
return this._strokeMaterial = new Ui({
|
|
2780
2780
|
color: new S.Color(this.color).getHex(),
|
|
2781
|
-
linewidth:
|
|
2781
|
+
linewidth: I._toLinewidth(this.strokeWidth),
|
|
2782
2782
|
opacity: this._opacity,
|
|
2783
2783
|
transparent: this._opacity < 1,
|
|
2784
|
-
resolution: new S.Vector2(
|
|
2784
|
+
resolution: new S.Vector2(I._rendererWidth, I._rendererHeight),
|
|
2785
2785
|
dashed: !1
|
|
2786
2786
|
}), this._fillMaterial = new S.MeshBasicMaterial({
|
|
2787
2787
|
color: new S.Color(this._style.fillColor || this.color),
|
|
@@ -2884,9 +2884,9 @@ class B extends st {
|
|
|
2884
2884
|
if (h.length >= 3) {
|
|
2885
2885
|
const c = h[0], u = h[h.length - 1], d = c[0] - u[0], f = c[1] - u[1], g = c[2] - u[2];
|
|
2886
2886
|
if (d * d + f * f + g * g < 1e-6) {
|
|
2887
|
-
const
|
|
2888
|
-
for (let
|
|
2889
|
-
const _ = h[
|
|
2887
|
+
const p = Math.min(2, h.length - 1);
|
|
2888
|
+
for (let m = 1; m <= p; m++) {
|
|
2889
|
+
const _ = h[m];
|
|
2890
2890
|
l.push(_[0], _[1], _[2]);
|
|
2891
2891
|
}
|
|
2892
2892
|
}
|
|
@@ -2923,12 +2923,12 @@ class B extends st {
|
|
|
2923
2923
|
return;
|
|
2924
2924
|
}
|
|
2925
2925
|
const i = [e[0]];
|
|
2926
|
-
for (let
|
|
2927
|
-
const _ = i[i.length - 1], y = e[
|
|
2928
|
-
y * y + x * x + w * w > 1e-8 && i.push(e[
|
|
2926
|
+
for (let m = 1; m < e.length; m++) {
|
|
2927
|
+
const _ = i[i.length - 1], y = e[m][0] - _[0], x = e[m][1] - _[1], w = e[m][2] - _[2];
|
|
2928
|
+
y * y + x * x + w * w > 1e-8 && i.push(e[m]);
|
|
2929
2929
|
}
|
|
2930
2930
|
if (i.length >= 2) {
|
|
2931
|
-
const
|
|
2931
|
+
const m = i[0], _ = i[i.length - 1], y = m[0] - _[0], x = m[1] - _[1], w = m[2] - _[2];
|
|
2932
2932
|
y * y + x * x + w * w < 1e-6 && i.pop();
|
|
2933
2933
|
}
|
|
2934
2934
|
const r = i.length;
|
|
@@ -2937,45 +2937,45 @@ class B extends st {
|
|
|
2937
2937
|
return;
|
|
2938
2938
|
}
|
|
2939
2939
|
t.updateWorldMatrix(!0, !1);
|
|
2940
|
-
const n = t.matrixWorld, o = new S.Matrix4().copy(n).invert(), a = new S.Vector3(), h = i.map((
|
|
2940
|
+
const n = t.matrixWorld, o = new S.Matrix4().copy(n).invert(), a = new S.Vector3(), h = i.map((m) => (a.set(m[0], m[1], m[2]).applyMatrix4(n), [a.x, a.y, a.z])), l = this.strokeWidth * 5e-3;
|
|
2941
2941
|
let c = 0;
|
|
2942
|
-
for (let
|
|
2943
|
-
const _ = (
|
|
2944
|
-
c += h[
|
|
2942
|
+
for (let m = 0; m < r; m++) {
|
|
2943
|
+
const _ = (m + 1) % r;
|
|
2944
|
+
c += h[m][0] * h[_][1] - h[_][0] * h[m][1];
|
|
2945
2945
|
}
|
|
2946
2946
|
const u = c < 0 ? 1 : -1, d = [];
|
|
2947
|
-
for (let
|
|
2948
|
-
const _ = h[(
|
|
2949
|
-
let N = z + W, q =
|
|
2947
|
+
for (let m = 0; m < r; m++) {
|
|
2948
|
+
const _ = h[(m - 1 + r) % r], y = h[m], x = h[(m + 1) % r], w = y[0] - _[0], M = y[1] - _[1], C = x[0] - y[0], P = x[1] - y[1], R = Math.sqrt(w * w + M * M) || 1, O = Math.sqrt(C * C + P * P) || 1, z = u * (-M / R), B = u * (w / R), W = u * (-P / O), H = u * (C / O);
|
|
2949
|
+
let N = z + W, q = B + H;
|
|
2950
2950
|
const rt = Math.sqrt(N * N + q * q);
|
|
2951
|
-
rt > 1e-10 ? (N /= rt, q /= rt) : (N = z, q =
|
|
2952
|
-
const ht = z * N +
|
|
2951
|
+
rt > 1e-10 ? (N /= rt, q /= rt) : (N = z, q = B);
|
|
2952
|
+
const ht = z * N + B * q, ot = (ht > 0.1 ? l / ht : l * 2) + 5e-3;
|
|
2953
2953
|
d.push(y[0] + N * ot, y[1] + q * ot, y[2]);
|
|
2954
2954
|
}
|
|
2955
|
-
for (let
|
|
2956
|
-
const _ = h[(
|
|
2957
|
-
let N = z + W, q =
|
|
2955
|
+
for (let m = 0; m < r; m++) {
|
|
2956
|
+
const _ = h[(m - 1 + r) % r], y = h[m], x = h[(m + 1) % r], w = y[0] - _[0], M = y[1] - _[1], C = x[0] - y[0], P = x[1] - y[1], R = Math.sqrt(w * w + M * M) || 1, O = Math.sqrt(C * C + P * P) || 1, z = u * (-M / R), B = u * (w / R), W = u * (-P / O), H = u * (C / O);
|
|
2957
|
+
let N = z + W, q = B + H;
|
|
2958
2958
|
const rt = Math.sqrt(N * N + q * q);
|
|
2959
|
-
rt > 1e-10 ? (N /= rt, q /= rt) : (N = z, q =
|
|
2960
|
-
const ht = z * N +
|
|
2959
|
+
rt > 1e-10 ? (N /= rt, q /= rt) : (N = z, q = B);
|
|
2960
|
+
const ht = z * N + B * q, ot = ht > 0.1 ? l / ht : l * 2;
|
|
2961
2961
|
d.push(y[0] - N * ot, y[1] - q * ot, y[2]);
|
|
2962
2962
|
}
|
|
2963
2963
|
const f = [];
|
|
2964
|
-
for (let
|
|
2965
|
-
a.set(d[
|
|
2964
|
+
for (let m = 0; m < d.length; m += 3)
|
|
2965
|
+
a.set(d[m], d[m + 1], d[m + 2]).applyMatrix4(o), f.push(a.x, a.y, a.z);
|
|
2966
2966
|
const g = [];
|
|
2967
|
-
for (let
|
|
2968
|
-
const _ = (
|
|
2969
|
-
g.push(
|
|
2967
|
+
for (let m = 0; m < r; m++) {
|
|
2968
|
+
const _ = (m + 1) % r;
|
|
2969
|
+
g.push(m, _, r + _), g.push(m, r + _, r + m);
|
|
2970
2970
|
}
|
|
2971
|
-
const
|
|
2972
|
-
|
|
2971
|
+
const p = new S.BufferGeometry();
|
|
2972
|
+
p.setAttribute("position", new S.Float32BufferAttribute(f, 3)), p.setIndex(g), this._cachedStrokeMesh ? (this._cachedStrokeMesh.geometry.dispose(), this._cachedStrokeMesh.geometry = p, this._strokeMeshMaterial && (this._strokeMeshMaterial.color.set(this.color), this._strokeMeshMaterial.opacity = this._opacity, this._strokeMeshMaterial.transparent = this._opacity < 1)) : (this._strokeMeshMaterial = this._strokeMeshMaterial || new S.MeshBasicMaterial({
|
|
2973
2973
|
color: new S.Color(this.color),
|
|
2974
2974
|
side: S.DoubleSide,
|
|
2975
2975
|
depthTest: !1,
|
|
2976
2976
|
transparent: this._opacity < 1,
|
|
2977
2977
|
opacity: this._opacity
|
|
2978
|
-
}), this._strokeMeshMaterial.color.set(this.color), this._strokeMeshMaterial.opacity = this._opacity, this._strokeMeshMaterial.transparent = this._opacity < 1, this._cachedStrokeMesh = new S.Mesh(
|
|
2978
|
+
}), this._strokeMeshMaterial.color.set(this.color), this._strokeMeshMaterial.opacity = this._opacity, this._strokeMeshMaterial.transparent = this._opacity < 1, this._cachedStrokeMesh = new S.Mesh(p, this._strokeMeshMaterial), this._cachedStrokeMesh.frustumCulled = !1, t.add(this._cachedStrokeMesh));
|
|
2979
2979
|
}
|
|
2980
2980
|
/**
|
|
2981
2981
|
* Remove the cached mesh-based stroke ring.
|
|
@@ -3001,7 +3001,7 @@ class B extends st {
|
|
|
3001
3001
|
this._cachedBezierMesh && (this._cachedBezierMesh.geometry.dispose(), t.remove(this._cachedBezierMesh), this._cachedBezierMesh = null);
|
|
3002
3002
|
return;
|
|
3003
3003
|
}
|
|
3004
|
-
const i =
|
|
3004
|
+
const i = I._getBezierRenderer(), r = Is.extractSegments(
|
|
3005
3005
|
e,
|
|
3006
3006
|
this.strokeWidth,
|
|
3007
3007
|
void 0,
|
|
@@ -3040,7 +3040,7 @@ class B extends st {
|
|
|
3040
3040
|
_sampleBezierPath(t, e = 4) {
|
|
3041
3041
|
const i = [];
|
|
3042
3042
|
for (let r = 0; r + 3 < t.length; r += 3) {
|
|
3043
|
-
const n = t[r], o = t[r + 1], a = t[r + 2], h = t[r + 3], l =
|
|
3043
|
+
const n = t[r], o = t[r + 1], a = t[r + 2], h = t[r + 3], l = I._isNearlyLinear(n, o, a, h) ? 1 : e;
|
|
3044
3044
|
for (let c = 0; c <= l; c++) {
|
|
3045
3045
|
const u = c / l, d = Mo(n, o, a, h, u);
|
|
3046
3046
|
(c === 0 || i.length === 0 || Math.abs(d[0] - i[i.length - 1][0]) > 1e-4 || Math.abs(d[1] - i[i.length - 1][1]) > 1e-4) && i.push(d);
|
|
@@ -3062,9 +3062,9 @@ class B extends st {
|
|
|
3062
3062
|
* Sync material properties to Three.js
|
|
3063
3063
|
*/
|
|
3064
3064
|
_syncMaterialToThree() {
|
|
3065
|
-
this._strokeMaterial && (this._strokeMaterial.color.set(this.color), this._strokeMaterial.opacity = this._opacity, this._strokeMaterial.transparent = this._opacity < 1, this._strokeMaterial.linewidth =
|
|
3066
|
-
|
|
3067
|
-
|
|
3065
|
+
this._strokeMaterial && (this._strokeMaterial.color.set(this.color), this._strokeMaterial.opacity = this._opacity, this._strokeMaterial.transparent = this._opacity < 1, this._strokeMaterial.linewidth = I._toLinewidth(this.strokeWidth), this._strokeMaterial.resolution.set(I._rendererWidth, I._rendererHeight)), this._fillMaterial && (this._fillMaterial.color.set(this._style.fillColor || this.color), this._fillMaterial.opacity = this._opacity * this.fillOpacity), this._strokeMeshMaterial && (this._strokeMeshMaterial.color.set(this.color), this._strokeMeshMaterial.opacity = this._opacity, this._strokeMeshMaterial.transparent = this._opacity < 1), I._sharedBezierRenderer && I._sharedBezierRenderer.updateResolution(
|
|
3066
|
+
I._rendererWidth,
|
|
3067
|
+
I._rendererHeight,
|
|
3068
3068
|
typeof window < "u" ? Math.min(window.devicePixelRatio, 2) : 1
|
|
3069
3069
|
), this._geometryDirty && this._threeObject instanceof S.Group && (this._updateGeometry(this._threeObject), this._geometryDirty = !1);
|
|
3070
3070
|
}
|
|
@@ -3072,7 +3072,7 @@ class B extends st {
|
|
|
3072
3072
|
* Create a copy of this VMobject
|
|
3073
3073
|
*/
|
|
3074
3074
|
_createCopy() {
|
|
3075
|
-
const t = new
|
|
3075
|
+
const t = new I();
|
|
3076
3076
|
return t._points3D = this._points3D.map((e) => [...e]), t._visiblePointCount = this._visiblePointCount, t;
|
|
3077
3077
|
}
|
|
3078
3078
|
/**
|
|
@@ -3115,7 +3115,7 @@ class B extends st {
|
|
|
3115
3115
|
this._cachedLine2Array = [], this._cachedFillMesh = null, this._cachedBezierMesh && (this._cachedBezierMesh.geometry.dispose(), this._cachedBezierMesh = null), this._cachedStrokeMesh && (this._cachedStrokeMesh.geometry.dispose(), this._cachedStrokeMesh = null), this._strokeMeshMaterial?.dispose(), this._strokeMeshMaterial = null, super.dispose();
|
|
3116
3116
|
}
|
|
3117
3117
|
}
|
|
3118
|
-
class Mt extends
|
|
3118
|
+
class Mt extends I {
|
|
3119
3119
|
/**
|
|
3120
3120
|
* Create a new VGroup containing the given mobjects.
|
|
3121
3121
|
* Accepts both VMobjects and general Mobjects (e.g., Axes, Group).
|
|
@@ -3148,7 +3148,7 @@ class Mt extends B {
|
|
|
3148
3148
|
*/
|
|
3149
3149
|
add(...t) {
|
|
3150
3150
|
for (const e of t)
|
|
3151
|
-
e instanceof
|
|
3151
|
+
e instanceof I ? this._addSingleVMobject(e) : super.add(e);
|
|
3152
3152
|
return this;
|
|
3153
3153
|
}
|
|
3154
3154
|
/**
|
|
@@ -3315,7 +3315,7 @@ class Mt extends B {
|
|
|
3315
3315
|
setFillOpacity(t) {
|
|
3316
3316
|
super.setFillOpacity(t);
|
|
3317
3317
|
for (const e of this.children)
|
|
3318
|
-
e instanceof
|
|
3318
|
+
e instanceof I && e.setFillOpacity(t);
|
|
3319
3319
|
return this;
|
|
3320
3320
|
}
|
|
3321
3321
|
/**
|
|
@@ -3325,7 +3325,7 @@ class Mt extends B {
|
|
|
3325
3325
|
*/
|
|
3326
3326
|
setFill(t, e) {
|
|
3327
3327
|
for (const i of this.children)
|
|
3328
|
-
i instanceof
|
|
3328
|
+
i instanceof I && (t !== void 0 && i.setColor(t), e !== void 0 && i.setFillOpacity(e));
|
|
3329
3329
|
return this;
|
|
3330
3330
|
}
|
|
3331
3331
|
/**
|
|
@@ -3337,7 +3337,7 @@ class Mt extends B {
|
|
|
3337
3337
|
*/
|
|
3338
3338
|
setStroke(t, e, i) {
|
|
3339
3339
|
for (const r of this.children)
|
|
3340
|
-
r instanceof
|
|
3340
|
+
r instanceof I && (t !== void 0 && r.setColor(t), e !== void 0 && r.setStrokeWidth(e), i !== void 0 && r.setOpacity(i));
|
|
3341
3341
|
return this;
|
|
3342
3342
|
}
|
|
3343
3343
|
/**
|
|
@@ -3377,8 +3377,8 @@ class Mt extends B {
|
|
|
3377
3377
|
}
|
|
3378
3378
|
const l = a + i, c = h + r;
|
|
3379
3379
|
for (let u = 0; u < n; u++) {
|
|
3380
|
-
const d = Math.floor(u / e), f = u % e, g = this.children[u],
|
|
3381
|
-
g.moveTo([
|
|
3380
|
+
const d = Math.floor(u / e), f = u % e, g = this.children[u], p = f * l, m = -d * c;
|
|
3381
|
+
g.moveTo([p, m, g.position.z]);
|
|
3382
3382
|
}
|
|
3383
3383
|
return this.moveTo(o), this._markDirty(), this;
|
|
3384
3384
|
}
|
|
@@ -3395,7 +3395,7 @@ class Mt extends B {
|
|
|
3395
3395
|
getCombinedPoints() {
|
|
3396
3396
|
const t = [];
|
|
3397
3397
|
for (const e of this.children)
|
|
3398
|
-
e instanceof
|
|
3398
|
+
e instanceof I && t.push(...e.getPoints());
|
|
3399
3399
|
return t;
|
|
3400
3400
|
}
|
|
3401
3401
|
/**
|
|
@@ -3466,7 +3466,7 @@ class Mt extends B {
|
|
|
3466
3466
|
get points() {
|
|
3467
3467
|
const t = [];
|
|
3468
3468
|
for (const e of this.children)
|
|
3469
|
-
e instanceof
|
|
3469
|
+
e instanceof I && t.push(...e.points);
|
|
3470
3470
|
return t;
|
|
3471
3471
|
}
|
|
3472
3472
|
/**
|
|
@@ -3591,7 +3591,7 @@ class Yr extends Mt {
|
|
|
3591
3591
|
return typeof e == "string" && t._dict.has(e) ? t._dict.get(e) : t[e];
|
|
3592
3592
|
},
|
|
3593
3593
|
set(t, e, i) {
|
|
3594
|
-
return typeof e == "string" && i instanceof
|
|
3594
|
+
return typeof e == "string" && i instanceof I ? (t.set(e, i), !0) : (t[e] = i, !0);
|
|
3595
3595
|
},
|
|
3596
3596
|
has(t, e) {
|
|
3597
3597
|
return typeof e == "string" && t._dict.has(e) || e in t;
|
|
@@ -3657,7 +3657,7 @@ class Yr extends Mt {
|
|
|
3657
3657
|
return this.get(t);
|
|
3658
3658
|
}
|
|
3659
3659
|
}
|
|
3660
|
-
class x0 extends
|
|
3660
|
+
class x0 extends I {
|
|
3661
3661
|
/**
|
|
3662
3662
|
* Create a VectorizedPoint at the given location.
|
|
3663
3663
|
* @param location - The point location as [x, y, z], defaults to [0, 0, 0]
|
|
@@ -4063,7 +4063,7 @@ class Of {
|
|
|
4063
4063
|
t.parentElement && t.parentElement.removeChild(t), this._renderer.dispose();
|
|
4064
4064
|
}
|
|
4065
4065
|
}
|
|
4066
|
-
class ea extends
|
|
4066
|
+
class ea extends I {
|
|
4067
4067
|
_camera;
|
|
4068
4068
|
_baseFrameWidth;
|
|
4069
4069
|
_baseFrameHeight;
|
|
@@ -4671,13 +4671,13 @@ function cn(s) {
|
|
|
4671
4671
|
style: { ...s.style },
|
|
4672
4672
|
children: []
|
|
4673
4673
|
};
|
|
4674
|
-
s instanceof
|
|
4674
|
+
s instanceof I && (t.points2D = s.points.map((e) => ({ x: e.x, y: e.y })), t.points3D = s.getPoints().map((e) => [...e]), t.visiblePointCount = s._visiblePointCount ?? null);
|
|
4675
4675
|
for (const e of s.children)
|
|
4676
4676
|
t.children.push(cn(e));
|
|
4677
4677
|
return t;
|
|
4678
4678
|
}
|
|
4679
4679
|
function un(s, t) {
|
|
4680
|
-
s.position.set(t.position[0], t.position[1], t.position[2]), s.rotation.set(t.rotation[0], t.rotation[1], t.rotation[2], t.rotation[3]), s.scaleVector.set(t.scale[0], t.scale[1], t.scale[2]), s.color = t.color, s.setOpacity(t.opacity), s.strokeWidth = t.strokeWidth, s.fillOpacity = t.fillOpacity, s.setStyle(t.style), s instanceof
|
|
4680
|
+
s.position.set(t.position[0], t.position[1], t.position[2]), s.rotation.set(t.rotation[0], t.rotation[1], t.rotation[2], t.rotation[3]), s.scaleVector.set(t.scale[0], t.scale[1], t.scale[2]), s.color = t.color, s.setOpacity(t.opacity), s.strokeWidth = t.strokeWidth, s.fillOpacity = t.fillOpacity, s.setStyle(t.style), s instanceof I && (t.points3D && t.points3D.length > 0 ? s.setPoints(t.points3D) : t.points2D && t.points2D.length > 0 && s.setPoints(t.points2D), t.visiblePointCount !== void 0 && (s._visiblePointCount = t.visiblePointCount, s._geometryDirty = !0));
|
|
4681
4681
|
const e = Math.min(s.children.length, t.children.length);
|
|
4682
4682
|
for (let i = 0; i < e; i++)
|
|
4683
4683
|
un(s.children[i], t.children[i]);
|
|
@@ -5096,8 +5096,8 @@ class sa {
|
|
|
5096
5096
|
d.push(t.getChannelData(g));
|
|
5097
5097
|
let f = h;
|
|
5098
5098
|
for (let g = 0; g < r; g++)
|
|
5099
|
-
for (let
|
|
5100
|
-
const
|
|
5099
|
+
for (let p = 0; p < e; p++) {
|
|
5100
|
+
const m = Math.max(-1, Math.min(1, d[p][g])), _ = m < 0 ? m * 32768 : m * 32767;
|
|
5101
5101
|
u.setInt16(f, _, !0), f += 2;
|
|
5102
5102
|
}
|
|
5103
5103
|
return new Blob([c], { type: "audio/wav" });
|
|
@@ -5129,15 +5129,15 @@ class sa {
|
|
|
5129
5129
|
if (a.gain.value = r.gain, r.fadeIn > 0) {
|
|
5130
5130
|
const d = r.startTime, f = r.startTime + r.fadeIn;
|
|
5131
5131
|
if (i < f) {
|
|
5132
|
-
const g = e + Math.max(0, d - i),
|
|
5133
|
-
a.gain.setValueAtTime(0, g), a.gain.linearRampToValueAtTime(r.gain,
|
|
5132
|
+
const g = e + Math.max(0, d - i), p = e + (f - i);
|
|
5133
|
+
a.gain.setValueAtTime(0, g), a.gain.linearRampToValueAtTime(r.gain, p);
|
|
5134
5134
|
}
|
|
5135
5135
|
}
|
|
5136
5136
|
if (r.fadeOut > 0) {
|
|
5137
5137
|
const d = r.startTime + r.duration - r.fadeOut, f = r.startTime + r.duration;
|
|
5138
5138
|
if (i < f) {
|
|
5139
|
-
const g = e + Math.max(0, d - i),
|
|
5140
|
-
a.gain.setValueAtTime(r.gain, g), a.gain.linearRampToValueAtTime(0,
|
|
5139
|
+
const g = e + Math.max(0, d - i), p = e + (f - i);
|
|
5140
|
+
a.gain.setValueAtTime(r.gain, g), a.gain.linearRampToValueAtTime(0, p);
|
|
5141
5141
|
}
|
|
5142
5142
|
}
|
|
5143
5143
|
o.connect(a), a.connect(this._masterGain);
|
|
@@ -5229,7 +5229,7 @@ class vs {
|
|
|
5229
5229
|
};
|
|
5230
5230
|
this._camera = new Ef(d);
|
|
5231
5231
|
const f = this._renderer.width / this._renderer.height;
|
|
5232
|
-
this._camera.setAspectRatio(f),
|
|
5232
|
+
this._camera.setAspectRatio(f), I._rendererWidth = this._renderer.width, I._rendererHeight = this._renderer.height, I._frameWidth = o, this._mobjects = /* @__PURE__ */ new Set(), this._stateManager = new Wf(
|
|
5233
5233
|
() => Array.from(this._mobjects)
|
|
5234
5234
|
), this._render();
|
|
5235
5235
|
}
|
|
@@ -5644,7 +5644,7 @@ class vs {
|
|
|
5644
5644
|
resize(t, e) {
|
|
5645
5645
|
this._renderer.resize(t, e);
|
|
5646
5646
|
const i = t / e;
|
|
5647
|
-
return this._camera.setAspectRatio(i),
|
|
5647
|
+
return this._camera.setAspectRatio(i), I._rendererWidth = t, I._rendererHeight = e, this._render(), this;
|
|
5648
5648
|
}
|
|
5649
5649
|
/**
|
|
5650
5650
|
* Get the canvas element.
|
|
@@ -6155,7 +6155,7 @@ class w0 extends vs {
|
|
|
6155
6155
|
groupSelected() {
|
|
6156
6156
|
const t = this.selection.getSelectedArray();
|
|
6157
6157
|
if (t.length < 2) return;
|
|
6158
|
-
const e = t.filter((r) => r instanceof
|
|
6158
|
+
const e = t.filter((r) => r instanceof I);
|
|
6159
6159
|
if (e.length < 2) return;
|
|
6160
6160
|
this.saveState(), this.selection.deselectAll();
|
|
6161
6161
|
for (const r of e)
|
|
@@ -7015,7 +7015,7 @@ class ip {
|
|
|
7015
7015
|
this._controls.dispose();
|
|
7016
7016
|
}
|
|
7017
7017
|
}
|
|
7018
|
-
class _e extends
|
|
7018
|
+
class _e extends I {
|
|
7019
7019
|
_start;
|
|
7020
7020
|
_end;
|
|
7021
7021
|
constructor(t = {}) {
|
|
@@ -7131,7 +7131,7 @@ class _e extends B {
|
|
|
7131
7131
|
});
|
|
7132
7132
|
}
|
|
7133
7133
|
}
|
|
7134
|
-
class dn extends
|
|
7134
|
+
class dn extends I {
|
|
7135
7135
|
constructor(t, e, i, r) {
|
|
7136
7136
|
super(), this.color = i, this.strokeWidth = r, this.fillOpacity = 0;
|
|
7137
7137
|
const n = e[0] - t[0], o = e[1] - t[1], a = e[2] - t[2];
|
|
@@ -7146,7 +7146,7 @@ class dn extends B {
|
|
|
7146
7146
|
return new dn([0, 0, 0], [1, 0, 0], this.color, this.strokeWidth);
|
|
7147
7147
|
}
|
|
7148
7148
|
}
|
|
7149
|
-
class Ns extends
|
|
7149
|
+
class Ns extends I {
|
|
7150
7150
|
constructor(t, e, i, r) {
|
|
7151
7151
|
super(), this.color = r, this.fillOpacity = 1, this.strokeWidth = 0;
|
|
7152
7152
|
const n = (a, h, l, c) => {
|
|
@@ -7188,22 +7188,22 @@ class Qs extends ze {
|
|
|
7188
7188
|
if (c === 0)
|
|
7189
7189
|
return;
|
|
7190
7190
|
const u = a / c, d = h / c, f = l / c;
|
|
7191
|
-
let g,
|
|
7191
|
+
let g, p, m;
|
|
7192
7192
|
if (Math.abs(f) > 0.99)
|
|
7193
|
-
g = 1,
|
|
7193
|
+
g = 1, p = 0, m = 0;
|
|
7194
7194
|
else {
|
|
7195
|
-
g = -d,
|
|
7196
|
-
const C = Math.sqrt(g * g +
|
|
7197
|
-
g /= C,
|
|
7195
|
+
g = -d, p = u, m = 0;
|
|
7196
|
+
const C = Math.sqrt(g * g + p * p);
|
|
7197
|
+
g /= C, p /= C;
|
|
7198
7198
|
}
|
|
7199
7199
|
const _ = r - u * this._tipLength, y = n - d * this._tipLength, x = o - f * this._tipLength, w = [
|
|
7200
7200
|
_ + g * this._tipWidth,
|
|
7201
|
-
y +
|
|
7202
|
-
x +
|
|
7201
|
+
y + p * this._tipWidth,
|
|
7202
|
+
x + m * this._tipWidth
|
|
7203
7203
|
], M = [
|
|
7204
7204
|
_ - g * this._tipWidth,
|
|
7205
|
-
y -
|
|
7206
|
-
x -
|
|
7205
|
+
y - p * this._tipWidth,
|
|
7206
|
+
x - m * this._tipWidth
|
|
7207
7207
|
];
|
|
7208
7208
|
this._shaft = new dn(
|
|
7209
7209
|
[t, e, i],
|
|
@@ -7330,21 +7330,21 @@ class k0 extends ze {
|
|
|
7330
7330
|
if (c === 0)
|
|
7331
7331
|
return;
|
|
7332
7332
|
const u = a / c, d = h / c, f = l / c;
|
|
7333
|
-
let g,
|
|
7333
|
+
let g, p, m;
|
|
7334
7334
|
if (Math.abs(f) > 0.99)
|
|
7335
|
-
g = 1,
|
|
7335
|
+
g = 1, p = 0, m = 0;
|
|
7336
7336
|
else {
|
|
7337
|
-
g = -d,
|
|
7338
|
-
const N = Math.sqrt(g * g +
|
|
7339
|
-
g /= N,
|
|
7337
|
+
g = -d, p = u, m = 0;
|
|
7338
|
+
const N = Math.sqrt(g * g + p * p);
|
|
7339
|
+
g /= N, p /= N;
|
|
7340
7340
|
}
|
|
7341
|
-
const _ = r - u * this._tipLength, y = n - d * this._tipLength, x = o - f * this._tipLength, w = t + u * this._tipLength, M = e + d * this._tipLength, C = i + f * this._tipLength, P = [_ + g * this._tipWidth, y +
|
|
7341
|
+
const _ = r - u * this._tipLength, y = n - d * this._tipLength, x = o - f * this._tipLength, w = t + u * this._tipLength, M = e + d * this._tipLength, C = i + f * this._tipLength, P = [_ + g * this._tipWidth, y + p * this._tipWidth, x + m * this._tipWidth], R = [_ - g * this._tipWidth, y - p * this._tipWidth, x - m * this._tipWidth], O = [w + g * this._tipWidth, M + p * this._tipWidth, C + m * this._tipWidth], z = [w - g * this._tipWidth, M - p * this._tipWidth, C - m * this._tipWidth], B = new dn(
|
|
7342
7342
|
[w, M, C],
|
|
7343
7343
|
[_, y, x],
|
|
7344
7344
|
this._color,
|
|
7345
7345
|
this._strokeWidth
|
|
7346
7346
|
);
|
|
7347
|
-
this.add(
|
|
7347
|
+
this.add(B);
|
|
7348
7348
|
const W = new Ns([r, n, o], P, R, this._color);
|
|
7349
7349
|
this.add(W);
|
|
7350
7350
|
const H = new Ns([t, e, i], z, O, this._color);
|
|
@@ -7387,7 +7387,7 @@ class xx extends Qs {
|
|
|
7387
7387
|
});
|
|
7388
7388
|
}
|
|
7389
7389
|
}
|
|
7390
|
-
class ve extends
|
|
7390
|
+
class ve extends I {
|
|
7391
7391
|
_width;
|
|
7392
7392
|
_height;
|
|
7393
7393
|
_centerPoint;
|
|
@@ -7408,8 +7408,8 @@ class ve extends B {
|
|
|
7408
7408
|
*/
|
|
7409
7409
|
_generatePoints() {
|
|
7410
7410
|
const t = this._width / 2, e = this._height / 2, [i, r, n] = this._centerPoint, o = [i - t, r + e, n], a = [i + t, r + e, n], h = [i + t, r - e, n], l = [i - t, r - e, n], c = [], u = (d, f) => {
|
|
7411
|
-
const g = f[0] - d[0],
|
|
7412
|
-
c.length > 0 ? (c.push([d[0] + g / 3, d[1] +
|
|
7411
|
+
const g = f[0] - d[0], p = f[1] - d[1], m = f[2] - d[2];
|
|
7412
|
+
c.length > 0 ? (c.push([d[0] + g / 3, d[1] + p / 3, d[2] + m / 3]), c.push([d[0] + 2 * g / 3, d[1] + 2 * p / 3, d[2] + 2 * m / 3]), c.push([...f])) : (c.push([...d]), c.push([d[0] + g / 3, d[1] + p / 3, d[2] + m / 3]), c.push([d[0] + 2 * g / 3, d[1] + 2 * p / 3, d[2] + 2 * m / 3]), c.push([...f]));
|
|
7413
7413
|
};
|
|
7414
7414
|
u(o, a), u(a, h), u(h, l), u(l, o), this.setPoints3D(c);
|
|
7415
7415
|
}
|
|
@@ -7693,9 +7693,9 @@ class bx extends vs {
|
|
|
7693
7693
|
const a = e.phi, h = e.theta, l = e.distance;
|
|
7694
7694
|
return new Promise((c) => {
|
|
7695
7695
|
const u = performance.now();
|
|
7696
|
-
let d = u, f = null, g = null,
|
|
7697
|
-
const
|
|
7698
|
-
if (
|
|
7696
|
+
let d = u, f = null, g = null, p = !1;
|
|
7697
|
+
const m = (y) => {
|
|
7698
|
+
if (p) return;
|
|
7699
7699
|
const x = (y - u) / 1e3, w = Math.min(1, x / o), M = w * w * (3 - 2 * w), C = a + (i - a) * M, P = h + (r - h) * M, R = l + (n - l) * M;
|
|
7700
7700
|
this._camera3D.orbit(C, P, R);
|
|
7701
7701
|
const O = (y - d) / 1e3;
|
|
@@ -7703,16 +7703,16 @@ class bx extends vs {
|
|
|
7703
7703
|
for (const z of this.mobjects)
|
|
7704
7704
|
z.update(O);
|
|
7705
7705
|
if (this._render(), w >= 1) {
|
|
7706
|
-
|
|
7706
|
+
p = !0, f !== null && cancelAnimationFrame(f), g !== null && clearInterval(g), c();
|
|
7707
7707
|
return;
|
|
7708
7708
|
}
|
|
7709
7709
|
}, _ = (y) => {
|
|
7710
|
-
|
|
7710
|
+
m(y), p || (f = requestAnimationFrame(_));
|
|
7711
7711
|
};
|
|
7712
7712
|
f = requestAnimationFrame(_), g = setInterval(() => {
|
|
7713
|
-
if (
|
|
7713
|
+
if (p) return;
|
|
7714
7714
|
const y = performance.now();
|
|
7715
|
-
y - d > 200 &&
|
|
7715
|
+
y - d > 200 && m(y);
|
|
7716
7716
|
}, 100);
|
|
7717
7717
|
});
|
|
7718
7718
|
}
|
|
@@ -7959,7 +7959,7 @@ class wx extends vs {
|
|
|
7959
7959
|
l,
|
|
7960
7960
|
u
|
|
7961
7961
|
);
|
|
7962
|
-
const f = e.displayCorner ?? [1, 1, 0], g = e.displayCornerBuff ?? 0.5,
|
|
7962
|
+
const f = e.displayCorner ?? [1, 1, 0], g = e.displayCornerBuff ?? 0.5, p = this.camera.frameWidth, m = this.camera.frameHeight, _ = f[0] !== 0 ? f[0] * (p / 2 - g - i / 2) : 0, y = f[1] !== 0 ? f[1] * (m / 2 - g - r / 2) : 0;
|
|
7963
7963
|
this._displayDefaultPos = [_, y, 0], this.zoomedDisplay.moveTo(this._displayDefaultPos);
|
|
7964
7964
|
}
|
|
7965
7965
|
/** Check if zooming is active */
|
|
@@ -8305,7 +8305,7 @@ class dh extends xt {
|
|
|
8305
8305
|
return this._frame;
|
|
8306
8306
|
}
|
|
8307
8307
|
}
|
|
8308
|
-
class oa extends
|
|
8308
|
+
class oa extends I {
|
|
8309
8309
|
_radius;
|
|
8310
8310
|
_numPoints;
|
|
8311
8311
|
_centerPoint;
|
|
@@ -8404,7 +8404,7 @@ class oa extends B {
|
|
|
8404
8404
|
});
|
|
8405
8405
|
}
|
|
8406
8406
|
}
|
|
8407
|
-
class fn extends
|
|
8407
|
+
class fn extends I {
|
|
8408
8408
|
_vertices;
|
|
8409
8409
|
_closed;
|
|
8410
8410
|
constructor(t) {
|
|
@@ -8622,7 +8622,7 @@ class Tx extends pn {
|
|
|
8622
8622
|
super({ ...t, numSides: 5 });
|
|
8623
8623
|
}
|
|
8624
8624
|
}
|
|
8625
|
-
class mn extends
|
|
8625
|
+
class mn extends I {
|
|
8626
8626
|
_radius;
|
|
8627
8627
|
_startAngle;
|
|
8628
8628
|
_angle;
|
|
@@ -8648,8 +8648,8 @@ class mn extends B {
|
|
|
8648
8648
|
_generatePoints() {
|
|
8649
8649
|
const t = [], [e, i, r] = this._arcCenter, n = this._radius, o = this._angle, a = Math.max(1, Math.ceil(Math.abs(o) / (Math.PI / 2) * (this._numComponents / 4))), h = o / a, l = 4 / 3 * Math.tan(h / 4);
|
|
8650
8650
|
for (let c = 0; c < a; c++) {
|
|
8651
|
-
const u = this._startAngle + c * h, d = this._startAngle + (c + 1) * h, f = e + n * Math.cos(u), g = i + n * Math.sin(u),
|
|
8652
|
-
c === 0 && t.push([f, g, r]), t.push([x, w, r]), t.push([P, R, r]), t.push([
|
|
8651
|
+
const u = this._startAngle + c * h, d = this._startAngle + (c + 1) * h, f = e + n * Math.cos(u), g = i + n * Math.sin(u), p = e + n * Math.cos(d), m = i + n * Math.sin(d), _ = -Math.sin(u), y = Math.cos(u), x = f + l * n * _, w = g + l * n * y, M = -Math.sin(d), C = Math.cos(d), P = p - l * n * M, R = m - l * n * C;
|
|
8652
|
+
c === 0 && t.push([f, g, r]), t.push([x, w, r]), t.push([P, R, r]), t.push([p, m, r]);
|
|
8653
8653
|
}
|
|
8654
8654
|
this.setPoints3D(t);
|
|
8655
8655
|
}
|
|
@@ -8803,9 +8803,9 @@ class To extends mn {
|
|
|
8803
8803
|
startAngle: 0
|
|
8804
8804
|
};
|
|
8805
8805
|
const c = Math.abs(i) / 2, u = l / Math.sin(c), d = u * Math.cos(c), f = 2 * l;
|
|
8806
|
-
let g = -h / f,
|
|
8807
|
-
i > 0 && (g = -g,
|
|
8808
|
-
const
|
|
8806
|
+
let g = -h / f, p = a / f;
|
|
8807
|
+
i > 0 && (g = -g, p = -p);
|
|
8808
|
+
const m = r + d * g, _ = n + d * p, y = [m, _, o], x = Math.atan2(t[1] - _, t[0] - m);
|
|
8809
8809
|
return { center: y, radius: u, startAngle: x };
|
|
8810
8810
|
}
|
|
8811
8811
|
/**
|
|
@@ -8833,7 +8833,7 @@ class To extends mn {
|
|
|
8833
8833
|
});
|
|
8834
8834
|
}
|
|
8835
8835
|
}
|
|
8836
|
-
class T0 extends
|
|
8836
|
+
class T0 extends I {
|
|
8837
8837
|
_width;
|
|
8838
8838
|
_height;
|
|
8839
8839
|
_centerPoint;
|
|
@@ -8946,7 +8946,7 @@ class T0 extends B {
|
|
|
8946
8946
|
});
|
|
8947
8947
|
}
|
|
8948
8948
|
}
|
|
8949
|
-
class C0 extends
|
|
8949
|
+
class C0 extends I {
|
|
8950
8950
|
_innerRadius;
|
|
8951
8951
|
_outerRadius;
|
|
8952
8952
|
_centerPoint;
|
|
@@ -9036,7 +9036,7 @@ class C0 extends B {
|
|
|
9036
9036
|
});
|
|
9037
9037
|
}
|
|
9038
9038
|
}
|
|
9039
|
-
class P0 extends
|
|
9039
|
+
class P0 extends I {
|
|
9040
9040
|
_innerRadius;
|
|
9041
9041
|
_outerRadius;
|
|
9042
9042
|
_startAngle;
|
|
@@ -9062,22 +9062,22 @@ class P0 extends B {
|
|
|
9062
9062
|
* Generate the annular sector points.
|
|
9063
9063
|
*/
|
|
9064
9064
|
_generatePoints() {
|
|
9065
|
-
const [t, e, i] = this._centerPoint, r = [], n = Math.max(1, Math.ceil(Math.abs(this._angle) / (Math.PI / 2) * (this._numComponents / 4))), o = this._angle / n, a = 4 / 3 * Math.tan(o / 4), h = (
|
|
9066
|
-
const x = t +
|
|
9065
|
+
const [t, e, i] = this._centerPoint, r = [], n = Math.max(1, Math.ceil(Math.abs(this._angle) / (Math.PI / 2) * (this._numComponents / 4))), o = this._angle / n, a = 4 / 3 * Math.tan(o / 4), h = (p, m, _, y) => {
|
|
9066
|
+
const x = t + p * Math.cos(m), w = e + p * Math.sin(m), M = t + p * Math.cos(_), C = e + p * Math.sin(_), P = -Math.sin(m), R = Math.cos(m), O = x + a * p * P, z = w + a * p * R, B = -Math.sin(_), W = Math.cos(_), H = M - a * p * B, N = C - a * p * W;
|
|
9067
9067
|
y && r.push([x, w, i]), r.push([O, z, i]), r.push([H, N, i]), r.push([M, C, i]);
|
|
9068
|
-
}, l = (
|
|
9069
|
-
const _ =
|
|
9070
|
-
r.push([
|
|
9068
|
+
}, l = (p, m) => {
|
|
9069
|
+
const _ = m[0] - p[0], y = m[1] - p[1];
|
|
9070
|
+
r.push([p[0] + _ / 3, p[1] + y / 3, i]), r.push([p[0] + 2 * _ / 3, p[1] + 2 * y / 3, i]), r.push([...m]);
|
|
9071
9071
|
};
|
|
9072
|
-
for (let
|
|
9073
|
-
const
|
|
9074
|
-
h(this._outerRadius,
|
|
9072
|
+
for (let p = 0; p < n; p++) {
|
|
9073
|
+
const m = this._startAngle + p * o, _ = this._startAngle + (p + 1) * o;
|
|
9074
|
+
h(this._outerRadius, m, _, p === 0);
|
|
9075
9075
|
}
|
|
9076
9076
|
const c = this._startAngle + this._angle, u = [t + this._outerRadius * Math.cos(c), e + this._outerRadius * Math.sin(c), i], d = [t + this._innerRadius * Math.cos(c), e + this._innerRadius * Math.sin(c), i];
|
|
9077
9077
|
l(u, d);
|
|
9078
|
-
for (let
|
|
9079
|
-
const
|
|
9080
|
-
h(this._innerRadius,
|
|
9078
|
+
for (let p = n - 1; p >= 0; p--) {
|
|
9079
|
+
const m = this._startAngle + (p + 1) * o, _ = this._startAngle + p * o;
|
|
9080
|
+
h(this._innerRadius, m, _, !1);
|
|
9081
9081
|
}
|
|
9082
9082
|
const f = [t + this._innerRadius * Math.cos(this._startAngle), e + this._innerRadius * Math.sin(this._startAngle), i], g = [t + this._outerRadius * Math.cos(this._startAngle), e + this._outerRadius * Math.sin(this._startAngle), i];
|
|
9083
9083
|
l(f, g), this.setPoints3D(r);
|
|
@@ -9159,7 +9159,7 @@ class P0 extends B {
|
|
|
9159
9159
|
});
|
|
9160
9160
|
}
|
|
9161
9161
|
}
|
|
9162
|
-
class A0 extends
|
|
9162
|
+
class A0 extends I {
|
|
9163
9163
|
_radius;
|
|
9164
9164
|
_startAngle;
|
|
9165
9165
|
_angle;
|
|
@@ -9191,8 +9191,8 @@ class A0 extends B {
|
|
|
9191
9191
|
r.push([t, e, i]);
|
|
9192
9192
|
const l = h[0] - t, c = h[1] - e;
|
|
9193
9193
|
r.push([t + l / 3, e + c / 3, i]), r.push([t + 2 * l / 3, e + 2 * c / 3, i]), r.push([...h]);
|
|
9194
|
-
for (let
|
|
9195
|
-
const
|
|
9194
|
+
for (let p = 0; p < n; p++) {
|
|
9195
|
+
const m = this._startAngle + p * o, _ = this._startAngle + (p + 1) * o, y = t + this._radius * Math.cos(m), x = e + this._radius * Math.sin(m), w = t + this._radius * Math.cos(_), M = e + this._radius * Math.sin(_), C = -Math.sin(m), P = Math.cos(m), R = y + a * this._radius * C, O = x + a * this._radius * P, z = -Math.sin(_), B = Math.cos(_), W = w - a * this._radius * z, H = M - a * this._radius * B;
|
|
9196
9196
|
r.push([R, O, i]), r.push([W, H, i]), r.push([w, M, i]);
|
|
9197
9197
|
}
|
|
9198
9198
|
const u = this._startAngle + this._angle, d = [
|
|
@@ -9272,7 +9272,7 @@ class A0 extends B {
|
|
|
9272
9272
|
});
|
|
9273
9273
|
}
|
|
9274
9274
|
}
|
|
9275
|
-
class D0 extends
|
|
9275
|
+
class D0 extends I {
|
|
9276
9276
|
_vertices;
|
|
9277
9277
|
_arcConfigs;
|
|
9278
9278
|
constructor(t) {
|
|
@@ -9315,13 +9315,13 @@ class D0 extends B {
|
|
|
9315
9315
|
const n = [], o = (t[0] + e[0]) / 2, a = (t[1] + e[1]) / 2, h = (t[2] + e[2]) / 2, l = e[0] - t[0], c = e[1] - t[1], u = Math.sqrt(l * l + c * c) / 2;
|
|
9316
9316
|
if (u < 1e-10)
|
|
9317
9317
|
return n.push([...t]), n;
|
|
9318
|
-
const d = Math.abs(i) / 2, f = u / Math.sin(d), g = f * Math.cos(d),
|
|
9319
|
-
let
|
|
9320
|
-
i > 0 && (
|
|
9321
|
-
const y = o + g *
|
|
9318
|
+
const d = Math.abs(i) / 2, f = u / Math.sin(d), g = f * Math.cos(d), p = 2 * u;
|
|
9319
|
+
let m = -c / p, _ = l / p;
|
|
9320
|
+
i > 0 && (m = -m, _ = -_);
|
|
9321
|
+
const y = o + g * m, x = a + g * _, w = Math.atan2(t[1] - x, t[0] - y), M = Math.max(1, Math.ceil(Math.abs(i) / (Math.PI / 2) * (r / 4))), C = i / M, P = 4 / 3 * Math.tan(C / 4);
|
|
9322
9322
|
for (let R = 0; R < M; R++) {
|
|
9323
|
-
const O = w + R * C, z = w + (R + 1) * C,
|
|
9324
|
-
R === 0 && n.push([
|
|
9323
|
+
const O = w + R * C, z = w + (R + 1) * C, B = y + f * Math.cos(O), W = x + f * Math.sin(O), H = y + f * Math.cos(z), N = x + f * Math.sin(z), q = -Math.sin(O), rt = Math.cos(O), ht = B + P * f * q, ot = W + P * f * rt, pt = -Math.sin(z), mt = Math.cos(z), it = H - P * f * pt, at = N - P * f * mt;
|
|
9324
|
+
R === 0 && n.push([B, W, h]), n.push([ht, ot, h]), n.push([it, at, h]), n.push([H, N, h]);
|
|
9325
9325
|
}
|
|
9326
9326
|
return n;
|
|
9327
9327
|
}
|
|
@@ -9350,7 +9350,7 @@ class D0 extends B {
|
|
|
9350
9350
|
});
|
|
9351
9351
|
}
|
|
9352
9352
|
}
|
|
9353
|
-
class R0 extends
|
|
9353
|
+
class R0 extends I {
|
|
9354
9354
|
_startPoint;
|
|
9355
9355
|
_endPoint;
|
|
9356
9356
|
_angle;
|
|
@@ -9381,18 +9381,18 @@ class R0 extends B {
|
|
|
9381
9381
|
return;
|
|
9382
9382
|
}
|
|
9383
9383
|
const c = Math.abs(this._angle) / 2, u = l / Math.sin(c), d = u * Math.cos(c), f = 2 * l;
|
|
9384
|
-
let g = -h / f,
|
|
9385
|
-
this._angle > 0 && (g = -g,
|
|
9386
|
-
const
|
|
9384
|
+
let g = -h / f, p = a / f;
|
|
9385
|
+
this._angle > 0 && (g = -g, p = -p);
|
|
9386
|
+
const m = r + d * g, _ = n + d * p, y = Math.atan2(e[1] - _, e[0] - m), w = Math.abs(u * this._angle) - this._tipLength, M = (this._angle > 0 ? 1 : -1) * (w / u), C = Math.max(1, Math.ceil(Math.abs(M) / (Math.PI / 2) * (this._numComponents / 4))), P = M / C, R = 4 / 3 * Math.tan(P / 4);
|
|
9387
9387
|
for (let wt = 0; wt < C; wt++) {
|
|
9388
|
-
const bt = y + wt * P, Z = y + (wt + 1) * P, Q =
|
|
9388
|
+
const bt = y + wt * P, Z = y + (wt + 1) * P, Q = m + u * Math.cos(bt), J = _ + u * Math.sin(bt), kt = m + u * Math.cos(Z), Ut = _ + u * Math.sin(Z), le = -Math.sin(bt), ie = Math.cos(bt), Zt = Q + R * u * le, De = J + R * u * ie, ri = -Math.sin(Z), Kt = Math.cos(Z), Xt = kt - R * u * ri, Rt = Ut - R * u * Kt;
|
|
9389
9389
|
wt === 0 && t.push([Q, J, o]), t.push([Zt, De, o]), t.push([Xt, Rt, o]), t.push([kt, Ut, o]);
|
|
9390
9390
|
}
|
|
9391
|
-
const O = y + M, z =
|
|
9391
|
+
const O = y + M, z = m + u * Math.cos(O), B = _ + u * Math.sin(O), W = y + this._angle, H = this._angle > 0 ? -Math.sin(W) : Math.sin(W), N = this._angle > 0 ? Math.cos(W) : -Math.cos(W), q = Math.sqrt(H * H + N * N), rt = H / q, ot = -(N / q), pt = rt, mt = z + ot * this._tipWidth, it = B + pt * this._tipWidth, at = z - ot * this._tipWidth, vt = B - pt * this._tipWidth, nt = (wt, bt) => {
|
|
9392
9392
|
const Z = bt[0] - wt[0], Q = bt[1] - wt[1], J = bt[2] - wt[2];
|
|
9393
9393
|
t.push([wt[0] + Z / 3, wt[1] + Q / 3, wt[2] + J / 3]), t.push([wt[0] + 2 * Z / 3, wt[1] + 2 * Q / 3, wt[2] + 2 * J / 3]), t.push([...bt]);
|
|
9394
9394
|
};
|
|
9395
|
-
nt([z,
|
|
9395
|
+
nt([z, B, o], [mt, it, o]), nt([mt, it, o], [i[0], i[1], o]), nt([i[0], i[1], o], [at, vt, o]), nt([at, vt, o], [z, B, o]), this.setPoints3D(t);
|
|
9396
9396
|
}
|
|
9397
9397
|
/**
|
|
9398
9398
|
* Get the start point
|
|
@@ -9458,7 +9458,7 @@ class R0 extends B {
|
|
|
9458
9458
|
});
|
|
9459
9459
|
}
|
|
9460
9460
|
}
|
|
9461
|
-
class L0 extends
|
|
9461
|
+
class L0 extends I {
|
|
9462
9462
|
_startPoint;
|
|
9463
9463
|
_endPoint;
|
|
9464
9464
|
_angle;
|
|
@@ -9489,22 +9489,22 @@ class L0 extends B {
|
|
|
9489
9489
|
return;
|
|
9490
9490
|
}
|
|
9491
9491
|
const c = Math.abs(this._angle) / 2, u = l / Math.sin(c), d = u * Math.cos(c), f = 2 * l;
|
|
9492
|
-
let g = -h / f,
|
|
9493
|
-
this._angle > 0 && (g = -g,
|
|
9494
|
-
const
|
|
9492
|
+
let g = -h / f, p = a / f;
|
|
9493
|
+
this._angle > 0 && (g = -g, p = -p);
|
|
9494
|
+
const m = r + d * g, _ = n + d * p, y = Math.atan2(e[1] - _, e[0] - m), x = (this._angle > 0 ? 1 : -1) * (this._tipLength / u), w = (this._angle > 0 ? -1 : 1) * (this._tipLength / u), M = y + x, C = y + this._angle + w, P = C - M, R = m + u * Math.cos(M), O = _ + u * Math.sin(M), z = this._angle > 0 ? Math.sin(y) : -Math.sin(y), B = this._angle > 0 ? -Math.cos(y) : Math.cos(y), W = Math.sqrt(z * z + B * B), H = z / W, q = -(B / W), rt = H, ht = R + q * this._tipWidth, ot = O + rt * this._tipWidth, pt = R - q * this._tipWidth, mt = O - rt * this._tipWidth, it = (Rt, ce, Re) => {
|
|
9495
9495
|
const is = ce[0] - Rt[0], ss = ce[1] - Rt[1], xi = ce[2] - Rt[2];
|
|
9496
9496
|
Re && t.push([...Rt]), t.push([Rt[0] + is / 3, Rt[1] + ss / 3, Rt[2] + xi / 3]), t.push([Rt[0] + 2 * is / 3, Rt[1] + 2 * ss / 3, Rt[2] + 2 * xi / 3]), t.push([...ce]);
|
|
9497
9497
|
};
|
|
9498
9498
|
it([e[0], e[1], o], [ht, ot, o], !0), it([ht, ot, o], [R, O, o], !1);
|
|
9499
9499
|
const at = Math.max(1, Math.ceil(Math.abs(P) / (Math.PI / 2) * (this._numComponents / 4))), vt = P / at, nt = 4 / 3 * Math.tan(vt / 4);
|
|
9500
9500
|
for (let Rt = 0; Rt < at; Rt++) {
|
|
9501
|
-
const ce = M + Rt * vt, Re = M + (Rt + 1) * vt, is =
|
|
9501
|
+
const ce = M + Rt * vt, Re = M + (Rt + 1) * vt, is = m + u * Math.cos(ce), ss = _ + u * Math.sin(ce), xi = m + u * Math.cos(Re), Cs = _ + u * Math.sin(Re), On = -Math.sin(ce), En = Math.cos(ce), Fn = is + nt * u * On, zn = ss + nt * u * En, Bn = -Math.sin(Re), In = Math.cos(Re), Wn = xi - nt * u * Bn, Un = Cs - nt * u * In;
|
|
9502
9502
|
t.push([Fn, zn, o]), t.push([Wn, Un, o]), t.push([xi, Cs, o]);
|
|
9503
9503
|
}
|
|
9504
|
-
const wt =
|
|
9504
|
+
const wt = m + u * Math.cos(C), bt = _ + u * Math.sin(C), Z = y + this._angle, Q = this._angle > 0 ? -Math.sin(Z) : Math.sin(Z), J = this._angle > 0 ? Math.cos(Z) : -Math.cos(Z), kt = Math.sqrt(Q * Q + J * J), Ut = Q / kt, ie = -(J / kt), Zt = Ut, De = wt + ie * this._tipWidth, ri = bt + Zt * this._tipWidth, Kt = wt - ie * this._tipWidth, Xt = bt - Zt * this._tipWidth;
|
|
9505
9505
|
it([wt, bt, o], [De, ri, o], !1), it([De, ri, o], [i[0], i[1], o], !1), it([i[0], i[1], o], [Kt, Xt, o], !1), it([Kt, Xt, o], [wt, bt, o], !1);
|
|
9506
9506
|
for (let Rt = at - 1; Rt >= 0; Rt--) {
|
|
9507
|
-
const ce = M + (Rt + 1) * vt, Re = M + Rt * vt, is =
|
|
9507
|
+
const ce = M + (Rt + 1) * vt, Re = M + Rt * vt, is = m + u * Math.cos(ce), ss = _ + u * Math.sin(ce), xi = m + u * Math.cos(Re), Cs = _ + u * Math.sin(Re), On = -Math.sin(ce), En = Math.cos(ce), Fn = is - nt * u * On, zn = ss - nt * u * En, Bn = -Math.sin(Re), In = Math.cos(Re), Wn = xi + nt * u * Bn, Un = Cs + nt * u * In;
|
|
9508
9508
|
t.push([Fn, zn, o]), t.push([Wn, Un, o]), t.push([xi, Cs, o]);
|
|
9509
9509
|
}
|
|
9510
9510
|
it([R, O, o], [pt, mt, o], !1), it([pt, mt, o], [e[0], e[1], o], !1), this.setPoints3D(t);
|
|
@@ -9578,7 +9578,7 @@ class O0 extends mn {
|
|
|
9578
9578
|
i[0] / l,
|
|
9579
9579
|
i[1] / l,
|
|
9580
9580
|
i[2] / l
|
|
9581
|
-
], u = n > 0 ? 1 : -1, d = -u * c[1], f = u * c[0], g = e[0] + r * d,
|
|
9581
|
+
], u = n > 0 ? 1 : -1, d = -u * c[1], f = u * c[0], g = e[0] + r * d, p = e[1] + r * f, m = [g, p, e[2]], _ = Math.atan2(e[1] - p, e[0] - g);
|
|
9582
9582
|
super({
|
|
9583
9583
|
radius: r,
|
|
9584
9584
|
startAngle: _,
|
|
@@ -9586,7 +9586,7 @@ class O0 extends mn {
|
|
|
9586
9586
|
color: o,
|
|
9587
9587
|
strokeWidth: a,
|
|
9588
9588
|
numComponents: h,
|
|
9589
|
-
center:
|
|
9589
|
+
center: m
|
|
9590
9590
|
}), this._direction = [...c];
|
|
9591
9591
|
}
|
|
9592
9592
|
/**
|
|
@@ -9610,7 +9610,7 @@ class O0 extends mn {
|
|
|
9610
9610
|
});
|
|
9611
9611
|
}
|
|
9612
9612
|
}
|
|
9613
|
-
class aa extends
|
|
9613
|
+
class aa extends I {
|
|
9614
9614
|
_start;
|
|
9615
9615
|
_end;
|
|
9616
9616
|
_dashLength;
|
|
@@ -9647,17 +9647,17 @@ class aa extends B {
|
|
|
9647
9647
|
this._start[0] + n * d,
|
|
9648
9648
|
this._start[1] + o * d,
|
|
9649
9649
|
this._start[2] + a * d
|
|
9650
|
-
],
|
|
9650
|
+
], p = [
|
|
9651
9651
|
this._start[0] + n * f,
|
|
9652
9652
|
this._start[1] + o * f,
|
|
9653
9653
|
this._start[2] + a * f
|
|
9654
|
-
],
|
|
9654
|
+
], m = new _e({
|
|
9655
9655
|
start: g,
|
|
9656
|
-
end:
|
|
9656
|
+
end: p,
|
|
9657
9657
|
color: this.color,
|
|
9658
9658
|
strokeWidth: this.strokeWidth
|
|
9659
9659
|
});
|
|
9660
|
-
this._dashes.push(
|
|
9660
|
+
this._dashes.push(m), this.add(m);
|
|
9661
9661
|
}
|
|
9662
9662
|
u += c;
|
|
9663
9663
|
}
|
|
@@ -9805,7 +9805,7 @@ class E0 extends ze {
|
|
|
9805
9805
|
l
|
|
9806
9806
|
);
|
|
9807
9807
|
if (c.length >= 2) {
|
|
9808
|
-
const u = new
|
|
9808
|
+
const u = new I();
|
|
9809
9809
|
u.setPoints3D(c), u.color = this._dashColor, u.strokeWidth = this._dashStrokeWidth, u.fillOpacity = 0, this._dashSegments.push(u), this.add(u);
|
|
9810
9810
|
}
|
|
9811
9811
|
o += r, a++;
|
|
@@ -9935,7 +9935,7 @@ class E0 extends ze {
|
|
|
9935
9935
|
});
|
|
9936
9936
|
}
|
|
9937
9937
|
}
|
|
9938
|
-
class Wr extends
|
|
9938
|
+
class Wr extends I {
|
|
9939
9939
|
_controlPoints;
|
|
9940
9940
|
constructor(t) {
|
|
9941
9941
|
super();
|
|
@@ -10094,10 +10094,10 @@ class Wr extends B {
|
|
|
10094
10094
|
* @returns Two CubicBezier curves [left, right]
|
|
10095
10095
|
*/
|
|
10096
10096
|
splitAtT(t) {
|
|
10097
|
-
const [e, i, r, n] = this._controlPoints, o = (
|
|
10098
|
-
|
|
10099
|
-
|
|
10100
|
-
|
|
10097
|
+
const [e, i, r, n] = this._controlPoints, o = (p, m, _) => [
|
|
10098
|
+
p[0] + (m[0] - p[0]) * _,
|
|
10099
|
+
p[1] + (m[1] - p[1]) * _,
|
|
10100
|
+
p[2] + (m[2] - p[2]) * _
|
|
10101
10101
|
], a = o(e, i, t), h = o(i, r, t), l = o(r, n, t), c = o(a, h, t), u = o(h, l, t), d = o(c, u, t), f = new Wr({
|
|
10102
10102
|
points: [e, a, c, d],
|
|
10103
10103
|
color: this.color,
|
|
@@ -10273,7 +10273,7 @@ class B0 extends ve {
|
|
|
10273
10273
|
});
|
|
10274
10274
|
}
|
|
10275
10275
|
}
|
|
10276
|
-
class I0 extends
|
|
10276
|
+
class I0 extends I {
|
|
10277
10277
|
_targetMobject;
|
|
10278
10278
|
_buff;
|
|
10279
10279
|
_cornerRadius;
|
|
@@ -10305,8 +10305,8 @@ class I0 extends B {
|
|
|
10305
10305
|
*/
|
|
10306
10306
|
_generateSharpCornerPoints(t, e, i, r, n) {
|
|
10307
10307
|
const o = [t - r, e + n, i], a = [t + r, e + n, i], h = [t + r, e - n, i], l = [t - r, e - n, i], c = [], u = (d, f, g) => {
|
|
10308
|
-
const
|
|
10309
|
-
g ? (c.push([...d]), c.push([d[0] +
|
|
10308
|
+
const p = f[0] - d[0], m = f[1] - d[1], _ = f[2] - d[2];
|
|
10309
|
+
g ? (c.push([...d]), c.push([d[0] + p / 3, d[1] + m / 3, d[2] + _ / 3]), c.push([d[0] + 2 * p / 3, d[1] + 2 * m / 3, d[2] + 2 * _ / 3]), c.push([...f])) : (c.push([d[0] + p / 3, d[1] + m / 3, d[2] + _ / 3]), c.push([d[0] + 2 * p / 3, d[1] + 2 * m / 3, d[2] + 2 * _ / 3]), c.push([...f]));
|
|
10310
10310
|
};
|
|
10311
10311
|
u(o, a, !0), u(a, h, !1), u(h, l, !1), u(l, o, !1), this.setPoints3D(c);
|
|
10312
10312
|
}
|
|
@@ -10314,17 +10314,17 @@ class I0 extends B {
|
|
|
10314
10314
|
* Generate points for rounded corner rectangle
|
|
10315
10315
|
*/
|
|
10316
10316
|
_generateRoundedCornerPoints(t, e, i, r, n, o) {
|
|
10317
|
-
const a = [], h = 0.5522847498, l = t - r + o, c = e + n - o, u = t + r - o, d = e + n - o, f = t + r - o, g = e - n + o,
|
|
10318
|
-
const P = Math.cos(M), R = Math.sin(M), O = Math.cos(M + Math.PI / 2), z = Math.sin(M + Math.PI / 2),
|
|
10319
|
-
|
|
10320
|
-
|
|
10317
|
+
const a = [], h = 0.5522847498, l = t - r + o, c = e + n - o, u = t + r - o, d = e + n - o, f = t + r - o, g = e - n + o, p = t - r + o, m = e - n + o, _ = (x, w, M, C) => {
|
|
10318
|
+
const P = Math.cos(M), R = Math.sin(M), O = Math.cos(M + Math.PI / 2), z = Math.sin(M + Math.PI / 2), B = [x + o * P, w + o * R, i], W = [x + o * O, w + o * z, i], H = [
|
|
10319
|
+
B[0] - h * o * R,
|
|
10320
|
+
B[1] + h * o * P,
|
|
10321
10321
|
i
|
|
10322
10322
|
], N = [
|
|
10323
10323
|
W[0] + h * o * z,
|
|
10324
10324
|
W[1] - h * o * O,
|
|
10325
10325
|
i
|
|
10326
10326
|
];
|
|
10327
|
-
C && a.push([...
|
|
10327
|
+
C && a.push([...B]), a.push([...H], [...N], [...W]);
|
|
10328
10328
|
}, y = (x, w) => {
|
|
10329
10329
|
const M = w[0] - x[0], C = w[1] - x[1], P = w[2] - x[2];
|
|
10330
10330
|
a.push([x[0] + M / 3, x[1] + C / 3, x[2] + P / 3]), a.push([x[0] + 2 * M / 3, x[1] + 2 * C / 3, x[2] + 2 * P / 3]), a.push([...w]);
|
|
@@ -10337,9 +10337,9 @@ class I0 extends B {
|
|
|
10337
10337
|
[t + r, g, i]
|
|
10338
10338
|
), _(f, g, -Math.PI / 2, !1), y(
|
|
10339
10339
|
[f, e - n, i],
|
|
10340
|
-
[
|
|
10341
|
-
), _(
|
|
10342
|
-
[t - r,
|
|
10340
|
+
[p, e - n, i]
|
|
10341
|
+
), _(p, m, Math.PI, !1), y(
|
|
10342
|
+
[t - r, m, i],
|
|
10343
10343
|
[t - r, c, i]
|
|
10344
10344
|
), this.setPoints3D(a);
|
|
10345
10345
|
}
|
|
@@ -10466,7 +10466,7 @@ class W0 extends _e {
|
|
|
10466
10466
|
});
|
|
10467
10467
|
}
|
|
10468
10468
|
}
|
|
10469
|
-
class U0 extends
|
|
10469
|
+
class U0 extends I {
|
|
10470
10470
|
_targetMobject;
|
|
10471
10471
|
_scale;
|
|
10472
10472
|
_line1;
|
|
@@ -10542,7 +10542,7 @@ class U0 extends B {
|
|
|
10542
10542
|
});
|
|
10543
10543
|
}
|
|
10544
10544
|
}
|
|
10545
|
-
class ha extends
|
|
10545
|
+
class ha extends I {
|
|
10546
10546
|
_width;
|
|
10547
10547
|
_height;
|
|
10548
10548
|
_cornerRadius;
|
|
@@ -10565,20 +10565,20 @@ class ha extends B {
|
|
|
10565
10565
|
*/
|
|
10566
10566
|
_generatePoints() {
|
|
10567
10567
|
const t = [], e = this._width / 2, i = this._height / 2, r = this._cornerRadius, [n, o, a] = this._centerPoint, h = 4 / 3 * Math.tan(Math.PI / 8), l = (C, P, R) => {
|
|
10568
|
-
const O = P[0] - C[0], z = P[1] - C[1],
|
|
10569
|
-
t.push([C[0] + O / 3, C[1] + z / 3, C[2] +
|
|
10568
|
+
const O = P[0] - C[0], z = P[1] - C[1], B = P[2] - C[2];
|
|
10569
|
+
t.push([C[0] + O / 3, C[1] + z / 3, C[2] + B / 3]), t.push([C[0] + 2 * O / 3, C[1] + 2 * z / 3, C[2] + 2 * B / 3]), t.push([...P]);
|
|
10570
10570
|
}, c = (C, P, R) => {
|
|
10571
|
-
const O = R, z = R + Math.PI / 2,
|
|
10571
|
+
const O = R, z = R + Math.PI / 2, B = C + r * Math.cos(O), W = P + r * Math.sin(O), H = C + r * Math.cos(z), N = P + r * Math.sin(z), q = -Math.sin(O), rt = Math.cos(O), ht = B + h * r * q, ot = W + h * r * rt, pt = -Math.sin(z), mt = Math.cos(z), it = H - h * r * pt, at = N - h * r * mt;
|
|
10572
10572
|
t.push([ht, ot, a]), t.push([it, at, a]), t.push([H, N, a]);
|
|
10573
|
-
}, u = n - e + r, d = o + i - r, f = n + e - r, g = o + i - r,
|
|
10573
|
+
}, u = n - e + r, d = o + i - r, f = n + e - r, g = o + i - r, p = n + e - r, m = o - i + r, _ = n - e + r, y = o - i + r, x = n - e, w = o + i - r, M = Math.PI;
|
|
10574
10574
|
t.push([x, w, a]), c(u, d, M), l(
|
|
10575
10575
|
[u, o + i, a],
|
|
10576
10576
|
[f, o + i, a]
|
|
10577
10577
|
), c(f, g, Math.PI / 2), l(
|
|
10578
10578
|
[n + e, g, a],
|
|
10579
|
-
[n + e,
|
|
10580
|
-
), c(
|
|
10581
|
-
[
|
|
10579
|
+
[n + e, m, a]
|
|
10580
|
+
), c(p, m, 0), l(
|
|
10581
|
+
[p, o - i, a],
|
|
10582
10582
|
[_, o - i, a]
|
|
10583
10583
|
), c(_, y, -Math.PI / 2), l(
|
|
10584
10584
|
[n - e, y, a],
|
|
@@ -10648,7 +10648,7 @@ class ha extends B {
|
|
|
10648
10648
|
});
|
|
10649
10649
|
}
|
|
10650
10650
|
}
|
|
10651
|
-
class j0 extends
|
|
10651
|
+
class j0 extends I {
|
|
10652
10652
|
_numPoints;
|
|
10653
10653
|
_outerRadius;
|
|
10654
10654
|
_innerRadius;
|
|
@@ -10754,7 +10754,7 @@ function op(s, t) {
|
|
|
10754
10754
|
[s, t] = [t, s % t];
|
|
10755
10755
|
return s;
|
|
10756
10756
|
}
|
|
10757
|
-
class N0 extends
|
|
10757
|
+
class N0 extends I {
|
|
10758
10758
|
_numVertices;
|
|
10759
10759
|
_density;
|
|
10760
10760
|
_radius;
|
|
@@ -10809,8 +10809,8 @@ class N0 extends B {
|
|
|
10809
10809
|
const h = this._numComponents, l = (c) => {
|
|
10810
10810
|
const u = [];
|
|
10811
10811
|
for (let d = 0; d < c.length; d++) {
|
|
10812
|
-
const f = a[c[d]], g = a[c[(d + 1) % c.length]],
|
|
10813
|
-
d === 0 && u.push([...f]), u.push([f[0] +
|
|
10812
|
+
const f = a[c[d]], g = a[c[(d + 1) % c.length]], p = g[0] - f[0], m = g[1] - f[1], _ = g[2] - f[2];
|
|
10813
|
+
d === 0 && u.push([...f]), u.push([f[0] + p / 3, f[1] + m / 3, f[2] + _ / 3]), u.push([f[0] + 2 * p / 3, f[1] + 2 * m / 3, f[2] + 2 * _ / 3]), u.push([...g]);
|
|
10814
10814
|
}
|
|
10815
10815
|
return u;
|
|
10816
10816
|
};
|
|
@@ -10827,10 +10827,10 @@ class N0 extends B {
|
|
|
10827
10827
|
const u = [];
|
|
10828
10828
|
let d = c;
|
|
10829
10829
|
const f = r / h;
|
|
10830
|
-
for (let
|
|
10830
|
+
for (let m = 0; m < f; m++)
|
|
10831
10831
|
u.push(d), d = (d + n) % r;
|
|
10832
|
-
const g = l(u),
|
|
10833
|
-
|
|
10832
|
+
const g = l(u), p = new I();
|
|
10833
|
+
p.color = this.color, p.fillOpacity = this.fillOpacity, p.strokeWidth = this.strokeWidth, p.setPoints3D(g), this.add(p);
|
|
10834
10834
|
}
|
|
10835
10835
|
}
|
|
10836
10836
|
}
|
|
@@ -10900,7 +10900,7 @@ class N0 extends B {
|
|
|
10900
10900
|
});
|
|
10901
10901
|
}
|
|
10902
10902
|
}
|
|
10903
|
-
class G0 extends
|
|
10903
|
+
class G0 extends I {
|
|
10904
10904
|
_outerShape;
|
|
10905
10905
|
_innerShape;
|
|
10906
10906
|
constructor(t) {
|
|
@@ -10954,7 +10954,7 @@ class G0 extends B {
|
|
|
10954
10954
|
});
|
|
10955
10955
|
}
|
|
10956
10956
|
}
|
|
10957
|
-
class V0 extends
|
|
10957
|
+
class V0 extends I {
|
|
10958
10958
|
_inputPoints;
|
|
10959
10959
|
_hullVertices;
|
|
10960
10960
|
constructor(t) {
|
|
@@ -11089,7 +11089,7 @@ class V0 extends B {
|
|
|
11089
11089
|
});
|
|
11090
11090
|
}
|
|
11091
11091
|
}
|
|
11092
|
-
class H0 extends
|
|
11092
|
+
class H0 extends I {
|
|
11093
11093
|
_vertex;
|
|
11094
11094
|
_startAngle;
|
|
11095
11095
|
_angleValue;
|
|
@@ -11119,12 +11119,12 @@ class H0 extends B {
|
|
|
11119
11119
|
[u, d, f] = t.points;
|
|
11120
11120
|
this._vertex = [...d];
|
|
11121
11121
|
const g = Math.atan2(u[1] - d[1], u[0] - d[0]);
|
|
11122
|
-
let
|
|
11122
|
+
let m = Math.atan2(f[1] - d[1], f[0] - d[0]) - g;
|
|
11123
11123
|
if (r !== void 0) {
|
|
11124
|
-
const _ = this._adjustForQuadrant(g,
|
|
11124
|
+
const _ = this._adjustForQuadrant(g, m, r);
|
|
11125
11125
|
this._startAngle = _.start, this._angleValue = _.delta;
|
|
11126
11126
|
} else
|
|
11127
|
-
|
|
11127
|
+
m < 0 && (m += 2 * Math.PI), this._startAngle = g, this._angleValue = m, n && (this._angleValue = m - 2 * Math.PI);
|
|
11128
11128
|
this._generatePoints();
|
|
11129
11129
|
}
|
|
11130
11130
|
_distance(t, e) {
|
|
@@ -11148,8 +11148,8 @@ class H0 extends B {
|
|
|
11148
11148
|
_generatePoints() {
|
|
11149
11149
|
const t = [], [e, i, r] = this._vertex, n = this._radius, o = this._angleValue, a = Math.max(1, Math.ceil(Math.abs(o) / (Math.PI / 2) * 2)), h = o / a, l = 4 / 3 * Math.tan(h / 4);
|
|
11150
11150
|
for (let c = 0; c < a; c++) {
|
|
11151
|
-
const u = this._startAngle + c * h, d = this._startAngle + (c + 1) * h, f = e + n * Math.cos(u), g = i + n * Math.sin(u),
|
|
11152
|
-
c === 0 && t.push([f, g, r]), t.push([x, w, r]), t.push([P, R, r]), t.push([
|
|
11151
|
+
const u = this._startAngle + c * h, d = this._startAngle + (c + 1) * h, f = e + n * Math.cos(u), g = i + n * Math.sin(u), p = e + n * Math.cos(d), m = i + n * Math.sin(d), _ = -Math.sin(u), y = Math.cos(u), x = f + l * n * _, w = g + l * n * y, M = -Math.sin(d), C = Math.cos(d), P = p - l * n * M, R = m - l * n * C;
|
|
11152
|
+
c === 0 && t.push([f, g, r]), t.push([x, w, r]), t.push([P, R, r]), t.push([p, m, r]);
|
|
11153
11153
|
}
|
|
11154
11154
|
this.setPoints3D(t);
|
|
11155
11155
|
}
|
|
@@ -11242,7 +11242,7 @@ class H0 extends B {
|
|
|
11242
11242
|
return n._label = this._label, n;
|
|
11243
11243
|
}
|
|
11244
11244
|
}
|
|
11245
|
-
class q0 extends
|
|
11245
|
+
class q0 extends I {
|
|
11246
11246
|
_vertex;
|
|
11247
11247
|
_size;
|
|
11248
11248
|
_angle1;
|
|
@@ -11257,8 +11257,8 @@ class q0 extends B {
|
|
|
11257
11257
|
this._size = i, this.color = r, this.fillOpacity = 0, this.strokeWidth = n;
|
|
11258
11258
|
let o, a, h;
|
|
11259
11259
|
if ("line1" in t && "line2" in t) {
|
|
11260
|
-
const l = t.line1.getStart(), c = t.line1.getEnd(), u = t.line2.getStart(), d = t.line2.getEnd(), f = this._distance(l, u), g = this._distance(l, d),
|
|
11261
|
-
_ === f ? (a = l, o = c, h = d) : _ === g ? (a = l, o = c, h = u) : _ ===
|
|
11260
|
+
const l = t.line1.getStart(), c = t.line1.getEnd(), u = t.line2.getStart(), d = t.line2.getEnd(), f = this._distance(l, u), g = this._distance(l, d), p = this._distance(c, u), m = this._distance(c, d), _ = Math.min(f, g, p, m);
|
|
11261
|
+
_ === f ? (a = l, o = c, h = d) : _ === g ? (a = l, o = c, h = u) : _ === p ? (a = c, o = l, h = d) : (a = c, o = l, h = u);
|
|
11262
11262
|
} else
|
|
11263
11263
|
[o, a, h] = t.points;
|
|
11264
11264
|
this._vertex = [...a], this._angle1 = Math.atan2(o[1] - a[1], o[0] - a[0]), this._angle2 = Math.atan2(h[1] - a[1], h[0] - a[0]), this._generatePoints();
|
|
@@ -11325,7 +11325,7 @@ class q0 extends B {
|
|
|
11325
11325
|
);
|
|
11326
11326
|
}
|
|
11327
11327
|
}
|
|
11328
|
-
class X0 extends
|
|
11328
|
+
class X0 extends I {
|
|
11329
11329
|
_width;
|
|
11330
11330
|
_height;
|
|
11331
11331
|
_angle;
|
|
@@ -11417,7 +11417,7 @@ class X0 extends B {
|
|
|
11417
11417
|
});
|
|
11418
11418
|
}
|
|
11419
11419
|
}
|
|
11420
|
-
class Y0 extends
|
|
11420
|
+
class Y0 extends I {
|
|
11421
11421
|
_vmobject;
|
|
11422
11422
|
_t;
|
|
11423
11423
|
_length;
|
|
@@ -11451,11 +11451,11 @@ class Y0 extends B {
|
|
|
11451
11451
|
const f = Math.floor(t * (i - 1)), g = t * (i - 1) - f;
|
|
11452
11452
|
if (f >= i - 1)
|
|
11453
11453
|
return [e[i - 1][0], e[i - 1][1], e[i - 1][2]];
|
|
11454
|
-
const
|
|
11454
|
+
const p = e[f], m = e[f + 1];
|
|
11455
11455
|
return [
|
|
11456
|
-
|
|
11457
|
-
|
|
11458
|
-
|
|
11456
|
+
p[0] + (m[0] - p[0]) * g,
|
|
11457
|
+
p[1] + (m[1] - p[1]) * g,
|
|
11458
|
+
p[2] + (m[2] - p[2]) * g
|
|
11459
11459
|
];
|
|
11460
11460
|
}
|
|
11461
11461
|
const r = Math.floor((i - 1) / 3);
|
|
@@ -11928,16 +11928,16 @@ function Js(s) {
|
|
|
11928
11928
|
}
|
|
11929
11929
|
const pp = (3 + 16 * ui) * ui, mp = (2 + 12 * ui) * ui, gp = (9 + 64 * ui) * ui * ui, ns = Js(4), ph = Js(8), mh = Js(12), gh = Js(16), re = Js(4);
|
|
11930
11930
|
function _p(s, t, e, i, r, n, o) {
|
|
11931
|
-
let a, h, l, c, u, d, f, g,
|
|
11932
|
-
const O = s - r, z = e - r,
|
|
11933
|
-
w = O * W, d = se * O, f = d - (d - O), g = O - f, d = se * W,
|
|
11931
|
+
let a, h, l, c, u, d, f, g, p, m, _, y, x, w, M, C, P, R;
|
|
11932
|
+
const O = s - r, z = e - r, B = t - n, W = i - n;
|
|
11933
|
+
w = O * W, d = se * O, f = d - (d - O), g = O - f, d = se * W, p = d - (d - W), m = W - p, M = g * m - (w - f * p - g * p - f * m), C = B * z, d = se * B, f = d - (d - B), g = B - f, d = se * z, p = d - (d - z), m = z - p, P = g * m - (C - f * p - g * p - f * m), _ = M - P, u = M - _, ns[0] = M - (_ + u) + (u - P), y = w + _, u = y - w, x = w - (y - u) + (_ - u), _ = x - C, u = x - _, ns[1] = x - (_ + u) + (u - C), R = y + _, u = R - y, ns[2] = y - (R - u) + (_ - u), ns[3] = R;
|
|
11934
11934
|
let H = fp(4, ns), N = mp * o;
|
|
11935
|
-
if (H >= N || -H >= N || (u = s - O, a = s - (O + u) + (u - r), u = e - z, l = e - (z + u) + (u - r), u = t -
|
|
11936
|
-
w = a * W, d = se * a, f = d - (d - a), g = a - f, d = se * W,
|
|
11935
|
+
if (H >= N || -H >= N || (u = s - O, a = s - (O + u) + (u - r), u = e - z, l = e - (z + u) + (u - r), u = t - B, h = t - (B + u) + (u - n), u = i - W, c = i - (W + u) + (u - n), a === 0 && h === 0 && l === 0 && c === 0) || (N = gp * o + dp * Math.abs(H), H += O * c + W * a - (B * l + z * h), H >= N || -H >= N)) return H;
|
|
11936
|
+
w = a * W, d = se * a, f = d - (d - a), g = a - f, d = se * W, p = d - (d - W), m = W - p, M = g * m - (w - f * p - g * p - f * m), C = h * z, d = se * h, f = d - (d - h), g = h - f, d = se * z, p = d - (d - z), m = z - p, P = g * m - (C - f * p - g * p - f * m), _ = M - P, u = M - _, re[0] = M - (_ + u) + (u - P), y = w + _, u = y - w, x = w - (y - u) + (_ - u), _ = x - C, u = x - _, re[1] = x - (_ + u) + (u - C), R = y + _, u = R - y, re[2] = y - (R - u) + (_ - u), re[3] = R;
|
|
11937
11937
|
const q = qn(4, ns, 4, re, ph);
|
|
11938
|
-
w = O * c, d = se * O, f = d - (d - O), g = O - f, d = se * c,
|
|
11938
|
+
w = O * c, d = se * O, f = d - (d - O), g = O - f, d = se * c, p = d - (d - c), m = c - p, M = g * m - (w - f * p - g * p - f * m), C = B * l, d = se * B, f = d - (d - B), g = B - f, d = se * l, p = d - (d - l), m = l - p, P = g * m - (C - f * p - g * p - f * m), _ = M - P, u = M - _, re[0] = M - (_ + u) + (u - P), y = w + _, u = y - w, x = w - (y - u) + (_ - u), _ = x - C, u = x - _, re[1] = x - (_ + u) + (u - C), R = y + _, u = R - y, re[2] = y - (R - u) + (_ - u), re[3] = R;
|
|
11939
11939
|
const rt = qn(q, ph, 4, re, mh);
|
|
11940
|
-
w = a * c, d = se * a, f = d - (d - a), g = a - f, d = se * c,
|
|
11940
|
+
w = a * c, d = se * a, f = d - (d - a), g = a - f, d = se * c, p = d - (d - c), m = c - p, M = g * m - (w - f * p - g * p - f * m), C = h * l, d = se * h, f = d - (d - h), g = h - f, d = se * l, p = d - (d - l), m = l - p, P = g * m - (C - f * p - g * p - f * m), _ = M - P, u = M - _, re[0] = M - (_ + u) + (u - P), y = w + _, u = y - w, x = w - (y - u) + (_ - u), _ = x - C, u = x - _, re[1] = x - (_ + u) + (u - C), R = y + _, u = R - y, re[2] = y - (R - u) + (_ - u), re[3] = R;
|
|
11941
11941
|
const ht = qn(rt, mh, 4, re, gh);
|
|
11942
11942
|
return gh[ht - 1];
|
|
11943
11943
|
}
|
|
@@ -12512,22 +12512,22 @@ class Zr {
|
|
|
12512
12512
|
for (; ; ) {
|
|
12513
12513
|
const d = a.getAvailableLinkedEvents();
|
|
12514
12514
|
if (d.length === 0) {
|
|
12515
|
-
const
|
|
12516
|
-
throw new Error(`Unable to complete output ring starting at [${
|
|
12515
|
+
const p = l[0].point, m = l[l.length - 1].point;
|
|
12516
|
+
throw new Error(`Unable to complete output ring starting at [${p.x}, ${p.y}]. Last matching segment found ends at [${m.x}, ${m.y}].`);
|
|
12517
12517
|
}
|
|
12518
12518
|
if (d.length === 1) {
|
|
12519
12519
|
h = d[0].otherSE;
|
|
12520
12520
|
break;
|
|
12521
12521
|
}
|
|
12522
12522
|
let f = null;
|
|
12523
|
-
for (let
|
|
12524
|
-
if (u[
|
|
12525
|
-
f =
|
|
12523
|
+
for (let p = 0, m = u.length; p < m; p++)
|
|
12524
|
+
if (u[p].point === a.point) {
|
|
12525
|
+
f = p;
|
|
12526
12526
|
break;
|
|
12527
12527
|
}
|
|
12528
12528
|
if (f !== null) {
|
|
12529
|
-
const
|
|
12530
|
-
|
|
12529
|
+
const p = u.splice(f)[0], m = l.splice(p.index);
|
|
12530
|
+
m.unshift(m[0].otherSE), e.push(new Zr(m.reverse()));
|
|
12531
12531
|
continue;
|
|
12532
12532
|
}
|
|
12533
12533
|
u.push({
|
|
@@ -12721,13 +12721,13 @@ class Ap {
|
|
|
12721
12721
|
if (Fe.type === "intersection")
|
|
12722
12722
|
for (let u = 0, d = r.length; u < d; u++) {
|
|
12723
12723
|
const f = r[u];
|
|
12724
|
-
for (let g = u + 1,
|
|
12724
|
+
for (let g = u + 1, p = r.length; g < p; g++)
|
|
12725
12725
|
if (Ro(f.bbox, r[g].bbox) === null) return [];
|
|
12726
12726
|
}
|
|
12727
12727
|
const n = new la(Me.compare);
|
|
12728
12728
|
for (let u = 0, d = r.length; u < d; u++) {
|
|
12729
12729
|
const f = r[u].getSweepEvents();
|
|
12730
|
-
for (let g = 0,
|
|
12730
|
+
for (let g = 0, p = f.length; g < p; g++)
|
|
12731
12731
|
if (n.insert(f[g]), n.size > Mh)
|
|
12732
12732
|
throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).");
|
|
12733
12733
|
}
|
|
@@ -12745,8 +12745,8 @@ class Ap {
|
|
|
12745
12745
|
throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");
|
|
12746
12746
|
const d = o.process(u);
|
|
12747
12747
|
for (let f = 0, g = d.length; f < g; f++) {
|
|
12748
|
-
const
|
|
12749
|
-
|
|
12748
|
+
const p = d[f];
|
|
12749
|
+
p.consumedBy === void 0 && n.insert(p);
|
|
12750
12750
|
}
|
|
12751
12751
|
a = n.size, h = n.pop();
|
|
12752
12752
|
}
|
|
@@ -12778,7 +12778,7 @@ var vr = {
|
|
|
12778
12778
|
xor: Lp,
|
|
12779
12779
|
difference: Op
|
|
12780
12780
|
};
|
|
12781
|
-
class gn extends
|
|
12781
|
+
class gn extends I {
|
|
12782
12782
|
_resultVertices = [];
|
|
12783
12783
|
/** Control-point counts per subpath (for multi-polygon results) */
|
|
12784
12784
|
_subpathLengths = [];
|
|
@@ -13013,17 +13013,17 @@ function Xn(s, t = {}) {
|
|
|
13013
13013
|
const u = [];
|
|
13014
13014
|
let d = !0;
|
|
13015
13015
|
for (const f of c) {
|
|
13016
|
-
const g = f.map(([_, y]) => Np(_, y, n, a, h)),
|
|
13017
|
-
if (
|
|
13018
|
-
const
|
|
13019
|
-
if (
|
|
13016
|
+
const g = f.map(([_, y]) => Np(_, y, n, a, h)), p = Gp(g, i);
|
|
13017
|
+
if (p.length < 2) continue;
|
|
13018
|
+
const m = Vp(p);
|
|
13019
|
+
if (m.length !== 0) {
|
|
13020
13020
|
if (!d && u.length > 0) {
|
|
13021
|
-
const _ = u[u.length - 1], y =
|
|
13021
|
+
const _ = u[u.length - 1], y = m[0];
|
|
13022
13022
|
u.push([..._]), u.push([...y]), u.push([...y]);
|
|
13023
13023
|
} else
|
|
13024
|
-
u.push(
|
|
13025
|
-
for (let _ = 1; _ <
|
|
13026
|
-
u.push(
|
|
13024
|
+
u.push(m[0]), d = !1;
|
|
13025
|
+
for (let _ = 1; _ < m.length; _++)
|
|
13026
|
+
u.push(m[_]);
|
|
13027
13027
|
}
|
|
13028
13028
|
}
|
|
13029
13029
|
return u;
|
|
@@ -13041,8 +13041,8 @@ function Ip(s, t, e, i) {
|
|
|
13041
13041
|
for (const l of n) {
|
|
13042
13042
|
const [c, u, d, f] = l;
|
|
13043
13043
|
if (u <= a && f > a || f <= a && u > a) {
|
|
13044
|
-
const g = (a - u) / (f - u),
|
|
13045
|
-
h.push(
|
|
13044
|
+
const g = (a - u) / (f - u), p = c + g * (d - c);
|
|
13045
|
+
h.push(p);
|
|
13046
13046
|
}
|
|
13047
13047
|
}
|
|
13048
13048
|
h.sort((l, c) => l - c);
|
|
@@ -13059,11 +13059,11 @@ function Wp(s, t, e, i, r) {
|
|
|
13059
13059
|
for (let l = 0; l < h; l++) {
|
|
13060
13060
|
const c = l * 3, u = s[c], d = s[c + 1], f = s[c + 2], g = s[c + 3];
|
|
13061
13061
|
if (!u || !d || !f || !g) continue;
|
|
13062
|
-
const
|
|
13063
|
-
let
|
|
13064
|
-
for (let y = 1; y <=
|
|
13065
|
-
const x = y /
|
|
13066
|
-
n.push([
|
|
13062
|
+
const p = 8;
|
|
13063
|
+
let m = o(u[0]), _ = a(u[1]);
|
|
13064
|
+
for (let y = 1; y <= p; y++) {
|
|
13065
|
+
const x = y / p, w = 1 - x, M = w * w * w * u[0] + 3 * w * w * x * d[0] + 3 * w * x * x * f[0] + x * x * x * g[0], C = w * w * w * u[1] + 3 * w * w * x * d[1] + 3 * w * x * x * f[1] + x * x * x * g[1], P = o(M), R = a(C);
|
|
13066
|
+
n.push([m, _, P, R]), m = P, _ = R;
|
|
13067
13067
|
}
|
|
13068
13068
|
}
|
|
13069
13069
|
return n;
|
|
@@ -13118,9 +13118,9 @@ function jp(s, t, e, i) {
|
|
|
13118
13118
|
r[u * t + d] = 1, c.push([d, u]);
|
|
13119
13119
|
let f = !1;
|
|
13120
13120
|
for (let g = 0; g < 8; g++) {
|
|
13121
|
-
const
|
|
13122
|
-
if (
|
|
13123
|
-
u =
|
|
13121
|
+
const p = u + Ah[g], m = d + Dh[g];
|
|
13122
|
+
if (p >= 0 && p < e && m >= 0 && m < t && s[p * t + m] && !r[p * t + m]) {
|
|
13123
|
+
u = p, d = m, f = !0;
|
|
13124
13124
|
break;
|
|
13125
13125
|
}
|
|
13126
13126
|
}
|
|
@@ -13156,7 +13156,7 @@ function Gp(s, t) {
|
|
|
13156
13156
|
const o = s[Math.max(0, n - 1)], a = s[n], h = s[Math.min(i - 1, n + 1)], l = s[Math.min(i - 1, n + 2)];
|
|
13157
13157
|
n === 0 && e.push(a);
|
|
13158
13158
|
for (let c = 1; c <= t; c++) {
|
|
13159
|
-
const u = c / t, d = u * u, f = d * u, g = -r * f + 2 * r * d - r * u,
|
|
13159
|
+
const u = c / t, d = u * u, f = d * u, g = -r * f + 2 * r * d - r * u, p = (2 - r) * f + (r - 3) * d + 1, m = (r - 2) * f + (3 - 2 * r) * d + r * u, _ = r * f - r * d, y = g * o[0] + p * a[0] + m * h[0] + _ * l[0], x = g * o[1] + p * a[1] + m * h[1] + _ * l[1], w = g * o[2] + p * a[2] + m * h[2] + _ * l[2];
|
|
13160
13160
|
e.push([y, x, w]);
|
|
13161
13161
|
}
|
|
13162
13162
|
}
|
|
@@ -13172,14 +13172,14 @@ function Vp(s) {
|
|
|
13172
13172
|
const r = [];
|
|
13173
13173
|
r.push([...s[i[0]]]);
|
|
13174
13174
|
for (let n = 0; n < i.length - 1; n++) {
|
|
13175
|
-
const o = i[n], a = i[n + 1], h = s[o], l = s[a], c = Rh(s, o), u = Rh(s, a), d = l[0] - h[0], f = l[1] - h[1], g = l[2] - h[2],
|
|
13176
|
-
h[0] + c[0] *
|
|
13177
|
-
h[1] + c[1] *
|
|
13178
|
-
h[2] + c[2] *
|
|
13175
|
+
const o = i[n], a = i[n + 1], h = s[o], l = s[a], c = Rh(s, o), u = Rh(s, a), d = l[0] - h[0], f = l[1] - h[1], g = l[2] - h[2], m = Math.sqrt(d * d + f * f + g * g) / 3, _ = [
|
|
13176
|
+
h[0] + c[0] * m,
|
|
13177
|
+
h[1] + c[1] * m,
|
|
13178
|
+
h[2] + c[2] * m
|
|
13179
13179
|
], y = [
|
|
13180
|
-
l[0] - u[0] *
|
|
13181
|
-
l[1] - u[1] *
|
|
13182
|
-
l[2] + u[2] *
|
|
13180
|
+
l[0] - u[0] * m,
|
|
13181
|
+
l[1] - u[1] * m,
|
|
13182
|
+
l[2] + u[2] * m
|
|
13183
13183
|
];
|
|
13184
13184
|
r.push(_, y, [...s[a]]);
|
|
13185
13185
|
}
|
|
@@ -13193,7 +13193,7 @@ function Rh(s, t) {
|
|
|
13193
13193
|
return o < 1e-10 ? [1, 0, 0] : [i / o, r / o, n / o];
|
|
13194
13194
|
}
|
|
13195
13195
|
const Pt = 1 / 100;
|
|
13196
|
-
class ca extends
|
|
13196
|
+
class ca extends I {
|
|
13197
13197
|
_glyph;
|
|
13198
13198
|
_glyphFontSize;
|
|
13199
13199
|
/** Whether skeleton computation was requested */
|
|
@@ -13223,20 +13223,20 @@ class ca extends B {
|
|
|
13223
13223
|
switch (g.type) {
|
|
13224
13224
|
case "M": {
|
|
13225
13225
|
if (f && h.length > 0) {
|
|
13226
|
-
const
|
|
13227
|
-
h.push([...
|
|
13226
|
+
const p = h[h.length - 1], m = [g.x * Pt, -g.y * Pt, 0];
|
|
13227
|
+
h.push([...p]), h.push([...m]), h.push([...m]);
|
|
13228
13228
|
} else
|
|
13229
13229
|
h.push([g.x * Pt, -g.y * Pt, 0]);
|
|
13230
13230
|
l = g.x, c = g.y, u = g.x, d = g.y, f = !0;
|
|
13231
13231
|
break;
|
|
13232
13232
|
}
|
|
13233
13233
|
case "L": {
|
|
13234
|
-
const
|
|
13235
|
-
h.push([_ * Pt, -y * Pt, 0]), h.push([x * Pt, -w * Pt, 0]), h.push([
|
|
13234
|
+
const p = g.x, m = g.y, _ = l + (p - l) / 3, y = c + (m - c) / 3, x = l + (p - l) * 2 / 3, w = c + (m - c) * 2 / 3;
|
|
13235
|
+
h.push([_ * Pt, -y * Pt, 0]), h.push([x * Pt, -w * Pt, 0]), h.push([p * Pt, -m * Pt, 0]), l = p, c = m;
|
|
13236
13236
|
break;
|
|
13237
13237
|
}
|
|
13238
13238
|
case "Q": {
|
|
13239
|
-
const
|
|
13239
|
+
const p = g.x1, m = g.y1, _ = g.x, y = g.y, x = l + 2 / 3 * (p - l), w = c + 2 / 3 * (m - c), M = _ + 2 / 3 * (p - _), C = y + 2 / 3 * (m - y);
|
|
13240
13240
|
h.push([x * Pt, -w * Pt, 0]), h.push([M * Pt, -C * Pt, 0]), h.push([_ * Pt, -y * Pt, 0]), l = _, c = y;
|
|
13241
13241
|
break;
|
|
13242
13242
|
}
|
|
@@ -13246,8 +13246,8 @@ class ca extends B {
|
|
|
13246
13246
|
}
|
|
13247
13247
|
case "Z": {
|
|
13248
13248
|
if (l !== u || c !== d) {
|
|
13249
|
-
const
|
|
13250
|
-
h.push([
|
|
13249
|
+
const p = l + (u - l) / 3, m = c + (d - c) / 3, _ = l + (u - l) * 2 / 3, y = c + (d - c) * 2 / 3;
|
|
13250
|
+
h.push([p * Pt, -m * Pt, 0]), h.push([_ * Pt, -y * Pt, 0]), h.push([u * Pt, -d * Pt, 0]);
|
|
13251
13251
|
}
|
|
13252
13252
|
l = u, c = d;
|
|
13253
13253
|
break;
|
|
@@ -13511,15 +13511,15 @@ vi.prototype.addBezier = function(s, t, e, i, r, n, o, a) {
|
|
|
13511
13511
|
var h = [s, t], l = [e, i], c = [r, n], u = [o, a];
|
|
13512
13512
|
this.addPoint(s, t), this.addPoint(o, a);
|
|
13513
13513
|
for (var d = 0; d <= 1; d++) {
|
|
13514
|
-
var f = 6 * h[d] - 12 * l[d] + 6 * c[d], g = -3 * h[d] + 9 * l[d] - 9 * c[d] + 3 * u[d],
|
|
13514
|
+
var f = 6 * h[d] - 12 * l[d] + 6 * c[d], g = -3 * h[d] + 9 * l[d] - 9 * c[d] + 3 * u[d], p = 3 * l[d] - 3 * h[d];
|
|
13515
13515
|
if (g === 0) {
|
|
13516
13516
|
if (f === 0)
|
|
13517
13517
|
continue;
|
|
13518
|
-
var
|
|
13519
|
-
0 <
|
|
13518
|
+
var m = -p / f;
|
|
13519
|
+
0 < m && m < 1 && (d === 0 && this.addX(os(h[d], l[d], c[d], u[d], m)), d === 1 && this.addY(os(h[d], l[d], c[d], u[d], m)));
|
|
13520
13520
|
continue;
|
|
13521
13521
|
}
|
|
13522
|
-
var _ = Math.pow(f, 2) - 4 *
|
|
13522
|
+
var _ = Math.pow(f, 2) - 4 * p * g;
|
|
13523
13523
|
if (!(_ < 0)) {
|
|
13524
13524
|
var y = (-f + Math.sqrt(_)) / (2 * g);
|
|
13525
13525
|
0 < y && y < 1 && (d === 0 && this.addX(os(h[d], l[d], c[d], u[d], y)), d === 1 && this.addY(os(h[d], l[d], c[d], u[d], y)));
|
|
@@ -14501,8 +14501,8 @@ function c1(s, t, e, i, r) {
|
|
|
14501
14501
|
var n;
|
|
14502
14502
|
s.segCount = n = t.parseUShort() >> 1, t.skip("uShort", 3), s.glyphIndexMap = {};
|
|
14503
14503
|
for (var o = new et.Parser(e, i + r + 14), a = new et.Parser(e, i + r + 16 + n * 2), h = new et.Parser(e, i + r + 16 + n * 4), l = new et.Parser(e, i + r + 16 + n * 6), c = i + r + 16 + n * 8, u = 0; u < n - 1; u += 1)
|
|
14504
|
-
for (var d = void 0, f = o.parseUShort(), g = a.parseUShort(),
|
|
14505
|
-
|
|
14504
|
+
for (var d = void 0, f = o.parseUShort(), g = a.parseUShort(), p = h.parseShort(), m = l.parseUShort(), _ = g; _ <= f; _ += 1)
|
|
14505
|
+
m !== 0 ? (c = l.offset + l.relativeOffset - 2, c += m, c += (_ - g) * 2, d = et.getUShort(e, c), d !== 0 && (d = d + p & 65535)) : d = _ + p & 65535, s.glyphIndexMap[_] = d;
|
|
14506
14506
|
}
|
|
14507
14507
|
function u1(s, t) {
|
|
14508
14508
|
var e = {};
|
|
@@ -14584,23 +14584,23 @@ function p1(s) {
|
|
|
14584
14584
|
});
|
|
14585
14585
|
}
|
|
14586
14586
|
f1(n);
|
|
14587
|
-
var h = n.segments.length, l = 0, c = [], u = [], d = [], f = [], g = [],
|
|
14587
|
+
var h = n.segments.length, l = 0, c = [], u = [], d = [], f = [], g = [], p = [];
|
|
14588
14588
|
for (e = 0; e < h; e += 1) {
|
|
14589
|
-
var
|
|
14590
|
-
|
|
14589
|
+
var m = n.segments[e];
|
|
14590
|
+
m.end <= 65535 && m.start <= 65535 ? (c = c.concat({ name: "end_" + e, type: "USHORT", value: m.end }), u = u.concat({ name: "start_" + e, type: "USHORT", value: m.start }), d = d.concat({ name: "idDelta_" + e, type: "SHORT", value: m.delta }), f = f.concat({ name: "idRangeOffset_" + e, type: "USHORT", value: m.offset }), m.glyphId !== void 0 && (g = g.concat({ name: "glyph_" + e, type: "USHORT", value: m.glyphId }))) : l += 1, !t && m.glyphIndex !== void 0 && (p = p.concat({ name: "cmap12Start_" + e, type: "ULONG", value: m.start }), p = p.concat({ name: "cmap12End_" + e, type: "ULONG", value: m.end }), p = p.concat({ name: "cmap12Glyph_" + e, type: "ULONG", value: m.glyphIndex }));
|
|
14591
14591
|
}
|
|
14592
14592
|
if (n.segCountX2 = (h - l) * 2, n.searchRange = Math.pow(2, Math.floor(Math.log(h - l) / Math.log(2))) * 2, n.entrySelector = Math.log(n.searchRange / 2) / Math.log(2), n.rangeShift = n.segCountX2 - n.searchRange, n.fields = n.fields.concat(c), n.fields.push({ name: "reservedPad", type: "USHORT", value: 0 }), n.fields = n.fields.concat(u), n.fields = n.fields.concat(d), n.fields = n.fields.concat(f), n.fields = n.fields.concat(g), n.cmap4Length = 14 + // Subtable header
|
|
14593
14593
|
c.length * 2 + 2 + // reservedPad
|
|
14594
14594
|
u.length * 2 + d.length * 2 + f.length * 2 + g.length * 2, !t) {
|
|
14595
14595
|
var _ = 16 + // Subtable header
|
|
14596
|
-
|
|
14596
|
+
p.length * 4;
|
|
14597
14597
|
n.cmap12Offset = 20 + n.cmap4Length, n.fields = n.fields.concat([
|
|
14598
14598
|
{ name: "cmap12Format", type: "USHORT", value: 12 },
|
|
14599
14599
|
{ name: "cmap12Reserved", type: "USHORT", value: 0 },
|
|
14600
14600
|
{ name: "cmap12Length", type: "ULONG", value: _ },
|
|
14601
14601
|
{ name: "cmap12Language", type: "ULONG", value: 0 },
|
|
14602
|
-
{ name: "cmap12nGroups", type: "ULONG", value:
|
|
14603
|
-
]), n.fields = n.fields.concat(
|
|
14602
|
+
{ name: "cmap12nGroups", type: "ULONG", value: p.length / 3 }
|
|
14603
|
+
]), n.fields = n.fields.concat(p);
|
|
14604
14604
|
}
|
|
14605
14605
|
return n;
|
|
14606
14606
|
}
|
|
@@ -15927,8 +15927,8 @@ xe.prototype.draw = function(s, t, e, i, r) {
|
|
|
15927
15927
|
xe.prototype.drawPoints = function(s, t, e, i) {
|
|
15928
15928
|
function r(u, d, f, g) {
|
|
15929
15929
|
s.beginPath();
|
|
15930
|
-
for (var
|
|
15931
|
-
s.moveTo(d + u[
|
|
15930
|
+
for (var p = 0; p < u.length; p += 1)
|
|
15931
|
+
s.moveTo(d + u[p].x * g, f + u[p].y * g), s.arc(d + u[p].x * g, f + u[p].y * g, 2, 0, Math.PI * 2, !1);
|
|
15932
15932
|
s.closePath(), s.fill();
|
|
15933
15933
|
}
|
|
15934
15934
|
t = t !== void 0 ? t : 0, e = e !== void 0 ? e : 0, i = i !== void 0 ? i : 24;
|
|
@@ -16225,13 +16225,13 @@ function O1(s, t, e) {
|
|
|
16225
16225
|
return new sn(r, e);
|
|
16226
16226
|
}
|
|
16227
16227
|
function jh(s, t, e) {
|
|
16228
|
-
var i, r, n, o, a = new Ht(), h = [], l = 0, c = !1, u = !1, d = 0, f = 0, g,
|
|
16228
|
+
var i, r, n, o, a = new Ht(), h = [], l = 0, c = !1, u = !1, d = 0, f = 0, g, p, m, _;
|
|
16229
16229
|
if (s.isCIDFont) {
|
|
16230
16230
|
var y = s.tables.cff.topDict._fdSelect[t.index], x = s.tables.cff.topDict._fdArray[y];
|
|
16231
|
-
g = x._subrs,
|
|
16231
|
+
g = x._subrs, p = x._subrsBias, m = x._defaultWidthX, _ = x._nominalWidthX;
|
|
16232
16232
|
} else
|
|
16233
|
-
g = s.tables.cff.topDict._subrs,
|
|
16234
|
-
var w =
|
|
16233
|
+
g = s.tables.cff.topDict._subrs, p = s.tables.cff.topDict._subrsBias, m = s.tables.cff.topDict._defaultWidthX, _ = s.tables.cff.topDict._nominalWidthX;
|
|
16234
|
+
var w = m;
|
|
16235
16235
|
function M(R, O) {
|
|
16236
16236
|
u && a.closePath(), a.moveTo(R, O), u = !0;
|
|
16237
16237
|
}
|
|
@@ -16240,7 +16240,7 @@ function jh(s, t, e) {
|
|
|
16240
16240
|
R = h.length % 2 !== 0, R && !c && (w = h.shift() + _), l += h.length >> 1, h.length = 0, c = !0;
|
|
16241
16241
|
}
|
|
16242
16242
|
function P(R) {
|
|
16243
|
-
for (var O, z,
|
|
16243
|
+
for (var O, z, B, W, H, N, q, rt, ht, ot, pt, mt, it = 0; it < R.length; ) {
|
|
16244
16244
|
var at = R[it];
|
|
16245
16245
|
switch (it += 1, at) {
|
|
16246
16246
|
case 1:
|
|
@@ -16269,7 +16269,7 @@ function jh(s, t, e) {
|
|
|
16269
16269
|
i = d + h.shift(), r = f + h.shift(), n = i + h.shift(), o = r + h.shift(), d = n + h.shift(), f = o + h.shift(), a.curveTo(i, r, n, o, d, f);
|
|
16270
16270
|
break;
|
|
16271
16271
|
case 10:
|
|
16272
|
-
H = h.pop() +
|
|
16272
|
+
H = h.pop() + p, N = g[H], N && P(N);
|
|
16273
16273
|
break;
|
|
16274
16274
|
case 11:
|
|
16275
16275
|
return;
|
|
@@ -16344,7 +16344,7 @@ function jh(s, t, e) {
|
|
|
16344
16344
|
i = d, r = f + h.shift(), n = i + h.shift(), o = r + h.shift(), d = n + h.shift(), f = o + (h.length === 1 ? h.shift() : 0), a.curveTo(i, r, n, o, d, f);
|
|
16345
16345
|
break;
|
|
16346
16346
|
default:
|
|
16347
|
-
at < 32 ? console.log("Glyph " + t.index + ": unknown operator " + at) : at < 247 ? h.push(at - 139) : at < 251 ? (O = R[it], it += 1, h.push((at - 247) * 256 + O + 108)) : at < 255 ? (O = R[it], it += 1, h.push(-(at - 251) * 256 - O - 108)) : (O = R[it], z = R[it + 1],
|
|
16347
|
+
at < 32 ? console.log("Glyph " + t.index + ": unknown operator " + at) : at < 247 ? h.push(at - 139) : at < 251 ? (O = R[it], it += 1, h.push((at - 247) * 256 + O + 108)) : at < 255 ? (O = R[it], it += 1, h.push(-(at - 251) * 256 - O - 108)) : (O = R[it], z = R[it + 1], B = R[it + 2], W = R[it + 3], it += 4, h.push((O << 24 | z << 16 | B << 8 | W) / 65536));
|
|
16348
16348
|
}
|
|
16349
16349
|
}
|
|
16350
16350
|
}
|
|
@@ -16393,9 +16393,9 @@ function F1(s, t, e, i) {
|
|
|
16393
16393
|
var f = Mi(s, u), g = Uh(s, t, f.objects, a.objects);
|
|
16394
16394
|
c._fdArray = g, d += t, c._fdSelect = E1(s, d, e.numGlyphs, g.length);
|
|
16395
16395
|
}
|
|
16396
|
-
var
|
|
16397
|
-
if (e.defaultWidthX =
|
|
16398
|
-
var _ =
|
|
16396
|
+
var p = t + c.private[1], m = dc(s, p, c.private[0], a.objects);
|
|
16397
|
+
if (e.defaultWidthX = m.defaultWidthX, e.nominalWidthX = m.nominalWidthX, m.subrs !== 0) {
|
|
16398
|
+
var _ = p + m.subrs, y = Mi(s, _);
|
|
16399
16399
|
e.subrs = y.objects, e.subrsBias = zo(e.subrs);
|
|
16400
16400
|
} else
|
|
16401
16401
|
e.subrs = [], e.subrsBias = 0;
|
|
@@ -17400,12 +17400,12 @@ function kc(s, t, e) {
|
|
|
17400
17400
|
}
|
|
17401
17401
|
function am(s, t, e) {
|
|
17402
17402
|
for (var i = {}, r = new et.Parser(s, t), n = r.parseUShort(), o = r.parseUShort(), a = r.offset + r.parseUShort(), h = 0; h < o; h++) {
|
|
17403
|
-
var l = r.parseUShort(), c = r.parseUShort(), u = r.parseUShort(), d = r.parseUShort(), f = bc[d] || d, g = r.parseUShort(),
|
|
17404
|
-
if (_ !== void 0 &&
|
|
17403
|
+
var l = r.parseUShort(), c = r.parseUShort(), u = r.parseUShort(), d = r.parseUShort(), f = bc[d] || d, g = r.parseUShort(), p = r.parseUShort(), m = rm(l, u, e), _ = kc(l, c, u);
|
|
17404
|
+
if (_ !== void 0 && m !== void 0) {
|
|
17405
17405
|
var y = void 0;
|
|
17406
|
-
if (_ === Bo ? y = ys.UTF16(s, a +
|
|
17406
|
+
if (_ === Bo ? y = ys.UTF16(s, a + p, g) : y = ys.MACSTRING(s, a + p, g, _), y) {
|
|
17407
17407
|
var x = i[f];
|
|
17408
|
-
x === void 0 && (x = i[f] = {}), x[
|
|
17408
|
+
x === void 0 && (x = i[f] = {}), x[m] = y;
|
|
17409
17409
|
}
|
|
17410
17410
|
}
|
|
17411
17411
|
}
|
|
@@ -17460,11 +17460,11 @@ function lm(s, t) {
|
|
|
17460
17460
|
e = i[d];
|
|
17461
17461
|
var f = r[e];
|
|
17462
17462
|
for (var g in f) {
|
|
17463
|
-
var
|
|
17464
|
-
w === void 0 && (
|
|
17463
|
+
var p = f[g], m = 1, _ = h[g], y = sm[_], x = kc(m, y, _), w = X.MACSTRING(p, x);
|
|
17464
|
+
w === void 0 && (m = 0, _ = t.indexOf(g), _ < 0 && (_ = t.length, t.push(g)), y = 4, w = X.UTF16(p));
|
|
17465
17465
|
var M = Hh(w, u);
|
|
17466
17466
|
c.push(Vh(
|
|
17467
|
-
|
|
17467
|
+
m,
|
|
17468
17468
|
y,
|
|
17469
17469
|
_,
|
|
17470
17470
|
e,
|
|
@@ -17473,7 +17473,7 @@ function lm(s, t) {
|
|
|
17473
17473
|
));
|
|
17474
17474
|
var C = l[g];
|
|
17475
17475
|
if (C !== void 0) {
|
|
17476
|
-
var P = X.UTF16(
|
|
17476
|
+
var P = X.UTF16(p), R = Hh(P, u);
|
|
17477
17477
|
c.push(Vh(
|
|
17478
17478
|
3,
|
|
17479
17479
|
1,
|
|
@@ -17485,8 +17485,8 @@ function lm(s, t) {
|
|
|
17485
17485
|
}
|
|
17486
17486
|
}
|
|
17487
17487
|
}
|
|
17488
|
-
c.sort(function(
|
|
17489
|
-
return
|
|
17488
|
+
c.sort(function(B, W) {
|
|
17489
|
+
return B.platformID - W.platformID || B.encodingID - W.encodingID || B.languageID - W.languageID || B.nameID - W.nameID;
|
|
17490
17490
|
});
|
|
17491
17491
|
for (var O = new K.Table("name", [
|
|
17492
17492
|
{ name: "format", type: "USHORT", value: 0 },
|
|
@@ -18177,11 +18177,11 @@ function ym(s) {
|
|
|
18177
18177
|
}
|
|
18178
18178
|
function xm(s) {
|
|
18179
18179
|
for (var t = [], e = [], i = [], r = [], n = [], o = [], a = [], h, l = 0, c = 0, u = 0, d = 0, f = 0, g = 0; g < s.glyphs.length; g += 1) {
|
|
18180
|
-
var
|
|
18181
|
-
if (isNaN(
|
|
18182
|
-
throw new Error("Glyph " +
|
|
18183
|
-
(h >
|
|
18184
|
-
var _ = Wo.getUnicodeRange(
|
|
18180
|
+
var p = s.glyphs.get(g), m = p.unicode | 0;
|
|
18181
|
+
if (isNaN(p.advanceWidth))
|
|
18182
|
+
throw new Error("Glyph " + p.name + " (" + g + "): advanceWidth is not a number.");
|
|
18183
|
+
(h > m || h === void 0) && m > 0 && (h = m), l < m && (l = m);
|
|
18184
|
+
var _ = Wo.getUnicodeRange(m);
|
|
18185
18185
|
if (_ < 32)
|
|
18186
18186
|
c |= 1 << _;
|
|
18187
18187
|
else if (_ < 64)
|
|
@@ -18192,9 +18192,9 @@ function xm(s) {
|
|
|
18192
18192
|
f |= 1 << _ - 96;
|
|
18193
18193
|
else
|
|
18194
18194
|
throw new Error("Unicode ranges bits > 123 are reserved for internal usage");
|
|
18195
|
-
if (
|
|
18196
|
-
var y =
|
|
18197
|
-
t.push(y.xMin), e.push(y.yMin), i.push(y.xMax), r.push(y.yMax), o.push(y.leftSideBearing), a.push(y.rightSideBearing), n.push(
|
|
18195
|
+
if (p.name !== ".notdef") {
|
|
18196
|
+
var y = p.getMetrics();
|
|
18197
|
+
t.push(y.xMin), e.push(y.yMin), i.push(y.xMax), r.push(y.yMax), o.push(y.leftSideBearing), a.push(y.rightSideBearing), n.push(p.advanceWidth);
|
|
18198
18198
|
}
|
|
18199
18199
|
}
|
|
18200
18200
|
var x = {
|
|
@@ -18252,8 +18252,8 @@ function xm(s) {
|
|
|
18252
18252
|
// Use space as the default character, if available.
|
|
18253
18253
|
usBreakChar: s.hasChar(" ") ? 32 : 0
|
|
18254
18254
|
// Use space as the break character, if available.
|
|
18255
|
-
}, s.tables.os2)), R = vc.make(s.glyphs), O = rc.make(s.glyphs), z = s.getEnglishName("fontFamily"),
|
|
18256
|
-
H || (H = z.replace(/\s/g, "") + "-" +
|
|
18255
|
+
}, s.tables.os2)), R = vc.make(s.glyphs), O = rc.make(s.glyphs), z = s.getEnglishName("fontFamily"), B = s.getEnglishName("fontSubfamily"), W = z + " " + B, H = s.getEnglishName("postScriptName");
|
|
18256
|
+
H || (H = z.replace(/\s/g, "") + "-" + B);
|
|
18257
18257
|
var N = {};
|
|
18258
18258
|
for (var q in s.names)
|
|
18259
18259
|
N[q] = s.names[q];
|
|
@@ -18262,7 +18262,7 @@ function xm(s) {
|
|
|
18262
18262
|
version: s.getEnglishName("version"),
|
|
18263
18263
|
fullName: W,
|
|
18264
18264
|
familyName: z,
|
|
18265
|
-
weightName:
|
|
18265
|
+
weightName: B,
|
|
18266
18266
|
postScriptName: H,
|
|
18267
18267
|
unitsPerEm: s.unitsPerEm,
|
|
18268
18268
|
fontBBox: [0, x.yMin, x.ascender, x.advanceWidthMax]
|
|
@@ -18634,10 +18634,10 @@ be.prototype.getLigatures = function(s, t, e) {
|
|
|
18634
18634
|
for (var o = r[n].subtables, a = 0; a < o.length; a++)
|
|
18635
18635
|
for (var h = o[a], l = this.expandCoverage(h.coverage), c = h.ligatureSets, u = 0; u < l.length; u++)
|
|
18636
18636
|
for (var d = l[u], f = c[u], g = 0; g < f.length; g++) {
|
|
18637
|
-
var
|
|
18637
|
+
var p = f[g];
|
|
18638
18638
|
i.push({
|
|
18639
|
-
sub: [d].concat(
|
|
18640
|
-
by:
|
|
18639
|
+
sub: [d].concat(p.components),
|
|
18640
|
+
by: p.ligGlyph
|
|
18641
18641
|
});
|
|
18642
18642
|
}
|
|
18643
18643
|
return i;
|
|
@@ -18768,10 +18768,10 @@ function Rc(s, t, e) {
|
|
|
18768
18768
|
if (ut.argument(r.length === l, "Bad flags."), o.length > 0) {
|
|
18769
18769
|
var f = [], g;
|
|
18770
18770
|
if (l > 0) {
|
|
18771
|
-
for (var
|
|
18772
|
-
n = r[
|
|
18773
|
-
for (var
|
|
18774
|
-
n = r[_], g = f[_], g.x = Kh(i, n,
|
|
18771
|
+
for (var p = 0; p < l; p += 1)
|
|
18772
|
+
n = r[p], g = {}, g.onCurve = !!(n & 1), g.lastPointOfContour = o.indexOf(p) >= 0, f.push(g);
|
|
18773
|
+
for (var m = 0, _ = 0; _ < l; _ += 1)
|
|
18774
|
+
n = r[_], g = f[_], g.x = Kh(i, n, m, 2, 16), m = g.x;
|
|
18775
18775
|
for (var y = 0, x = 0; x < l; x += 1)
|
|
18776
18776
|
n = r[x], g = f[x], g.y = Kh(i, n, y, 4, 32), y = g.y;
|
|
18777
18777
|
}
|
|
@@ -19155,14 +19155,14 @@ zc = function(s, t) {
|
|
|
19155
19155
|
for (var l = 0; l < r.length; l++) {
|
|
19156
19156
|
var c = r[l], u = h.glyphs.get(c.glyphIndex);
|
|
19157
19157
|
a = new Di("glyf", u.instructions), exports.DEBUG && (console.log("---EXEC COMP " + l + "---"), a.step = -1), Uo(u, a, e, i);
|
|
19158
|
-
for (var d = Math.round(c.dx * e), f = Math.round(c.dy * i), g = a.gZone,
|
|
19159
|
-
var _ = g[
|
|
19158
|
+
for (var d = Math.round(c.dx * e), f = Math.round(c.dy * i), g = a.gZone, p = a.contours, m = 0; m < g.length; m++) {
|
|
19159
|
+
var _ = g[m];
|
|
19160
19160
|
_.xTouched = _.yTouched = !1, _.xo = _.x = _.x + d, _.yo = _.y = _.y + f;
|
|
19161
19161
|
}
|
|
19162
19162
|
var y = o.length;
|
|
19163
19163
|
o.push.apply(o, g);
|
|
19164
|
-
for (var x = 0; x <
|
|
19165
|
-
n.push(
|
|
19164
|
+
for (var x = 0; x < p.length; x++)
|
|
19165
|
+
n.push(p[x] + y);
|
|
19166
19166
|
}
|
|
19167
19167
|
s.instructions && !a.inhibitGridFit && (a = new Di("glyf", s.instructions), a.gZone = a.z0 = a.z1 = a.z2 = o, a.contours = n, o.push(
|
|
19168
19168
|
new di(0, 0),
|
|
@@ -19277,8 +19277,8 @@ function Wm(s) {
|
|
|
19277
19277
|
function Um(s) {
|
|
19278
19278
|
var t = s.stack, e = t.pop(), i = t.pop(), r = t.pop(), n = t.pop(), o = t.pop(), a = s.z0, h = s.z1, l = a[e], c = a[i], u = h[r], d = h[n], f = s.z2[o];
|
|
19279
19279
|
exports.DEBUG && console.log("ISECT[], ", e, i, r, n, o);
|
|
19280
|
-
var g = l.x,
|
|
19281
|
-
f.x = (P * (y - w) - R * (g -
|
|
19280
|
+
var g = l.x, p = l.y, m = c.x, _ = c.y, y = u.x, x = u.y, w = d.x, M = d.y, C = (g - m) * (x - M) - (p - _) * (y - w), P = g * _ - p * m, R = y * M - x * w;
|
|
19281
|
+
f.x = (P * (y - w) - R * (g - m)) / C, f.y = (P * (x - M) - R * (p - _)) / C;
|
|
19282
19282
|
}
|
|
19283
19283
|
function jm(s) {
|
|
19284
19284
|
s.rp0 = s.stack.pop(), exports.DEBUG && console.log(s.step, "SRP0[]", s.rp0);
|
|
@@ -19633,8 +19633,8 @@ function Jn(s, t) {
|
|
|
19633
19633
|
if (f === o) {
|
|
19634
19634
|
var g = (d & 15) - 8;
|
|
19635
19635
|
g >= 0 && g++, exports.DEBUG && console.log(t.step, "DELTAPFIX", u, "by", g * h);
|
|
19636
|
-
var
|
|
19637
|
-
r.setRelative(
|
|
19636
|
+
var p = l[u];
|
|
19637
|
+
r.setRelative(p, p, g * h, n);
|
|
19638
19638
|
}
|
|
19639
19639
|
}
|
|
19640
19640
|
}
|
|
@@ -19838,16 +19838,16 @@ function wi(s, t) {
|
|
|
19838
19838
|
t.ip = e;
|
|
19839
19839
|
}
|
|
19840
19840
|
function tt(s, t, e, i, r, n) {
|
|
19841
|
-
var o = n.stack, a = s && o.pop(), h = o.pop(), l = n.rp0, c = n.z0[l], u = n.z1[h], d = n.minDis, f = n.fv, g = n.dpv,
|
|
19842
|
-
|
|
19841
|
+
var o = n.stack, a = s && o.pop(), h = o.pop(), l = n.rp0, c = n.z0[l], u = n.z1[h], d = n.minDis, f = n.fv, g = n.dpv, p, m, _, y;
|
|
19842
|
+
m = p = g.distance(u, c, !0, !0), _ = m >= 0 ? 1 : -1, m = Math.abs(m), s && (y = n.cvt[a], i && Math.abs(m - y) < n.cvCutIn && (m = y)), e && m < d && (m = d), i && (m = n.round(m)), f.setRelative(u, c, _ * m, g), f.touch(u), exports.DEBUG && console.log(
|
|
19843
19843
|
n.step,
|
|
19844
19844
|
(s ? "MIRP[" : "MDRP[") + (t ? "M" : "m") + (e ? ">" : "_") + (i ? "R" : "_") + (r === 0 ? "Gr" : r === 1 ? "Bl" : r === 2 ? "Wh" : "") + "]",
|
|
19845
19845
|
s ? a + "(" + n.cvt[a] + "," + y + ")" : "",
|
|
19846
19846
|
h,
|
|
19847
19847
|
"(d =",
|
|
19848
|
-
|
|
19848
|
+
p,
|
|
19849
19849
|
"->",
|
|
19850
|
-
_ *
|
|
19850
|
+
_ * m,
|
|
19851
19851
|
")"
|
|
19852
19852
|
), n.rp1 = n.rp0, n.rp2 = h, t && (n.rp0 = h);
|
|
19853
19853
|
}
|
|
@@ -20726,8 +20726,8 @@ function l_(s, t) {
|
|
|
20726
20726
|
), u = i.length === t.inputCoverage.length && a.length === t.lookaheadCoverage.length && c.length === t.backtrackCoverage.length, d = [];
|
|
20727
20727
|
if (u)
|
|
20728
20728
|
for (var f = 0; f < t.lookupRecords.length; f++)
|
|
20729
|
-
for (var g = t.lookupRecords[f],
|
|
20730
|
-
var y =
|
|
20729
|
+
for (var g = t.lookupRecords[f], p = g.lookupListIndex, m = this.getLookupByIndex(p), _ = 0; _ < m.subtables.length; _++) {
|
|
20730
|
+
var y = m.subtables[_], x = this.getLookupMethod(m, y), w = this.getSubstitutionType(m, y);
|
|
20731
20731
|
if (w === "12")
|
|
20732
20732
|
for (var M = 0; M < i.length; M++) {
|
|
20733
20733
|
var C = s.get(M), P = x(C);
|
|
@@ -21827,7 +21827,7 @@ function wa(s, t) {
|
|
|
21827
21827
|
o = et.getUShort(n, 12), a = a2(n, o);
|
|
21828
21828
|
} else
|
|
21829
21829
|
throw new Error("Unsupported OpenType signature " + h);
|
|
21830
|
-
for (var c, u, d, f, g,
|
|
21830
|
+
for (var c, u, d, f, g, p, m, _, y, x, w, M, C = 0; C < o; C += 1) {
|
|
21831
21831
|
var P = a[C], R = void 0;
|
|
21832
21832
|
switch (P.tag) {
|
|
21833
21833
|
case "cmap":
|
|
@@ -21849,7 +21849,7 @@ function wa(s, t) {
|
|
|
21849
21849
|
R = Gt(n, P), r.tables.hhea = _c.parse(R.data, R.offset), r.ascender = r.tables.hhea.ascender, r.descender = r.tables.hhea.descender, r.numberOfHMetrics = r.tables.hhea.numberOfHMetrics;
|
|
21850
21850
|
break;
|
|
21851
21851
|
case "hmtx":
|
|
21852
|
-
|
|
21852
|
+
m = P;
|
|
21853
21853
|
break;
|
|
21854
21854
|
case "ltag":
|
|
21855
21855
|
R = Gt(n, P), i = yc.parse(R.data, R.offset);
|
|
@@ -21888,7 +21888,7 @@ function wa(s, t) {
|
|
|
21888
21888
|
g = P;
|
|
21889
21889
|
break;
|
|
21890
21890
|
case "GSUB":
|
|
21891
|
-
|
|
21891
|
+
p = P;
|
|
21892
21892
|
break;
|
|
21893
21893
|
case "meta":
|
|
21894
21894
|
w = P;
|
|
@@ -21897,14 +21897,14 @@ function wa(s, t) {
|
|
|
21897
21897
|
}
|
|
21898
21898
|
var O = Gt(n, x);
|
|
21899
21899
|
if (r.tables.name = Mc.parse(O.data, O.offset, i), r.names = r.tables.name, d && y) {
|
|
21900
|
-
var z = e === 0,
|
|
21900
|
+
var z = e === 0, B = Gt(n, y), W = r2.parse(B.data, B.offset, r.numGlyphs, z), H = Gt(n, d);
|
|
21901
21901
|
r.glyphs = Ec.parse(H.data, H.offset, W, r, t);
|
|
21902
21902
|
} else if (c) {
|
|
21903
21903
|
var N = Gt(n, c);
|
|
21904
21904
|
mc.parse(N.data, N.offset, r, t);
|
|
21905
21905
|
} else
|
|
21906
21906
|
throw new Error("Font doesn't contain TrueType or CFF outlines.");
|
|
21907
|
-
var q = Gt(n,
|
|
21907
|
+
var q = Gt(n, m);
|
|
21908
21908
|
if (vc.parse(r, q.data, q.offset, r.numberOfHMetrics, r.numGlyphs, r.glyphs, t), y1(r, t), _) {
|
|
21909
21909
|
var rt = Gt(n, _);
|
|
21910
21910
|
r.kerningPairs = i2.parse(rt.data, rt.offset);
|
|
@@ -21918,8 +21918,8 @@ function wa(s, t) {
|
|
|
21918
21918
|
var ot = Gt(n, g);
|
|
21919
21919
|
r.tables.gpos = Q_.parse(ot.data, ot.offset), r.position.init();
|
|
21920
21920
|
}
|
|
21921
|
-
if (
|
|
21922
|
-
var pt = Gt(n,
|
|
21921
|
+
if (p) {
|
|
21922
|
+
var pt = Gt(n, p);
|
|
21923
21923
|
r.tables.gsub = Cc.parse(pt.data, pt.offset);
|
|
21924
21924
|
}
|
|
21925
21925
|
if (u) {
|
|
@@ -22036,7 +22036,7 @@ async function f2(s) {
|
|
|
22036
22036
|
});
|
|
22037
22037
|
return vl.set(s, { familyName: e, loadPromise: r }), await r, e;
|
|
22038
22038
|
}
|
|
22039
|
-
class Te extends
|
|
22039
|
+
class Te extends I {
|
|
22040
22040
|
_text;
|
|
22041
22041
|
_fontSize;
|
|
22042
22042
|
_fontFamily;
|
|
@@ -26666,23 +26666,23 @@ var Cr = [
|
|
|
26666
26666
|
if (bn(n, u, r).metrics)
|
|
26667
26667
|
return Ee(n, u, r, e, o.concat(d));
|
|
26668
26668
|
if ($c.hasOwnProperty(n) && u.slice(0, 10) === "Typewriter") {
|
|
26669
|
-
for (var g = [],
|
|
26670
|
-
g.push(Ee(n[
|
|
26669
|
+
for (var g = [], p = 0; p < n.length; p++)
|
|
26670
|
+
g.push(Ee(n[p], u, r, e, o.concat(d)));
|
|
26671
26671
|
return Kc(g);
|
|
26672
26672
|
}
|
|
26673
26673
|
}
|
|
26674
26674
|
if (i === "mathord")
|
|
26675
26675
|
return Ee(n, "Math-Italic", r, e, o.concat(["mathnormal"]));
|
|
26676
26676
|
if (i === "textord") {
|
|
26677
|
-
var
|
|
26678
|
-
if (
|
|
26677
|
+
var m = Ot[r][n] && Ot[r][n].font;
|
|
26678
|
+
if (m === "ams") {
|
|
26679
26679
|
var _ = Pr("amsrm", e.fontWeight, e.fontShape);
|
|
26680
26680
|
return Ee(n, _, r, e, o.concat("amsrm", e.fontWeight, e.fontShape));
|
|
26681
|
-
} else if (
|
|
26681
|
+
} else if (m === "main" || !m) {
|
|
26682
26682
|
var y = Pr("textrm", e.fontWeight, e.fontShape);
|
|
26683
26683
|
return Ee(n, y, r, e, o.concat(e.fontWeight, e.fontShape));
|
|
26684
26684
|
} else {
|
|
26685
|
-
var x = Pr(
|
|
26685
|
+
var x = Pr(m, e.fontWeight, e.fontShape);
|
|
26686
26686
|
return Ee(n, x, r, e, o.concat(x, e.fontWeight, e.fontShape));
|
|
26687
26687
|
}
|
|
26688
26688
|
} else
|
|
@@ -26781,12 +26781,12 @@ var Cr = [
|
|
|
26781
26781
|
var l = de(["pstrut"], []);
|
|
26782
26782
|
l.style.height = V(n);
|
|
26783
26783
|
for (var c = [], u = r, d = r, f = r, g = 0; g < i.length; g++) {
|
|
26784
|
-
var
|
|
26785
|
-
if (
|
|
26786
|
-
f +=
|
|
26784
|
+
var p = i[g];
|
|
26785
|
+
if (p.type === "kern")
|
|
26786
|
+
f += p.size;
|
|
26787
26787
|
else {
|
|
26788
|
-
var
|
|
26789
|
-
x.style.top = V(-n - f -
|
|
26788
|
+
var m = p.elem, _ = p.wrapperClasses || [], y = p.wrapperStyle || {}, x = de(_, [l, m], void 0, y);
|
|
26789
|
+
x.style.top = V(-n - f - m.depth), p.marginLeft && (x.style.marginLeft = p.marginLeft), p.marginRight && (x.style.marginRight = p.marginRight), c.push(x), f += m.height + m.depth;
|
|
26790
26790
|
}
|
|
26791
26791
|
u = Math.min(u, f), d = Math.max(d, f);
|
|
26792
26792
|
}
|
|
@@ -27070,13 +27070,13 @@ var hn = function(t) {
|
|
|
27070
27070
|
c.type === "sizing" ? l = e.havingSize(c.size) : c.type === "styling" && (l = e.havingStyle(pv[c.style]));
|
|
27071
27071
|
}
|
|
27072
27072
|
var u = gi([r[0] || "leftmost"], [], e), d = gi([r[1] || "rightmost"], [], e), f = i === "root";
|
|
27073
|
-
return Al(n, (g,
|
|
27074
|
-
var
|
|
27075
|
-
|
|
27073
|
+
return Al(n, (g, p) => {
|
|
27074
|
+
var m = p.classes[0], _ = g.classes[0];
|
|
27075
|
+
m === "mbin" && fv.includes(_) ? p.classes[0] = "mord" : _ === "mbin" && dv.includes(m) && (g.classes[0] = "mord");
|
|
27076
27076
|
}, {
|
|
27077
27077
|
node: u
|
|
27078
|
-
}, d, f), Al(n, (g,
|
|
27079
|
-
var
|
|
27078
|
+
}, d, f), Al(n, (g, p) => {
|
|
27079
|
+
var m = Ho(p), _ = Ho(g), y = m && _ ? g.hasClass("mtight") ? uv[m][_] : cv[m][_] : null;
|
|
27080
27080
|
if (y)
|
|
27081
27081
|
return E.makeGlue(y, l);
|
|
27082
27082
|
}, {
|
|
@@ -27518,14 +27518,14 @@ var su = function(t) {
|
|
|
27518
27518
|
var g = [1, 1, 2, 2, 3, 3][c];
|
|
27519
27519
|
h === "widehat" || h === "widecheck" ? (a = [0, 1062, 2364, 2364, 2364][g], u = [0, 239, 300, 360, 420][g], f = [0, 0.24, 0.3, 0.3, 0.36, 0.42][g], d = h + g) : (a = [0, 600, 1033, 2339, 2340][g], u = [0, 260, 286, 306, 312][g], f = [0, 0.26, 0.286, 0.3, 0.306, 0.34][g], d = "tilde" + g);
|
|
27520
27520
|
}
|
|
27521
|
-
var
|
|
27521
|
+
var p = new Ii(d), m = new mi([p], {
|
|
27522
27522
|
width: "100%",
|
|
27523
27523
|
height: V(f),
|
|
27524
27524
|
viewBox: "0 0 " + a + " " + u,
|
|
27525
27525
|
preserveAspectRatio: "none"
|
|
27526
27526
|
});
|
|
27527
27527
|
return {
|
|
27528
|
-
span: E.makeSvgSpan([], [
|
|
27528
|
+
span: E.makeSvgSpan([], [m], e),
|
|
27529
27529
|
minWidth: 0,
|
|
27530
27530
|
height: f
|
|
27531
27531
|
};
|
|
@@ -27541,13 +27541,13 @@ var su = function(t) {
|
|
|
27541
27541
|
else
|
|
27542
27542
|
throw new Error(`Correct katexImagesData or update code here to support
|
|
27543
27543
|
` + P + " children.");
|
|
27544
|
-
for (var
|
|
27545
|
-
var W = new Ii(x[
|
|
27544
|
+
for (var B = 0; B < P; B++) {
|
|
27545
|
+
var W = new Ii(x[B]), H = new mi([W], {
|
|
27546
27546
|
width: "400em",
|
|
27547
27547
|
height: V(C),
|
|
27548
27548
|
viewBox: "0 0 " + a + " " + M,
|
|
27549
|
-
preserveAspectRatio: O[
|
|
27550
|
-
}), N = E.makeSvgSpan([R[
|
|
27549
|
+
preserveAspectRatio: O[B] + " slice"
|
|
27550
|
+
}), N = E.makeSvgSpan([R[B]], [H], e);
|
|
27551
27551
|
if (P === 1)
|
|
27552
27552
|
return {
|
|
27553
27553
|
span: N,
|
|
@@ -27648,10 +27648,10 @@ var Ra = (s, t) => {
|
|
|
27648
27648
|
mode: i.mode,
|
|
27649
27649
|
text: i.label
|
|
27650
27650
|
}, t, "textord"), f = Sl(f), f.italic = 0, g = f.width, c && (u += f.depth)), d = E.makeSpan(["accent-body"], [f]);
|
|
27651
|
-
var
|
|
27652
|
-
|
|
27653
|
-
var
|
|
27654
|
-
|
|
27651
|
+
var p = i.label === "\\textcircled";
|
|
27652
|
+
p && (d.classes.push("accent-full"), u = n.height);
|
|
27653
|
+
var m = a;
|
|
27654
|
+
p || (m -= g / 2), d.style.left = V(m), i.label === "\\textcircled" && (d.style.top = ".2em"), d = E.makeVList({
|
|
27655
27655
|
positionType: "firstBaseline",
|
|
27656
27656
|
children: [{
|
|
27657
27657
|
type: "elem",
|
|
@@ -28089,19 +28089,19 @@ function Rv(s) {
|
|
|
28089
28089
|
}
|
|
28090
28090
|
else
|
|
28091
28091
|
throw new G('Expected one of "<>AV=|." after @', o[h]);
|
|
28092
|
-
var g = Dv(l, c, s),
|
|
28092
|
+
var g = Dv(l, c, s), p = {
|
|
28093
28093
|
type: "styling",
|
|
28094
28094
|
body: [g],
|
|
28095
28095
|
mode: "math",
|
|
28096
28096
|
style: "display"
|
|
28097
28097
|
// CD is always displaystyle.
|
|
28098
28098
|
};
|
|
28099
|
-
i.push(
|
|
28099
|
+
i.push(p), a = Rl();
|
|
28100
28100
|
}
|
|
28101
28101
|
n % 2 === 0 ? i.push(a) : i.shift(), i = [], r.push(i);
|
|
28102
28102
|
}
|
|
28103
28103
|
s.gullet.endGroup(), s.gullet.endGroup();
|
|
28104
|
-
var
|
|
28104
|
+
var m = new Array(r[0].length).fill({
|
|
28105
28105
|
type: "align",
|
|
28106
28106
|
align: "c",
|
|
28107
28107
|
pregap: 0.25,
|
|
@@ -28116,7 +28116,7 @@ function Rv(s) {
|
|
|
28116
28116
|
arraystretch: 1,
|
|
28117
28117
|
addJot: !0,
|
|
28118
28118
|
rowGaps: [null],
|
|
28119
|
-
cols:
|
|
28119
|
+
cols: m,
|
|
28120
28120
|
colSeparationType: "CD",
|
|
28121
28121
|
hLinesBeforeRow: new Array(r.length + 1).fill([])
|
|
28122
28122
|
};
|
|
@@ -28473,16 +28473,16 @@ var Rs = function(t, e, i) {
|
|
|
28473
28473
|
a = l = c = t, h = null;
|
|
28474
28474
|
var f = "Size1-Regular";
|
|
28475
28475
|
t === "\\uparrow" ? l = c = "⏐" : t === "\\Uparrow" ? l = c = "‖" : t === "\\downarrow" ? a = l = "⏐" : t === "\\Downarrow" ? a = l = "‖" : t === "\\updownarrow" ? (a = "\\uparrow", l = "⏐", c = "\\downarrow") : t === "\\Updownarrow" ? (a = "\\Uparrow", l = "‖", c = "\\Downarrow") : Fv.includes(t) ? (l = "∣", u = "vert", d = 333) : zv.includes(t) ? (l = "∥", u = "doublevert", d = 556) : t === "[" || t === "\\lbrack" ? (a = "⎡", l = "⎢", c = "⎣", f = "Size4-Regular", u = "lbrack", d = 667) : t === "]" || t === "\\rbrack" ? (a = "⎤", l = "⎥", c = "⎦", f = "Size4-Regular", u = "rbrack", d = 667) : t === "\\lfloor" || t === "⌊" ? (l = a = "⎢", c = "⎣", f = "Size4-Regular", u = "lfloor", d = 667) : t === "\\lceil" || t === "⌈" ? (a = "⎡", l = c = "⎢", f = "Size4-Regular", u = "lceil", d = 667) : t === "\\rfloor" || t === "⌋" ? (l = a = "⎥", c = "⎦", f = "Size4-Regular", u = "rfloor", d = 667) : t === "\\rceil" || t === "⌉" ? (a = "⎤", l = c = "⎥", f = "Size4-Regular", u = "rceil", d = 667) : t === "(" || t === "\\lparen" ? (a = "⎛", l = "⎜", c = "⎝", f = "Size4-Regular", u = "lparen", d = 875) : t === ")" || t === "\\rparen" ? (a = "⎞", l = "⎟", c = "⎠", f = "Size4-Regular", u = "rparen", d = 875) : t === "\\{" || t === "\\lbrace" ? (a = "⎧", h = "⎨", c = "⎩", l = "⎪", f = "Size4-Regular") : t === "\\}" || t === "\\rbrace" ? (a = "⎫", h = "⎬", c = "⎭", l = "⎪", f = "Size4-Regular") : t === "\\lgroup" || t === "⟮" ? (a = "⎧", c = "⎩", l = "⎪", f = "Size4-Regular") : t === "\\rgroup" || t === "⟯" ? (a = "⎫", c = "⎭", l = "⎪", f = "Size4-Regular") : t === "\\lmoustache" || t === "⎰" ? (a = "⎧", c = "⎭", l = "⎪", f = "Size4-Regular") : (t === "\\rmoustache" || t === "⎱") && (a = "⎫", c = "⎩", l = "⎪", f = "Size4-Regular");
|
|
28476
|
-
var g = Rs(a, f, n),
|
|
28476
|
+
var g = Rs(a, f, n), p = g.height + g.depth, m = Rs(l, f, n), _ = m.height + m.depth, y = Rs(c, f, n), x = y.height + y.depth, w = 0, M = 1;
|
|
28477
28477
|
if (h !== null) {
|
|
28478
28478
|
var C = Rs(h, f, n);
|
|
28479
28479
|
w = C.height + C.depth, M = 2;
|
|
28480
28480
|
}
|
|
28481
|
-
var P =
|
|
28481
|
+
var P = p + x + w, R = Math.max(0, Math.ceil((e - P) / (M * _))), O = P + R * M * _, z = r.fontMetrics().axisHeight;
|
|
28482
28482
|
i && (z *= r.sizeMultiplier);
|
|
28483
|
-
var
|
|
28483
|
+
var B = O / 2 - z, W = [];
|
|
28484
28484
|
if (u.length > 0) {
|
|
28485
|
-
var H = O -
|
|
28485
|
+
var H = O - p - x, N = Math.round(O * 1e3), q = U2(u, Math.round(H * 1e3)), rt = new Ii(u, q), ht = (d / 1e3).toFixed(3) + "em", ot = (N / 1e3).toFixed(3) + "em", pt = new mi([rt], {
|
|
28486
28486
|
width: ht,
|
|
28487
28487
|
height: ot,
|
|
28488
28488
|
viewBox: "0 0 " + d + " " + N
|
|
@@ -28493,17 +28493,17 @@ var Rs = function(t, e, i) {
|
|
|
28493
28493
|
});
|
|
28494
28494
|
} else {
|
|
28495
28495
|
if (W.push(lo(c, f, n)), W.push(Rr), h === null) {
|
|
28496
|
-
var it = O -
|
|
28496
|
+
var it = O - p - x + 2 * Yo;
|
|
28497
28497
|
W.push(co(l, it, r));
|
|
28498
28498
|
} else {
|
|
28499
|
-
var at = (O -
|
|
28499
|
+
var at = (O - p - x - w) / 2 + 2 * Yo;
|
|
28500
28500
|
W.push(co(l, at, r)), W.push(Rr), W.push(lo(h, f, n)), W.push(Rr), W.push(co(l, at, r));
|
|
28501
28501
|
}
|
|
28502
28502
|
W.push(Rr), W.push(lo(a, f, n));
|
|
28503
28503
|
}
|
|
28504
28504
|
var vt = r.havingBaseStyle(ct.TEXT), nt = E.makeVList({
|
|
28505
28505
|
positionType: "bottom",
|
|
28506
|
-
positionData:
|
|
28506
|
+
positionData: B,
|
|
28507
28507
|
children: W
|
|
28508
28508
|
}, vt);
|
|
28509
28509
|
return La(E.makeSpan(["delimsizing", "mult"], [nt], vt), ct.TEXT, r, o);
|
|
@@ -28873,13 +28873,13 @@ var Oa = (s, t) => {
|
|
|
28873
28873
|
n = E.makeSvgSpan(["hide-tail"], [g], t), n.style.height = V(u), o = e.depth + h + l;
|
|
28874
28874
|
} else {
|
|
28875
28875
|
/cancel/.test(i) ? a || e.classes.push("cancel-pad") : i === "angl" ? e.classes.push("anglpad") : e.classes.push("boxpad");
|
|
28876
|
-
var
|
|
28876
|
+
var p = 0, m = 0, _ = 0;
|
|
28877
28877
|
/box/.test(i) ? (_ = Math.max(
|
|
28878
28878
|
t.fontMetrics().fboxrule,
|
|
28879
28879
|
// default
|
|
28880
28880
|
t.minRuleThickness
|
|
28881
28881
|
// User override.
|
|
28882
|
-
),
|
|
28882
|
+
), p = t.fontMetrics().fboxsep + (i === "colorbox" ? 0 : _), m = p) : i === "angl" ? (_ = Math.max(t.fontMetrics().defaultRuleThickness, t.minRuleThickness), p = 4 * _, m = Math.max(0, 0.25 - e.depth)) : (p = a ? 0.2 : 0, m = p), n = _i.encloseSpan(e, i, p, m, t), /fbox|boxed|fcolorbox/.test(i) ? (n.style.borderStyle = "solid", n.style.borderWidth = V(_)) : i === "angl" && _ !== 0.049 && (n.style.borderTopWidth = V(_), n.style.borderRightWidth = V(_)), o = e.depth + m, s.backgroundColor && (n.style.backgroundColor = s.backgroundColor, s.borderColor && (n.style.borderColor = s.borderColor));
|
|
28883
28883
|
}
|
|
28884
28884
|
var y;
|
|
28885
28885
|
if (s.backgroundColor)
|
|
@@ -29130,7 +29130,7 @@ function Ni(s, t, e) {
|
|
|
29130
29130
|
throw new G("Invalid \\arraystretch: " + f);
|
|
29131
29131
|
}
|
|
29132
29132
|
s.gullet.beginGroup();
|
|
29133
|
-
var g = [],
|
|
29133
|
+
var g = [], p = [g], m = [], _ = [], y = h != null ? [] : void 0;
|
|
29134
29134
|
function x() {
|
|
29135
29135
|
h && s.gullet.macros.set("\\@eqnsw", "1", !0);
|
|
29136
29136
|
}
|
|
@@ -29158,12 +29158,12 @@ function Ni(s, t, e) {
|
|
|
29158
29158
|
}
|
|
29159
29159
|
s.consume();
|
|
29160
29160
|
} else if (C === "\\end") {
|
|
29161
|
-
w(), g.length === 1 && M.type === "styling" && M.body[0].body.length === 0 && (
|
|
29161
|
+
w(), g.length === 1 && M.type === "styling" && M.body[0].body.length === 0 && (p.length > 1 || !c) && p.pop(), _.length < p.length + 1 && _.push([]);
|
|
29162
29162
|
break;
|
|
29163
29163
|
} else if (C === "\\\\") {
|
|
29164
29164
|
s.consume();
|
|
29165
29165
|
var P = void 0;
|
|
29166
|
-
s.gullet.future().text !== " " && (P = s.parseSizeGroup(!0)),
|
|
29166
|
+
s.gullet.future().text !== " " && (P = s.parseSizeGroup(!0)), m.push(P ? P.value : null), w(), _.push(Fl(s)), g = [], p.push(g), x();
|
|
29167
29167
|
} else
|
|
29168
29168
|
throw new G("Expected & or \\\\ or \\cr or \\end", s.nextToken);
|
|
29169
29169
|
}
|
|
@@ -29172,9 +29172,9 @@ function Ni(s, t, e) {
|
|
|
29172
29172
|
mode: s.mode,
|
|
29173
29173
|
addJot: r,
|
|
29174
29174
|
arraystretch: o,
|
|
29175
|
-
body:
|
|
29175
|
+
body: p,
|
|
29176
29176
|
cols: n,
|
|
29177
|
-
rowGaps:
|
|
29177
|
+
rowGaps: m,
|
|
29178
29178
|
hskipBeforeAndAfter: i,
|
|
29179
29179
|
hLinesBeforeRow: _,
|
|
29180
29180
|
colSeparationType: a,
|
|
@@ -29199,7 +29199,7 @@ var ii = function(t, e) {
|
|
|
29199
29199
|
var g = t.colSeparationType === "CD" ? It({
|
|
29200
29200
|
number: 3,
|
|
29201
29201
|
unit: "ex"
|
|
29202
|
-
}, e) : 12 * u,
|
|
29202
|
+
}, e) : 12 * u, p = 3 * u, m = t.arraystretch * g, _ = 0.7 * m, y = 0.3 * m, x = 0;
|
|
29203
29203
|
function w(Xt) {
|
|
29204
29204
|
for (var Rt = 0; Rt < Xt.length; ++Rt)
|
|
29205
29205
|
Rt > 0 && (x += 0.25), l.push({
|
|
@@ -29215,8 +29215,8 @@ var ii = function(t, e) {
|
|
|
29215
29215
|
var O = Tt(M[r], e);
|
|
29216
29216
|
P < O.depth && (P = O.depth), C < O.height && (C = O.height), R[r] = O;
|
|
29217
29217
|
}
|
|
29218
|
-
var z = t.rowGaps[i],
|
|
29219
|
-
z && (
|
|
29218
|
+
var z = t.rowGaps[i], B = 0;
|
|
29219
|
+
z && (B = It(z, e), B > 0 && (B += y, P < B && (P = B), B = 0)), t.addJot && (P += p), R.height = C, R.depth = P, x += C, R.pos = x, x += P + B, h[i] = R, w(o[i + 1]);
|
|
29220
29220
|
}
|
|
29221
29221
|
var W = x / 2 + e.fontMetrics().axisHeight, H = t.cols || [], N = [], q, rt, ht = [];
|
|
29222
29222
|
if (t.tags && t.tags.some((Xt) => Xt))
|
|
@@ -29309,11 +29309,11 @@ var ii = function(t, e) {
|
|
|
29309
29309
|
c.setAttribute("rowspacing", V(u));
|
|
29310
29310
|
var d = "", f = "";
|
|
29311
29311
|
if (t.cols && t.cols.length > 0) {
|
|
29312
|
-
var g = t.cols,
|
|
29312
|
+
var g = t.cols, p = "", m = !1, _ = 0, y = g.length;
|
|
29313
29313
|
g[0].type === "separator" && (d += "top ", _ = 1), g[g.length - 1].type === "separator" && (d += "bottom ", y -= 1);
|
|
29314
29314
|
for (var x = _; x < y; x++)
|
|
29315
|
-
g[x].type === "align" ? (f += Hv[g[x].align],
|
|
29316
|
-
c.setAttribute("columnalign", f.trim()), /[sd]/.test(
|
|
29315
|
+
g[x].type === "align" ? (f += Hv[g[x].align], m && (p += "none "), m = !0) : g[x].type === "separator" && m && (p += g[x].separator === "|" ? "solid " : "dashed ", m = !1);
|
|
29316
|
+
c.setAttribute("columnalign", f.trim()), /[sd]/.test(p) && c.setAttribute("columnlines", p.trim());
|
|
29317
29317
|
}
|
|
29318
29318
|
if (t.colSeparationType === "align") {
|
|
29319
29319
|
for (var w = t.cols || [], M = "", C = 1; C < w.length; C++)
|
|
@@ -29362,11 +29362,11 @@ var ii = function(t, e) {
|
|
|
29362
29362
|
}
|
|
29363
29363
|
});
|
|
29364
29364
|
for (var g = 0; g < h; ++g) {
|
|
29365
|
-
var
|
|
29366
|
-
g % 2 === 1 ?
|
|
29365
|
+
var p = "r", m = 0;
|
|
29366
|
+
g % 2 === 1 ? p = "l" : g > 0 && f && (m = 1), i[g] = {
|
|
29367
29367
|
type: "align",
|
|
29368
|
-
align:
|
|
29369
|
-
pregap:
|
|
29368
|
+
align: p,
|
|
29369
|
+
pregap: m,
|
|
29370
29370
|
postgap: 0
|
|
29371
29371
|
};
|
|
29372
29372
|
}
|
|
@@ -29792,19 +29792,19 @@ var Mu = (s, t) => {
|
|
|
29792
29792
|
n = t.havingStyle(r);
|
|
29793
29793
|
var l = Tt(s.denom, n, t), c, u, d;
|
|
29794
29794
|
s.hasBarLine ? (s.barSize ? (u = It(s.barSize, t), c = E.makeLineSpan("frac-line", t, u)) : c = E.makeLineSpan("frac-line", t), u = c.height, d = c.height) : (c = null, u = 0, d = t.fontMetrics().defaultRuleThickness);
|
|
29795
|
-
var f, g,
|
|
29796
|
-
e.size === ct.DISPLAY.size || s.size === "display" ? (f = t.fontMetrics().num1, u > 0 ? g = 3 * d : g = 7 * d,
|
|
29797
|
-
var
|
|
29795
|
+
var f, g, p;
|
|
29796
|
+
e.size === ct.DISPLAY.size || s.size === "display" ? (f = t.fontMetrics().num1, u > 0 ? g = 3 * d : g = 7 * d, p = t.fontMetrics().denom1) : (u > 0 ? (f = t.fontMetrics().num2, g = d) : (f = t.fontMetrics().num3, g = 3 * d), p = t.fontMetrics().denom2);
|
|
29797
|
+
var m;
|
|
29798
29798
|
if (c) {
|
|
29799
29799
|
var y = t.fontMetrics().axisHeight;
|
|
29800
|
-
f - o.depth - (y + 0.5 * u) < g && (f += g - (f - o.depth - (y + 0.5 * u))), y - 0.5 * u - (l.height -
|
|
29800
|
+
f - o.depth - (y + 0.5 * u) < g && (f += g - (f - o.depth - (y + 0.5 * u))), y - 0.5 * u - (l.height - p) < g && (p += g - (y - 0.5 * u - (l.height - p)));
|
|
29801
29801
|
var x = -(y - 0.5 * u);
|
|
29802
|
-
|
|
29802
|
+
m = E.makeVList({
|
|
29803
29803
|
positionType: "individualShift",
|
|
29804
29804
|
children: [{
|
|
29805
29805
|
type: "elem",
|
|
29806
29806
|
elem: l,
|
|
29807
|
-
shift:
|
|
29807
|
+
shift: p
|
|
29808
29808
|
}, {
|
|
29809
29809
|
type: "elem",
|
|
29810
29810
|
elem: c,
|
|
@@ -29816,13 +29816,13 @@ var Mu = (s, t) => {
|
|
|
29816
29816
|
}]
|
|
29817
29817
|
}, t);
|
|
29818
29818
|
} else {
|
|
29819
|
-
var _ = f - o.depth - (l.height -
|
|
29820
|
-
_ < g && (f += 0.5 * (g - _),
|
|
29819
|
+
var _ = f - o.depth - (l.height - p);
|
|
29820
|
+
_ < g && (f += 0.5 * (g - _), p += 0.5 * (g - _)), m = E.makeVList({
|
|
29821
29821
|
positionType: "individualShift",
|
|
29822
29822
|
children: [{
|
|
29823
29823
|
type: "elem",
|
|
29824
29824
|
elem: l,
|
|
29825
|
-
shift:
|
|
29825
|
+
shift: p
|
|
29826
29826
|
}, {
|
|
29827
29827
|
type: "elem",
|
|
29828
29828
|
elem: o,
|
|
@@ -29830,11 +29830,11 @@ var Mu = (s, t) => {
|
|
|
29830
29830
|
}]
|
|
29831
29831
|
}, t);
|
|
29832
29832
|
}
|
|
29833
|
-
n = t.havingStyle(e),
|
|
29833
|
+
n = t.havingStyle(e), m.height *= n.sizeMultiplier / t.sizeMultiplier, m.depth *= n.sizeMultiplier / t.sizeMultiplier;
|
|
29834
29834
|
var w;
|
|
29835
29835
|
e.size === ct.DISPLAY.size ? w = t.fontMetrics().delim1 : e.size === ct.SCRIPTSCRIPT.size ? w = t.havingStyle(ct.SCRIPT).fontMetrics().delim2 : w = t.fontMetrics().delim2;
|
|
29836
29836
|
var M, C;
|
|
29837
|
-
return s.leftDelim == null ? M = $s(t, ["mopen"]) : M = pi.customSizedDelim(s.leftDelim, w, !0, t.havingStyle(e), s.mode, ["mopen"]), s.continued ? C = E.makeSpan([]) : s.rightDelim == null ? C = $s(t, ["mclose"]) : C = pi.customSizedDelim(s.rightDelim, w, !0, t.havingStyle(e), s.mode, ["mclose"]), E.makeSpan(["mord"].concat(n.sizingClasses(t)), [M, E.makeSpan(["mfrac"], [
|
|
29837
|
+
return s.leftDelim == null ? M = $s(t, ["mopen"]) : M = pi.customSizedDelim(s.leftDelim, w, !0, t.havingStyle(e), s.mode, ["mopen"]), s.continued ? C = E.makeSpan([]) : s.rightDelim == null ? C = $s(t, ["mclose"]) : C = pi.customSizedDelim(s.rightDelim, w, !0, t.havingStyle(e), s.mode, ["mclose"]), E.makeSpan(["mord"].concat(n.sizingClasses(t)), [M, E.makeSpan(["mfrac"], [m]), C], t);
|
|
29838
29838
|
}, Ia = (s, t) => {
|
|
29839
29839
|
var e = new j.MathNode("mfrac", [Lt(s.numer, t), Lt(s.denom, t)]);
|
|
29840
29840
|
if (!s.hasBarLine)
|
|
@@ -30682,10 +30682,10 @@ var Cu = (s, t, e, i, r, n, o) => {
|
|
|
30682
30682
|
}]
|
|
30683
30683
|
}, i);
|
|
30684
30684
|
} else if (l) {
|
|
30685
|
-
var
|
|
30685
|
+
var p = s.depth + o;
|
|
30686
30686
|
d = E.makeVList({
|
|
30687
30687
|
positionType: "bottom",
|
|
30688
|
-
positionData:
|
|
30688
|
+
positionData: p,
|
|
30689
30689
|
children: [{
|
|
30690
30690
|
type: "elem",
|
|
30691
30691
|
elem: s
|
|
@@ -30703,12 +30703,12 @@ var Cu = (s, t, e, i, r, n, o) => {
|
|
|
30703
30703
|
}, i);
|
|
30704
30704
|
} else
|
|
30705
30705
|
return s;
|
|
30706
|
-
var
|
|
30706
|
+
var m = [d];
|
|
30707
30707
|
if (h && n !== 0 && !a) {
|
|
30708
30708
|
var _ = E.makeSpan(["mspace"], [], i);
|
|
30709
|
-
_.style.marginRight = V(n),
|
|
30709
|
+
_.style.marginRight = V(n), m.unshift(_);
|
|
30710
30710
|
}
|
|
30711
|
-
return E.makeSpan(["mop", "op-limits"],
|
|
30711
|
+
return E.makeSpan(["mop", "op-limits"], m, i);
|
|
30712
30712
|
}, Pu = ["\\smallint"], Ms = (s, t) => {
|
|
30713
30713
|
var e, i, r = !1, n;
|
|
30714
30714
|
s.type === "supsub" ? (e = s.sup, i = s.sub, n = yt(s.base, "op"), r = !0) : n = yt(s, "op");
|
|
@@ -30736,12 +30736,12 @@ var Cu = (s, t, e, i, r, n, o) => {
|
|
|
30736
30736
|
var f = $t(n.body, t, !0);
|
|
30737
30737
|
f.length === 1 && f[0] instanceof Pe ? (h = f[0], h.classes[0] = "mop") : h = E.makeSpan(["mop"], f, t);
|
|
30738
30738
|
} else {
|
|
30739
|
-
for (var g = [],
|
|
30740
|
-
g.push(E.mathsym(n.name[
|
|
30739
|
+
for (var g = [], p = 1; p < n.name.length; p++)
|
|
30740
|
+
g.push(E.mathsym(n.name[p], n.mode, t));
|
|
30741
30741
|
h = E.makeSpan(["mop"], g, t);
|
|
30742
30742
|
}
|
|
30743
|
-
var
|
|
30744
|
-
return (h instanceof Pe || n.name === "\\oiint" || n.name === "\\oiiint") && !n.suppressBaseShift && (
|
|
30743
|
+
var m = 0, _ = 0;
|
|
30744
|
+
return (h instanceof Pe || n.name === "\\oiint" || n.name === "\\oiiint") && !n.suppressBaseShift && (m = (h.height - h.depth) / 2 - t.fontMetrics().axisHeight, _ = h.italic), r ? Cu(h, e, i, t, o, _, m) : (m && (h.style.position = "relative", h.style.top = V(m)), h);
|
|
30745
30745
|
}, ar = (s, t) => {
|
|
30746
30746
|
var e;
|
|
30747
30747
|
if (s.symbol)
|
|
@@ -31338,12 +31338,12 @@ Y({
|
|
|
31338
31338
|
}]
|
|
31339
31339
|
}, t);
|
|
31340
31340
|
if (s.index) {
|
|
31341
|
-
var g = t.havingStyle(ct.SCRIPTSCRIPT),
|
|
31341
|
+
var g = t.havingStyle(ct.SCRIPTSCRIPT), p = Tt(s.index, g, t), m = 0.6 * (f.height - f.depth), _ = E.makeVList({
|
|
31342
31342
|
positionType: "shift",
|
|
31343
|
-
positionData: -
|
|
31343
|
+
positionData: -m,
|
|
31344
31344
|
children: [{
|
|
31345
31345
|
type: "elem",
|
|
31346
|
-
elem:
|
|
31346
|
+
elem: p
|
|
31347
31347
|
}]
|
|
31348
31348
|
}, t), y = E.makeSpan(["root"], [_]);
|
|
31349
31349
|
return E.makeSpan(["mord", "sqrt"], [y, f], t);
|
|
@@ -31440,16 +31440,16 @@ es({
|
|
|
31440
31440
|
var g = t.havingStyle(t.style.sub());
|
|
31441
31441
|
h = Tt(n, g, t), d || (u = o.depth + g.fontMetrics().subDrop * g.sizeMultiplier / t.sizeMultiplier);
|
|
31442
31442
|
}
|
|
31443
|
-
var
|
|
31444
|
-
t.style === ct.DISPLAY ?
|
|
31445
|
-
var
|
|
31443
|
+
var p;
|
|
31444
|
+
t.style === ct.DISPLAY ? p = l.sup1 : t.style.cramped ? p = l.sup3 : p = l.sup2;
|
|
31445
|
+
var m = t.sizeMultiplier, _ = V(0.5 / l.ptPerEm / m), y = null;
|
|
31446
31446
|
if (h) {
|
|
31447
31447
|
var x = s.base && s.base.type === "op" && s.base.name && (s.base.name === "\\oiint" || s.base.name === "\\oiiint");
|
|
31448
31448
|
(o instanceof Pe || x) && (y = V(-o.italic));
|
|
31449
31449
|
}
|
|
31450
31450
|
var w;
|
|
31451
31451
|
if (a && h) {
|
|
31452
|
-
c = Math.max(c,
|
|
31452
|
+
c = Math.max(c, p, a.depth + 0.25 * l.xHeight), u = Math.max(u, l.sub2);
|
|
31453
31453
|
var M = l.defaultRuleThickness, C = 4 * M;
|
|
31454
31454
|
if (c - a.depth - (h.height - u) < C) {
|
|
31455
31455
|
u = C - (c - a.depth) + h.height;
|
|
@@ -31486,7 +31486,7 @@ es({
|
|
|
31486
31486
|
children: O
|
|
31487
31487
|
}, t);
|
|
31488
31488
|
} else if (a)
|
|
31489
|
-
c = Math.max(c,
|
|
31489
|
+
c = Math.max(c, p, a.depth + 0.25 * l.xHeight), w = E.makeVList({
|
|
31490
31490
|
positionType: "shift",
|
|
31491
31491
|
positionData: -c,
|
|
31492
31492
|
children: [{
|
|
@@ -34019,81 +34019,81 @@ function my(s) {
|
|
|
34019
34019
|
switch (u.toUpperCase()) {
|
|
34020
34020
|
case "M": {
|
|
34021
34021
|
e.length > 0 && (t.push(e), e = []);
|
|
34022
|
-
for (let
|
|
34023
|
-
const
|
|
34024
|
-
|
|
34022
|
+
for (let p = 0; p < d.length; p += 2) {
|
|
34023
|
+
const m = f ? i + d[p] : d[p], _ = f ? r + d[p + 1] : d[p + 1];
|
|
34024
|
+
p === 0 ? (n = m, o = _, e.push([m, _])) : ls(e, i, r, m, _), i = m, r = _;
|
|
34025
34025
|
}
|
|
34026
34026
|
l = "M";
|
|
34027
34027
|
break;
|
|
34028
34028
|
}
|
|
34029
34029
|
case "L": {
|
|
34030
|
-
for (let
|
|
34031
|
-
const
|
|
34032
|
-
ls(e, i, r,
|
|
34030
|
+
for (let p = 0; p < d.length; p += 2) {
|
|
34031
|
+
const m = f ? i + d[p] : d[p], _ = f ? r + d[p + 1] : d[p + 1];
|
|
34032
|
+
ls(e, i, r, m, _), i = m, r = _;
|
|
34033
34033
|
}
|
|
34034
34034
|
l = "L";
|
|
34035
34035
|
break;
|
|
34036
34036
|
}
|
|
34037
34037
|
case "H": {
|
|
34038
|
-
for (const
|
|
34039
|
-
const
|
|
34040
|
-
ls(e, i, r,
|
|
34038
|
+
for (const p of d) {
|
|
34039
|
+
const m = f ? i + p : p;
|
|
34040
|
+
ls(e, i, r, m, r), i = m;
|
|
34041
34041
|
}
|
|
34042
34042
|
l = "H";
|
|
34043
34043
|
break;
|
|
34044
34044
|
}
|
|
34045
34045
|
case "V": {
|
|
34046
|
-
for (const
|
|
34047
|
-
const
|
|
34048
|
-
ls(e, i, r, i,
|
|
34046
|
+
for (const p of d) {
|
|
34047
|
+
const m = f ? r + p : p;
|
|
34048
|
+
ls(e, i, r, i, m), r = m;
|
|
34049
34049
|
}
|
|
34050
34050
|
l = "V";
|
|
34051
34051
|
break;
|
|
34052
34052
|
}
|
|
34053
34053
|
case "C": {
|
|
34054
|
-
for (let
|
|
34055
|
-
let
|
|
34056
|
-
f && (
|
|
34054
|
+
for (let p = 0; p < d.length; p += 6) {
|
|
34055
|
+
let m = d[p], _ = d[p + 1], y = d[p + 2], x = d[p + 3], w = d[p + 4], M = d[p + 5];
|
|
34056
|
+
f && (m += i, _ += r, y += i, x += r, w += i, M += r), e.push([m, _], [y, x], [w, M]), a = y, h = x, i = w, r = M;
|
|
34057
34057
|
}
|
|
34058
34058
|
l = "C";
|
|
34059
34059
|
break;
|
|
34060
34060
|
}
|
|
34061
34061
|
case "S": {
|
|
34062
|
-
for (let
|
|
34063
|
-
let
|
|
34064
|
-
(l === "C" || l === "S") && (
|
|
34065
|
-
let y = d[
|
|
34066
|
-
f && (y += i, x += r, w += i, M += r), e.push([
|
|
34062
|
+
for (let p = 0; p < d.length; p += 4) {
|
|
34063
|
+
let m = i, _ = r;
|
|
34064
|
+
(l === "C" || l === "S") && (m = 2 * i - a, _ = 2 * r - h);
|
|
34065
|
+
let y = d[p], x = d[p + 1], w = d[p + 2], M = d[p + 3];
|
|
34066
|
+
f && (y += i, x += r, w += i, M += r), e.push([m, _], [y, x], [w, M]), a = y, h = x, i = w, r = M, l = "S";
|
|
34067
34067
|
}
|
|
34068
34068
|
break;
|
|
34069
34069
|
}
|
|
34070
34070
|
case "Q": {
|
|
34071
|
-
for (let
|
|
34072
|
-
let
|
|
34073
|
-
f && (
|
|
34074
|
-
const w = i + 2 / 3 * (
|
|
34075
|
-
e.push([w, M], [C, P], [y, x]), a =
|
|
34071
|
+
for (let p = 0; p < d.length; p += 4) {
|
|
34072
|
+
let m = d[p], _ = d[p + 1], y = d[p + 2], x = d[p + 3];
|
|
34073
|
+
f && (m += i, _ += r, y += i, x += r);
|
|
34074
|
+
const w = i + 2 / 3 * (m - i), M = r + 2 / 3 * (_ - r), C = y + 2 / 3 * (m - y), P = x + 2 / 3 * (_ - x);
|
|
34075
|
+
e.push([w, M], [C, P], [y, x]), a = m, h = _, i = y, r = x;
|
|
34076
34076
|
}
|
|
34077
34077
|
l = "Q";
|
|
34078
34078
|
break;
|
|
34079
34079
|
}
|
|
34080
34080
|
case "T": {
|
|
34081
|
-
for (let
|
|
34082
|
-
let
|
|
34083
|
-
(l === "Q" || l === "T") && (
|
|
34084
|
-
let y = d[
|
|
34081
|
+
for (let p = 0; p < d.length; p += 2) {
|
|
34082
|
+
let m = i, _ = r;
|
|
34083
|
+
(l === "Q" || l === "T") && (m = 2 * i - a, _ = 2 * r - h);
|
|
34084
|
+
let y = d[p], x = d[p + 1];
|
|
34085
34085
|
f && (y += i, x += r);
|
|
34086
|
-
const w = i + 2 / 3 * (
|
|
34087
|
-
e.push([w, M], [C, P], [y, x]), a =
|
|
34086
|
+
const w = i + 2 / 3 * (m - i), M = r + 2 / 3 * (_ - r), C = y + 2 / 3 * (m - y), P = x + 2 / 3 * (_ - x);
|
|
34087
|
+
e.push([w, M], [C, P], [y, x]), a = m, h = _, i = y, r = x, l = "T";
|
|
34088
34088
|
}
|
|
34089
34089
|
break;
|
|
34090
34090
|
}
|
|
34091
34091
|
case "A": {
|
|
34092
|
-
for (let
|
|
34093
|
-
const
|
|
34094
|
-
let M = d[
|
|
34092
|
+
for (let p = 0; p < d.length; p += 7) {
|
|
34093
|
+
const m = d[p], _ = d[p + 1], y = d[p + 2] * Math.PI / 180, x = d[p + 3], w = d[p + 4];
|
|
34094
|
+
let M = d[p + 5], C = d[p + 6];
|
|
34095
34095
|
f && (M += i, C += r);
|
|
34096
|
-
const P = gy(i, r, M, C,
|
|
34096
|
+
const P = gy(i, r, M, C, m, _, y, x, w);
|
|
34097
34097
|
for (const R of P)
|
|
34098
34098
|
e.push(R);
|
|
34099
34099
|
i = M, r = C;
|
|
@@ -34118,22 +34118,17 @@ function gy(s, t, e, i, r, n, o, a, h) {
|
|
|
34118
34118
|
const u = [];
|
|
34119
34119
|
if (l === 0 || c === 0 || s === e && t === i)
|
|
34120
34120
|
return ls(u, s, t, e, i), u;
|
|
34121
|
-
const d = Math.cos(o), f = Math.sin(o), g = (s - e) / 2,
|
|
34121
|
+
const d = Math.cos(o), f = Math.sin(o), g = (s - e) / 2, p = (t - i) / 2, m = d * g + f * p, _ = -f * g + d * p, y = m * m / (l * l) + _ * _ / (c * c);
|
|
34122
34122
|
if (y > 1) {
|
|
34123
34123
|
const q = Math.sqrt(y);
|
|
34124
34124
|
l *= q, c *= q;
|
|
34125
34125
|
}
|
|
34126
|
-
const x = a === h ? -1 : 1, w = l * l * _ * _ + c * c *
|
|
34127
|
-
let W = Jl(
|
|
34128
|
-
(p - P) / l,
|
|
34129
|
-
(_ - R) / c,
|
|
34130
|
-
(-p - P) / l,
|
|
34131
|
-
(-_ - R) / c
|
|
34132
|
-
);
|
|
34126
|
+
const x = a === h ? -1 : 1, w = l * l * _ * _ + c * c * m * m, M = Math.max(0, (l * l * c * c - w) / w), C = x * Math.sqrt(M), P = C * l * _ / c, R = -C * c * m / l, O = d * P - f * R + (s + e) / 2, z = f * P + d * R + (t + i) / 2, B = Jl(1, 0, (m - P) / l, (_ - R) / c);
|
|
34127
|
+
let W = Jl((m - P) / l, (_ - R) / c, (-m - P) / l, (-_ - R) / c);
|
|
34133
34128
|
h === 0 && W > 0 && (W -= 2 * Math.PI), h === 1 && W < 0 && (W += 2 * Math.PI);
|
|
34134
34129
|
const H = Math.max(1, Math.ceil(Math.abs(W) / (Math.PI / 2))), N = W / H;
|
|
34135
34130
|
for (let q = 0; q < H; q++) {
|
|
34136
|
-
const rt =
|
|
34131
|
+
const rt = B + q * N, ht = rt + N, ot = Math.sin(N) * (Math.sqrt(4 + 3 * Math.tan(N / 2) ** 2) - 1) / 3, pt = Math.cos(rt), mt = Math.sin(rt), it = Math.cos(ht), at = Math.sin(ht), vt = O + l * d * pt - c * f * mt, nt = z + l * f * pt + c * d * mt, wt = O + l * d * it - c * f * at, bt = z + l * f * it + c * d * at, Z = -l * d * mt - c * f * pt, Q = -l * f * mt + c * d * pt, J = -l * d * at - c * f * it, kt = -l * f * at + c * d * it, Ut = vt + ot * Z, le = nt + ot * Q, ie = wt - ot * J, Zt = bt - ot * kt;
|
|
34137
34132
|
u.push([Ut, le], [ie, Zt], [wt, bt]);
|
|
34138
34133
|
}
|
|
34139
34134
|
return u;
|
|
@@ -34152,71 +34147,96 @@ function _y(s, t = {}) {
|
|
|
34152
34147
|
flipY: o = !0
|
|
34153
34148
|
} = t, a = new Mt(), h = /* @__PURE__ */ new Map();
|
|
34154
34149
|
s.querySelectorAll("defs path").forEach((g) => {
|
|
34155
|
-
const
|
|
34156
|
-
|
|
34150
|
+
const p = g.getAttribute("id"), m = g.getAttribute("d");
|
|
34151
|
+
p && m && h.set(p, m);
|
|
34157
34152
|
});
|
|
34158
34153
|
const c = s.getAttribute?.("viewBox");
|
|
34159
34154
|
let u = 1;
|
|
34160
34155
|
c && (u = 1 / (c.split(/\s+/).map(Number)[2] || 1e3));
|
|
34161
34156
|
const d = n * u;
|
|
34162
|
-
function f(g, m,
|
|
34163
|
-
const
|
|
34164
|
-
if (
|
|
34165
|
-
let
|
|
34166
|
-
const
|
|
34167
|
-
if (
|
|
34168
|
-
const
|
|
34169
|
-
|
|
34170
|
-
|
|
34171
|
-
|
|
34172
|
-
|
|
34173
|
-
|
|
34174
|
-
|
|
34175
|
-
|
|
34176
|
-
|
|
34177
|
-
} else if (_ === "use") {
|
|
34178
|
-
const C = (g.getAttribute("xlink:href") || g.getAttribute("href") || "").replace(/^#/, ""), P = h.get(C), R = parseFloat(g.getAttribute("x") || "0"), O = parseFloat(g.getAttribute("y") || "0");
|
|
34157
|
+
function f(g, p, m, _) {
|
|
34158
|
+
const y = g.tagName.toLowerCase();
|
|
34159
|
+
if (y === "defs") return;
|
|
34160
|
+
let x = p, w = m, M = _;
|
|
34161
|
+
const C = g.getAttribute("transform");
|
|
34162
|
+
if (C) {
|
|
34163
|
+
const P = /(translate|scale)\s*\(([^)]*)\)/g;
|
|
34164
|
+
let R;
|
|
34165
|
+
for (; (R = P.exec(C)) !== null; ) {
|
|
34166
|
+
const O = R[1], z = R[2].split(/[\s,]+/).filter(Boolean).map(Number);
|
|
34167
|
+
O === "translate" ? (x += M * (z[0] || 0), w += M * (z[1] || 0)) : O === "scale" && (M *= z[0] || 1);
|
|
34168
|
+
}
|
|
34169
|
+
}
|
|
34170
|
+
if (y === "path") {
|
|
34171
|
+
const P = g.getAttribute("d");
|
|
34179
34172
|
if (P) {
|
|
34180
|
-
const
|
|
34173
|
+
const R = yo(
|
|
34181
34174
|
P,
|
|
34182
|
-
|
|
34183
|
-
|
|
34175
|
+
x,
|
|
34176
|
+
w,
|
|
34177
|
+
M,
|
|
34184
34178
|
d,
|
|
34185
34179
|
o,
|
|
34186
34180
|
e,
|
|
34187
34181
|
i,
|
|
34188
34182
|
r
|
|
34189
34183
|
);
|
|
34190
|
-
|
|
34184
|
+
R && a.add(R);
|
|
34191
34185
|
}
|
|
34192
|
-
} else if (
|
|
34193
|
-
const
|
|
34194
|
-
if (
|
|
34195
|
-
const
|
|
34196
|
-
|
|
34186
|
+
} else if (y === "use") {
|
|
34187
|
+
const R = (g.getAttribute("xlink:href") || g.getAttribute("href") || "").replace(/^#/, ""), O = h.get(R), z = parseFloat(g.getAttribute("x") || "0"), B = parseFloat(g.getAttribute("y") || "0");
|
|
34188
|
+
if (O) {
|
|
34189
|
+
const W = yo(
|
|
34190
|
+
O,
|
|
34191
|
+
x + M * z,
|
|
34192
|
+
w + M * B,
|
|
34193
|
+
M,
|
|
34194
|
+
d,
|
|
34195
|
+
o,
|
|
34196
|
+
e,
|
|
34197
|
+
i,
|
|
34198
|
+
r
|
|
34199
|
+
);
|
|
34200
|
+
W && a.add(W);
|
|
34201
|
+
}
|
|
34202
|
+
} else if (y === "rect") {
|
|
34203
|
+
const P = parseFloat(g.getAttribute("x") || "0"), R = parseFloat(g.getAttribute("y") || "0"), O = parseFloat(g.getAttribute("width") || "0"), z = parseFloat(g.getAttribute("height") || "0");
|
|
34204
|
+
if (O > 0 && z > 0) {
|
|
34205
|
+
const B = `M${P},${R} L${P + O},${R} L${P + O},${R + z} L${P},${R + z} Z`, W = yo(
|
|
34206
|
+
B,
|
|
34207
|
+
x,
|
|
34208
|
+
w,
|
|
34209
|
+
M,
|
|
34210
|
+
d,
|
|
34211
|
+
o,
|
|
34212
|
+
e,
|
|
34213
|
+
i,
|
|
34214
|
+
r
|
|
34215
|
+
);
|
|
34216
|
+
W && a.add(W);
|
|
34197
34217
|
}
|
|
34198
34218
|
}
|
|
34199
|
-
for (const
|
|
34200
|
-
f(
|
|
34219
|
+
for (const P of g.children)
|
|
34220
|
+
f(P, x, w, M);
|
|
34201
34221
|
}
|
|
34202
|
-
return f(s, 0, 0), a;
|
|
34222
|
+
return f(s, 0, 0, 1), a;
|
|
34203
34223
|
}
|
|
34204
|
-
function yo(s, t, e, i, r, n, o, a) {
|
|
34205
|
-
const
|
|
34206
|
-
if (
|
|
34207
|
-
const
|
|
34208
|
-
for (const
|
|
34209
|
-
const
|
|
34210
|
-
for (const [m,
|
|
34211
|
-
const
|
|
34212
|
-
|
|
34224
|
+
function yo(s, t, e, i, r, n, o, a, h) {
|
|
34225
|
+
const l = my(s);
|
|
34226
|
+
if (l.length === 0) return null;
|
|
34227
|
+
const c = [], u = [];
|
|
34228
|
+
for (const f of l) {
|
|
34229
|
+
const g = c.length;
|
|
34230
|
+
for (const [m, _] of f) {
|
|
34231
|
+
const y = (t + i * m) * r, x = n ? -(e + i * _) * r : (e + i * _) * r;
|
|
34232
|
+
c.push([y, x, 0]);
|
|
34213
34233
|
}
|
|
34214
|
-
const
|
|
34215
|
-
|
|
34234
|
+
const p = c.length - g;
|
|
34235
|
+
p > 0 && u.push(p);
|
|
34216
34236
|
}
|
|
34217
|
-
if (
|
|
34218
|
-
const
|
|
34219
|
-
return
|
|
34237
|
+
if (c.length < 2) return null;
|
|
34238
|
+
const d = new I();
|
|
34239
|
+
return d.setColor(o), d.strokeWidth = a, d.fillOpacity = h, d.setPoints3D(c), u.length > 1 && (d.getSubpaths = () => [...u]), d;
|
|
34220
34240
|
}
|
|
34221
34241
|
let hi = null, Or = null;
|
|
34222
34242
|
async function Uu() {
|
|
@@ -34268,11 +34288,11 @@ async function Hr(s, t = {}) {
|
|
|
34268
34288
|
} = t, a = await Uu();
|
|
34269
34289
|
let h, l;
|
|
34270
34290
|
if (a.strategy === "global") {
|
|
34271
|
-
const
|
|
34272
|
-
if (Object.keys(n).length > 0 && (
|
|
34291
|
+
const p = a.MathJax;
|
|
34292
|
+
if (Object.keys(n).length > 0 && (p.tex = p.tex || {}, p.tex.macros = { ...p.tex.macros, ...n }), h = p.tex2svg(s, { display: e }).querySelector("svg"), !h)
|
|
34273
34293
|
throw new Error(`MathJax failed to produce SVG for: ${s}`);
|
|
34274
34294
|
try {
|
|
34275
|
-
const _ =
|
|
34295
|
+
const _ = p.startup?.adaptor, y = p.startup?.output?.fontCache?.defs;
|
|
34276
34296
|
if (_ && y) {
|
|
34277
34297
|
const x = _.outerHTML(y);
|
|
34278
34298
|
if (x) {
|
|
@@ -34286,23 +34306,23 @@ async function Hr(s, t = {}) {
|
|
|
34286
34306
|
}
|
|
34287
34307
|
l = h.outerHTML;
|
|
34288
34308
|
} else {
|
|
34289
|
-
const { mjModule:
|
|
34309
|
+
const { mjModule: p, texModule: m, svgModule: _, adaptor: y } = a, x = p.mathjax, w = m.TeX, M = _.SVG, C = new w({
|
|
34290
34310
|
packages: ["base", "ams", "newcommand", "configmacros"],
|
|
34291
34311
|
...Object.keys(n).length > 0 ? { macros: n } : {}
|
|
34292
34312
|
}), P = new M({ fontCache: "none" }), O = x.document("", { InputJax: C, OutputJax: P }).convert(s, { display: e });
|
|
34293
34313
|
l = y.outerHTML(O), h = new DOMParser().parseFromString(l, "image/svg+xml").documentElement;
|
|
34294
34314
|
}
|
|
34295
|
-
h.setAttribute("color", i), h.setAttribute("style", `color:${i};`), h.querySelectorAll("path, line, rect, circle, polyline, polygon, use").forEach((
|
|
34296
|
-
const
|
|
34297
|
-
(!
|
|
34298
|
-
const _ =
|
|
34299
|
-
(_ === "currentColor" || _ === "inherit") &&
|
|
34315
|
+
h.setAttribute("color", i), h.setAttribute("style", `color:${i};`), h.querySelectorAll("path, line, rect, circle, polyline, polygon, use").forEach((p) => {
|
|
34316
|
+
const m = p.getAttribute("fill");
|
|
34317
|
+
(!m || m === "currentColor" || m === "inherit") && p.setAttribute("fill", i);
|
|
34318
|
+
const _ = p.getAttribute("stroke");
|
|
34319
|
+
(_ === "currentColor" || _ === "inherit") && p.setAttribute("stroke", i);
|
|
34300
34320
|
});
|
|
34301
34321
|
const u = h.getAttribute("viewBox");
|
|
34302
34322
|
let d = 0, f = 0;
|
|
34303
34323
|
if (u) {
|
|
34304
|
-
const
|
|
34305
|
-
d = parseFloat(
|
|
34324
|
+
const p = u.split(/\s+/);
|
|
34325
|
+
d = parseFloat(p[2]) || 0, f = parseFloat(p[3]) || 0;
|
|
34306
34326
|
}
|
|
34307
34327
|
d *= r, f *= r;
|
|
34308
34328
|
const g = _y(h, { color: i, scale: r, flipY: !1 });
|
|
@@ -34577,19 +34597,19 @@ class ae extends st {
|
|
|
34577
34597
|
}
|
|
34578
34598
|
const f = 2, g = document.createElement("canvas");
|
|
34579
34599
|
g.width = u * f, g.height = d * f;
|
|
34580
|
-
const
|
|
34581
|
-
|
|
34600
|
+
const p = g.getContext("2d");
|
|
34601
|
+
p.scale(f, f), await new Promise((_) => {
|
|
34582
34602
|
const y = new Image();
|
|
34583
34603
|
y.onload = () => {
|
|
34584
|
-
|
|
34604
|
+
p.drawImage(y, c, c, a, h), URL.revokeObjectURL(y.src), _();
|
|
34585
34605
|
}, y.onerror = () => {
|
|
34586
34606
|
URL.revokeObjectURL(y.src), console.warn("MathTex (MathJax): Failed to rasterize SVG"), _();
|
|
34587
34607
|
};
|
|
34588
34608
|
const x = new Blob([l], { type: "image/svg+xml;charset=utf-8" });
|
|
34589
34609
|
y.src = URL.createObjectURL(x);
|
|
34590
34610
|
}), this._renderState.canvas = g, this._renderState.texture && this._renderState.texture.dispose(), this._renderState.texture = new S.CanvasTexture(g), this._renderState.texture.minFilter = S.LinearFilter, this._renderState.texture.magFilter = S.LinearFilter, this._renderState.texture.needsUpdate = !0;
|
|
34591
|
-
const
|
|
34592
|
-
if (this._renderState.width = u *
|
|
34611
|
+
const m = 0.01;
|
|
34612
|
+
if (this._renderState.width = u * m, this._renderState.height = d * m, this._renderState.mesh) {
|
|
34593
34613
|
this._updateMeshGeometry();
|
|
34594
34614
|
const _ = this._renderState.mesh.material;
|
|
34595
34615
|
_.map = this._renderState.texture, _.needsUpdate = !0;
|
|
@@ -34652,10 +34672,10 @@ class ae extends st {
|
|
|
34652
34672
|
if (f.nodeType === Node.TEXT_NODE) {
|
|
34653
34673
|
const g = f.textContent;
|
|
34654
34674
|
if (!g || !g.trim() || /^[\u200B\u200C\u200D\uFEFF]+$/.test(g)) return;
|
|
34655
|
-
const
|
|
34656
|
-
if (!
|
|
34657
|
-
const
|
|
34658
|
-
if (
|
|
34675
|
+
const p = f.parentElement;
|
|
34676
|
+
if (!p) return;
|
|
34677
|
+
const m = window.getComputedStyle(p);
|
|
34678
|
+
if (m.display === "none" || m.visibility === "hidden" || parseFloat(m.opacity) === 0) return;
|
|
34659
34679
|
const _ = document.createRange();
|
|
34660
34680
|
_.selectNodeContents(f);
|
|
34661
34681
|
const y = _.getClientRects();
|
|
@@ -34666,7 +34686,7 @@ class ae extends st {
|
|
|
34666
34686
|
text: g,
|
|
34667
34687
|
x: x.left - e.left + n,
|
|
34668
34688
|
y: x.top - e.top + n,
|
|
34669
|
-
font: `${
|
|
34689
|
+
font: `${m.fontStyle} ${m.fontWeight} ${m.fontSize} ${m.fontFamily}`
|
|
34670
34690
|
});
|
|
34671
34691
|
return;
|
|
34672
34692
|
}
|
|
@@ -34698,16 +34718,16 @@ class ae extends st {
|
|
|
34698
34718
|
}
|
|
34699
34719
|
return;
|
|
34700
34720
|
}
|
|
34701
|
-
const
|
|
34702
|
-
if (
|
|
34721
|
+
const p = window.getComputedStyle(g), m = parseFloat(p.borderBottomWidth) || 0, _ = parseFloat(p.borderTopWidth) || 0;
|
|
34722
|
+
if (m > 0 || _ > 0) {
|
|
34703
34723
|
const x = g.getBoundingClientRect();
|
|
34704
34724
|
if (x.width > 0) {
|
|
34705
34725
|
const w = x.left - e.left + n, M = x.top - e.top + n;
|
|
34706
|
-
|
|
34726
|
+
m > 0 && u.push({
|
|
34707
34727
|
x: w,
|
|
34708
|
-
y: M + x.height -
|
|
34728
|
+
y: M + x.height - m,
|
|
34709
34729
|
w: x.width,
|
|
34710
|
-
h: Math.max(
|
|
34730
|
+
h: Math.max(m, 1)
|
|
34711
34731
|
}), _ > 0 && u.push({
|
|
34712
34732
|
x: w,
|
|
34713
34733
|
y: M,
|
|
@@ -34716,7 +34736,7 @@ class ae extends st {
|
|
|
34716
34736
|
});
|
|
34717
34737
|
}
|
|
34718
34738
|
}
|
|
34719
|
-
const y =
|
|
34739
|
+
const y = p.backgroundColor;
|
|
34720
34740
|
if (y && y !== "transparent" && y !== "rgba(0, 0, 0, 0)") {
|
|
34721
34741
|
const x = g.getBoundingClientRect();
|
|
34722
34742
|
x.width > 0 && x.height > 0 && u.push({
|
|
@@ -34731,21 +34751,21 @@ class ae extends st {
|
|
|
34731
34751
|
}
|
|
34732
34752
|
};
|
|
34733
34753
|
d(t), c.length > 0 && await Promise.all(c.map((f) => new Promise((g) => {
|
|
34734
|
-
const
|
|
34735
|
-
|
|
34736
|
-
h.drawImage(
|
|
34737
|
-
},
|
|
34738
|
-
URL.revokeObjectURL(
|
|
34754
|
+
const p = new Image();
|
|
34755
|
+
p.onload = () => {
|
|
34756
|
+
h.drawImage(p, f.x, f.y, f.w, f.h), URL.revokeObjectURL(p.src), g();
|
|
34757
|
+
}, p.onerror = () => {
|
|
34758
|
+
URL.revokeObjectURL(p.src), g();
|
|
34739
34759
|
};
|
|
34740
|
-
const
|
|
34741
|
-
|
|
34760
|
+
const m = new Blob([f.svgString], { type: "image/svg+xml;charset=utf-8" });
|
|
34761
|
+
p.src = URL.createObjectURL(m);
|
|
34742
34762
|
})));
|
|
34743
34763
|
for (const f of u)
|
|
34744
34764
|
h.fillStyle = "#ffffff", h.fillRect(f.x, f.y, f.w, f.h);
|
|
34745
34765
|
for (const f of l) {
|
|
34746
34766
|
h.font = f.font, h.fillStyle = "#ffffff", h.textBaseline = "alphabetic", h.textAlign = "left";
|
|
34747
|
-
const g = h.measureText(f.text),
|
|
34748
|
-
h.fillText(f.text, f.x,
|
|
34767
|
+
const g = h.measureText(f.text), p = f.y + (g.fontBoundingBoxAscent ?? 0);
|
|
34768
|
+
h.fillText(f.text, f.x, p);
|
|
34749
34769
|
}
|
|
34750
34770
|
return a;
|
|
34751
34771
|
}
|
|
@@ -34831,7 +34851,7 @@ class ae extends st {
|
|
|
34831
34851
|
this._renderState.texture && this._renderState.texture.dispose(), this._renderState.mesh && (this._renderState.mesh.geometry.dispose(), this._renderState.mesh.material.dispose()), super.dispose();
|
|
34832
34852
|
}
|
|
34833
34853
|
}
|
|
34834
|
-
class ln extends
|
|
34854
|
+
class ln extends I {
|
|
34835
34855
|
_xRange;
|
|
34836
34856
|
_length;
|
|
34837
34857
|
_includeTicks;
|
|
@@ -34877,13 +34897,13 @@ class ln extends B {
|
|
|
34877
34897
|
for (let u = t; u <= e + c; u += i) {
|
|
34878
34898
|
const d = Math.round(u / i) * i;
|
|
34879
34899
|
if (d < t - c || d > e + c) continue;
|
|
34880
|
-
const f = this._numberToX(d),
|
|
34881
|
-
|
|
34882
|
-
[f, -
|
|
34883
|
-
[f, -
|
|
34884
|
-
[f,
|
|
34885
|
-
[f,
|
|
34886
|
-
]), this._tickMarks.push(
|
|
34900
|
+
const f = this._numberToX(d), p = h.has(Math.round(d * 1e9) / 1e9) ? l : this._tickSize, m = new I();
|
|
34901
|
+
m.color = this.color, m.strokeWidth = this.strokeWidth, m.fillOpacity = 0, m.setPoints3D([
|
|
34902
|
+
[f, -p, 0],
|
|
34903
|
+
[f, -p / 3, 0],
|
|
34904
|
+
[f, p / 3, 0],
|
|
34905
|
+
[f, p, 0]
|
|
34906
|
+
]), this._tickMarks.push(m), this.add(m);
|
|
34887
34907
|
}
|
|
34888
34908
|
}
|
|
34889
34909
|
for (const h of this._numberLabels)
|
|
@@ -34894,12 +34914,12 @@ class ln extends B {
|
|
|
34894
34914
|
const h = new Set(this._numbersToExclude), l = new Set(this._numbersWithElongatedTicks.map((u) => Math.round(u * 1e9) / 1e9)), c = this._tickSize * 1.5;
|
|
34895
34915
|
for (const u of a) {
|
|
34896
34916
|
if (h.has(u) || u < t - i * 0.01 || u > e + i * 0.01) continue;
|
|
34897
|
-
const d = this._numberToX(u), g = (Number.isInteger(u) ? String(u) : u.toFixed(this._decimalPlaces)).replace(/^-/, "-"),
|
|
34917
|
+
const d = this._numberToX(u), g = (Number.isInteger(u) ? String(u) : u.toFixed(this._decimalPlaces)).replace(/^-/, "-"), p = new ae({
|
|
34898
34918
|
latex: g,
|
|
34899
34919
|
fontSize: this._numberFontSize,
|
|
34900
34920
|
color: "#ffffff"
|
|
34901
|
-
}),
|
|
34902
|
-
|
|
34921
|
+
}), m = l.has(Math.round(u * 1e9) / 1e9) ? c : this._tickSize;
|
|
34922
|
+
p.position.set(d, -m - 0.35, 0), this._numberLabels.push(p), this.add(p);
|
|
34903
34923
|
}
|
|
34904
34924
|
}
|
|
34905
34925
|
}
|
|
@@ -35039,7 +35059,7 @@ class ln extends B {
|
|
|
35039
35059
|
});
|
|
35040
35060
|
}
|
|
35041
35061
|
}
|
|
35042
|
-
class Ga extends
|
|
35062
|
+
class Ga extends I {
|
|
35043
35063
|
_func;
|
|
35044
35064
|
_xRange;
|
|
35045
35065
|
_discontinuities;
|
|
@@ -35291,21 +35311,21 @@ class Va extends ze {
|
|
|
35291
35311
|
const y = _.position.y;
|
|
35292
35312
|
_.position.set(-0.45, y, 0);
|
|
35293
35313
|
}
|
|
35294
|
-
const
|
|
35295
|
-
this.yAxis.position.x =
|
|
35314
|
+
const p = this._numberToVisualX(0), m = this._numberToVisualY(0);
|
|
35315
|
+
this.yAxis.position.x = p, this.xAxis.position.y = m, this.add(this.xAxis), this.add(this.yAxis), this._tips && this._addTips(o);
|
|
35296
35316
|
}
|
|
35297
35317
|
/**
|
|
35298
35318
|
* Add arrow tips to the axes
|
|
35299
35319
|
*/
|
|
35300
35320
|
_addTips(t) {
|
|
35301
35321
|
const e = this._xLength / 2, i = this._yLength / 2, r = this._tipLength * 0.6, n = this._numberToVisualY(0), o = this._numberToVisualX(0), a = (c, u, d) => {
|
|
35302
|
-
const f = new
|
|
35322
|
+
const f = new I();
|
|
35303
35323
|
f.color = t, f.fillOpacity = 1, f.strokeWidth = 0;
|
|
35304
|
-
const g = (
|
|
35324
|
+
const g = (m, _, y, x) => {
|
|
35305
35325
|
const w = y[0] - _[0], M = y[1] - _[1], C = y[2] - _[2];
|
|
35306
|
-
x &&
|
|
35307
|
-
},
|
|
35308
|
-
return g(
|
|
35326
|
+
x && m.push([..._]), m.push([_[0] + w / 3, _[1] + M / 3, _[2] + C / 3]), m.push([_[0] + 2 * w / 3, _[1] + 2 * M / 3, _[2] + 2 * C / 3]), m.push([...y]);
|
|
35327
|
+
}, p = [];
|
|
35328
|
+
return g(p, u, c, !0), g(p, c, d, !1), g(p, d, u, !1), f.setPoints3D(p), f;
|
|
35309
35329
|
};
|
|
35310
35330
|
this._xTip = a(
|
|
35311
35331
|
[e + this._tipLength, n, 0],
|
|
@@ -35506,13 +35526,13 @@ class Va extends ze {
|
|
|
35506
35526
|
for (let f = l; f < c - r * 1e-3; f += r) {
|
|
35507
35527
|
const g = u(f);
|
|
35508
35528
|
if (!isFinite(g) || isNaN(g)) continue;
|
|
35509
|
-
const
|
|
35529
|
+
const p = this.coordsToPoint(f, 0), m = this.coordsToPoint(f + r, 0), _ = this.coordsToPoint(f + r, g), y = this.coordsToPoint(f, g), x = new I();
|
|
35510
35530
|
x.color = h, x.fillColor = n, x.fillOpacity = o, x.strokeWidth = a;
|
|
35511
35531
|
const w = [], M = (C, P, R) => {
|
|
35512
|
-
const O = P[0] - C[0], z = P[1] - C[1],
|
|
35513
|
-
R && w.push([...C]), w.push([C[0] + O / 3, C[1] + z / 3, C[2] +
|
|
35532
|
+
const O = P[0] - C[0], z = P[1] - C[1], B = P[2] - C[2];
|
|
35533
|
+
R && w.push([...C]), w.push([C[0] + O / 3, C[1] + z / 3, C[2] + B / 3]), w.push([C[0] + 2 * O / 3, C[1] + 2 * z / 3, C[2] + 2 * B / 3]), w.push([...P]);
|
|
35514
35534
|
};
|
|
35515
|
-
M(
|
|
35535
|
+
M(p, y, !0), M(y, _, !1), M(_, m, !1), M(m, p, !1), x.setPoints3D(w), d.add(x);
|
|
35516
35536
|
}
|
|
35517
35537
|
return d;
|
|
35518
35538
|
}
|
|
@@ -35529,31 +35549,31 @@ class Va extends ze {
|
|
|
35529
35549
|
color: n = "#888888",
|
|
35530
35550
|
opacity: o = 0.5,
|
|
35531
35551
|
strokeWidth: a = 0
|
|
35532
|
-
} = i, [h, l] = e, c = 100, u = (l - h) / c, d = t.getFunction(), f = new
|
|
35552
|
+
} = i, [h, l] = e, c = 100, u = (l - h) / c, d = t.getFunction(), f = new I();
|
|
35533
35553
|
f.color = n, f.fillColor = n, f.fillOpacity = o, f.strokeWidth = a;
|
|
35534
35554
|
const g = [];
|
|
35535
35555
|
for (let y = 0; y <= c; y++) {
|
|
35536
35556
|
const x = h + y * u, w = d(x);
|
|
35537
35557
|
isFinite(w) && !isNaN(w) && g.push(this.coordsToPoint(x, w));
|
|
35538
35558
|
}
|
|
35539
|
-
const
|
|
35559
|
+
const p = [];
|
|
35540
35560
|
if (r) {
|
|
35541
35561
|
const y = r.getFunction();
|
|
35542
35562
|
for (let x = c; x >= 0; x--) {
|
|
35543
35563
|
const w = h + x * u, M = y(w);
|
|
35544
|
-
isFinite(M) && !isNaN(M) &&
|
|
35564
|
+
isFinite(M) && !isNaN(M) && p.push(this.coordsToPoint(w, M));
|
|
35545
35565
|
}
|
|
35546
35566
|
} else
|
|
35547
35567
|
for (let y = c; y >= 0; y--) {
|
|
35548
35568
|
const x = h + y * u;
|
|
35549
|
-
|
|
35569
|
+
p.push(this.coordsToPoint(x, 0));
|
|
35550
35570
|
}
|
|
35551
|
-
const
|
|
35552
|
-
if (
|
|
35553
|
-
|
|
35571
|
+
const m = [...g, ...p];
|
|
35572
|
+
if (m.length < 3) return f;
|
|
35573
|
+
m.push([...m[0]]);
|
|
35554
35574
|
const _ = [];
|
|
35555
|
-
for (let y = 0; y <
|
|
35556
|
-
const x =
|
|
35575
|
+
for (let y = 0; y < m.length - 1; y++) {
|
|
35576
|
+
const x = m[y], w = m[y + 1], M = w[0] - x[0], C = w[1] - x[1], P = w[2] - x[2];
|
|
35557
35577
|
y === 0 && _.push([...x]), _.push([x[0] + M / 3, x[1] + C / 3, x[2] + P / 3]), _.push([x[0] + 2 * M / 3, x[1] + 2 * C / 3, x[2] + 2 * P / 3]), _.push([...w]);
|
|
35558
35578
|
}
|
|
35559
35579
|
return f.setPoints3D(_), f;
|
|
@@ -35580,12 +35600,12 @@ class Va extends ze {
|
|
|
35580
35600
|
strokeWidth: h = 2
|
|
35581
35601
|
} = t, l = new Yr();
|
|
35582
35602
|
if (e.length >= 2) {
|
|
35583
|
-
const c = new
|
|
35603
|
+
const c = new I();
|
|
35584
35604
|
c.color = r, c.fillOpacity = 0, c.strokeWidth = h;
|
|
35585
35605
|
const u = [];
|
|
35586
35606
|
for (let d = 0; d < e.length - 1; d++) {
|
|
35587
|
-
const f = this.coordsToPoint(e[d], i[d]), g = this.coordsToPoint(e[d + 1], i[d + 1]),
|
|
35588
|
-
d === 0 && u.push([...f]), u.push([f[0] +
|
|
35607
|
+
const f = this.coordsToPoint(e[d], i[d]), g = this.coordsToPoint(e[d + 1], i[d + 1]), p = g[0] - f[0], m = g[1] - f[1], _ = g[2] - f[2];
|
|
35608
|
+
d === 0 && u.push([...f]), u.push([f[0] + p / 3, f[1] + m / 3, f[2] + _ / 3]), u.push([f[0] + 2 * p / 3, f[1] + 2 * m / 3, f[2] + 2 * _ / 3]), u.push([...g]);
|
|
35589
35609
|
}
|
|
35590
35610
|
c.setPoints3D(u), l.set("line_graph", c);
|
|
35591
35611
|
}
|
|
@@ -35661,7 +35681,7 @@ class ju extends Va {
|
|
|
35661
35681
|
const [t, e, i] = this._xRange, [r, n, o] = this._yRange, { color: a, strokeWidth: h, opacity: l } = this._backgroundLineStyle;
|
|
35662
35682
|
for (; this._backgroundLines.children.length > 0; )
|
|
35663
35683
|
this._backgroundLines.remove(this._backgroundLines.children[0]);
|
|
35664
|
-
const c = 1e-4, u = Math.ceil(2 / i), d = Math.ceil(2 / o), f = t - u * i, g = e + u * i,
|
|
35684
|
+
const c = 1e-4, u = Math.ceil(2 / i), d = Math.ceil(2 / o), f = t - u * i, g = e + u * i, p = r - d * o, m = n + d * o, _ = this._xLength / 2 + u * i + 1, y = this._yLength / 2 + d * o + 1;
|
|
35665
35685
|
if (i > 0)
|
|
35666
35686
|
for (let x = f; x <= g + c; x += i) {
|
|
35667
35687
|
const w = Math.round(x / i) * i, [M] = this.coordsToPoint(w, 0), C = M - this.position.x, P = new _e({
|
|
@@ -35673,7 +35693,7 @@ class ju extends Va {
|
|
|
35673
35693
|
P.setOpacity(this._calculateLineOpacity(w, 0, l)), this._backgroundLines.add(P);
|
|
35674
35694
|
}
|
|
35675
35695
|
if (o > 0)
|
|
35676
|
-
for (let x =
|
|
35696
|
+
for (let x = p; x <= m + c; x += o) {
|
|
35677
35697
|
const w = Math.round(x / o) * o, [, M] = this.coordsToPoint(0, w), C = M - this.position.y, P = new _e({
|
|
35678
35698
|
start: [-_, C, 0],
|
|
35679
35699
|
end: [_, C, 0],
|
|
@@ -35689,7 +35709,7 @@ class ju extends Va {
|
|
|
35689
35709
|
for (let O = 1; O <= this._fadedLineRatio; O++) {
|
|
35690
35710
|
const z = Math.round(R / i) * i + O * C;
|
|
35691
35711
|
if (z > g + c) break;
|
|
35692
|
-
const [
|
|
35712
|
+
const [B] = this.coordsToPoint(z, 0), W = B - this.position.x, H = new _e({
|
|
35693
35713
|
start: [W, -y, 0],
|
|
35694
35714
|
end: [W, y, 0],
|
|
35695
35715
|
color: x,
|
|
@@ -35698,11 +35718,11 @@ class ju extends Va {
|
|
|
35698
35718
|
H.setOpacity(M), this._backgroundLines.add(H);
|
|
35699
35719
|
}
|
|
35700
35720
|
if (o > 0 && P > 0)
|
|
35701
|
-
for (let R =
|
|
35721
|
+
for (let R = p; R <= m + c; R += o)
|
|
35702
35722
|
for (let O = 1; O <= this._fadedLineRatio; O++) {
|
|
35703
35723
|
const z = Math.round(R / o) * o + O * P;
|
|
35704
|
-
if (z >
|
|
35705
|
-
const [,
|
|
35724
|
+
if (z > m + c) break;
|
|
35725
|
+
const [, B] = this.coordsToPoint(0, z), W = B - this.position.y, H = new _e({
|
|
35706
35726
|
start: [-_, W, 0],
|
|
35707
35727
|
end: [_, W, 0],
|
|
35708
35728
|
color: x,
|
|
@@ -35772,7 +35792,7 @@ class ju extends Va {
|
|
|
35772
35792
|
});
|
|
35773
35793
|
}
|
|
35774
35794
|
}
|
|
35775
|
-
class Nu extends
|
|
35795
|
+
class Nu extends I {
|
|
35776
35796
|
_func;
|
|
35777
35797
|
_xRange;
|
|
35778
35798
|
_yRange;
|
|
@@ -35819,9 +35839,9 @@ class Nu extends B {
|
|
|
35819
35839
|
*/
|
|
35820
35840
|
_marchingSquares() {
|
|
35821
35841
|
const [t, e] = this._xRange, [i, r] = this._yRange, n = Math.pow(2, this._minDepth), o = (e - t) / n, a = (r - i) / n, h = /* @__PURE__ */ new Map(), l = (u, d) => {
|
|
35822
|
-
const f = Math.pow(2, this._maxDepth), g = Math.round((u - t) * f / (e - t)),
|
|
35823
|
-
let _ = h.get(
|
|
35824
|
-
return _ === void 0 && (_ = this._func(u, d), h.set(
|
|
35842
|
+
const f = Math.pow(2, this._maxDepth), g = Math.round((u - t) * f / (e - t)), p = Math.round((d - i) * f / (r - i)), m = `${g},${p}`;
|
|
35843
|
+
let _ = h.get(m);
|
|
35844
|
+
return _ === void 0 && (_ = this._func(u, d), h.set(m, _)), _;
|
|
35825
35845
|
}, c = [];
|
|
35826
35846
|
for (let u = 0; u < n; u++)
|
|
35827
35847
|
for (let d = 0; d < n; d++) {
|
|
@@ -35866,14 +35886,14 @@ class Nu extends B {
|
|
|
35866
35886
|
t + i,
|
|
35867
35887
|
e,
|
|
35868
35888
|
l
|
|
35869
|
-
),
|
|
35889
|
+
), p = this._interpolateEdge(
|
|
35870
35890
|
t,
|
|
35871
35891
|
e,
|
|
35872
35892
|
h,
|
|
35873
35893
|
t + i,
|
|
35874
35894
|
e,
|
|
35875
35895
|
l
|
|
35876
|
-
),
|
|
35896
|
+
), m = this._interpolateEdge(
|
|
35877
35897
|
t,
|
|
35878
35898
|
e + r,
|
|
35879
35899
|
u,
|
|
@@ -35883,48 +35903,48 @@ class Nu extends B {
|
|
|
35883
35903
|
);
|
|
35884
35904
|
switch (d) {
|
|
35885
35905
|
case 1:
|
|
35886
|
-
a.push([f,
|
|
35906
|
+
a.push([f, p]);
|
|
35887
35907
|
break;
|
|
35888
35908
|
case 2:
|
|
35889
|
-
a.push([
|
|
35909
|
+
a.push([p, g]);
|
|
35890
35910
|
break;
|
|
35891
35911
|
case 3:
|
|
35892
35912
|
a.push([f, g]);
|
|
35893
35913
|
break;
|
|
35894
35914
|
case 4:
|
|
35895
|
-
a.push([g,
|
|
35915
|
+
a.push([g, m]);
|
|
35896
35916
|
break;
|
|
35897
35917
|
case 5: {
|
|
35898
|
-
o(t + i / 2, e + r / 2) > 0 ? (a.push([f,
|
|
35918
|
+
o(t + i / 2, e + r / 2) > 0 ? (a.push([f, m]), a.push([p, g])) : (a.push([f, p]), a.push([g, m]));
|
|
35899
35919
|
break;
|
|
35900
35920
|
}
|
|
35901
35921
|
case 6:
|
|
35902
|
-
a.push([
|
|
35922
|
+
a.push([p, m]);
|
|
35903
35923
|
break;
|
|
35904
35924
|
case 7:
|
|
35905
|
-
a.push([f,
|
|
35925
|
+
a.push([f, m]);
|
|
35906
35926
|
break;
|
|
35907
35927
|
case 8:
|
|
35908
|
-
a.push([
|
|
35928
|
+
a.push([m, f]);
|
|
35909
35929
|
break;
|
|
35910
35930
|
case 9:
|
|
35911
|
-
a.push([
|
|
35931
|
+
a.push([p, m]);
|
|
35912
35932
|
break;
|
|
35913
35933
|
case 10: {
|
|
35914
|
-
o(t + i / 2, e + r / 2) > 0 ? (a.push([f,
|
|
35934
|
+
o(t + i / 2, e + r / 2) > 0 ? (a.push([f, p]), a.push([g, m])) : (a.push([f, m]), a.push([g, p]));
|
|
35915
35935
|
break;
|
|
35916
35936
|
}
|
|
35917
35937
|
case 11:
|
|
35918
|
-
a.push([g,
|
|
35938
|
+
a.push([g, m]);
|
|
35919
35939
|
break;
|
|
35920
35940
|
case 12:
|
|
35921
35941
|
a.push([f, g]);
|
|
35922
35942
|
break;
|
|
35923
35943
|
case 13:
|
|
35924
|
-
a.push([g,
|
|
35944
|
+
a.push([g, p]);
|
|
35925
35945
|
break;
|
|
35926
35946
|
case 14:
|
|
35927
|
-
a.push([f,
|
|
35947
|
+
a.push([f, p]);
|
|
35928
35948
|
break;
|
|
35929
35949
|
}
|
|
35930
35950
|
}
|
|
@@ -35951,19 +35971,19 @@ class Nu extends B {
|
|
|
35951
35971
|
(i - e) / o,
|
|
35952
35972
|
(n - r) / o
|
|
35953
35973
|
) * 0.1, l = (g) => {
|
|
35954
|
-
const
|
|
35955
|
-
return `${
|
|
35974
|
+
const p = Math.round(g[0] / h), m = Math.round(g[1] / h);
|
|
35975
|
+
return `${p},${m}`;
|
|
35956
35976
|
}, c = /* @__PURE__ */ new Map(), u = new Array(t.length).fill(!1);
|
|
35957
35977
|
for (let g = 0; g < t.length; g++)
|
|
35958
|
-
for (let
|
|
35959
|
-
const
|
|
35960
|
-
let _ = c.get(
|
|
35961
|
-
_ || (_ = [], c.set(
|
|
35978
|
+
for (let p = 0; p < 2; p++) {
|
|
35979
|
+
const m = l(t[g][p]);
|
|
35980
|
+
let _ = c.get(m);
|
|
35981
|
+
_ || (_ = [], c.set(m, _)), _.push({ segIndex: g, endIndex: p });
|
|
35962
35982
|
}
|
|
35963
35983
|
const d = (g) => {
|
|
35964
|
-
const
|
|
35965
|
-
if (!
|
|
35966
|
-
for (const _ of
|
|
35984
|
+
const p = l(g), m = c.get(p);
|
|
35985
|
+
if (!m) return null;
|
|
35986
|
+
for (const _ of m)
|
|
35967
35987
|
if (!u[_.segIndex]) {
|
|
35968
35988
|
const y = t[_.segIndex][_.endIndex], x = y[0] - g[0], w = y[1] - g[1];
|
|
35969
35989
|
if (x * x + w * w < h * h)
|
|
@@ -35974,27 +35994,27 @@ class Nu extends B {
|
|
|
35974
35994
|
for (let g = 0; g < t.length; g++) {
|
|
35975
35995
|
if (u[g]) continue;
|
|
35976
35996
|
u[g] = !0;
|
|
35977
|
-
const
|
|
35978
|
-
let
|
|
35979
|
-
for (;
|
|
35980
|
-
const _ =
|
|
35997
|
+
const p = [t[g][0], t[g][1]];
|
|
35998
|
+
let m = !0;
|
|
35999
|
+
for (; m; ) {
|
|
36000
|
+
const _ = p[p.length - 1], y = d(_);
|
|
35981
36001
|
if (y && !u[y.segIndex]) {
|
|
35982
36002
|
u[y.segIndex] = !0;
|
|
35983
36003
|
const x = y.endIndex === 0 ? 1 : 0;
|
|
35984
|
-
|
|
36004
|
+
p.push(t[y.segIndex][x]);
|
|
35985
36005
|
} else
|
|
35986
|
-
|
|
36006
|
+
m = !1;
|
|
35987
36007
|
}
|
|
35988
|
-
for (
|
|
35989
|
-
const _ =
|
|
36008
|
+
for (m = !0; m; ) {
|
|
36009
|
+
const _ = p[0], y = d(_);
|
|
35990
36010
|
if (y && !u[y.segIndex]) {
|
|
35991
36011
|
u[y.segIndex] = !0;
|
|
35992
36012
|
const x = y.endIndex === 0 ? 1 : 0;
|
|
35993
|
-
|
|
36013
|
+
p.unshift(t[y.segIndex][x]);
|
|
35994
36014
|
} else
|
|
35995
|
-
|
|
36015
|
+
m = !1;
|
|
35996
36016
|
}
|
|
35997
|
-
f.push(
|
|
36017
|
+
f.push(p);
|
|
35998
36018
|
}
|
|
35999
36019
|
return f;
|
|
36000
36020
|
}
|
|
@@ -36094,7 +36114,7 @@ class Nu extends B {
|
|
|
36094
36114
|
});
|
|
36095
36115
|
}
|
|
36096
36116
|
}
|
|
36097
|
-
class Gu extends
|
|
36117
|
+
class Gu extends I {
|
|
36098
36118
|
_func;
|
|
36099
36119
|
_tRange;
|
|
36100
36120
|
_numSamples;
|
|
@@ -37068,17 +37088,17 @@ class $u extends Te {
|
|
|
37068
37088
|
}
|
|
37069
37089
|
let f = d;
|
|
37070
37090
|
for (const g of a) {
|
|
37071
|
-
const
|
|
37072
|
-
this._ctx.font =
|
|
37091
|
+
const p = this._resolveSegmentFontSize(g) * Oe, m = this._buildStyledFontString(g);
|
|
37092
|
+
this._ctx.font = m, this._ctx.textBaseline = "alphabetic", this._ctx.textAlign = "left";
|
|
37073
37093
|
const _ = g.baselineShift * h, y = c + _, x = this._ctx.measureText(g.text).width + (g.text.length - 1) * this._letterSpacing * Oe;
|
|
37074
37094
|
g.backgroundColor && (this._ctx.save(), this._ctx.fillStyle = g.backgroundColor, this._ctx.globalAlpha = this.fillOpacity * this._opacity, this._ctx.fillRect(f, o, x, l), this._ctx.restore());
|
|
37075
37095
|
const w = g.color || this.color;
|
|
37076
37096
|
if (this.strokeWidth > 0 && (this._ctx.strokeStyle = w, this._ctx.lineWidth = this.strokeWidth * Oe, this._ctx.strokeText(g.text, f, y)), this._ctx.fillStyle = w, this._ctx.globalAlpha = this.fillOpacity * this._opacity, this._ctx.fillText(g.text, f, y), g.underline) {
|
|
37077
|
-
const M = y +
|
|
37097
|
+
const M = y + p * 0.1, C = Math.max(1, p * 0.05);
|
|
37078
37098
|
this._ctx.save(), this._ctx.strokeStyle = w, this._ctx.lineWidth = C, this._ctx.globalAlpha = this.fillOpacity * this._opacity, this._ctx.beginPath(), this._ctx.moveTo(f, M), this._ctx.lineTo(f + x, M), this._ctx.stroke(), this._ctx.restore();
|
|
37079
37099
|
}
|
|
37080
37100
|
if (g.strikethrough) {
|
|
37081
|
-
const M = y -
|
|
37101
|
+
const M = y - p * 0.3, C = Math.max(1, p * 0.05);
|
|
37082
37102
|
this._ctx.save(), this._ctx.strokeStyle = w, this._ctx.lineWidth = C, this._ctx.globalAlpha = this.fillOpacity * this._opacity, this._ctx.beginPath(), this._ctx.moveTo(f, M), this._ctx.lineTo(f + x, M), this._ctx.stroke(), this._ctx.restore();
|
|
37083
37103
|
}
|
|
37084
37104
|
f += x;
|
|
@@ -37179,9 +37199,9 @@ class Zo extends Mt {
|
|
|
37179
37199
|
e.setColor(t);
|
|
37180
37200
|
else
|
|
37181
37201
|
for (const e of this.children)
|
|
37182
|
-
if (e instanceof
|
|
37202
|
+
if (e instanceof I && e.setColor(t), e instanceof Mt)
|
|
37183
37203
|
for (const i of e.children)
|
|
37184
|
-
i instanceof
|
|
37204
|
+
i instanceof I && i.setColor(t);
|
|
37185
37205
|
return this._markDirty(), this;
|
|
37186
37206
|
}
|
|
37187
37207
|
/**
|
|
@@ -37219,7 +37239,7 @@ class Zo extends Mt {
|
|
|
37219
37239
|
*/
|
|
37220
37240
|
_restyleChildren(t) {
|
|
37221
37241
|
const e = (i) => {
|
|
37222
|
-
if (i instanceof
|
|
37242
|
+
if (i instanceof I && (i.fillOpacity = this._svgFillOpacity, i.strokeWidth = this._svgStrokeWidth, i.setColor(this._color), i._style.fillOpacity = this._svgFillOpacity, i._style.strokeWidth = this._svgStrokeWidth), "children" in i)
|
|
37223
37243
|
for (const r of i.children)
|
|
37224
37244
|
e(r);
|
|
37225
37245
|
};
|
|
@@ -37230,7 +37250,7 @@ class Zo extends Mt {
|
|
|
37230
37250
|
*/
|
|
37231
37251
|
_scaleToTarget() {
|
|
37232
37252
|
const t = [], e = (u) => {
|
|
37233
|
-
if (u instanceof
|
|
37253
|
+
if (u instanceof I && !(u instanceof Mt) && t.push(u), "children" in u)
|
|
37234
37254
|
for (const d of u.children)
|
|
37235
37255
|
e(d);
|
|
37236
37256
|
};
|
|
@@ -37269,7 +37289,7 @@ class Zo extends Mt {
|
|
|
37269
37289
|
this._restyleChildren(i.vmobjectGroup);
|
|
37270
37290
|
const n = [];
|
|
37271
37291
|
for (const h of [...i.vmobjectGroup.children])
|
|
37272
|
-
h instanceof
|
|
37292
|
+
h instanceof I && n.push(h);
|
|
37273
37293
|
const o = [];
|
|
37274
37294
|
for (const h of t) {
|
|
37275
37295
|
const l = await Hr(h, {
|
|
@@ -37280,7 +37300,7 @@ class Zo extends Mt {
|
|
|
37280
37300
|
});
|
|
37281
37301
|
let c = 0;
|
|
37282
37302
|
for (const u of l.vmobjectGroup.children)
|
|
37283
|
-
u instanceof
|
|
37303
|
+
u instanceof I && c++;
|
|
37284
37304
|
o.push(c);
|
|
37285
37305
|
}
|
|
37286
37306
|
let a = 0;
|
|
@@ -37313,7 +37333,7 @@ class Zo extends Mt {
|
|
|
37313
37333
|
setColor(t) {
|
|
37314
37334
|
this._color = t;
|
|
37315
37335
|
for (const e of this.children)
|
|
37316
|
-
e instanceof
|
|
37336
|
+
e instanceof I && e.setColor(t);
|
|
37317
37337
|
return this._markDirty(), this;
|
|
37318
37338
|
}
|
|
37319
37339
|
getLatex() {
|
|
@@ -37358,7 +37378,7 @@ class Zu extends ae {
|
|
|
37358
37378
|
}
|
|
37359
37379
|
}
|
|
37360
37380
|
const i0 = 1 / 100, Fr = 2;
|
|
37361
|
-
class Qe extends
|
|
37381
|
+
class Qe extends I {
|
|
37362
37382
|
_value;
|
|
37363
37383
|
_numDecimalPlaces;
|
|
37364
37384
|
_showEllipsis;
|
|
@@ -38920,12 +38940,12 @@ class gs extends st {
|
|
|
38920
38940
|
transparent: this._opacity < 1
|
|
38921
38941
|
});
|
|
38922
38942
|
if (a > 0) {
|
|
38923
|
-
const
|
|
38943
|
+
const m = new S.CylinderGeometry(
|
|
38924
38944
|
this._shaftRadius,
|
|
38925
38945
|
this._shaftRadius,
|
|
38926
38946
|
a,
|
|
38927
38947
|
this._radialSegments
|
|
38928
|
-
), _ = new S.Mesh(
|
|
38948
|
+
), _ = new S.Mesh(m, h.clone()), y = new S.Vector3(
|
|
38929
38949
|
this._start[0] + o.x * a / 2,
|
|
38930
38950
|
this._start[1] + o.y * a / 2,
|
|
38931
38951
|
this._start[2] + o.z * a / 2
|
|
@@ -38939,12 +38959,12 @@ class gs extends st {
|
|
|
38939
38959
|
opacity: this._opacity,
|
|
38940
38960
|
transparent: this._opacity < 1,
|
|
38941
38961
|
side: S.DoubleSide
|
|
38942
|
-
}), g = new S.Mesh(d, f),
|
|
38962
|
+
}), g = new S.Mesh(d, f), p = new S.Vector3(
|
|
38943
38963
|
this._end[0] - o.x * this._tipLength / 2,
|
|
38944
38964
|
this._end[1] - o.y * this._tipLength / 2,
|
|
38945
38965
|
this._end[2] - o.z * this._tipLength / 2
|
|
38946
38966
|
);
|
|
38947
|
-
return g.position.copy(
|
|
38967
|
+
return g.position.copy(p), this._orientMesh(g, o), t.add(g), t;
|
|
38948
38968
|
}
|
|
38949
38969
|
/**
|
|
38950
38970
|
* Orient a mesh to point in a given direction
|
|
@@ -39102,16 +39122,16 @@ class Ko extends Ed {
|
|
|
39102
39122
|
stacks: i
|
|
39103
39123
|
};
|
|
39104
39124
|
const r = [], n = [], o = [], a = [], h = 1e-5, l = new Ft(), c = new Ft(), u = new Ft(), d = new Ft(), f = new Ft(), g = e + 1;
|
|
39105
|
-
for (let
|
|
39106
|
-
const
|
|
39125
|
+
for (let p = 0; p <= i; p++) {
|
|
39126
|
+
const m = p / i;
|
|
39107
39127
|
for (let _ = 0; _ <= e; _++) {
|
|
39108
39128
|
const y = _ / e;
|
|
39109
|
-
t(y,
|
|
39129
|
+
t(y, m, c), n.push(c.x, c.y, c.z), y - h >= 0 ? (t(y - h, m, u), d.subVectors(c, u)) : (t(y + h, m, u), d.subVectors(u, c)), m - h >= 0 ? (t(y, m - h, u), f.subVectors(c, u)) : (t(y, m + h, u), f.subVectors(u, c)), l.crossVectors(d, f).normalize(), o.push(l.x, l.y, l.z), a.push(y, m);
|
|
39110
39130
|
}
|
|
39111
39131
|
}
|
|
39112
|
-
for (let
|
|
39113
|
-
for (let
|
|
39114
|
-
const _ =
|
|
39132
|
+
for (let p = 0; p < i; p++)
|
|
39133
|
+
for (let m = 0; m < e; m++) {
|
|
39134
|
+
const _ = p * g + m, y = p * g + m + 1, x = (p + 1) * g + m + 1, w = (p + 1) * g + m;
|
|
39115
39135
|
r.push(_, y, w), r.push(y, x, w);
|
|
39116
39136
|
}
|
|
39117
39137
|
this.setIndex(r), this.setAttribute("position", new Ls(n, 3)), this.setAttribute("normal", new Ls(o, 3)), this.setAttribute("uv", new Ls(a, 2));
|
|
@@ -39152,19 +39172,19 @@ class Pn extends st {
|
|
|
39152
39172
|
*/
|
|
39153
39173
|
_createThreeObject() {
|
|
39154
39174
|
const [t, e] = this._uRange, [i, r] = this._vRange, n = e - t, o = r - i, a = (u, d, f) => {
|
|
39155
|
-
const g = t + u * n,
|
|
39156
|
-
f.set(
|
|
39175
|
+
const g = t + u * n, p = i + d * o, [m, _, y] = this._func(g, p);
|
|
39176
|
+
f.set(m, _, y);
|
|
39157
39177
|
}, h = new Ko(a, this._uResolution, this._vResolution);
|
|
39158
39178
|
if (h.computeVertexNormals(), this._checkerboardColors) {
|
|
39159
39179
|
const u = h.toNonIndexed();
|
|
39160
39180
|
h.dispose();
|
|
39161
|
-
const d = u.getAttribute("position"), f = new Float32Array(d.count * 3), g = new S.Color(this._checkerboardColors[0]),
|
|
39162
|
-
let
|
|
39181
|
+
const d = u.getAttribute("position"), f = new Float32Array(d.count * 3), g = new S.Color(this._checkerboardColors[0]), p = new S.Color(this._checkerboardColors[1]);
|
|
39182
|
+
let m = 0;
|
|
39163
39183
|
for (let y = 0; y < this._vResolution; y++)
|
|
39164
39184
|
for (let x = 0; x < this._uResolution; x++) {
|
|
39165
|
-
const w = (x + y) % 2 === 0 ? g :
|
|
39185
|
+
const w = (x + y) % 2 === 0 ? g : p;
|
|
39166
39186
|
for (let M = 0; M < 6; M++)
|
|
39167
|
-
f[
|
|
39187
|
+
f[m * 3] = w.r, f[m * 3 + 1] = w.g, f[m * 3 + 2] = w.b, m++;
|
|
39168
39188
|
}
|
|
39169
39189
|
u.setAttribute("color", new S.BufferAttribute(f, 3));
|
|
39170
39190
|
const _ = new S.MeshStandardMaterial({
|
|
@@ -39201,23 +39221,23 @@ class Pn extends st {
|
|
|
39201
39221
|
if (this._threeObject instanceof S.Mesh) {
|
|
39202
39222
|
this._threeObject.geometry.dispose();
|
|
39203
39223
|
const [t, e] = this._uRange, [i, r] = this._vRange, n = e - t, o = r - i, a = (l, c, u) => {
|
|
39204
|
-
const d = t + l * n, f = i + c * o, [g,
|
|
39205
|
-
u.set(g,
|
|
39224
|
+
const d = t + l * n, f = i + c * o, [g, p, m] = this._func(d, f);
|
|
39225
|
+
u.set(g, p, m);
|
|
39206
39226
|
}, h = new Ko(a, this._uResolution, this._vResolution);
|
|
39207
39227
|
if (h.computeVertexNormals(), this._checkerboardColors) {
|
|
39208
39228
|
const l = h.toNonIndexed();
|
|
39209
39229
|
h.dispose();
|
|
39210
39230
|
const c = l.getAttribute("position"), u = new Float32Array(c.count * 3), d = new S.Color(this._checkerboardColors[0]), f = new S.Color(this._checkerboardColors[1]);
|
|
39211
39231
|
let g = 0;
|
|
39212
|
-
for (let
|
|
39232
|
+
for (let m = 0; m < this._vResolution; m++)
|
|
39213
39233
|
for (let _ = 0; _ < this._uResolution; _++) {
|
|
39214
|
-
const y = (_ +
|
|
39234
|
+
const y = (_ + m) % 2 === 0 ? d : f;
|
|
39215
39235
|
for (let x = 0; x < 6; x++)
|
|
39216
39236
|
u[g * 3] = y.r, u[g * 3 + 1] = y.g, u[g * 3 + 2] = y.b, g++;
|
|
39217
39237
|
}
|
|
39218
39238
|
l.setAttribute("color", new S.BufferAttribute(u, 3)), this._threeObject.geometry = l;
|
|
39219
|
-
const
|
|
39220
|
-
|
|
39239
|
+
const p = this._threeObject.material;
|
|
39240
|
+
p && (p.vertexColors = !0, p.needsUpdate = !0);
|
|
39221
39241
|
} else
|
|
39222
39242
|
this._threeObject.geometry = h;
|
|
39223
39243
|
}
|
|
@@ -39616,13 +39636,13 @@ class Xa extends st {
|
|
|
39616
39636
|
x.set(C, P, R);
|
|
39617
39637
|
}, g = new Ko(f, r, n);
|
|
39618
39638
|
g.computeVertexNormals();
|
|
39619
|
-
const
|
|
39639
|
+
const p = new S.MeshStandardMaterial({
|
|
39620
39640
|
color: "#4488cc",
|
|
39621
39641
|
opacity: this._opacity,
|
|
39622
39642
|
transparent: this._opacity < 1,
|
|
39623
39643
|
side: this._doubleSided ? S.DoubleSide : S.FrontSide
|
|
39624
|
-
}),
|
|
39625
|
-
return this._texturesLoaded && this._texture && queueMicrotask(() => this._applyTextures()),
|
|
39644
|
+
}), m = new S.Mesh(g, p);
|
|
39645
|
+
return this._texturesLoaded && this._texture && queueMicrotask(() => this._applyTextures()), m;
|
|
39626
39646
|
}
|
|
39627
39647
|
/**
|
|
39628
39648
|
* Sync material properties to the Three.js object
|
|
@@ -39767,56 +39787,50 @@ class rd extends ze {
|
|
|
39767
39787
|
_xRange;
|
|
39768
39788
|
_yRange;
|
|
39769
39789
|
_zRange;
|
|
39770
|
-
_xLength;
|
|
39771
|
-
_yLength;
|
|
39772
|
-
_zLength;
|
|
39773
39790
|
_showTicks;
|
|
39774
39791
|
_tickLength;
|
|
39775
39792
|
_ticks = [];
|
|
39776
39793
|
constructor(t = {}) {
|
|
39777
39794
|
super(), this._disableChildZLayering = !0;
|
|
39778
39795
|
const {
|
|
39779
|
-
xRange: e = [-
|
|
39796
|
+
xRange: e = [-6, 6, 1],
|
|
39780
39797
|
yRange: i = [-5, 5, 1],
|
|
39781
|
-
zRange: r = [-
|
|
39782
|
-
|
|
39783
|
-
|
|
39784
|
-
|
|
39785
|
-
|
|
39786
|
-
|
|
39787
|
-
|
|
39788
|
-
|
|
39789
|
-
|
|
39790
|
-
|
|
39791
|
-
|
|
39792
|
-
tipLength: m = 0.2,
|
|
39793
|
-
tipRadius: p = 0.08,
|
|
39794
|
-
shaftRadius: _ = 0.01
|
|
39798
|
+
zRange: r = [-4, 4, 1],
|
|
39799
|
+
axisColor: n = "#ffffff",
|
|
39800
|
+
xColor: o,
|
|
39801
|
+
yColor: a,
|
|
39802
|
+
zColor: h,
|
|
39803
|
+
showLabels: l = !1,
|
|
39804
|
+
showTicks: c = !0,
|
|
39805
|
+
tickLength: u = 0.15,
|
|
39806
|
+
tipLength: d = 0.2,
|
|
39807
|
+
tipRadius: f = 0.08,
|
|
39808
|
+
shaftRadius: g = 0.01
|
|
39795
39809
|
} = t;
|
|
39796
|
-
this._xRange = [...e], this._yRange = [...i], this._zRange = [...r], this.
|
|
39797
|
-
const
|
|
39810
|
+
this._xRange = [...e], this._yRange = [...i], this._zRange = [...r], this._showTicks = c, this._tickLength = u;
|
|
39811
|
+
const p = o ?? n, m = a ?? n, _ = h ?? n;
|
|
39798
39812
|
this._xAxis = new gs({
|
|
39799
|
-
start: [
|
|
39800
|
-
end: [
|
|
39801
|
-
color:
|
|
39802
|
-
tipLength:
|
|
39803
|
-
tipRadius:
|
|
39804
|
-
shaftRadius:
|
|
39813
|
+
start: [e[0], 0, 0],
|
|
39814
|
+
end: [e[1], 0, 0],
|
|
39815
|
+
color: p,
|
|
39816
|
+
tipLength: d,
|
|
39817
|
+
tipRadius: f,
|
|
39818
|
+
shaftRadius: g
|
|
39805
39819
|
}), this._yAxis = new gs({
|
|
39806
|
-
start: [0, 0, -
|
|
39807
|
-
end: [0, 0, -
|
|
39808
|
-
color:
|
|
39809
|
-
tipLength:
|
|
39810
|
-
tipRadius:
|
|
39811
|
-
shaftRadius:
|
|
39820
|
+
start: [0, 0, -i[0]],
|
|
39821
|
+
end: [0, 0, -i[1]],
|
|
39822
|
+
color: m,
|
|
39823
|
+
tipLength: d,
|
|
39824
|
+
tipRadius: f,
|
|
39825
|
+
shaftRadius: g
|
|
39812
39826
|
}), this._zAxis = new gs({
|
|
39813
|
-
start: [0,
|
|
39814
|
-
end: [0,
|
|
39815
|
-
color:
|
|
39816
|
-
tipLength:
|
|
39817
|
-
tipRadius:
|
|
39818
|
-
shaftRadius:
|
|
39819
|
-
}), this.add(this._xAxis), this.add(this._yAxis), this.add(this._zAxis),
|
|
39827
|
+
start: [0, r[0], 0],
|
|
39828
|
+
end: [0, r[1], 0],
|
|
39829
|
+
color: _,
|
|
39830
|
+
tipLength: d,
|
|
39831
|
+
tipRadius: f,
|
|
39832
|
+
shaftRadius: g
|
|
39833
|
+
}), this.add(this._xAxis), this.add(this._yAxis), this.add(this._zAxis), c && this._createTicks(p, m, _);
|
|
39820
39834
|
}
|
|
39821
39835
|
/**
|
|
39822
39836
|
* Convert Manim coordinates (mx, my, mz) to THREE.js coordinates.
|
|
@@ -39832,61 +39846,47 @@ class rd extends ze {
|
|
|
39832
39846
|
const [r, n, o] = this._xRange, [a, h, l] = this._yRange, [c, u, d] = this._zRange, f = this._tickLength / 2;
|
|
39833
39847
|
for (let g = r; g <= n; g += o) {
|
|
39834
39848
|
if (Math.abs(g) < 1e-3 || Math.abs(g - r) < 1e-3 || Math.abs(g - n) < 1e-3) continue;
|
|
39835
|
-
const
|
|
39836
|
-
start: this._m2t(
|
|
39837
|
-
end: this._m2t(
|
|
39849
|
+
const p = new Fs({
|
|
39850
|
+
start: this._m2t(g, 0, -f),
|
|
39851
|
+
end: this._m2t(g, 0, f),
|
|
39838
39852
|
color: t
|
|
39839
39853
|
});
|
|
39840
39854
|
this._ticks.push(p), this.add(p);
|
|
39841
39855
|
}
|
|
39842
39856
|
for (let g = a; g <= h; g += l) {
|
|
39843
39857
|
if (Math.abs(g) < 1e-3 || Math.abs(g - a) < 1e-3 || Math.abs(g - h) < 1e-3) continue;
|
|
39844
|
-
const
|
|
39845
|
-
start: this._m2t(0,
|
|
39846
|
-
end: this._m2t(0,
|
|
39858
|
+
const p = new Fs({
|
|
39859
|
+
start: this._m2t(0, g, -f),
|
|
39860
|
+
end: this._m2t(0, g, f),
|
|
39847
39861
|
color: e
|
|
39848
39862
|
});
|
|
39849
39863
|
this._ticks.push(p), this.add(p);
|
|
39850
39864
|
}
|
|
39851
39865
|
for (let g = c; g <= u; g += d) {
|
|
39852
39866
|
if (Math.abs(g) < 1e-3 || Math.abs(g - c) < 1e-3 || Math.abs(g - u) < 1e-3) continue;
|
|
39853
|
-
const
|
|
39854
|
-
start: this._m2t(-f, 0,
|
|
39855
|
-
end: this._m2t(f, 0,
|
|
39867
|
+
const p = new Fs({
|
|
39868
|
+
start: this._m2t(-f, 0, g),
|
|
39869
|
+
end: this._m2t(f, 0, g),
|
|
39856
39870
|
color: i
|
|
39857
39871
|
});
|
|
39858
39872
|
this._ticks.push(p), this.add(p);
|
|
39859
39873
|
}
|
|
39860
39874
|
}
|
|
39861
|
-
/**
|
|
39862
|
-
* Map a graph coordinate value to visual position such that graph 0 maps to visual 0.
|
|
39863
|
-
* visual = value * (length / (max - min))
|
|
39864
|
-
*/
|
|
39865
|
-
_graphToVisual(t, e, i) {
|
|
39866
|
-
const [r, n] = e;
|
|
39867
|
-
return n === r ? 0 : t * (i / (n - r));
|
|
39868
|
-
}
|
|
39869
39875
|
/**
|
|
39870
39876
|
* Convert graph coordinates (Manim space) to visual point coordinates (THREE.js space).
|
|
39877
|
+
* With unit_size=1, graph coordinates map directly to visual positions.
|
|
39871
39878
|
* Applies Manim→THREE.js mapping: (mx, my, mz) → (mx, mz, -my)
|
|
39872
|
-
* @param x X coordinate in graph space (Manim X)
|
|
39873
|
-
* @param y Y coordinate in graph space (Manim Y)
|
|
39874
|
-
* @param z Z coordinate in graph space (Manim Z)
|
|
39875
|
-
* @returns The visual point [x, y, z] in THREE.js space
|
|
39876
39879
|
*/
|
|
39877
39880
|
coordsToPoint(t, e, i) {
|
|
39878
|
-
|
|
39879
|
-
return [r + this.position.x, o + this.position.y, -n + this.position.z];
|
|
39881
|
+
return [t + this.position.x, i + this.position.y, -e + this.position.z];
|
|
39880
39882
|
}
|
|
39881
39883
|
/**
|
|
39882
39884
|
* Convert visual point coordinates (THREE.js space) to graph coordinates (Manim space).
|
|
39883
39885
|
* Applies inverse THREE.js→Manim mapping: (tx, ty, tz) → (tx, -tz, ty)
|
|
39884
|
-
* @param point Visual point [x, y, z] in THREE.js space
|
|
39885
|
-
* @returns The graph coordinates [x, y, z] in Manim space
|
|
39886
39886
|
*/
|
|
39887
39887
|
pointToCoords(t) {
|
|
39888
|
-
const
|
|
39889
|
-
return [
|
|
39888
|
+
const e = t[0] - this.position.x, i = t[1] - this.position.y, r = t[2] - this.position.z;
|
|
39889
|
+
return [e, -r, i];
|
|
39890
39890
|
}
|
|
39891
39891
|
/**
|
|
39892
39892
|
* Get the X-axis arrow
|
|
@@ -39925,22 +39925,22 @@ class rd extends ze {
|
|
|
39925
39925
|
return [...this._zRange];
|
|
39926
39926
|
}
|
|
39927
39927
|
/**
|
|
39928
|
-
* Get the visual X length
|
|
39928
|
+
* Get the visual X length (range span)
|
|
39929
39929
|
*/
|
|
39930
39930
|
getXLength() {
|
|
39931
|
-
return this.
|
|
39931
|
+
return this._xRange[1] - this._xRange[0];
|
|
39932
39932
|
}
|
|
39933
39933
|
/**
|
|
39934
|
-
* Get the visual Y length
|
|
39934
|
+
* Get the visual Y length (range span)
|
|
39935
39935
|
*/
|
|
39936
39936
|
getYLength() {
|
|
39937
|
-
return this.
|
|
39937
|
+
return this._yRange[1] - this._yRange[0];
|
|
39938
39938
|
}
|
|
39939
39939
|
/**
|
|
39940
|
-
* Get the visual Z length
|
|
39940
|
+
* Get the visual Z length (range span)
|
|
39941
39941
|
*/
|
|
39942
39942
|
getZLength() {
|
|
39943
|
-
return this.
|
|
39943
|
+
return this._zRange[1] - this._zRange[0];
|
|
39944
39944
|
}
|
|
39945
39945
|
/**
|
|
39946
39946
|
* Get the origin point in visual coordinates
|
|
@@ -39974,9 +39974,6 @@ class rd extends ze {
|
|
|
39974
39974
|
xRange: this._xRange,
|
|
39975
39975
|
yRange: this._yRange,
|
|
39976
39976
|
zRange: this._zRange,
|
|
39977
|
-
xLength: this._xLength,
|
|
39978
|
-
yLength: this._yLength,
|
|
39979
|
-
zLength: this._zLength,
|
|
39980
39977
|
showTicks: this._showTicks,
|
|
39981
39978
|
tickLength: this._tickLength
|
|
39982
39979
|
});
|
|
@@ -40110,7 +40107,7 @@ class hr extends Mt {
|
|
|
40110
40107
|
* Create a bracket shape as a VMobject
|
|
40111
40108
|
*/
|
|
40112
40109
|
_createBracketShape(t, e, i) {
|
|
40113
|
-
const r = new
|
|
40110
|
+
const r = new I();
|
|
40114
40111
|
r.color = this._bracketColor, r.strokeWidth = this._bracketStrokeWidth, r.fillOpacity = 0;
|
|
40115
40112
|
const n = i / 2, o = i * 0.08, a = [];
|
|
40116
40113
|
switch (t) {
|
|
@@ -40178,7 +40175,7 @@ class hr extends Mt {
|
|
|
40178
40175
|
const t = new Mt();
|
|
40179
40176
|
for (const e of this._entries)
|
|
40180
40177
|
for (const i of e)
|
|
40181
|
-
i instanceof
|
|
40178
|
+
i instanceof I && t.add(i);
|
|
40182
40179
|
return t;
|
|
40183
40180
|
}
|
|
40184
40181
|
/**
|
|
@@ -40769,7 +40766,7 @@ class Nx extends Ts {
|
|
|
40769
40766
|
}
|
|
40770
40767
|
}
|
|
40771
40768
|
function Ay(s) {
|
|
40772
|
-
if (s instanceof
|
|
40769
|
+
if (s instanceof I) {
|
|
40773
40770
|
const r = s.getPoints();
|
|
40774
40771
|
if (r.length > 0) return r;
|
|
40775
40772
|
}
|
|
@@ -40786,7 +40783,7 @@ function Ay(s) {
|
|
|
40786
40783
|
[t[0] - e / 2, t[1] + i / 2, t[2]]
|
|
40787
40784
|
];
|
|
40788
40785
|
}
|
|
40789
|
-
class An extends
|
|
40786
|
+
class An extends I {
|
|
40790
40787
|
/** The mobject this brace is attached to */
|
|
40791
40788
|
mobject;
|
|
40792
40789
|
/** The direction the brace points */
|
|
@@ -40823,8 +40820,8 @@ class An extends B {
|
|
|
40823
40820
|
], n = [-r[1], r[0], 0];
|
|
40824
40821
|
let o = -1 / 0, a = 1 / 0, h = -1 / 0;
|
|
40825
40822
|
for (const d of e) {
|
|
40826
|
-
const f = d[0] - t[0], g = d[1] - t[1],
|
|
40827
|
-
|
|
40823
|
+
const f = d[0] - t[0], g = d[1] - t[1], p = f * r[0] + g * r[1], m = f * n[0] + g * n[1];
|
|
40824
|
+
p > o && (o = p), m < a && (a = m), m > h && (h = m);
|
|
40828
40825
|
}
|
|
40829
40826
|
const l = o + this.buff, c = [
|
|
40830
40827
|
t[0] + r[0] * l + n[0] * a,
|
|
@@ -40853,7 +40850,7 @@ class An extends B {
|
|
|
40853
40850
|
this.setPoints3D([[...t], [...t], [...t], [...t]]);
|
|
40854
40851
|
return;
|
|
40855
40852
|
}
|
|
40856
|
-
const a = [r / o, n / o, 0], h = i, l = 0.14, c = 0.25, u = c - l, d = 0.90552, f = Math.max(0, (o * this.sharpness - d) / 2), g = d + 2 * f,
|
|
40853
|
+
const a = [r / o, n / o, 0], h = i, l = 0.14, c = 0.25, u = c - l, d = 0.90552, f = Math.max(0, (o * this.sharpness - d) / 2), g = d + 2 * f, p = o / g, m = 0.23 * p, _ = 0.22 * p, y = f * p, x = (t[0] + e[0]) / 2, w = (t[1] + e[1]) / 2, M = (t[2] + e[2]) / 2;
|
|
40857
40854
|
this._tipPoint = [
|
|
40858
40855
|
x + h[0] * c,
|
|
40859
40856
|
w + h[1] * c,
|
|
@@ -40863,7 +40860,7 @@ class An extends B {
|
|
|
40863
40860
|
J[0] + a[0] * kt + h[0] * Ut,
|
|
40864
40861
|
J[1] + a[1] * kt + h[1] * Ut,
|
|
40865
40862
|
J[2]
|
|
40866
|
-
], P = C(t,
|
|
40863
|
+
], P = C(t, m, l), R = C(P, y, 0), O = C(e, -m, l), z = C(O, -y, 0), B = C(t, m * 0.3, l * 0.85), W = C(t, m * 0.78, l * 1), H = C(P, y / 3, 0), N = C(P, y * 2 / 3, 0), q = C(R, _ * 0.55, u * 0.05), rt = [
|
|
40867
40864
|
this._tipPoint[0] - a[0] * _ * 0.02 - h[0] * u * 0.45,
|
|
40868
40865
|
this._tipPoint[1] - a[1] * _ * 0.02 - h[1] * u * 0.45,
|
|
40869
40866
|
this._tipPoint[2]
|
|
@@ -40871,9 +40868,9 @@ class An extends B {
|
|
|
40871
40868
|
this._tipPoint[0] + a[0] * _ * 0.02 - h[0] * u * 0.45,
|
|
40872
40869
|
this._tipPoint[1] + a[1] * _ * 0.02 - h[1] * u * 0.45,
|
|
40873
40870
|
this._tipPoint[2]
|
|
40874
|
-
], ot = C(z, -_ * 0.55, u * 0.05), pt = C(z, y / 3, 0), mt = C(z, y * 2 / 3, 0), it = C(e, -
|
|
40871
|
+
], ot = C(z, -_ * 0.55, u * 0.05), pt = C(z, y / 3, 0), mt = C(z, y * 2 / 3, 0), it = C(e, -m * 0.78, l * 1), at = C(e, -m * 0.3, l * 0.85), vt = [
|
|
40875
40872
|
[...t],
|
|
40876
|
-
|
|
40873
|
+
B,
|
|
40877
40874
|
W,
|
|
40878
40875
|
P,
|
|
40879
40876
|
H,
|
|
@@ -41052,7 +41049,7 @@ class An extends B {
|
|
|
41052
41049
|
});
|
|
41053
41050
|
}
|
|
41054
41051
|
}
|
|
41055
|
-
class hd extends
|
|
41052
|
+
class hd extends I {
|
|
41056
41053
|
_start;
|
|
41057
41054
|
_end;
|
|
41058
41055
|
_direction;
|
|
@@ -41108,23 +41105,23 @@ class hd extends B {
|
|
|
41108
41105
|
this.setPoints3D([[...t], [...t], [...t], [...t]]);
|
|
41109
41106
|
return;
|
|
41110
41107
|
}
|
|
41111
|
-
const a = [r / o, n / o, 0], h = i, l = 0.14, c = 0.25, u = 0.90552, d = Math.max(0, (o * this._sharpness - u) / 2), f = u + 2 * d, g = o / f,
|
|
41108
|
+
const a = [r / o, n / o, 0], h = i, l = 0.14, c = 0.25, u = 0.90552, d = Math.max(0, (o * this._sharpness - u) / 2), f = u + 2 * d, g = o / f, p = 0.23 * g, m = 0.22 * g, _ = d * g, y = c - l, x = (t[0] + e[0]) / 2, w = (t[1] + e[1]) / 2, M = (t[2] + e[2]) / 2;
|
|
41112
41109
|
this._tipPoint = [x + h[0] * c, w + h[1] * c, M];
|
|
41113
41110
|
const C = (J, kt, Ut) => [
|
|
41114
41111
|
J[0] + a[0] * kt + h[0] * Ut,
|
|
41115
41112
|
J[1] + a[1] * kt + h[1] * Ut,
|
|
41116
41113
|
J[2]
|
|
41117
|
-
], P = C(t,
|
|
41118
|
-
this._tipPoint[0] - a[0] *
|
|
41119
|
-
this._tipPoint[1] - a[1] *
|
|
41114
|
+
], P = C(t, p, l), R = C(P, _, 0), O = C(e, -p, l), z = C(O, -_, 0), B = C(t, p * 0.3, l * 0.85), W = C(t, p * 0.78, l * 1), H = C(P, _ / 3, 0), N = C(P, _ * 2 / 3, 0), q = C(R, m * 0.55, y * 0.05), rt = [
|
|
41115
|
+
this._tipPoint[0] - a[0] * m * 0.02 - h[0] * y * 0.45,
|
|
41116
|
+
this._tipPoint[1] - a[1] * m * 0.02 - h[1] * y * 0.45,
|
|
41120
41117
|
this._tipPoint[2]
|
|
41121
41118
|
], ht = [
|
|
41122
|
-
this._tipPoint[0] + a[0] *
|
|
41123
|
-
this._tipPoint[1] + a[1] *
|
|
41119
|
+
this._tipPoint[0] + a[0] * m * 0.02 - h[0] * y * 0.45,
|
|
41120
|
+
this._tipPoint[1] + a[1] * m * 0.02 - h[1] * y * 0.45,
|
|
41124
41121
|
this._tipPoint[2]
|
|
41125
|
-
], ot = C(z, -
|
|
41122
|
+
], ot = C(z, -m * 0.55, y * 0.05), pt = C(z, _ / 3, 0), mt = C(z, _ * 2 / 3, 0), it = C(e, -p * 0.78, l * 1), at = C(e, -p * 0.3, l * 0.85), vt = [
|
|
41126
41123
|
[...t],
|
|
41127
|
-
|
|
41124
|
+
B,
|
|
41128
41125
|
W,
|
|
41129
41126
|
P,
|
|
41130
41127
|
H,
|
|
@@ -41266,7 +41263,7 @@ class hd extends B {
|
|
|
41266
41263
|
});
|
|
41267
41264
|
}
|
|
41268
41265
|
}
|
|
41269
|
-
class ld extends
|
|
41266
|
+
class ld extends I {
|
|
41270
41267
|
_arc;
|
|
41271
41268
|
_direction;
|
|
41272
41269
|
_buff;
|
|
@@ -41308,17 +41305,17 @@ class ld extends B {
|
|
|
41308
41305
|
e[0] + o * Math.cos(c),
|
|
41309
41306
|
e[1] + o * Math.sin(c),
|
|
41310
41307
|
e[2]
|
|
41311
|
-
],
|
|
41308
|
+
], p = n / 4, m = 4 / 3 * Math.tan(p / 4), _ = [-Math.sin(r), Math.cos(r), 0], y = [-Math.sin(l), Math.cos(l), 0];
|
|
41312
41309
|
t.push([...u]), t.push([
|
|
41313
|
-
u[0] +
|
|
41314
|
-
u[1] +
|
|
41310
|
+
u[0] + m * o * _[0],
|
|
41311
|
+
u[1] + m * o * _[1],
|
|
41315
41312
|
u[2]
|
|
41316
41313
|
]), t.push([
|
|
41317
|
-
f[0] -
|
|
41318
|
-
f[1] -
|
|
41314
|
+
f[0] - m * o * y[0],
|
|
41315
|
+
f[1] - m * o * y[1],
|
|
41319
41316
|
f[2]
|
|
41320
41317
|
]), t.push([...f]);
|
|
41321
|
-
const x = [-Math.sin(h), Math.cos(h), 0], w =
|
|
41318
|
+
const x = [-Math.sin(h), Math.cos(h), 0], w = m * 0.5;
|
|
41322
41319
|
t.push([
|
|
41323
41320
|
f[0] + w * o * y[0],
|
|
41324
41321
|
f[1] + w * o * y[1],
|
|
@@ -41340,12 +41337,12 @@ class ld extends B {
|
|
|
41340
41337
|
]), t.push([...g]);
|
|
41341
41338
|
const C = [-Math.sin(r + n), Math.cos(r + n), 0];
|
|
41342
41339
|
t.push([
|
|
41343
|
-
g[0] +
|
|
41344
|
-
g[1] +
|
|
41340
|
+
g[0] + m * o * M[0],
|
|
41341
|
+
g[1] + m * o * M[1],
|
|
41345
41342
|
g[2]
|
|
41346
41343
|
]), t.push([
|
|
41347
|
-
d[0] -
|
|
41348
|
-
d[1] -
|
|
41344
|
+
d[0] - m * o * C[0],
|
|
41345
|
+
d[1] - m * o * C[1],
|
|
41349
41346
|
d[2]
|
|
41350
41347
|
]), t.push([...d]), this.setPoints3D(t);
|
|
41351
41348
|
}
|
|
@@ -41472,92 +41469,92 @@ function Ti(s) {
|
|
|
41472
41469
|
let e = [], i = 0, r = 0, n = 0, o = 0, a = 0, h = 0, l = "";
|
|
41473
41470
|
const c = s.match(/[MmLlHhVvCcSsQqTtAaZz][^MmLlHhVvCcSsQqTtAaZz]*/g) || [];
|
|
41474
41471
|
for (const u of c) {
|
|
41475
|
-
const d = u[0], f = u.slice(1).trim().split(/[\s,]+/).filter((
|
|
41472
|
+
const d = u[0], f = u.slice(1).trim().split(/[\s,]+/).filter((p) => p).map(parseFloat), g = d === d.toLowerCase();
|
|
41476
41473
|
switch (d.toUpperCase()) {
|
|
41477
41474
|
case "M": {
|
|
41478
41475
|
e.length > 0 && (t.push(e), e = []);
|
|
41479
|
-
for (let
|
|
41480
|
-
const
|
|
41481
|
-
|
|
41476
|
+
for (let p = 0; p < f.length; p += 2) {
|
|
41477
|
+
const m = g ? i + f[p] : f[p], _ = g ? r + f[p + 1] : f[p + 1];
|
|
41478
|
+
p === 0 && (n = m, o = _), i = m, r = _, e.push([m, -_]);
|
|
41482
41479
|
}
|
|
41483
41480
|
l = "M";
|
|
41484
41481
|
break;
|
|
41485
41482
|
}
|
|
41486
41483
|
case "L": {
|
|
41487
|
-
for (let
|
|
41488
|
-
const
|
|
41489
|
-
e.push([y, -x]), e.push([w, -M]), e.push([
|
|
41484
|
+
for (let p = 0; p < f.length; p += 2) {
|
|
41485
|
+
const m = g ? i + f[p] : f[p], _ = g ? r + f[p + 1] : f[p + 1], y = i + (m - i) / 3, x = r + (_ - r) / 3, w = i + (m - i) * 2 / 3, M = r + (_ - r) * 2 / 3;
|
|
41486
|
+
e.push([y, -x]), e.push([w, -M]), e.push([m, -_]), i = m, r = _;
|
|
41490
41487
|
}
|
|
41491
41488
|
l = "L";
|
|
41492
41489
|
break;
|
|
41493
41490
|
}
|
|
41494
41491
|
case "H": {
|
|
41495
|
-
for (const
|
|
41496
|
-
const
|
|
41497
|
-
e.push([y, -_]), e.push([x, -_]), e.push([
|
|
41492
|
+
for (const p of f) {
|
|
41493
|
+
const m = g ? i + p : p, _ = r, y = i + (m - i) / 3, x = i + (m - i) * 2 / 3;
|
|
41494
|
+
e.push([y, -_]), e.push([x, -_]), e.push([m, -_]), i = m;
|
|
41498
41495
|
}
|
|
41499
41496
|
l = "H";
|
|
41500
41497
|
break;
|
|
41501
41498
|
}
|
|
41502
41499
|
case "V": {
|
|
41503
|
-
for (const
|
|
41504
|
-
const
|
|
41505
|
-
e.push([
|
|
41500
|
+
for (const p of f) {
|
|
41501
|
+
const m = i, _ = g ? r + p : p, y = r + (_ - r) / 3, x = r + (_ - r) * 2 / 3;
|
|
41502
|
+
e.push([m, -y]), e.push([m, -x]), e.push([m, -_]), r = _;
|
|
41506
41503
|
}
|
|
41507
41504
|
l = "V";
|
|
41508
41505
|
break;
|
|
41509
41506
|
}
|
|
41510
41507
|
case "C": {
|
|
41511
|
-
for (let
|
|
41512
|
-
let
|
|
41513
|
-
g && (
|
|
41508
|
+
for (let p = 0; p < f.length; p += 6) {
|
|
41509
|
+
let m = f[p], _ = f[p + 1], y = f[p + 2], x = f[p + 3], w = f[p + 4], M = f[p + 5];
|
|
41510
|
+
g && (m += i, _ += r, y += i, x += r, w += i, M += r), e.push([m, -_]), e.push([y, -x]), e.push([w, -M]), a = y, h = x, i = w, r = M;
|
|
41514
41511
|
}
|
|
41515
41512
|
l = "C";
|
|
41516
41513
|
break;
|
|
41517
41514
|
}
|
|
41518
41515
|
case "S": {
|
|
41519
|
-
for (let
|
|
41520
|
-
let
|
|
41521
|
-
(l === "C" || l === "S") && (
|
|
41522
|
-
let y = f[
|
|
41523
|
-
g && (y += i, x += r, w += i, M += r), e.push([
|
|
41516
|
+
for (let p = 0; p < f.length; p += 4) {
|
|
41517
|
+
let m = i, _ = r;
|
|
41518
|
+
(l === "C" || l === "S") && (m = 2 * i - a, _ = 2 * r - h);
|
|
41519
|
+
let y = f[p], x = f[p + 1], w = f[p + 2], M = f[p + 3];
|
|
41520
|
+
g && (y += i, x += r, w += i, M += r), e.push([m, -_]), e.push([y, -x]), e.push([w, -M]), a = y, h = x, i = w, r = M;
|
|
41524
41521
|
}
|
|
41525
41522
|
l = "S";
|
|
41526
41523
|
break;
|
|
41527
41524
|
}
|
|
41528
41525
|
case "Q": {
|
|
41529
|
-
for (let
|
|
41530
|
-
let
|
|
41531
|
-
g && (
|
|
41532
|
-
const w = i + 2 / 3 * (
|
|
41533
|
-
e.push([w, -M]), e.push([C, -P]), e.push([y, -x]), a =
|
|
41526
|
+
for (let p = 0; p < f.length; p += 4) {
|
|
41527
|
+
let m = f[p], _ = f[p + 1], y = f[p + 2], x = f[p + 3];
|
|
41528
|
+
g && (m += i, _ += r, y += i, x += r);
|
|
41529
|
+
const w = i + 2 / 3 * (m - i), M = r + 2 / 3 * (_ - r), C = y + 2 / 3 * (m - y), P = x + 2 / 3 * (_ - x);
|
|
41530
|
+
e.push([w, -M]), e.push([C, -P]), e.push([y, -x]), a = m, h = _, i = y, r = x;
|
|
41534
41531
|
}
|
|
41535
41532
|
l = "Q";
|
|
41536
41533
|
break;
|
|
41537
41534
|
}
|
|
41538
41535
|
case "T": {
|
|
41539
|
-
for (let
|
|
41540
|
-
let
|
|
41541
|
-
(l === "Q" || l === "T") && (
|
|
41542
|
-
let y = f[
|
|
41536
|
+
for (let p = 0; p < f.length; p += 2) {
|
|
41537
|
+
let m = i, _ = r;
|
|
41538
|
+
(l === "Q" || l === "T") && (m = 2 * i - a, _ = 2 * r - h);
|
|
41539
|
+
let y = f[p], x = f[p + 1];
|
|
41543
41540
|
g && (y += i, x += r);
|
|
41544
|
-
const w = i + 2 / 3 * (
|
|
41545
|
-
e.push([w, -M]), e.push([C, -P]), e.push([y, -x]), a =
|
|
41541
|
+
const w = i + 2 / 3 * (m - i), M = r + 2 / 3 * (_ - r), C = y + 2 / 3 * (m - y), P = x + 2 / 3 * (_ - x);
|
|
41542
|
+
e.push([w, -M]), e.push([C, -P]), e.push([y, -x]), a = m, h = _, i = y, r = x;
|
|
41546
41543
|
}
|
|
41547
41544
|
l = "T";
|
|
41548
41545
|
break;
|
|
41549
41546
|
}
|
|
41550
41547
|
case "A": {
|
|
41551
|
-
for (let
|
|
41552
|
-
const
|
|
41553
|
-
let M = f[
|
|
41548
|
+
for (let p = 0; p < f.length; p += 7) {
|
|
41549
|
+
const m = f[p], _ = f[p + 1], y = f[p + 2] * Math.PI / 180, x = f[p + 3], w = f[p + 4];
|
|
41550
|
+
let M = f[p + 5], C = f[p + 6];
|
|
41554
41551
|
g && (M += i, C += r);
|
|
41555
41552
|
const P = Dy(
|
|
41556
41553
|
i,
|
|
41557
41554
|
r,
|
|
41558
41555
|
M,
|
|
41559
41556
|
C,
|
|
41560
|
-
|
|
41557
|
+
m,
|
|
41561
41558
|
_,
|
|
41562
41559
|
y,
|
|
41563
41560
|
x,
|
|
@@ -41572,8 +41569,8 @@ function Ti(s) {
|
|
|
41572
41569
|
}
|
|
41573
41570
|
case "Z": {
|
|
41574
41571
|
if (i !== n || r !== o) {
|
|
41575
|
-
const
|
|
41576
|
-
e.push([
|
|
41572
|
+
const p = i + (n - i) / 3, m = r + (o - r) / 3, _ = i + (n - i) * 2 / 3, y = r + (o - r) * 2 / 3;
|
|
41573
|
+
e.push([p, -m]), e.push([_, -y]), e.push([n, -o]);
|
|
41577
41574
|
}
|
|
41578
41575
|
i = n, r = o, l = "Z";
|
|
41579
41576
|
break;
|
|
@@ -41588,27 +41585,27 @@ function Dy(s, t, e, i, r, n, o, a, h) {
|
|
|
41588
41585
|
const W = s + (e - s) / 3, H = t + (i - t) / 3, N = s + (e - s) * 2 / 3, q = t + (i - t) * 2 / 3;
|
|
41589
41586
|
return [[W, H], [N, q], [e, i]];
|
|
41590
41587
|
}
|
|
41591
|
-
const c = Math.cos(o), u = Math.sin(o), d = (s - e) / 2, f = (t - i) / 2, g = c * d + u * f,
|
|
41588
|
+
const c = Math.cos(o), u = Math.sin(o), d = (s - e) / 2, f = (t - i) / 2, g = c * d + u * f, p = -u * d + c * f;
|
|
41592
41589
|
r = Math.abs(r), n = Math.abs(n);
|
|
41593
|
-
const
|
|
41594
|
-
if (
|
|
41595
|
-
const W = Math.sqrt(
|
|
41590
|
+
const m = g * g / (r * r) + p * p / (n * n);
|
|
41591
|
+
if (m > 1) {
|
|
41592
|
+
const W = Math.sqrt(m);
|
|
41596
41593
|
r *= W, n *= W;
|
|
41597
41594
|
}
|
|
41598
41595
|
const _ = a === h ? -1 : 1, y = Math.max(
|
|
41599
41596
|
0,
|
|
41600
|
-
(r * r * n * n - r * r *
|
|
41601
|
-
), x = _ * Math.sqrt(y), w = x * r *
|
|
41597
|
+
(r * r * n * n - r * r * p * p - n * n * g * g) / (r * r * p * p + n * n * g * g)
|
|
41598
|
+
), x = _ * Math.sqrt(y), w = x * r * p / n, M = -x * n * g / r, C = c * w - u * M + (s + e) / 2, P = u * w + c * M + (t + i) / 2, R = s0(1, 0, (g - w) / r, (p - M) / n);
|
|
41602
41599
|
let O = s0(
|
|
41603
41600
|
(g - w) / r,
|
|
41604
|
-
(
|
|
41601
|
+
(p - M) / n,
|
|
41605
41602
|
(-g - w) / r,
|
|
41606
|
-
(-
|
|
41603
|
+
(-p - M) / n
|
|
41607
41604
|
);
|
|
41608
41605
|
h === 0 && O > 0 ? O -= 2 * Math.PI : h === 1 && O < 0 && (O += 2 * Math.PI);
|
|
41609
|
-
const z = Math.max(1, Math.ceil(Math.abs(O) / (Math.PI / 2))),
|
|
41606
|
+
const z = Math.max(1, Math.ceil(Math.abs(O) / (Math.PI / 2))), B = O / z;
|
|
41610
41607
|
for (let W = 0; W < z; W++) {
|
|
41611
|
-
const H = R + W *
|
|
41608
|
+
const H = R + W * B, N = H + B, q = Math.sin(B) * (Math.sqrt(4 + 3 * Math.tan(B / 2) ** 2) - 1) / 3, rt = Math.cos(H), ht = Math.sin(H), ot = Math.cos(N), pt = Math.sin(N), mt = C + r * c * rt - n * u * ht, it = P + r * u * rt + n * c * ht, at = C + r * c * ot - n * u * pt, vt = P + r * u * ot + n * c * pt, nt = -r * c * ht - n * u * rt, wt = -r * u * ht + n * c * rt, bt = -r * c * pt - n * u * ot, Z = -r * u * pt + n * c * ot, Q = mt + q * nt, J = it + q * wt, kt = at - q * bt, Ut = vt - q * Z;
|
|
41612
41609
|
l.push([Q, J], [kt, Ut], [at, vt]);
|
|
41613
41610
|
}
|
|
41614
41611
|
return l;
|
|
@@ -41619,10 +41616,10 @@ function s0(s, t, e, i) {
|
|
|
41619
41616
|
return s * i - t * e < 0 && (o = -o), o;
|
|
41620
41617
|
}
|
|
41621
41618
|
function Xi(s, t, e, i, r) {
|
|
41622
|
-
const n = new
|
|
41619
|
+
const n = new I();
|
|
41623
41620
|
return n.setColor(t), n.strokeWidth = e, i && (n.fillColor = i), n.fillOpacity = r ?? 0, n.setPoints3D(s), n;
|
|
41624
41621
|
}
|
|
41625
|
-
class ud extends
|
|
41622
|
+
class ud extends I {
|
|
41626
41623
|
_pathData;
|
|
41627
41624
|
constructor(t) {
|
|
41628
41625
|
super(), this._pathData = t.pathData, this.setColor(t.color ?? St), this.strokeWidth = t.strokeWidth ?? _t, t.fillColor && (this.fillColor = t.fillColor), this.fillOpacity = t.fillOpacity ?? 0;
|
|
@@ -41665,10 +41662,10 @@ class $a extends Mt {
|
|
|
41665
41662
|
return;
|
|
41666
41663
|
}
|
|
41667
41664
|
const l = h.querySelectorAll("path");
|
|
41668
|
-
for (const
|
|
41669
|
-
const _ =
|
|
41665
|
+
for (const m of l) {
|
|
41666
|
+
const _ = m.getAttribute("d");
|
|
41670
41667
|
if (!_) continue;
|
|
41671
|
-
const y =
|
|
41668
|
+
const y = m.getAttribute("stroke") || e, x = m.getAttribute("fill") || r, w = m.getAttribute("stroke-width"), M = w ? parseFloat(w) : i, C = Ti(_);
|
|
41672
41669
|
for (const P of C) {
|
|
41673
41670
|
if (P.length === 0) continue;
|
|
41674
41671
|
const R = P.map((z) => [z[0], z[1], 0]), O = Xi(
|
|
@@ -41682,24 +41679,24 @@ class $a extends Mt {
|
|
|
41682
41679
|
}
|
|
41683
41680
|
}
|
|
41684
41681
|
const c = h.querySelectorAll("rect");
|
|
41685
|
-
for (const
|
|
41686
|
-
const _ = parseFloat(
|
|
41682
|
+
for (const m of c) {
|
|
41683
|
+
const _ = parseFloat(m.getAttribute("x") || "0"), y = parseFloat(m.getAttribute("y") || "0"), x = parseFloat(m.getAttribute("width") || "0"), w = parseFloat(m.getAttribute("height") || "0");
|
|
41687
41684
|
if (x <= 0 || w <= 0) continue;
|
|
41688
41685
|
const M = `M${_},${y} L${_ + x},${y} L${_ + x},${y + w} L${_},${y + w} Z`, C = Ti(M);
|
|
41689
41686
|
for (const P of C) {
|
|
41690
41687
|
const R = P.map((z) => [z[0], z[1], 0]), O = Xi(
|
|
41691
41688
|
R,
|
|
41692
|
-
|
|
41693
|
-
parseFloat(
|
|
41694
|
-
|
|
41695
|
-
|
|
41689
|
+
m.getAttribute("stroke") || e,
|
|
41690
|
+
parseFloat(m.getAttribute("stroke-width") || String(i)),
|
|
41691
|
+
m.getAttribute("fill") !== "none" && m.getAttribute("fill") || void 0,
|
|
41692
|
+
m.getAttribute("fill") && m.getAttribute("fill") !== "none" ? n ?? 0.5 : 0
|
|
41696
41693
|
);
|
|
41697
41694
|
this.add(O);
|
|
41698
41695
|
}
|
|
41699
41696
|
}
|
|
41700
41697
|
const u = h.querySelectorAll("circle");
|
|
41701
|
-
for (const
|
|
41702
|
-
const _ = parseFloat(
|
|
41698
|
+
for (const m of u) {
|
|
41699
|
+
const _ = parseFloat(m.getAttribute("cx") || "0"), y = parseFloat(m.getAttribute("cy") || "0"), x = parseFloat(m.getAttribute("r") || "0");
|
|
41703
41700
|
if (x <= 0) continue;
|
|
41704
41701
|
const w = 0.5522847498, M = `M${_ + x},${y}
|
|
41705
41702
|
C${_ + x},${y + w * x} ${_ + w * x},${y + x} ${_},${y + x}
|
|
@@ -41710,17 +41707,17 @@ class $a extends Mt {
|
|
|
41710
41707
|
for (const P of C) {
|
|
41711
41708
|
const R = P.map((z) => [z[0], z[1], 0]), O = Xi(
|
|
41712
41709
|
R,
|
|
41713
|
-
|
|
41714
|
-
parseFloat(
|
|
41715
|
-
|
|
41716
|
-
|
|
41710
|
+
m.getAttribute("stroke") || e,
|
|
41711
|
+
parseFloat(m.getAttribute("stroke-width") || String(i)),
|
|
41712
|
+
m.getAttribute("fill") !== "none" && m.getAttribute("fill") || void 0,
|
|
41713
|
+
m.getAttribute("fill") && m.getAttribute("fill") !== "none" ? n ?? 0.5 : 0
|
|
41717
41714
|
);
|
|
41718
41715
|
this.add(O);
|
|
41719
41716
|
}
|
|
41720
41717
|
}
|
|
41721
41718
|
const d = h.querySelectorAll("ellipse");
|
|
41722
|
-
for (const
|
|
41723
|
-
const _ = parseFloat(
|
|
41719
|
+
for (const m of d) {
|
|
41720
|
+
const _ = parseFloat(m.getAttribute("cx") || "0"), y = parseFloat(m.getAttribute("cy") || "0"), x = parseFloat(m.getAttribute("rx") || "0"), w = parseFloat(m.getAttribute("ry") || "0");
|
|
41724
41721
|
if (x <= 0 || w <= 0) continue;
|
|
41725
41722
|
const M = 0.5522847498, C = `M${_ + x},${y}
|
|
41726
41723
|
C${_ + x},${y + M * w} ${_ + M * x},${y + w} ${_},${y + w}
|
|
@@ -41729,29 +41726,29 @@ class $a extends Mt {
|
|
|
41729
41726
|
C${_ + M * x},${y - w} ${_ + x},${y - M * w} ${_ + x},${y}
|
|
41730
41727
|
Z`, P = Ti(C);
|
|
41731
41728
|
for (const R of P) {
|
|
41732
|
-
const O = R.map((
|
|
41729
|
+
const O = R.map((B) => [B[0], B[1], 0]), z = Xi(
|
|
41733
41730
|
O,
|
|
41734
|
-
|
|
41735
|
-
parseFloat(
|
|
41731
|
+
m.getAttribute("stroke") || e,
|
|
41732
|
+
parseFloat(m.getAttribute("stroke-width") || String(i))
|
|
41736
41733
|
);
|
|
41737
41734
|
this.add(z);
|
|
41738
41735
|
}
|
|
41739
41736
|
}
|
|
41740
41737
|
const f = h.querySelectorAll("line");
|
|
41741
|
-
for (const
|
|
41742
|
-
const _ = parseFloat(
|
|
41738
|
+
for (const m of f) {
|
|
41739
|
+
const _ = parseFloat(m.getAttribute("x1") || "0"), y = parseFloat(m.getAttribute("y1") || "0"), x = parseFloat(m.getAttribute("x2") || "0"), w = parseFloat(m.getAttribute("y2") || "0"), M = `M${_},${y} L${x},${w}`, C = Ti(M);
|
|
41743
41740
|
for (const P of C) {
|
|
41744
41741
|
const R = P.map((z) => [z[0], z[1], 0]), O = Xi(
|
|
41745
41742
|
R,
|
|
41746
|
-
|
|
41747
|
-
parseFloat(
|
|
41743
|
+
m.getAttribute("stroke") || e,
|
|
41744
|
+
parseFloat(m.getAttribute("stroke-width") || String(i))
|
|
41748
41745
|
);
|
|
41749
41746
|
this.add(O);
|
|
41750
41747
|
}
|
|
41751
41748
|
}
|
|
41752
41749
|
const g = h.querySelectorAll("polygon");
|
|
41753
|
-
for (const
|
|
41754
|
-
const _ =
|
|
41750
|
+
for (const m of g) {
|
|
41751
|
+
const _ = m.getAttribute("points");
|
|
41755
41752
|
if (!_) continue;
|
|
41756
41753
|
const y = _.trim().split(/[\s,]+/).map(parseFloat);
|
|
41757
41754
|
if (y.length < 4) continue;
|
|
@@ -41763,17 +41760,17 @@ class $a extends Mt {
|
|
|
41763
41760
|
for (const M of w) {
|
|
41764
41761
|
const C = M.map((R) => [R[0], R[1], 0]), P = Xi(
|
|
41765
41762
|
C,
|
|
41766
|
-
|
|
41767
|
-
parseFloat(
|
|
41768
|
-
|
|
41769
|
-
|
|
41763
|
+
m.getAttribute("stroke") || e,
|
|
41764
|
+
parseFloat(m.getAttribute("stroke-width") || String(i)),
|
|
41765
|
+
m.getAttribute("fill") !== "none" && m.getAttribute("fill") || void 0,
|
|
41766
|
+
m.getAttribute("fill") && m.getAttribute("fill") !== "none" ? n ?? 0.5 : 0
|
|
41770
41767
|
);
|
|
41771
41768
|
this.add(P);
|
|
41772
41769
|
}
|
|
41773
41770
|
}
|
|
41774
|
-
const
|
|
41775
|
-
for (const
|
|
41776
|
-
const _ =
|
|
41771
|
+
const p = h.querySelectorAll("polyline");
|
|
41772
|
+
for (const m of p) {
|
|
41773
|
+
const _ = m.getAttribute("points");
|
|
41777
41774
|
if (!_) continue;
|
|
41778
41775
|
const y = _.trim().split(/[\s,]+/).map(parseFloat);
|
|
41779
41776
|
if (y.length < 4) continue;
|
|
@@ -41784,8 +41781,8 @@ class $a extends Mt {
|
|
|
41784
41781
|
for (const M of w) {
|
|
41785
41782
|
const C = M.map((R) => [R[0], R[1], 0]), P = Xi(
|
|
41786
41783
|
C,
|
|
41787
|
-
|
|
41788
|
-
parseFloat(
|
|
41784
|
+
m.getAttribute("stroke") || e,
|
|
41785
|
+
parseFloat(m.getAttribute("stroke-width") || String(i))
|
|
41789
41786
|
);
|
|
41790
41787
|
this.add(P);
|
|
41791
41788
|
}
|
|
@@ -41795,7 +41792,7 @@ class $a extends Mt {
|
|
|
41795
41792
|
* Get all subpaths as individual VMobjects.
|
|
41796
41793
|
*/
|
|
41797
41794
|
getSubpaths() {
|
|
41798
|
-
return this.children.filter((t) => t instanceof
|
|
41795
|
+
return this.children.filter((t) => t instanceof I);
|
|
41799
41796
|
}
|
|
41800
41797
|
_createCopy() {
|
|
41801
41798
|
return new $a({
|
|
@@ -41875,21 +41872,21 @@ function Ly(s, t, e, i, r, n) {
|
|
|
41875
41872
|
for (const g of s)
|
|
41876
41873
|
f.set(g, { x: 0, y: 0 });
|
|
41877
41874
|
for (let g = 0; g < o; g++)
|
|
41878
|
-
for (let
|
|
41879
|
-
const
|
|
41880
|
-
f.get(
|
|
41875
|
+
for (let p = g + 1; p < o; p++) {
|
|
41876
|
+
const m = s[g], _ = s[p], y = a.get(m), x = a.get(_), w = y.x - x.x, M = y.y - x.y, C = Math.max(0.01, Math.sqrt(w * w + M * M)), P = c * c / C, R = w / C * P, O = M / C * P;
|
|
41877
|
+
f.get(m).x += R, f.get(m).y += O, f.get(_).x -= R, f.get(_).y -= O;
|
|
41881
41878
|
}
|
|
41882
|
-
for (const [g,
|
|
41883
|
-
const
|
|
41884
|
-
if (!
|
|
41885
|
-
const y =
|
|
41886
|
-
f.get(g).x -= C, f.get(g).y -= P, f.get(
|
|
41879
|
+
for (const [g, p] of t) {
|
|
41880
|
+
const m = a.get(g), _ = a.get(p);
|
|
41881
|
+
if (!m || !_) continue;
|
|
41882
|
+
const y = m.x - _.x, x = m.y - _.y, w = Math.max(0.01, Math.sqrt(y * y + x * x)), M = w * w / c, C = y / w * M, P = x / w * M;
|
|
41883
|
+
f.get(g).x -= C, f.get(g).y -= P, f.get(p).x += C, f.get(p).y += P;
|
|
41887
41884
|
}
|
|
41888
41885
|
for (const g of s) {
|
|
41889
|
-
const
|
|
41886
|
+
const p = f.get(g), m = a.get(g), _ = Math.sqrt(p.x * p.x + p.y * p.y);
|
|
41890
41887
|
if (_ > 0) {
|
|
41891
41888
|
const y = Math.min(_, u) / _;
|
|
41892
|
-
|
|
41889
|
+
m.x += p.x * y, m.y += p.y * y;
|
|
41893
41890
|
}
|
|
41894
41891
|
}
|
|
41895
41892
|
u *= 0.95;
|
|
@@ -41924,21 +41921,21 @@ function Oy(s, t, e, i, r, n) {
|
|
|
41924
41921
|
return d.set(x, C), C;
|
|
41925
41922
|
}
|
|
41926
41923
|
f(a, 0);
|
|
41927
|
-
const g = Math.max(...Array.from(u.values())),
|
|
41928
|
-
function
|
|
41929
|
-
const C = u.get(x), P = (w + M) / 2, R = r[1] + i - C *
|
|
41924
|
+
const g = Math.max(...Array.from(u.values())), p = g > 0 ? i * 2 / g : 1;
|
|
41925
|
+
function m(x, w, M) {
|
|
41926
|
+
const C = u.get(x), P = (w + M) / 2, R = r[1] + i - C * p;
|
|
41930
41927
|
e.set(x, [P, R, r[2]]);
|
|
41931
41928
|
const O = o.get(x) ?? [];
|
|
41932
41929
|
if (O.length === 0) return;
|
|
41933
41930
|
const z = d.get(x) - 1;
|
|
41934
|
-
let
|
|
41931
|
+
let B = w;
|
|
41935
41932
|
for (const W of O) {
|
|
41936
41933
|
const H = d.get(W), N = (M - w) * H / z;
|
|
41937
|
-
|
|
41934
|
+
m(W, B, B + N), B += N;
|
|
41938
41935
|
}
|
|
41939
41936
|
}
|
|
41940
41937
|
const _ = i * 2;
|
|
41941
|
-
|
|
41938
|
+
m(a, r[0] - _ / 2, r[0] + _ / 2);
|
|
41942
41939
|
let y = 0;
|
|
41943
41940
|
for (const x of s)
|
|
41944
41941
|
e.has(x) || (e.set(x, [r[0] + y * 0.5, r[1] - i, r[2]]), y++);
|
|
@@ -41995,29 +41992,29 @@ function By(s, t, e, i, r, n) {
|
|
|
41995
41992
|
h.set(f, g), a[g][g] = 0;
|
|
41996
41993
|
});
|
|
41997
41994
|
for (const [f, g] of t) {
|
|
41998
|
-
const
|
|
41999
|
-
a[
|
|
41995
|
+
const p = h.get(f), m = h.get(g);
|
|
41996
|
+
a[p][m] = 1, a[m][p] = 1;
|
|
42000
41997
|
}
|
|
42001
41998
|
for (let f = 0; f < o; f++)
|
|
42002
41999
|
for (let g = 0; g < o; g++)
|
|
42003
|
-
for (let
|
|
42004
|
-
a[g][f] + a[f][
|
|
42000
|
+
for (let p = 0; p < o; p++)
|
|
42001
|
+
a[g][f] + a[f][p] < a[g][p] && (a[g][p] = a[g][f] + a[f][p]);
|
|
42005
42002
|
const l = Math.max(...a.flat().filter((f) => f !== 1 / 0)), c = i / (l || 1), u = 1, d = s.map((f) => {
|
|
42006
42003
|
const g = e.get(f);
|
|
42007
42004
|
return { x: g[0], y: g[1] };
|
|
42008
42005
|
});
|
|
42009
42006
|
for (let f = 0; f < n; f++)
|
|
42010
42007
|
for (let g = 0; g < o; g++) {
|
|
42011
|
-
let
|
|
42008
|
+
let p = 0, m = 0;
|
|
42012
42009
|
for (let y = 0; y < o; y++) {
|
|
42013
42010
|
if (y === g || a[g][y] === 1 / 0) continue;
|
|
42014
42011
|
const x = d[g].x - d[y].x, w = d[g].y - d[y].y, M = Math.sqrt(x * x + w * w);
|
|
42015
42012
|
if (M === 0) continue;
|
|
42016
42013
|
const C = c * a[g][y], P = u / (a[g][y] * a[g][y]);
|
|
42017
|
-
|
|
42014
|
+
p += P * (x - C * x / M), m += P * (w - C * w / M);
|
|
42018
42015
|
}
|
|
42019
42016
|
const _ = 0.1;
|
|
42020
|
-
d[g].x -= _ *
|
|
42017
|
+
d[g].x -= _ * p, d[g].y -= _ * m;
|
|
42021
42018
|
}
|
|
42022
42019
|
for (let f = 0; f < o; f++)
|
|
42023
42020
|
e.set(s[f], [d[f].x, d[f].y, r[2]]);
|
|
@@ -42637,8 +42634,8 @@ class dd extends st {
|
|
|
42637
42634
|
for (let d = 0; d < e; d++) {
|
|
42638
42635
|
const f = t[d];
|
|
42639
42636
|
for (let g = 0; g < i; g++) {
|
|
42640
|
-
const
|
|
42641
|
-
a[
|
|
42637
|
+
const p = Math.max(0, Math.min(255, Math.round(f[g] ?? 0))), m = (d * i + g) * 4;
|
|
42638
|
+
a[m] = p, a[m + 1] = p, a[m + 2] = p, a[m + 3] = 255;
|
|
42642
42639
|
}
|
|
42643
42640
|
}
|
|
42644
42641
|
n.putImageData(o, 0, 0);
|
|
@@ -44209,8 +44206,8 @@ class yd extends Mt {
|
|
|
44209
44206
|
this._removeVerticalPartitions();
|
|
44210
44207
|
const h = this._ssWidth, l = this._ssHeight, [c, u, d] = this._ssCenter;
|
|
44211
44208
|
let g = c - h / 2;
|
|
44212
|
-
for (let
|
|
44213
|
-
const
|
|
44209
|
+
for (let p = 0; p < t.length; p++) {
|
|
44210
|
+
const m = t[p], _ = h * m, y = g + _ / 2, x = u, w = i ? i[p % i.length] : hs[p % hs.length], M = new ve({
|
|
44214
44211
|
width: _,
|
|
44215
44212
|
height: l,
|
|
44216
44213
|
color: w,
|
|
@@ -44219,11 +44216,11 @@ class yd extends Mt {
|
|
|
44219
44216
|
center: [y, x, d]
|
|
44220
44217
|
}), C = {
|
|
44221
44218
|
rectangle: M,
|
|
44222
|
-
proportion:
|
|
44219
|
+
proportion: m
|
|
44223
44220
|
};
|
|
44224
|
-
if (n && n[
|
|
44221
|
+
if (n && n[p]) {
|
|
44225
44222
|
const P = new Te({
|
|
44226
|
-
text: n[
|
|
44223
|
+
text: n[p],
|
|
44227
44224
|
fontSize: o,
|
|
44228
44225
|
color: a
|
|
44229
44226
|
});
|
|
@@ -44262,8 +44259,8 @@ class yd extends Mt {
|
|
|
44262
44259
|
this._removeHorizontalPartitions();
|
|
44263
44260
|
const h = this._ssWidth, l = this._ssHeight, [c, u, d] = this._ssCenter;
|
|
44264
44261
|
let g = u + l / 2;
|
|
44265
|
-
for (let
|
|
44266
|
-
const
|
|
44262
|
+
for (let p = 0; p < t.length; p++) {
|
|
44263
|
+
const m = t[p], _ = l * m, y = c, x = g - _ / 2, w = i ? i[p % i.length] : hs[p % hs.length], M = new ve({
|
|
44267
44264
|
width: h,
|
|
44268
44265
|
height: _,
|
|
44269
44266
|
color: w,
|
|
@@ -44272,11 +44269,11 @@ class yd extends Mt {
|
|
|
44272
44269
|
center: [y, x, d]
|
|
44273
44270
|
}), C = {
|
|
44274
44271
|
rectangle: M,
|
|
44275
|
-
proportion:
|
|
44272
|
+
proportion: m
|
|
44276
44273
|
};
|
|
44277
|
-
if (n && n[
|
|
44274
|
+
if (n && n[p]) {
|
|
44278
44275
|
const P = new Te({
|
|
44279
|
-
text: n[
|
|
44276
|
+
text: n[p],
|
|
44280
44277
|
fontSize: o,
|
|
44281
44278
|
color: a
|
|
44282
44279
|
});
|
|
@@ -44319,8 +44316,8 @@ class yd extends Mt {
|
|
|
44319
44316
|
labelColor: h = St
|
|
44320
44317
|
} = i;
|
|
44321
44318
|
this._removeSubdivisions(t);
|
|
44322
|
-
const c = this._verticalPartitions[t].rectangle, u = c.getWidth(), d = c.getHeight(), f = c.getRectCenter(), [g,
|
|
44323
|
-
let y =
|
|
44319
|
+
const c = this._verticalPartitions[t].rectangle, u = c.getWidth(), d = c.getHeight(), f = c.getRectCenter(), [g, p, m] = f;
|
|
44320
|
+
let y = p + d / 2;
|
|
44324
44321
|
const x = [];
|
|
44325
44322
|
for (let w = 0; w < e.length; w++) {
|
|
44326
44323
|
const M = e[w], C = d * M, P = g, R = y - C / 2, O = r ? r[w % r.length] : hs[(t + w + 2) % hs.length], z = new ve({
|
|
@@ -44329,8 +44326,8 @@ class yd extends Mt {
|
|
|
44329
44326
|
color: O,
|
|
44330
44327
|
fillOpacity: n,
|
|
44331
44328
|
strokeWidth: this._outline.strokeWidth * 0.5,
|
|
44332
|
-
center: [P, R,
|
|
44333
|
-
}),
|
|
44329
|
+
center: [P, R, m + 1e-3]
|
|
44330
|
+
}), B = {
|
|
44334
44331
|
rectangle: z,
|
|
44335
44332
|
proportion: M
|
|
44336
44333
|
};
|
|
@@ -44340,9 +44337,9 @@ class yd extends Mt {
|
|
|
44340
44337
|
fontSize: a,
|
|
44341
44338
|
color: h
|
|
44342
44339
|
});
|
|
44343
|
-
W.moveTo([P, R,
|
|
44340
|
+
W.moveTo([P, R, m + 0.02]), B.label = W, this.add(W);
|
|
44344
44341
|
}
|
|
44345
|
-
x.push(
|
|
44342
|
+
x.push(B), this.add(z), y -= C;
|
|
44346
44343
|
}
|
|
44347
44344
|
return this._subdivisions.set(t, x), this;
|
|
44348
44345
|
}
|
|
@@ -44836,7 +44833,7 @@ class Xy extends xt {
|
|
|
44836
44833
|
* half fades in the fill.
|
|
44837
44834
|
*/
|
|
44838
44835
|
begin() {
|
|
44839
|
-
if (super.begin(), this._useDashReveal = this.mobject instanceof
|
|
44836
|
+
if (super.begin(), this._useDashReveal = this.mobject instanceof I && this._hasLine2Children(), this._useDashReveal) {
|
|
44840
44837
|
const t = this.mobject;
|
|
44841
44838
|
this._originalFillOpacity = t.fillOpacity, this._hasFill = this._originalFillOpacity > 0, this._hasFill && t.setFillOpacity(0), this._line2Children = [], this._line2TotalLengths = [], this.mobject.getThreeObject().traverse((i) => {
|
|
44842
44839
|
if (i instanceof gt) {
|
|
@@ -44931,7 +44928,7 @@ class Yy extends xt {
|
|
|
44931
44928
|
}), t;
|
|
44932
44929
|
}
|
|
44933
44930
|
begin() {
|
|
44934
|
-
if (super.begin(), this._useDashReveal = this.mobject instanceof
|
|
44931
|
+
if (super.begin(), this._useDashReveal = this.mobject instanceof I && this._hasLine2Children(), this._useDashReveal) {
|
|
44935
44932
|
const t = this.mobject;
|
|
44936
44933
|
this._originalFillOpacity = t.fillOpacity, t.setFillOpacity(0), this.mobject.getThreeObject().traverse((i) => {
|
|
44937
44934
|
if (i instanceof gt) {
|
|
@@ -44997,7 +44994,7 @@ class $y extends xt {
|
|
|
44997
44994
|
}), t;
|
|
44998
44995
|
}
|
|
44999
44996
|
begin() {
|
|
45000
|
-
super.begin(), this._useDashReveal = this.mobject instanceof
|
|
44997
|
+
super.begin(), this._useDashReveal = this.mobject instanceof I && this._hasLine2Children(), this._useDashReveal && this.mobject.getThreeObject().traverse((e) => {
|
|
45001
44998
|
if (e instanceof gt) {
|
|
45002
44999
|
const i = e.material;
|
|
45003
45000
|
i.dashed = !0, i.dashScale = 1, e.computeLineDistances();
|
|
@@ -45074,7 +45071,7 @@ class xd extends xt {
|
|
|
45074
45071
|
this._useRevealProgress = !0, this.mobject.setRevealProgress(this._reverse ? 1 : 0);
|
|
45075
45072
|
return;
|
|
45076
45073
|
}
|
|
45077
|
-
this._useDashReveal = this.mobject instanceof
|
|
45074
|
+
this._useDashReveal = this.mobject instanceof I && this._hasLine2Children(), this._useDashReveal ? this.mobject.getThreeObject().traverse((e) => {
|
|
45078
45075
|
if (e instanceof gt) {
|
|
45079
45076
|
const i = e.material;
|
|
45080
45077
|
i.dashed = !0, i.dashScale = 1, e.computeLineDistances();
|
|
@@ -45113,21 +45110,21 @@ class xd extends xt {
|
|
|
45113
45110
|
let c = null;
|
|
45114
45111
|
if ("getSkeletonPath" in l && typeof l.getSkeletonPath == "function" && (c = l.getSkeletonPath()), c && c.length >= 4) {
|
|
45115
45112
|
h.visible = !1;
|
|
45116
|
-
const u = new
|
|
45113
|
+
const u = new I();
|
|
45117
45114
|
u.setColor(a.color || "#ffffff"), u.strokeWidth = a.strokeWidth ?? 2, u.fillOpacity = 0, u.setPoints3D(c);
|
|
45118
45115
|
const d = u.getThreeObject();
|
|
45119
45116
|
i.add(d);
|
|
45120
45117
|
let f = 1;
|
|
45121
45118
|
d.traverse((g) => {
|
|
45122
45119
|
if (g instanceof gt) {
|
|
45123
|
-
const
|
|
45124
|
-
|
|
45120
|
+
const p = g.material;
|
|
45121
|
+
p.dashed = !0, p.dashScale = 1, g.computeLineDistances();
|
|
45125
45122
|
const _ = g.geometry.attributes.instanceDistanceEnd;
|
|
45126
45123
|
if (_ && _.count > 0) {
|
|
45127
45124
|
const y = _.data ? _.data.array : _.array;
|
|
45128
45125
|
f = y[y.length - 1] || 1;
|
|
45129
45126
|
}
|
|
45130
|
-
|
|
45127
|
+
p.dashSize = 0, p.gapSize = f, p.needsUpdate = !0;
|
|
45131
45128
|
}
|
|
45132
45129
|
}), this._skeletonVMobs.push(u), this._skeletonTotalLengths.push(f), this._glyphTotalLengths.push(1);
|
|
45133
45130
|
} else {
|
|
@@ -45137,10 +45134,10 @@ class xd extends xt {
|
|
|
45137
45134
|
if (d instanceof gt) {
|
|
45138
45135
|
const f = d.material;
|
|
45139
45136
|
f.dashed = !0, f.dashScale = 1, d.computeLineDistances();
|
|
45140
|
-
const
|
|
45141
|
-
if (
|
|
45142
|
-
const
|
|
45143
|
-
u =
|
|
45137
|
+
const p = d.geometry.attributes.instanceDistanceEnd;
|
|
45138
|
+
if (p && p.count > 0) {
|
|
45139
|
+
const m = p.data ? p.data.array : p.array;
|
|
45140
|
+
u = m[m.length - 1] || 1;
|
|
45144
45141
|
}
|
|
45145
45142
|
f.dashSize = 0, f.gapSize = u, f.needsUpdate = !0;
|
|
45146
45143
|
}
|
|
@@ -45176,16 +45173,16 @@ class xd extends xt {
|
|
|
45176
45173
|
const d = this._skeletonTotalLengths[a] || 1;
|
|
45177
45174
|
u.getThreeObject().traverse((g) => {
|
|
45178
45175
|
if (g instanceof gt) {
|
|
45179
|
-
const
|
|
45180
|
-
|
|
45176
|
+
const p = g.material, m = c * d;
|
|
45177
|
+
p.dashSize = m, p.gapSize = d - m + 1e-4, p.needsUpdate = !0;
|
|
45181
45178
|
}
|
|
45182
45179
|
});
|
|
45183
45180
|
} else {
|
|
45184
45181
|
const d = this._glyphTotalLengths[a] || 1;
|
|
45185
|
-
i[a].getThreeObject().traverse((
|
|
45186
|
-
if (
|
|
45187
|
-
const
|
|
45188
|
-
|
|
45182
|
+
i[a].getThreeObject().traverse((p) => {
|
|
45183
|
+
if (p instanceof gt) {
|
|
45184
|
+
const m = p.material, _ = c * d;
|
|
45185
|
+
m.dashSize = _, m.gapSize = d - _ + 1e-4, m.needsUpdate = !0;
|
|
45189
45186
|
}
|
|
45190
45187
|
});
|
|
45191
45188
|
}
|
|
@@ -45376,7 +45373,7 @@ class Ln extends xt {
|
|
|
45376
45373
|
*/
|
|
45377
45374
|
begin() {
|
|
45378
45375
|
super.begin();
|
|
45379
|
-
const t = this.mobject instanceof
|
|
45376
|
+
const t = this.mobject instanceof I, e = this.target instanceof I;
|
|
45380
45377
|
if (t && e) {
|
|
45381
45378
|
const i = this.mobject, r = this.target;
|
|
45382
45379
|
if (i.getPoints().length === 0 && r.getPoints().length === 0) {
|
|
@@ -45561,40 +45558,40 @@ function s4(s) {
|
|
|
45561
45558
|
assignedCols: /* @__PURE__ */ new Set()
|
|
45562
45559
|
};
|
|
45563
45560
|
let i = 0;
|
|
45564
|
-
for (let
|
|
45565
|
-
for (let
|
|
45566
|
-
s[
|
|
45561
|
+
for (let p = 0; p < t; p++)
|
|
45562
|
+
for (let m = 0; m < e; m++)
|
|
45563
|
+
s[p][m] > i && (i = s[p][m]);
|
|
45567
45564
|
const r = i * 10 + 1, n = Math.max(t, e), o = Array.from(
|
|
45568
45565
|
{ length: n },
|
|
45569
|
-
(
|
|
45566
|
+
(p, m) => Array.from({ length: n }, (_, y) => m < t && y < e ? s[m][y] : r)
|
|
45570
45567
|
), a = new Float64Array(n + 1), h = new Float64Array(n + 1), l = new Int32Array(n + 1).fill(0), c = new Int32Array(n + 1).fill(0);
|
|
45571
|
-
for (let
|
|
45572
|
-
l[0] =
|
|
45573
|
-
let
|
|
45568
|
+
for (let p = 1; p <= n; p++) {
|
|
45569
|
+
l[0] = p;
|
|
45570
|
+
let m = 0;
|
|
45574
45571
|
const _ = new Float64Array(n + 1).fill(1 / 0), y = new Uint8Array(n + 1);
|
|
45575
45572
|
do {
|
|
45576
|
-
y[
|
|
45577
|
-
const x = l[
|
|
45573
|
+
y[m] = 1;
|
|
45574
|
+
const x = l[m];
|
|
45578
45575
|
let w = 1 / 0, M = -1;
|
|
45579
45576
|
for (let C = 1; C <= n; C++) {
|
|
45580
45577
|
if (y[C]) continue;
|
|
45581
45578
|
const P = o[x - 1][C - 1] - a[x] - h[C];
|
|
45582
|
-
P < _[C] && (_[C] = P, c[C] =
|
|
45579
|
+
P < _[C] && (_[C] = P, c[C] = m), _[C] < w && (w = _[C], M = C);
|
|
45583
45580
|
}
|
|
45584
45581
|
for (let C = 0; C <= n; C++)
|
|
45585
45582
|
y[C] ? (a[l[C]] += w, h[C] -= w) : _[C] -= w;
|
|
45586
|
-
|
|
45587
|
-
} while (l[
|
|
45583
|
+
m = M;
|
|
45584
|
+
} while (l[m] !== 0);
|
|
45588
45585
|
do {
|
|
45589
|
-
const x = c[
|
|
45590
|
-
l[
|
|
45591
|
-
} while (
|
|
45586
|
+
const x = c[m];
|
|
45587
|
+
l[m] = l[x], m = x;
|
|
45588
|
+
} while (m !== 0);
|
|
45592
45589
|
}
|
|
45593
45590
|
const u = new Array(t).fill(-1), d = /* @__PURE__ */ new Set(), f = /* @__PURE__ */ new Set();
|
|
45594
45591
|
let g = 0;
|
|
45595
|
-
for (let
|
|
45596
|
-
const
|
|
45597
|
-
|
|
45592
|
+
for (let p = 1; p <= n; p++) {
|
|
45593
|
+
const m = l[p] - 1, _ = p - 1;
|
|
45594
|
+
m >= 0 && m < t && _ < e && (u[m] = _, d.add(m), f.add(_), g += s[m][_]);
|
|
45598
45595
|
}
|
|
45599
45596
|
return { assignments: u, totalCost: g, assignedRows: d, assignedCols: f };
|
|
45600
45597
|
}
|
|
@@ -46072,7 +46069,7 @@ class g4 extends xt {
|
|
|
46072
46069
|
* Store the original points at animation start
|
|
46073
46070
|
*/
|
|
46074
46071
|
begin() {
|
|
46075
|
-
super.begin(), this.mobject instanceof
|
|
46072
|
+
super.begin(), this.mobject instanceof I ? (this._isVMobject = !0, this._originalPoints = this.mobject.getPoints()) : (this._isVMobject = !1, this._originalPoints = null);
|
|
46076
46073
|
}
|
|
46077
46074
|
/**
|
|
46078
46075
|
* Apply the homotopy at the given progress value
|
|
@@ -46111,7 +46108,7 @@ class _4 extends xt {
|
|
|
46111
46108
|
* Store the original points at animation start
|
|
46112
46109
|
*/
|
|
46113
46110
|
begin() {
|
|
46114
|
-
super.begin(), this.mobject instanceof
|
|
46111
|
+
super.begin(), this.mobject instanceof I ? (this._isVMobject = !0, this._originalPoints = this.mobject.getPoints()) : (this._isVMobject = !1, this._originalPoints = null);
|
|
46115
46112
|
}
|
|
46116
46113
|
/**
|
|
46117
46114
|
* Apply the complex homotopy at the given progress value
|
|
@@ -46187,10 +46184,10 @@ class v4 extends xt {
|
|
|
46187
46184
|
a[0] - c.original[0],
|
|
46188
46185
|
a[1] - c.original[1],
|
|
46189
46186
|
a[2] - c.original[2]
|
|
46190
|
-
], f = this.homotopyFunc(a[0], a[1], a[2], t), g = (o - h) / (l - h),
|
|
46187
|
+
], f = this.homotopyFunc(a[0], a[1], a[2], t), g = (o - h) / (l - h), p = (1 - g) * (c.transformed[0] + d[0]) + g * (u.transformed[0] + d[0] - (u.original[0] - c.original[0])), m = (1 - g) * (c.transformed[1] + d[1]) + g * (u.transformed[1] + d[1] - (u.original[1] - c.original[1])), _ = (1 - g) * (c.transformed[2] + d[2]) + g * (u.transformed[2] + d[2] - (u.original[2] - c.original[2])), y = 0.5;
|
|
46191
46188
|
r[o] = [
|
|
46192
|
-
f[0] * (1 - y) +
|
|
46193
|
-
f[1] * (1 - y) +
|
|
46189
|
+
f[0] * (1 - y) + p * y,
|
|
46190
|
+
f[1] * (1 - y) + m * y,
|
|
46194
46191
|
f[2] * (1 - y) + _ * y
|
|
46195
46192
|
];
|
|
46196
46193
|
} else if (h >= 0) {
|
|
@@ -46247,7 +46244,7 @@ class y4 extends xt {
|
|
|
46247
46244
|
* Store the original points at animation start
|
|
46248
46245
|
*/
|
|
46249
46246
|
begin() {
|
|
46250
|
-
if (super.begin(), this.mobject instanceof
|
|
46247
|
+
if (super.begin(), this.mobject instanceof I)
|
|
46251
46248
|
this._isVMobject = !0, this._originalPoints = this.mobject.getPoints();
|
|
46252
46249
|
else {
|
|
46253
46250
|
this._isVMobject = !1, this._originalPoints = null;
|
|
@@ -46843,7 +46840,7 @@ class P4 extends xt {
|
|
|
46843
46840
|
super(t, {
|
|
46844
46841
|
duration: e.duration ?? 1,
|
|
46845
46842
|
rateFunc: e.rateFunc ?? ji
|
|
46846
|
-
}), this.flashColor = e.color ?? ti, this.timeWidth = e.timeWidth ?? 0.2, this.flashStrokeWidth = e.strokeWidth ?? _t * 1.5, this._isVMobject = t instanceof
|
|
46843
|
+
}), this.flashColor = e.color ?? ti, this.timeWidth = e.timeWidth ?? 0.2, this.flashStrokeWidth = e.strokeWidth ?? _t * 1.5, this._isVMobject = t instanceof I;
|
|
46847
46844
|
}
|
|
46848
46845
|
begin() {
|
|
46849
46846
|
super.begin();
|
|
@@ -46946,7 +46943,7 @@ class A4 extends xt {
|
|
|
46946
46943
|
super(t, {
|
|
46947
46944
|
duration: e.duration ?? 1,
|
|
46948
46945
|
rateFunc: e.rateFunc ?? ji
|
|
46949
|
-
}), this.direction = e.direction ?? "horizontal", this.amplitude = e.amplitude ?? 0.2, this.wavelength = e.wavelength ?? 1.5, this.speed = e.speed ?? 1, this.ripples = e.ripples ?? !1, this._isVMobject = t instanceof
|
|
46946
|
+
}), this.direction = e.direction ?? "horizontal", this.amplitude = e.amplitude ?? 0.2, this.wavelength = e.wavelength ?? 1.5, this.speed = e.speed ?? 1, this.ripples = e.ripples ?? !1, this._isVMobject = t instanceof I;
|
|
46950
46947
|
}
|
|
46951
46948
|
begin() {
|
|
46952
46949
|
if (super.begin(), this._originalPosition.copy(this.mobject.position), this._center = this.mobject.getCenter(), this._isVMobject) {
|
|
@@ -46977,20 +46974,20 @@ class A4 extends xt {
|
|
|
46977
46974
|
if (this.ripples) {
|
|
46978
46975
|
const f = o - this._center[0], g = a - this._center[1];
|
|
46979
46976
|
l = Math.sqrt(f * f + g * g);
|
|
46980
|
-
const
|
|
46977
|
+
const p = Math.max(
|
|
46981
46978
|
this._bounds.maxX - this._center[0],
|
|
46982
46979
|
this._center[0] - this._bounds.minX,
|
|
46983
46980
|
this._bounds.maxY - this._center[1],
|
|
46984
46981
|
this._center[1] - this._bounds.minY
|
|
46985
46982
|
);
|
|
46986
|
-
l = l / (
|
|
46983
|
+
l = l / (p || 1);
|
|
46987
46984
|
} else this.direction === "horizontal" ? l = (o - this._bounds.minX) / (this._bounds.maxX - this._bounds.minX || 1) : l = (a - this._bounds.minY) / (this._bounds.maxY - this._bounds.minY || 1);
|
|
46988
46985
|
const c = (l - i) * Math.PI * 2 * this.wavelength, u = Math.sin(t * Math.PI), d = Math.sin(c) * this.amplitude * u;
|
|
46989
46986
|
if (this.ripples) {
|
|
46990
|
-
const f = o - this._center[0], g = a - this._center[1],
|
|
46987
|
+
const f = o - this._center[0], g = a - this._center[1], p = Math.sqrt(f * f + g * g) || 1;
|
|
46991
46988
|
return [
|
|
46992
|
-
o + f /
|
|
46993
|
-
a + g /
|
|
46989
|
+
o + f / p * d * 0.5,
|
|
46990
|
+
a + g / p * d * 0.5,
|
|
46994
46991
|
h
|
|
46995
46992
|
];
|
|
46996
46993
|
} else return this.direction === "horizontal" ? [o, a + d, h] : [o + d, a, h];
|
|
@@ -47149,7 +47146,7 @@ class L4 extends xt {
|
|
|
47149
47146
|
}), t;
|
|
47150
47147
|
}
|
|
47151
47148
|
begin() {
|
|
47152
|
-
super.begin(), this._useDashReveal = this.mobject instanceof
|
|
47149
|
+
super.begin(), this._useDashReveal = this.mobject instanceof I && this._hasLine2Children(), this._useDashReveal ? this.mobject.getThreeObject().traverse((e) => {
|
|
47153
47150
|
if (e instanceof gt) {
|
|
47154
47151
|
const i = e.material;
|
|
47155
47152
|
i.dashed = !0, i.dashScale = 1, e.computeLineDistances();
|
|
@@ -48289,8 +48286,8 @@ function j4() {
|
|
|
48289
48286
|
}
|
|
48290
48287
|
var f = r[l] = { exports: {} };
|
|
48291
48288
|
i[l][0].call(f.exports, function(g) {
|
|
48292
|
-
var
|
|
48293
|
-
return o(
|
|
48289
|
+
var p = i[l][1][g];
|
|
48290
|
+
return o(p || g);
|
|
48294
48291
|
}, f, f.exports, e, i, r, n);
|
|
48295
48292
|
}
|
|
48296
48293
|
return r[l].exports;
|
|
@@ -48305,7 +48302,7 @@ function j4() {
|
|
|
48305
48302
|
if (!a(c) || c < 0 || isNaN(c)) throw TypeError("n must be a positive number");
|
|
48306
48303
|
return this._maxListeners = c, this;
|
|
48307
48304
|
}, n.prototype.emit = function(c) {
|
|
48308
|
-
var u, d, f, g,
|
|
48305
|
+
var u, d, f, g, p, m;
|
|
48309
48306
|
if (this._events || (this._events = {}), c === "error" && (!this._events.error || h(this._events.error) && !this._events.error.length)) {
|
|
48310
48307
|
if (u = arguments[1], u instanceof Error)
|
|
48311
48308
|
throw u;
|
|
@@ -48328,7 +48325,7 @@ function j4() {
|
|
|
48328
48325
|
g = Array.prototype.slice.call(arguments, 1), d.apply(this, g);
|
|
48329
48326
|
}
|
|
48330
48327
|
else if (h(d))
|
|
48331
|
-
for (g = Array.prototype.slice.call(arguments, 1),
|
|
48328
|
+
for (g = Array.prototype.slice.call(arguments, 1), m = d.slice(), f = m.length, p = 0; p < f; p++) m[p].apply(this, g);
|
|
48332
48329
|
return !0;
|
|
48333
48330
|
}, n.prototype.addListener = function(c, u) {
|
|
48334
48331
|
var d;
|
|
@@ -48342,15 +48339,15 @@ function j4() {
|
|
|
48342
48339
|
}
|
|
48343
48340
|
return f.listener = u, this.on(c, f), this;
|
|
48344
48341
|
}, n.prototype.removeListener = function(c, u) {
|
|
48345
|
-
var d, f, g,
|
|
48342
|
+
var d, f, g, p;
|
|
48346
48343
|
if (!o(u)) throw TypeError("listener must be a function");
|
|
48347
48344
|
if (!this._events || !this._events[c]) return this;
|
|
48348
48345
|
if (d = this._events[c], g = d.length, f = -1, d === u || o(d.listener) && d.listener === u)
|
|
48349
48346
|
delete this._events[c], this._events.removeListener && this.emit("removeListener", c, u);
|
|
48350
48347
|
else if (h(d)) {
|
|
48351
|
-
for (
|
|
48352
|
-
if (d[
|
|
48353
|
-
f =
|
|
48348
|
+
for (p = g; p-- > 0; )
|
|
48349
|
+
if (d[p] === u || d[p].listener && d[p].listener === u) {
|
|
48350
|
+
f = p;
|
|
48354
48351
|
break;
|
|
48355
48352
|
}
|
|
48356
48353
|
if (f < 0) return this;
|
|
@@ -48404,10 +48401,10 @@ function j4() {
|
|
|
48404
48401
|
var n, o, a, h = function(d, f) {
|
|
48405
48402
|
for (var g in f)
|
|
48406
48403
|
l.call(f, g) && (d[g] = f[g]);
|
|
48407
|
-
function
|
|
48404
|
+
function p() {
|
|
48408
48405
|
this.constructor = d;
|
|
48409
48406
|
}
|
|
48410
|
-
return
|
|
48407
|
+
return p.prototype = f.prototype, d.prototype = new p(), d.__super__ = f.prototype, d;
|
|
48411
48408
|
}, l = {}.hasOwnProperty, c = [].indexOf || function(d) {
|
|
48412
48409
|
for (var f = 0, g = this.length; f < g; f++)
|
|
48413
48410
|
if (f in this && this[f] === d) return f;
|
|
@@ -48415,38 +48412,38 @@ function j4() {
|
|
|
48415
48412
|
}, u = [].slice;
|
|
48416
48413
|
n = e("events").EventEmitter, a = e("./browser.coffee"), o = (function(d) {
|
|
48417
48414
|
var f, g;
|
|
48418
|
-
h(
|
|
48419
|
-
function m
|
|
48415
|
+
h(p, d), f = { workerScript: "gif.worker.js", workers: 2, repeat: 0, background: "#fff", quality: 10, width: null, height: null, transparent: null, debug: !1, dither: !1 }, g = { delay: 500, copy: !1 };
|
|
48416
|
+
function p(m) {
|
|
48420
48417
|
var _, y, x;
|
|
48421
|
-
this.running = !1, this.options = {}, this.frames = [], this.freeWorkers = [], this.activeWorkers = [], this.setOptions(
|
|
48418
|
+
this.running = !1, this.options = {}, this.frames = [], this.freeWorkers = [], this.activeWorkers = [], this.setOptions(m);
|
|
48422
48419
|
for (y in f)
|
|
48423
48420
|
x = f[y], (_ = this.options)[y] == null && (_[y] = x);
|
|
48424
48421
|
}
|
|
48425
|
-
return
|
|
48426
|
-
if (this.options[
|
|
48427
|
-
return this._canvas[
|
|
48428
|
-
},
|
|
48422
|
+
return p.prototype.setOption = function(m, _) {
|
|
48423
|
+
if (this.options[m] = _, this._canvas != null && (m === "width" || m === "height"))
|
|
48424
|
+
return this._canvas[m] = _;
|
|
48425
|
+
}, p.prototype.setOptions = function(m) {
|
|
48429
48426
|
var _, y, x;
|
|
48430
48427
|
y = [];
|
|
48431
|
-
for (_ in
|
|
48432
|
-
l.call(
|
|
48428
|
+
for (_ in m)
|
|
48429
|
+
l.call(m, _) && (x = m[_], y.push(this.setOption(_, x)));
|
|
48433
48430
|
return y;
|
|
48434
|
-
},
|
|
48431
|
+
}, p.prototype.addFrame = function(m, _) {
|
|
48435
48432
|
var y, x;
|
|
48436
48433
|
_ == null && (_ = {}), y = {}, y.transparent = this.options.transparent;
|
|
48437
48434
|
for (x in g)
|
|
48438
48435
|
y[x] = _[x] || g[x];
|
|
48439
|
-
if (this.options.width == null && this.setOption("width",
|
|
48440
|
-
y.data =
|
|
48441
|
-
else if (typeof CanvasRenderingContext2D < "u" && CanvasRenderingContext2D !== null &&
|
|
48442
|
-
_.copy ? y.data = this.getContextData(
|
|
48443
|
-
else if (
|
|
48444
|
-
_.copy ? y.data = this.getImageData(
|
|
48436
|
+
if (this.options.width == null && this.setOption("width", m.width), this.options.height == null && this.setOption("height", m.height), typeof ImageData < "u" && ImageData !== null && m instanceof ImageData)
|
|
48437
|
+
y.data = m.data;
|
|
48438
|
+
else if (typeof CanvasRenderingContext2D < "u" && CanvasRenderingContext2D !== null && m instanceof CanvasRenderingContext2D || typeof WebGLRenderingContext < "u" && WebGLRenderingContext !== null && m instanceof WebGLRenderingContext)
|
|
48439
|
+
_.copy ? y.data = this.getContextData(m) : y.context = m;
|
|
48440
|
+
else if (m.childNodes != null)
|
|
48441
|
+
_.copy ? y.data = this.getImageData(m) : y.image = m;
|
|
48445
48442
|
else
|
|
48446
48443
|
throw new Error("Invalid image");
|
|
48447
48444
|
return this.frames.push(y);
|
|
48448
|
-
},
|
|
48449
|
-
var
|
|
48445
|
+
}, p.prototype.render = function() {
|
|
48446
|
+
var m, _, y;
|
|
48450
48447
|
if (this.running)
|
|
48451
48448
|
throw new Error("Already running");
|
|
48452
48449
|
if (this.options.width == null || this.options.height == null)
|
|
@@ -48459,18 +48456,18 @@ function j4() {
|
|
|
48459
48456
|
}).call(this), _ = this.spawnWorkers(), this.options.globalPalette === !0)
|
|
48460
48457
|
this.renderNextFrame();
|
|
48461
48458
|
else
|
|
48462
|
-
for (
|
|
48459
|
+
for (m = 0, y = _; 0 <= y ? m < y : m > y; 0 <= y ? ++m : --m)
|
|
48463
48460
|
this.renderNextFrame();
|
|
48464
48461
|
return this.emit("start"), this.emit("progress", 0);
|
|
48465
|
-
},
|
|
48466
|
-
for (var
|
|
48467
|
-
this.log("killing active worker"),
|
|
48462
|
+
}, p.prototype.abort = function() {
|
|
48463
|
+
for (var m; m = this.activeWorkers.shift(), m != null; )
|
|
48464
|
+
this.log("killing active worker"), m.terminate();
|
|
48468
48465
|
return this.running = !1, this.emit("abort");
|
|
48469
|
-
},
|
|
48470
|
-
var
|
|
48471
|
-
return
|
|
48466
|
+
}, p.prototype.spawnWorkers = function() {
|
|
48467
|
+
var m, _, y;
|
|
48468
|
+
return m = Math.min(this.options.workers, this.frames.length), (function() {
|
|
48472
48469
|
y = [];
|
|
48473
|
-
for (var x = _ = this.freeWorkers.length; _ <=
|
|
48470
|
+
for (var x = _ = this.freeWorkers.length; _ <= m ? x < m : x > m; _ <= m ? x++ : x--)
|
|
48474
48471
|
y.push(x);
|
|
48475
48472
|
return y;
|
|
48476
48473
|
}).apply(this).forEach(/* @__PURE__ */ (function(x) {
|
|
@@ -48480,48 +48477,48 @@ function j4() {
|
|
|
48480
48477
|
return x.activeWorkers.splice(x.activeWorkers.indexOf(M), 1), x.freeWorkers.push(M), x.frameFinished(C.data);
|
|
48481
48478
|
}, x.freeWorkers.push(M);
|
|
48482
48479
|
};
|
|
48483
|
-
})(this)),
|
|
48484
|
-
},
|
|
48480
|
+
})(this)), m;
|
|
48481
|
+
}, p.prototype.frameFinished = function(m) {
|
|
48485
48482
|
var _, y;
|
|
48486
|
-
if (this.log("frame " +
|
|
48483
|
+
if (this.log("frame " + m.index + " finished - " + this.activeWorkers.length + " active"), this.finishedFrames++, this.emit("progress", this.finishedFrames / this.frames.length), this.imageParts[m.index] = m, this.options.globalPalette === !0 && (this.options.globalPalette = m.globalPalette, this.log("global palette analyzed"), this.frames.length > 2))
|
|
48487
48484
|
for (_ = 1, y = this.freeWorkers.length; 1 <= y ? _ < y : _ > y; 1 <= y ? ++_ : --_)
|
|
48488
48485
|
this.renderNextFrame();
|
|
48489
48486
|
return c.call(this.imageParts, null) >= 0 ? this.renderNextFrame() : this.finishRendering();
|
|
48490
|
-
},
|
|
48491
|
-
var
|
|
48487
|
+
}, p.prototype.finishRendering = function() {
|
|
48488
|
+
var m, _, y, x, w, M, C, P, R, O, z, B, W, H, N, q;
|
|
48492
48489
|
for (P = 0, H = this.imageParts, w = 0, R = H.length; w < R; w++)
|
|
48493
48490
|
_ = H[w], P += (_.data.length - 1) * _.pageSize + _.cursor;
|
|
48494
|
-
for (P += _.pageSize - _.cursor, this.log("rendering finished - filesize " + Math.round(P / 1e3) + "kb"),
|
|
48491
|
+
for (P += _.pageSize - _.cursor, this.log("rendering finished - filesize " + Math.round(P / 1e3) + "kb"), m = new Uint8Array(P), B = 0, N = this.imageParts, M = 0, O = N.length; M < O; M++)
|
|
48495
48492
|
for (_ = N[M], q = _.data, y = C = 0, z = q.length; C < z; y = ++C)
|
|
48496
|
-
W = q[y],
|
|
48497
|
-
return x = new Blob([
|
|
48498
|
-
},
|
|
48499
|
-
var
|
|
48493
|
+
W = q[y], m.set(W, B), y === _.data.length - 1 ? B += _.cursor : B += _.pageSize;
|
|
48494
|
+
return x = new Blob([m], { type: "image/gif" }), this.emit("finished", x, m);
|
|
48495
|
+
}, p.prototype.renderNextFrame = function() {
|
|
48496
|
+
var m, _, y;
|
|
48500
48497
|
if (this.freeWorkers.length === 0)
|
|
48501
48498
|
throw new Error("No free workers");
|
|
48502
48499
|
if (!(this.nextFrame >= this.frames.length))
|
|
48503
|
-
return
|
|
48504
|
-
},
|
|
48505
|
-
return
|
|
48506
|
-
},
|
|
48500
|
+
return m = this.frames[this.nextFrame++], y = this.freeWorkers.shift(), _ = this.getTask(m), this.log("starting frame " + (_.index + 1) + " of " + this.frames.length), this.activeWorkers.push(y), y.postMessage(_);
|
|
48501
|
+
}, p.prototype.getContextData = function(m) {
|
|
48502
|
+
return m.getImageData(0, 0, this.options.width, this.options.height).data;
|
|
48503
|
+
}, p.prototype.getImageData = function(m) {
|
|
48507
48504
|
var _;
|
|
48508
|
-
return this._canvas == null && (this._canvas = document.createElement("canvas"), this._canvas.width = this.options.width, this._canvas.height = this.options.height), _ = this._canvas.getContext("2d"), _.setFill = this.options.background, _.fillRect(0, 0, this.options.width, this.options.height), _.drawImage(
|
|
48509
|
-
},
|
|
48505
|
+
return this._canvas == null && (this._canvas = document.createElement("canvas"), this._canvas.width = this.options.width, this._canvas.height = this.options.height), _ = this._canvas.getContext("2d"), _.setFill = this.options.background, _.fillRect(0, 0, this.options.width, this.options.height), _.drawImage(m, 0, 0), this.getContextData(_);
|
|
48506
|
+
}, p.prototype.getTask = function(m) {
|
|
48510
48507
|
var _, y;
|
|
48511
|
-
if (_ = this.frames.indexOf(
|
|
48512
|
-
y.data =
|
|
48513
|
-
else if (
|
|
48514
|
-
y.data = this.getContextData(
|
|
48515
|
-
else if (
|
|
48516
|
-
y.data = this.getImageData(
|
|
48508
|
+
if (_ = this.frames.indexOf(m), y = { index: _, last: _ === this.frames.length - 1, delay: m.delay, transparent: m.transparent, width: this.options.width, height: this.options.height, quality: this.options.quality, dither: this.options.dither, globalPalette: this.options.globalPalette, repeat: this.options.repeat, canTransfer: a.name === "chrome" }, m.data != null)
|
|
48509
|
+
y.data = m.data;
|
|
48510
|
+
else if (m.context != null)
|
|
48511
|
+
y.data = this.getContextData(m.context);
|
|
48512
|
+
else if (m.image != null)
|
|
48513
|
+
y.data = this.getImageData(m.image);
|
|
48517
48514
|
else
|
|
48518
48515
|
throw new Error("Invalid frame");
|
|
48519
48516
|
return y;
|
|
48520
|
-
},
|
|
48521
|
-
var
|
|
48522
|
-
if (
|
|
48523
|
-
return console.log.apply(console,
|
|
48524
|
-
},
|
|
48517
|
+
}, p.prototype.log = function() {
|
|
48518
|
+
var m;
|
|
48519
|
+
if (m = 1 <= arguments.length ? u.call(arguments, 0) : [], !!this.options.debug)
|
|
48520
|
+
return console.log.apply(console, m);
|
|
48521
|
+
}, p;
|
|
48525
48522
|
})(n), i.exports = o;
|
|
48526
48523
|
}, { "./browser.coffee": 2, events: 1 }] }, {}, [3])(3);
|
|
48527
48524
|
});
|
|
@@ -49205,7 +49202,7 @@ export {
|
|
|
49205
49202
|
x4 as UpdateFromFunc,
|
|
49206
49203
|
Yr as VDict,
|
|
49207
49204
|
Mt as VGroup,
|
|
49208
|
-
|
|
49205
|
+
I as VMobject,
|
|
49209
49206
|
ud as VMobjectFromSVGPath,
|
|
49210
49207
|
Cn as ValueTracker,
|
|
49211
49208
|
Qu as Variable,
|