manim-web 0.3.20 → 0.3.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/dist/AmsConfiguration-BMyoprhk.js +847 -0
  2. package/dist/AmsConfiguration-BdxxYRby.js +847 -0
  3. package/dist/ConfigMacrosConfiguration-B8X_JSVI.js +46 -0
  4. package/dist/ConfigMacrosConfiguration-DUxp6DUV.js +46 -0
  5. package/dist/Entities-B1o7gN0J.js +429 -0
  6. package/dist/Entities-C82lnCux.js +429 -0
  7. package/dist/Factory-BKM7FEO-.js +107 -0
  8. package/dist/Factory-D-whCqrb.js +107 -0
  9. package/dist/{GifExporter-C9lP34Iu.js → GifExporter-BrxY_q7e.js} +1 -1
  10. package/dist/{GifExporter-DBak5Vk7.js → GifExporter-S2pbxMc5.js} +1 -1
  11. package/dist/HtmlNode-BLmQ2r7U.js +981 -0
  12. package/dist/HtmlNode-DXGeKrcW.js +981 -0
  13. package/dist/InputJax-DL9oUQY4.js +41 -0
  14. package/dist/InputJax-DnDWM3Y0.js +41 -0
  15. package/dist/NewcommandConfiguration-BPjclFig.js +32 -0
  16. package/dist/NewcommandConfiguration-bJ6P1rBY.js +32 -0
  17. package/dist/NewcommandMethods-C_E3iLoK.js +187 -0
  18. package/dist/NewcommandMethods-Cb7yFm5P.js +187 -0
  19. package/dist/Options-DRlTi0G8.js +63 -0
  20. package/dist/Options-XPptO-6X.js +63 -0
  21. package/dist/ParseMethods-BMPfzfQC.js +2636 -0
  22. package/dist/ParseMethods-D3_HeS1K.js +2636 -0
  23. package/dist/Styles-Dky5jZUe.js +293 -0
  24. package/dist/Styles-J-6R3Vr8.js +293 -0
  25. package/dist/{VideoExporter-Bdtz_pWv.js → VideoExporter-6ikT3u9H.js} +1 -1
  26. package/dist/{VideoExporter-Vjfsnv1h.js → VideoExporter-D_RxVahH.js} +1 -1
  27. package/dist/animation/Animation.d.ts +15 -0
  28. package/dist/animation/Animation.d.ts.map +1 -1
  29. package/dist/animation/transform/FadeMorphStrategy.d.ts +18 -0
  30. package/dist/animation/transform/FadeMorphStrategy.d.ts.map +1 -0
  31. package/dist/animation/transform/FadeTransforms.d.ts +2 -0
  32. package/dist/animation/transform/FadeTransforms.d.ts.map +1 -1
  33. package/dist/animation/transform/MorphStrategy.d.ts +8 -0
  34. package/dist/animation/transform/MorphStrategy.d.ts.map +1 -0
  35. package/dist/animation/transform/MovementTransforms.d.ts.map +1 -1
  36. package/dist/animation/transform/PointMorphStrategy.d.ts +36 -0
  37. package/dist/animation/transform/PointMorphStrategy.d.ts.map +1 -0
  38. package/dist/animation/transform/ShapeMorphStrategy.d.ts +39 -0
  39. package/dist/animation/transform/ShapeMorphStrategy.d.ts.map +1 -0
  40. package/dist/animation/transform/Transform.d.ts +9 -91
  41. package/dist/animation/transform/Transform.d.ts.map +1 -1
  42. package/dist/animation/transform/TransformMatching.d.ts.map +1 -1
  43. package/dist/animation/transform/TransformMatchingBase.d.ts +1 -0
  44. package/dist/animation/transform/TransformMatchingBase.d.ts.map +1 -1
  45. package/dist/animation/transform/TransformMatchingShared.d.ts +37 -0
  46. package/dist/animation/transform/TransformMatchingShared.d.ts.map +1 -0
  47. package/dist/animation/transform/TransformPairing.d.ts +19 -0
  48. package/dist/animation/transform/TransformPairing.d.ts.map +1 -0
  49. package/dist/core/AnimateProxy.d.ts +1 -0
  50. package/dist/core/AnimateProxy.d.ts.map +1 -1
  51. package/dist/core/Group.d.ts +2 -0
  52. package/dist/core/Group.d.ts.map +1 -1
  53. package/dist/core/Mobject.d.ts +6 -0
  54. package/dist/core/Mobject.d.ts.map +1 -1
  55. package/dist/core/Scene.d.ts.map +1 -1
  56. package/dist/core/TexturedMobject.d.ts +38 -0
  57. package/dist/core/TexturedMobject.d.ts.map +1 -0
  58. package/dist/core/ThreeDScene.d.ts +16 -3
  59. package/dist/core/ThreeDScene.d.ts.map +1 -1
  60. package/dist/core/VMobject.d.ts +34 -109
  61. package/dist/core/VMobject.d.ts.map +1 -1
  62. package/dist/core/VMobjectCurveUtils.d.ts +106 -0
  63. package/dist/core/VMobjectCurveUtils.d.ts.map +1 -0
  64. package/dist/core/VMobjectGeometry.d.ts +2 -15
  65. package/dist/core/VMobjectGeometry.d.ts.map +1 -1
  66. package/dist/core/VMobjectRendering.d.ts.map +1 -1
  67. package/dist/core/VMobjectStrokeGeometry.d.ts +20 -0
  68. package/dist/core/VMobjectStrokeGeometry.d.ts.map +1 -0
  69. package/dist/core/VMobjectTransformAlignment.d.ts +11 -0
  70. package/dist/core/VMobjectTransformAlignment.d.ts.map +1 -0
  71. package/dist/html-DU38zqaN.js +829 -0
  72. package/dist/html-DjkQuIHJ.js +829 -0
  73. package/dist/index.js +4 -4
  74. package/dist/integrations/react.js +5 -5
  75. package/dist/integrations/vue.js +7 -7
  76. package/dist/interaction/Draggable.d.ts +2 -0
  77. package/dist/interaction/Draggable.d.ts.map +1 -1
  78. package/dist/lengths-CP7zmbxJ.js +54 -0
  79. package/dist/lengths-D4tR1gYA.js +54 -0
  80. package/dist/liteAdaptor-BLgze3o2.js +616 -0
  81. package/dist/liteAdaptor-zXv-jsO1.js +616 -0
  82. package/dist/manim-web.browser.js +34463 -31055
  83. package/dist/mathjax-7LgaTjtj.js +121 -0
  84. package/dist/mathjax-CoSFlQ0H.js +121 -0
  85. package/dist/mo-C5uLT3Z9.js +2675 -0
  86. package/dist/mo-CNYDGAsg.js +2675 -0
  87. package/dist/mobjects/geometry/BooleanOperations.d.ts +1 -1
  88. package/dist/mobjects/geometry/BooleanOperations.d.ts.map +1 -1
  89. package/dist/mobjects/geometry/PolygonExtensions.d.ts +1 -1
  90. package/dist/mobjects/geometry/PolygonExtensions.d.ts.map +1 -1
  91. package/dist/mobjects/graphing/ComplexPlane.d.ts +18 -0
  92. package/dist/mobjects/graphing/ComplexPlane.d.ts.map +1 -1
  93. package/dist/mobjects/image/index.d.ts +9 -2
  94. package/dist/mobjects/image/index.d.ts.map +1 -1
  95. package/dist/mobjects/text/MarkupText.d.ts.map +1 -1
  96. package/dist/mobjects/text/MathJaxRenderer.d.ts.map +1 -1
  97. package/dist/mobjects/text/MathTexImage.d.ts +9 -3
  98. package/dist/mobjects/text/MathTexImage.d.ts.map +1 -1
  99. package/dist/mobjects/text/Text.d.ts +8 -3
  100. package/dist/mobjects/text/Text.d.ts.map +1 -1
  101. package/dist/mobjects/text/svgPathParser.d.ts.map +1 -1
  102. package/dist/mobjects/three-d/ThreeDAxes.d.ts +8 -0
  103. package/dist/mobjects/three-d/ThreeDAxes.d.ts.map +1 -1
  104. package/dist/{src-Db7QTr4S.js → src-CW4pfZdP.js} +32387 -28979
  105. package/dist/svg-CYweEoZ1.js +28698 -0
  106. package/dist/svg-swSF_J59.js +28698 -0
  107. package/dist/tex-C4_queV-.js +1423 -0
  108. package/dist/tex-CA5MLeEe.js +1423 -0
  109. package/dist/utils/math.d.ts +7 -0
  110. package/dist/utils/math.d.ts.map +1 -1
  111. package/package.json +3 -3
  112. package/dist/AllPackages-B0GtkYjD.js +0 -7912
  113. package/dist/AllPackages-BIAELuhU.js +0 -7912
  114. package/dist/BaseConfiguration-CDf44lxS.js +0 -4402
  115. package/dist/BaseConfiguration-Chcqjv9L.js +0 -4402
  116. package/dist/Entities-B_gwJfrn.js +0 -458
  117. package/dist/Entities-CmJkmuw_.js +0 -458
  118. package/dist/InputJax-C5sGfjJ8.js +0 -43
  119. package/dist/InputJax-Jb4hSThK.js +0 -43
  120. package/dist/MathItem-BmK41eqe.js +0 -77
  121. package/dist/MathItem-C_mZyaeT.js +0 -77
  122. package/dist/Options-Ch1vGsgd.js +0 -188
  123. package/dist/Options-V6ag48Dv.js +0 -188
  124. package/dist/PrioritizedList-DkoCmqPk.js +0 -36
  125. package/dist/PrioritizedList-eKTii0tW.js +0 -36
  126. package/dist/Styles-De4BjKiV.js +0 -411
  127. package/dist/Styles-DgoiBrzf.js +0 -411
  128. package/dist/TeXAtom-DT2wCvcU.js +0 -2025
  129. package/dist/TeXAtom-JogI0lus.js +0 -2025
  130. package/dist/html-53__O8r2.js +0 -1587
  131. package/dist/html-DfHFh5II.js +0 -1587
  132. package/dist/lengths-3epoqRj7.js +0 -65
  133. package/dist/lengths-B-bX9Tfk.js +0 -65
  134. package/dist/liteAdaptor-BxFvlO-q.js +0 -828
  135. package/dist/liteAdaptor-CsOIKw2g.js +0 -828
  136. package/dist/mathjax-Bkrmftxh.js +0 -102
  137. package/dist/mathjax-DBrTNl9C.js +0 -102
  138. package/dist/mo-AzagC5AD.js +0 -3271
  139. package/dist/mo-I_6dyJsk.js +0 -3271
  140. package/dist/svg-CoGQ_sAt.js +0 -23880
  141. package/dist/svg-DiIG93Lr.js +0 -23880
  142. package/dist/tex-ChPKMfdv.js +0 -401
  143. package/dist/tex-hYZcjadW.js +0 -401
  144. /package/dist/{chunk-3e0lkp8x.js → rolldown-runtime-DnwLefa7.js} +0 -0
@@ -14,6 +14,10 @@ export declare class VMobject extends VMobjectRendering {
14
14
  protected _points3D: number[][];
15
15
  /** Number of points visible (for Create animation) */
16
16
  protected _visiblePointCount: number | null;
17
+ /** Base subpath-length metadata (intrinsic topology, e.g. SVG compound paths). */
18
+ protected _baseSubpathLengths?: number[];
19
+ /** Transform-time override for subpath lengths (compound-path metadata). */
20
+ protected _transformSubpathLengths?: number[];
17
21
  constructor();
18
22
  /**
19
23
  * Get all points as 2D Point objects (derived from _points3D)
@@ -90,6 +94,36 @@ export declare class VMobject extends VMobjectRendering {
90
94
  * Clear all points
91
95
  */
92
96
  clearPoints(): this;
97
+ /**
98
+ * Set base subpath-length metadata for this VMobject.
99
+ * Represents intrinsic topology (e.g. outer contour + holes from SVG parsing).
100
+ */
101
+ setBaseSubpathLengths(lengths: number[] | undefined): void;
102
+ /**
103
+ * Get base subpath lengths (intrinsic topology metadata).
104
+ * Subclasses may override this to compute dynamic metadata.
105
+ */
106
+ getSubpathLengths(): number[] | undefined;
107
+ /**
108
+ * Set transform-time subpath lengths override.
109
+ * Used by Transform animations to preserve compound-path structure.
110
+ * @param lengths - Array of subpath lengths, or undefined to clear
111
+ */
112
+ setTransformSubpathLengths(lengths: number[] | undefined): void;
113
+ /**
114
+ * Get effective subpath lengths for rendering.
115
+ * Returns transform override if present, else base/subclass metadata.
116
+ */
117
+ getEffectiveSubpathLengths(): number[] | undefined;
118
+ /**
119
+ * Get orientation sign for each subpath: +1 (CCW) or -1 (CW).
120
+ * Returns undefined when subpath metadata is missing or inconsistent.
121
+ */
122
+ getSubpathOrientationSigns(lengths?: number[]): Array<1 | -1> | undefined;
123
+ /**
124
+ * Get orientation sign for a specific subpath index: +1 (CCW) or -1 (CW).
125
+ */
126
+ getSubpathOrientationSign(index: number): 1 | -1;
93
127
  /**
94
128
  * Interpolate this VMobject towards a target VMobject
95
129
  * @param target - The target VMobject to interpolate towards
@@ -103,11 +137,6 @@ export declare class VMobject extends VMobjectRendering {
103
137
  * @param target - The target VMobject to align with
104
138
  */
105
139
  alignPoints(target: VMobject): void;
106
- /**
107
- * Compute the signed area of a 2D polygon formed by the anchor points.
108
- * Positive = counter-clockwise, negative = clockwise.
109
- */
110
- private static _signedArea2D;
111
140
  /**
112
141
  * Reverse a cubic-bezier point path while preserving bezier structure.
113
142
  * For cubic segments [A0, H1, H2, A1, H3, H4, A2, ...],
@@ -184,108 +213,4 @@ export declare class VMobject extends VMobjectRendering {
184
213
  */
185
214
  dispose(): void;
186
215
  }
187
- /**
188
- * Get the number of curve segments in a VMobject.
189
- * Each cubic Bezier segment uses 4 points (anchor, handle, handle, anchor),
190
- * with consecutive segments sharing anchors.
191
- * @param vmobject - The VMobject to count curves from
192
- * @returns Number of curve segments
193
- */
194
- export declare function getNumCurves(vmobject: VMobject): number;
195
- /**
196
- * Get the nth curve segment from a VMobject as a new VMobject.
197
- * @param vmobject - The source VMobject
198
- * @param n - Index of the curve segment (0-based)
199
- * @returns A new VMobject containing just that curve segment
200
- */
201
- export declare function getNthCurve(vmobject: VMobject, n: number): VMobject;
202
- /**
203
- * Split a VMobject's curves into separate VMobject submobjects.
204
- * Each cubic Bezier curve segment becomes its own VMobject child.
205
- * Useful for animating parts of a path independently (e.g., staggered animations).
206
- *
207
- * @param vmobject - The VMobject to split
208
- * @returns A new VMobject with each curve as a child submobject
209
- *
210
- * @example
211
- * ```typescript
212
- * const path = new VMobject();
213
- * path.setPoints([...complex path with multiple curves...]);
214
- *
215
- * // Split into individual curves for staggered animation
216
- * const curves = curvesAsSubmobjects(path);
217
- *
218
- * // Now animate each curve independently
219
- * for (const curve of curves.children) {
220
- * scene.play(Create(curve));
221
- * }
222
- * ```
223
- */
224
- export declare function curvesAsSubmobjects(vmobject: VMobject): VMobject;
225
- /**
226
- * CurvesAsSubmobjects class - Splits a VMobject's curves into separate submobjects.
227
- *
228
- * This class extends VMobject and creates children where each child is a single
229
- * cubic Bezier curve segment from the source VMobject. This is useful for:
230
- * - Staggered animations (animate each curve segment with delay)
231
- * - Per-curve styling (color each segment differently)
232
- * - Selective curve manipulation
233
- *
234
- * @example
235
- * ```typescript
236
- * const path = new VMobject();
237
- * path.setPoints([...]);
238
- *
239
- * const curves = new CurvesAsSubmobjects(path);
240
- *
241
- * // Access individual curves
242
- * curves.children[0].setColor('red');
243
- * curves.children[1].setColor('blue');
244
- * ```
245
- */
246
- export declare class CurvesAsSubmobjects extends VMobject {
247
- /** The source VMobject this was created from */
248
- protected _source: VMobject | null;
249
- /**
250
- * Create a CurvesAsSubmobjects from a VMobject.
251
- * @param vmobject - The VMobject to split into curve submobjects
252
- */
253
- constructor(vmobject?: VMobject);
254
- /**
255
- * Set up this object from a VMobject, splitting its curves into children.
256
- * @param vmobject - The source VMobject
257
- * @returns this for chaining
258
- */
259
- setFromVMobject(vmobject: VMobject): this;
260
- /**
261
- * Get the number of curve segments (same as number of children).
262
- */
263
- get numCurves(): number;
264
- /**
265
- * Get the nth curve as a VMobject.
266
- * @param n - Index of the curve (0-based)
267
- * @returns The curve VMobject at that index
268
- */
269
- getCurve(n: number): VMobject;
270
- /**
271
- * Iterate over all curves.
272
- */
273
- [Symbol.iterator](): Iterator<VMobject>;
274
- /**
275
- * Apply a function to each curve.
276
- * @param fn - Function to apply
277
- * @returns this for chaining
278
- */
279
- forEach(fn: (curve: VMobject, index: number) => void): this;
280
- /**
281
- * Map over all curves.
282
- * @param fn - Mapping function
283
- * @returns Array of mapped values
284
- */
285
- map<T>(fn: (curve: VMobject, index: number) => T): T[];
286
- /**
287
- * Create a copy of this CurvesAsSubmobjects.
288
- */
289
- protected _createCopy(): VMobject;
290
- }
291
216
  //# sourceMappingURL=VMobject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VMobject.d.ts","sourceRoot":"","sources":["../../src/core/VMobject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAW9C,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,qBAAa,QAAS,SAAQ,iBAAiB;IAC7C;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAM;IAErC,sDAAsD;IACtD,SAAS,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAQ;;IAcnD;;OAEG;IACH,IAAI,MAAM,IAAI,KAAK,EAAE,CAEpB;IAED;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,IAAI;IAoB7C;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI;IAIrC;;;OAGG;IACH,SAAS,IAAI,MAAM,EAAE,EAAE;IAIvB;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAIlC;IAED;;OAEG;IACH,gBAAgB,IAAI,KAAK,EAAE;IAK3B;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE,EAAE;IAKhC;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAMhD;;OAEG;IACH,oBAAoB,IAAI,MAAM,GAAG,IAAI;IAQrC;;OAEG;IACH,SAAS,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI;IAOnC;;;;;;OAMG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI;IAkC7C;;;;;;OAMG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI;IA+B7C;;OAEG;IACH,WAAW,IAAI,IAAI;IAYnB;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IA0ClD;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;IAgCnC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAiB5B;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAQjC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAmD5B;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE;IAuCtF;;;;;;;;OAQG;IACM,IAAI,IAAI,QAAQ;IAUzB;;OAEG;cACgB,WAAW,IAAI,QAAQ;IAW1C;;;OAGG;IACH,aAAa,IAAI,YAAY;IAmB7B;;;;OAIG;IACM,SAAS,IAAI,YAAY;IAalC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAsBjC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;;;;;;;OAQG;IACH,0BAA0B,IAAI,IAAI;IAkClC,4DAA4D;IAC5D,SAAS,CAAC,MAAM,CAAC,eAAe,CAC9B,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,GACX,OAAO;IAIV,mDAAmD;IACnD,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO;IAI5E,gEAAgE;IAChE,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE;IAIzF,yDAAyD;IACzD,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE;IAIvF,mEAAmE;IACnE,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO;IAQtD;;OAEG;IACM,OAAO,IAAI,IAAI;CAIzB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,CAoBnE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAkBhE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,mBAAoB,SAAQ,QAAQ;IAC/C,gDAAgD;IAChD,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAE1C;;;OAGG;gBACS,QAAQ,CAAC,EAAE,QAAQ;IAY/B;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA2BzC;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;OAIG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ;IAO7B;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAIvC;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAK3D;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAItD;;OAEG;cACgB,WAAW,IAAI,QAAQ;CAK3C"}
1
+ {"version":3,"file":"VMobject.d.ts","sourceRoot":"","sources":["../../src/core/VMobject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ import { VMobject } from './VMobject';
2
+ /**
3
+ * Get the number of curve segments in a VMobject.
4
+ * Each cubic Bezier segment uses 4 points (anchor, handle, handle, anchor),
5
+ * with consecutive segments sharing anchors.
6
+ * @param vmobject - The VMobject to count curves from
7
+ * @returns Number of curve segments
8
+ */
9
+ export declare function getNumCurves(vmobject: VMobject): number;
10
+ /**
11
+ * Get the nth curve segment from a VMobject as a new VMobject.
12
+ * @param vmobject - The source VMobject
13
+ * @param n - Index of the curve segment (0-based)
14
+ * @returns A new VMobject containing just that curve segment
15
+ */
16
+ export declare function getNthCurve(vmobject: VMobject, n: number): VMobject;
17
+ /**
18
+ * Split a VMobject's curves into separate VMobject submobjects.
19
+ * Each cubic Bezier curve segment becomes its own VMobject child.
20
+ * Useful for animating parts of a path independently (e.g., staggered animations).
21
+ *
22
+ * @param vmobject - The VMobject to split
23
+ * @returns A new VMobject with each curve as a child submobject
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const path = new VMobject();
28
+ * path.setPoints([...complex path with multiple curves...]);
29
+ *
30
+ * // Split into individual curves for staggered animation
31
+ * const curves = curvesAsSubmobjects(path);
32
+ *
33
+ * // Now animate each curve independently
34
+ * for (const curve of curves.children) {
35
+ * scene.play(Create(curve));
36
+ * }
37
+ * ```
38
+ */
39
+ export declare function curvesAsSubmobjects(vmobject: VMobject): VMobject;
40
+ /**
41
+ * CurvesAsSubmobjects class - Splits a VMobject's curves into separate submobjects.
42
+ *
43
+ * This class extends VMobject and creates children where each child is a single
44
+ * cubic Bezier curve segment from the source VMobject. This is useful for:
45
+ * - Staggered animations (animate each curve segment with delay)
46
+ * - Per-curve styling (color each segment differently)
47
+ * - Selective curve manipulation
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * const path = new VMobject();
52
+ * path.setPoints([...]);
53
+ *
54
+ * const curves = new CurvesAsSubmobjects(path);
55
+ *
56
+ * // Access individual curves
57
+ * curves.children[0].setColor('red');
58
+ * curves.children[1].setColor('blue');
59
+ * ```
60
+ */
61
+ export declare class CurvesAsSubmobjects extends VMobject {
62
+ /** The source VMobject this was created from */
63
+ protected _source: VMobject | null;
64
+ /**
65
+ * Create a CurvesAsSubmobjects from a VMobject.
66
+ * @param vmobject - The VMobject to split into curve submobjects
67
+ */
68
+ constructor(vmobject?: VMobject);
69
+ /**
70
+ * Set up this object from a VMobject, splitting its curves into children.
71
+ * @param vmobject - The source VMobject
72
+ * @returns this for chaining
73
+ */
74
+ setFromVMobject(vmobject: VMobject): this;
75
+ /**
76
+ * Get the number of curve segments (same as number of children).
77
+ */
78
+ get numCurves(): number;
79
+ /**
80
+ * Get the nth curve as a VMobject.
81
+ * @param n - Index of the curve (0-based)
82
+ * @returns The curve VMobject at that index
83
+ */
84
+ getCurve(n: number): VMobject;
85
+ /**
86
+ * Iterate over all curves.
87
+ */
88
+ [Symbol.iterator](): Iterator<VMobject>;
89
+ /**
90
+ * Apply a function to each curve.
91
+ * @param fn - Function to apply
92
+ * @returns this for chaining
93
+ */
94
+ forEach(fn: (curve: VMobject, index: number) => void): this;
95
+ /**
96
+ * Map over all curves.
97
+ * @param fn - Mapping function
98
+ * @returns Array of mapped values
99
+ */
100
+ map<T>(fn: (curve: VMobject, index: number) => T): T[];
101
+ /**
102
+ * Create a copy of this CurvesAsSubmobjects.
103
+ */
104
+ protected _createCopy(): VMobject;
105
+ }
106
+ //# sourceMappingURL=VMobjectCurveUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VMobjectCurveUtils.d.ts","sourceRoot":"","sources":["../../src/core/VMobjectCurveUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,CAoBnE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAkBhE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,mBAAoB,SAAQ,QAAQ;IAC/C,gDAAgD;IAChD,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAE1C;;;OAGG;gBACS,QAAQ,CAAC,EAAE,QAAQ;IAY/B;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA2BzC;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;OAIG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ;IAO7B;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAIvC;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAK3D;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAItD;;OAEG;cACgB,WAAW,IAAI,QAAQ;CAK3C"}
@@ -61,23 +61,10 @@ export declare function pointsToCurvePath(visiblePoints3D: number[][]): THREE.Cu
61
61
  *
62
62
  * @param points3D - The visible Bezier control points
63
63
  * @param visiblePoints - 2D points for fallback shape
64
- * @param getSubpaths - Optional function to get subpath lengths for compound paths
64
+ * @param getSubpathLengths - Optional function to get subpath lengths for compound paths
65
65
  * @returns A BufferGeometry or null if too degenerate
66
66
  */
67
- export declare function buildEarcutFillGeometry(points3D: number[][], visiblePoints: Point[], getSubpaths?: () => number[]): THREE.BufferGeometry | null;
68
- /**
69
- * Build mesh-based stroke geometry from a closed sampled path.
70
- * Uses miter joins at corners for pixel-perfect sharp corners.
71
- *
72
- * @param group - The THREE.Group for world matrix computation
73
- * @param sampledPoints - Sampled path points
74
- * @param strokeWidth - Stroke width
75
- * @param opacity - Current opacity
76
- * @returns BufferGeometry and index data, or null if insufficient points
77
- */
78
- export declare function buildMeshStrokeGeometry(group: THREE.Group, sampledPoints: number[][], strokeWidth: number, opacity: number): {
79
- geometry: THREE.BufferGeometry;
80
- } | null;
67
+ export declare function buildEarcutFillGeometry(points3D: number[][], visiblePoints: Point[], getSubpathLengths?: () => number[]): THREE.BufferGeometry | null;
81
68
  /**
82
69
  * Check if the Bezier control points form a closed path (first ~ last anchor).
83
70
  */
@@ -1 +1 @@
1
- {"version":3,"file":"VMobjectGeometry.d.ts","sourceRoot":"","sources":["../../src/core/VMobjectGeometry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAM9C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAoB9F;AAMD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,GAAE,MAAU,GAAG,MAAM,EAAE,EAAE,CAqC9F;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CAoC7F;AAiHD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAazE;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,CA8BjE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAoD7F;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAAE,EAAE,EACpB,aAAa,EAAE,KAAK,EAAE,EACtB,WAAW,CAAC,EAAE,MAAM,MAAM,EAAE,GAC3B,KAAK,CAAC,cAAc,GAAG,IAAI,CAqC7B;AAoGD;;;;;;;;;GASG;AAEH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,aAAa,EAAE,MAAM,EAAE,EAAE,EACzB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd;IAAE,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAA;CAAE,GAAG,IAAI,CAuJ3C;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAQ1D"}
1
+ {"version":3,"file":"VMobjectGeometry.d.ts","sourceRoot":"","sources":["../../src/core/VMobjectGeometry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAc9C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAoB9F;AAMD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,GAAE,MAAU,GAAG,MAAM,EAAE,EAAE,CAqC9F;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CAoC7F;AAqHD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAazE;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,CA8BjE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAoD7F;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAAE,EAAE,EACpB,aAAa,EAAE,KAAK,EAAE,EACtB,iBAAiB,CAAC,EAAE,MAAM,MAAM,EAAE,GACjC,KAAK,CAAC,cAAc,GAAG,IAAI,CAqC7B;AAoGD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAQ1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"VMobjectRendering.d.ts","sourceRoot":"","sources":["../../src/core/VMobjectRendering.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VMobjectRendering.d.ts","sourceRoot":"","sources":["../../src/core/VMobjectRendering.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAU9C;;;;;;;GAOG;AACH,8BAAsB,iBAAkB,SAAQ,OAAO;IACrD,sEAAsE;IACtE,SAAS,CAAC,eAAe,EAAE,YAAY,GAAG,IAAI,CAAQ;IAEtD,6BAA6B;IAC7B,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAQ;IAE/D,oEAAoE;IACpE,SAAS,CAAC,cAAc,EAAE,OAAO,CAAQ;IAEzC,kFAAkF;IAClF,OAAO,CAAC,UAAU,CAAiB;IAEnC,2EAA2E;IAC3E,OAAO,CAAC,YAAY,CAAsB;IAE1C,4DAA4D;IAC5D,OAAO,CAAC,iBAAiB,CAAe;IAExC,qDAAqD;IACrD,OAAO,CAAC,eAAe,CAA2B;IAElD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe,CAAK;IACnC,OAAO,CAAC,WAAW,CAA2D;IAE9E,0DAA0D;IAC1D,MAAM,CAAC,cAAc,EAAE,MAAM,CAAO;IACpC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAO;IAErC,oFAAoF;IACpF,MAAM,CAAC,WAAW,EAAE,MAAM,CAAM;IAEhC;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC1C,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3C,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEvC,8EAA8E;IAC9E,OAAO,KAAK,IAAI,GAEf;IAED,8EAA8E;IAC9E,OAAO,CAAC,iBAAiB;IAIzB,+EAA+E;IAC/E,OAAO,CAAC,kBAAkB;IAI1B,2EAA2E;IAC3E,OAAO,CAAC,cAAc;IAItB,4EAA4E;IAC5E,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;IACH,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAMzF;;;;;;;OAOG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAIhF;;;OAGG;IACH,MAAM,CAAC,eAAe,EAAE,OAAO,CAAS;IAExC,wDAAwD;IACxD,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAA+B;IAEnE,kDAAkD;IAClD,OAAO,CAAC,iBAAiB,CAA2B;IAEpD,0EAA0E;IAC1E,OAAO,CAAC,wBAAwB,CAAwB;IAExD;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAS;IAE/B,oCAAoC;IACpC,OAAO,CAAC,iBAAiB,CAA2B;IAEpD,qCAAqC;IACrC,OAAO,CAAC,mBAAmB,CAAwC;IAEnE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAUjC,kFAAkF;IAClF,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,yEAAyE;IACzE,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,EAIrC;IAED,uDAAuD;IACvD,iBAAiB,IAAI,IAAI;IASzB,QAAQ,CAAC,gBAAgB,IAAI,KAAK,EAAE;IACpC,QAAQ,CAAC,kBAAkB,IAAI,MAAM,EAAE,EAAE;IAMzC,SAAS,CAAC,cAAc,IAAI,KAAK,CAAC,KAAK;IAIvC,SAAS,CAAC,kBAAkB,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;IAI9D,SAAS,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,cAAc,GAAG,IAAI;IAYrF;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IA0B9C;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI;IA0EnD,OAAO,CAAC,kBAAkB;IAsC1B,OAAO,CAAC,uBAAuB;IAkD/B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,iBAAiB;IAsCzB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,mBAAmB;IA6C3B,OAAO,CAAC,qBAAqB;cAcV,oBAAoB,IAAI,IAAI;IA0D/C,SAAS,CAAC,0BAA0B,IAAI,IAAI;CAuB7C"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Mesh-based stroke geometry construction for VMobject.
3
+ *
4
+ * Extracted from VMobjectGeometry.ts to keep line counts under control.
5
+ */
6
+ import * as THREE from 'three';
7
+ /**
8
+ * Build mesh-based stroke geometry from a closed sampled path.
9
+ * Uses miter joins at corners for pixel-perfect sharp corners.
10
+ *
11
+ * @param group - The THREE.Group for world matrix computation
12
+ * @param sampledPoints - Sampled path points
13
+ * @param strokeWidth - Stroke width
14
+ * @param opacity - Current opacity
15
+ * @returns BufferGeometry and index data, or null if insufficient points
16
+ */
17
+ export declare function buildMeshStrokeGeometry(group: THREE.Group, sampledPoints: number[][], strokeWidth: number, opacity: number): {
18
+ geometry: THREE.BufferGeometry;
19
+ } | null;
20
+ //# sourceMappingURL=VMobjectStrokeGeometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VMobjectStrokeGeometry.d.ts","sourceRoot":"","sources":["../../src/core/VMobjectStrokeGeometry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;GASG;AAEH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,aAAa,EAAE,MAAM,EAAE,EAAE,EACzB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd;IAAE,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAA;CAAE,GAAG,IAAI,CAuJ3C"}
@@ -0,0 +1,11 @@
1
+ export interface CompoundAlignmentResult {
2
+ srcAlignedPoints: number[][];
3
+ tgtAlignedPoints: number[][];
4
+ alignedSubpathLengths: number[];
5
+ }
6
+ /**
7
+ * Align compound paths by orientation buckets, then by descending subpath length.
8
+ * CW (-1) and CCW (+1) buckets are aligned independently.
9
+ */
10
+ export declare function alignCompoundPathsForTransform(srcPoints3D: number[][], srcLengths: number[] | undefined, tgtPoints3D: number[][], tgtLengths: number[] | undefined, srcSigns?: Array<1 | -1>, tgtSigns?: Array<1 | -1>): CompoundAlignmentResult | null;
11
+ //# sourceMappingURL=VMobjectTransformAlignment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VMobjectTransformAlignment.d.ts","sourceRoot":"","sources":["../../src/core/VMobjectTransformAlignment.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,EAAE,MAAM,EAAE,EAAE,CAAC;IAC7B,gBAAgB,EAAE,MAAM,EAAE,EAAE,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAyUD;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,MAAM,EAAE,EAAE,EACvB,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAChC,WAAW,EAAE,MAAM,EAAE,EAAE,EACvB,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GACvB,uBAAuB,GAAG,IAAI,CAqDhC"}