manim-web 0.3.20 → 0.3.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/README.md +20 -0
  2. package/dist/AmsConfiguration-OUoC_kJ0.js +847 -0
  3. package/dist/AmsConfiguration-tdje_HlF.js +847 -0
  4. package/dist/ConfigMacrosConfiguration-4OaQYvlr.js +46 -0
  5. package/dist/ConfigMacrosConfiguration-DM3-S5M8.js +46 -0
  6. package/dist/Entities-Dw6381dl.js +429 -0
  7. package/dist/Entities-bJKKDYjE.js +429 -0
  8. package/dist/Factory-Ba6Nqb3M.js +107 -0
  9. package/dist/HtmlNode-1mFtYQ9G.js +981 -0
  10. package/dist/HtmlNode-CQqo5we-.js +981 -0
  11. package/dist/InputJax-D5R2pqUk.js +41 -0
  12. package/dist/InputJax-jNvwWU5P.js +41 -0
  13. package/dist/NewcommandConfiguration-BN_OlLcO.js +32 -0
  14. package/dist/NewcommandConfiguration-DZ3mSCpD.js +32 -0
  15. package/dist/NewcommandMethods-D5bueYYE.js +187 -0
  16. package/dist/NewcommandMethods-DTf_dan5.js +187 -0
  17. package/dist/Options-DMK2wYar.js +63 -0
  18. package/dist/ParseMethods-Deqa7kJ6.js +2636 -0
  19. package/dist/ParseMethods-Dt5bYDSZ.js +2636 -0
  20. package/dist/Styles-BILrGVps.js +293 -0
  21. package/dist/Styles-DQSruwWe.js +293 -0
  22. package/dist/animation/Animation.d.ts +15 -0
  23. package/dist/animation/Animation.d.ts.map +1 -1
  24. package/dist/animation/MasterTimeline.d.ts +88 -1
  25. package/dist/animation/MasterTimeline.d.ts.map +1 -1
  26. package/dist/animation/movement/Rotate.d.ts +2 -7
  27. package/dist/animation/movement/Rotate.d.ts.map +1 -1
  28. package/dist/animation/transform/FadeMorphStrategy.d.ts +18 -0
  29. package/dist/animation/transform/FadeMorphStrategy.d.ts.map +1 -0
  30. package/dist/animation/transform/FadeTransforms.d.ts +2 -0
  31. package/dist/animation/transform/FadeTransforms.d.ts.map +1 -1
  32. package/dist/animation/transform/MorphStrategy.d.ts +8 -0
  33. package/dist/animation/transform/MorphStrategy.d.ts.map +1 -0
  34. package/dist/animation/transform/MovementTransforms.d.ts.map +1 -1
  35. package/dist/animation/transform/PointMorphStrategy.d.ts +36 -0
  36. package/dist/animation/transform/PointMorphStrategy.d.ts.map +1 -0
  37. package/dist/animation/transform/ShapeMorphStrategy.d.ts +39 -0
  38. package/dist/animation/transform/ShapeMorphStrategy.d.ts.map +1 -0
  39. package/dist/animation/transform/Transform.d.ts +9 -91
  40. package/dist/animation/transform/Transform.d.ts.map +1 -1
  41. package/dist/animation/transform/TransformMatching.d.ts.map +1 -1
  42. package/dist/animation/transform/TransformMatchingBase.d.ts +1 -0
  43. package/dist/animation/transform/TransformMatchingBase.d.ts.map +1 -1
  44. package/dist/animation/transform/TransformMatchingShared.d.ts +37 -0
  45. package/dist/animation/transform/TransformMatchingShared.d.ts.map +1 -0
  46. package/dist/animation/transform/TransformPairing.d.ts +19 -0
  47. package/dist/animation/transform/TransformPairing.d.ts.map +1 -0
  48. package/dist/core/AnimateProxy.d.ts +4 -5
  49. package/dist/core/AnimateProxy.d.ts.map +1 -1
  50. package/dist/core/Camera.d.ts +37 -0
  51. package/dist/core/Camera.d.ts.map +1 -1
  52. package/dist/core/CameraExtensions.d.ts +33 -1
  53. package/dist/core/CameraExtensions.d.ts.map +1 -1
  54. package/dist/core/Group.d.ts +5 -11
  55. package/dist/core/Group.d.ts.map +1 -1
  56. package/dist/core/Mobject.d.ts +39 -7
  57. package/dist/core/Mobject.d.ts.map +1 -1
  58. package/dist/core/MobjectPositioning.d.ts +2 -5
  59. package/dist/core/MobjectPositioning.d.ts.map +1 -1
  60. package/dist/core/MobjectTypes.d.ts +21 -4
  61. package/dist/core/MobjectTypes.d.ts.map +1 -1
  62. package/dist/core/Renderer.d.ts +3 -0
  63. package/dist/core/Renderer.d.ts.map +1 -1
  64. package/dist/core/Scene.d.ts +50 -0
  65. package/dist/core/Scene.d.ts.map +1 -1
  66. package/dist/core/TexturedMobject.d.ts +38 -0
  67. package/dist/core/TexturedMobject.d.ts.map +1 -0
  68. package/dist/core/ThreeDScene.d.ts +18 -3
  69. package/dist/core/ThreeDScene.d.ts.map +1 -1
  70. package/dist/core/VGroup.d.ts +11 -19
  71. package/dist/core/VGroup.d.ts.map +1 -1
  72. package/dist/core/VMobject.d.ts +48 -110
  73. package/dist/core/VMobject.d.ts.map +1 -1
  74. package/dist/core/VMobjectCurveUtils.d.ts +106 -0
  75. package/dist/core/VMobjectCurveUtils.d.ts.map +1 -0
  76. package/dist/core/VMobjectGeometry.d.ts +22 -25
  77. package/dist/core/VMobjectGeometry.d.ts.map +1 -1
  78. package/dist/core/VMobjectRendering.d.ts +5 -0
  79. package/dist/core/VMobjectRendering.d.ts.map +1 -1
  80. package/dist/core/VMobjectStrokeGeometry.d.ts +20 -0
  81. package/dist/core/VMobjectStrokeGeometry.d.ts.map +1 -0
  82. package/dist/core/VMobjectTransformAlignment.d.ts +20 -0
  83. package/dist/core/VMobjectTransformAlignment.d.ts.map +1 -0
  84. package/dist/html-Bza5WY1y.js +829 -0
  85. package/dist/html-bhzMuE8p.js +829 -0
  86. package/dist/index.d.ts +4 -3
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.js +2 -4
  89. package/dist/integrations/react.js +16 -18
  90. package/dist/integrations/vue.js +15 -17
  91. package/dist/interaction/Draggable.d.ts +2 -0
  92. package/dist/interaction/Draggable.d.ts.map +1 -1
  93. package/dist/interaction/OrbitControls.d.ts +1 -1
  94. package/dist/interaction/OrbitControls.d.ts.map +1 -1
  95. package/dist/lengths-D2zTYMUu.js +54 -0
  96. package/dist/liteAdaptor-BkxB5CGC.js +616 -0
  97. package/dist/liteAdaptor-LMKuWwg1.js +616 -0
  98. package/dist/manim-web.browser.js +35821 -30916
  99. package/dist/mathjax-CPQWkQEv.js +121 -0
  100. package/dist/mathjax-b-GTdZgw.js +121 -0
  101. package/dist/mo-D4wFHS6V.js +2675 -0
  102. package/dist/mo-hAX79Dzl.js +2675 -0
  103. package/dist/mobjects/geometry/AngleShapes.d.ts +0 -4
  104. package/dist/mobjects/geometry/AngleShapes.d.ts.map +1 -1
  105. package/dist/mobjects/geometry/BooleanOperations.d.ts +1 -1
  106. package/dist/mobjects/geometry/BooleanOperations.d.ts.map +1 -1
  107. package/dist/mobjects/geometry/CubicBezier.d.ts.map +1 -1
  108. package/dist/mobjects/geometry/PolygonExtensions.d.ts +1 -1
  109. package/dist/mobjects/geometry/PolygonExtensions.d.ts.map +1 -1
  110. package/dist/mobjects/graphing/ComplexPlane.d.ts +59 -1
  111. package/dist/mobjects/graphing/ComplexPlane.d.ts.map +1 -1
  112. package/dist/mobjects/graphing/Vector.d.ts.map +1 -1
  113. package/dist/mobjects/image/index.d.ts +9 -2
  114. package/dist/mobjects/image/index.d.ts.map +1 -1
  115. package/dist/mobjects/point/Mobject1D.d.ts.map +1 -1
  116. package/dist/mobjects/point/Mobject2D.d.ts.map +1 -1
  117. package/dist/mobjects/point/PMobject.d.ts +8 -2
  118. package/dist/mobjects/point/PMobject.d.ts.map +1 -1
  119. package/dist/mobjects/point/PointMobject.d.ts.map +1 -1
  120. package/dist/mobjects/text/Code.d.ts.map +1 -1
  121. package/dist/mobjects/text/MarkupText.d.ts.map +1 -1
  122. package/dist/mobjects/text/MathJaxRenderer.d.ts.map +1 -1
  123. package/dist/mobjects/text/MathTex.d.ts +9 -0
  124. package/dist/mobjects/text/MathTex.d.ts.map +1 -1
  125. package/dist/mobjects/text/MathTexImage.d.ts +9 -3
  126. package/dist/mobjects/text/MathTexImage.d.ts.map +1 -1
  127. package/dist/mobjects/text/Text.d.ts +8 -3
  128. package/dist/mobjects/text/Text.d.ts.map +1 -1
  129. package/dist/mobjects/text/TextGlyphGroup.d.ts.map +1 -1
  130. package/dist/mobjects/text/svgPathParser.d.ts.map +1 -1
  131. package/dist/mobjects/three-d/Line3D.d.ts +10 -56
  132. package/dist/mobjects/three-d/Line3D.d.ts.map +1 -1
  133. package/dist/mobjects/three-d/ThreeDAxes.d.ts +8 -0
  134. package/dist/mobjects/three-d/ThreeDAxes.d.ts.map +1 -1
  135. package/dist/player/Player.d.ts +36 -29
  136. package/dist/player/Player.d.ts.map +1 -1
  137. package/dist/player/PlayerUI.d.ts.map +1 -1
  138. package/dist/player/RecordingScene.d.ts +37 -0
  139. package/dist/player/RecordingScene.d.ts.map +1 -0
  140. package/dist/{src-Db7QTr4S.js → src-BlTk3Bta.js} +34386 -29482
  141. package/dist/svg-DNS5Hwhk.js +28713 -0
  142. package/dist/svg-DVUoAdmC.js +28713 -0
  143. package/dist/test-setup/vitest-setup.d.ts +20 -0
  144. package/dist/test-setup/vitest-setup.d.ts.map +1 -0
  145. package/dist/tex-BQCLd0dF.js +1427 -0
  146. package/dist/tex-Cd_bTYKG.js +1427 -0
  147. package/dist/utils/axis.d.ts +4 -0
  148. package/dist/utils/axis.d.ts.map +1 -0
  149. package/dist/utils/logger.d.ts +37 -0
  150. package/dist/utils/logger.d.ts.map +1 -1
  151. package/dist/utils/math.d.ts +11 -0
  152. package/dist/utils/math.d.ts.map +1 -1
  153. package/dist/utils/vectors.d.ts +54 -1
  154. package/dist/utils/vectors.d.ts.map +1 -1
  155. package/package.json +10 -8
  156. package/dist/AllPackages-B0GtkYjD.js +0 -7912
  157. package/dist/AllPackages-BIAELuhU.js +0 -7912
  158. package/dist/BaseConfiguration-CDf44lxS.js +0 -4402
  159. package/dist/BaseConfiguration-Chcqjv9L.js +0 -4402
  160. package/dist/Entities-B_gwJfrn.js +0 -458
  161. package/dist/Entities-CmJkmuw_.js +0 -458
  162. package/dist/GifExporter-C9lP34Iu.js +0 -338
  163. package/dist/GifExporter-DBak5Vk7.js +0 -338
  164. package/dist/InputJax-C5sGfjJ8.js +0 -43
  165. package/dist/InputJax-Jb4hSThK.js +0 -43
  166. package/dist/MathItem-BmK41eqe.js +0 -77
  167. package/dist/MathItem-C_mZyaeT.js +0 -77
  168. package/dist/Options-Ch1vGsgd.js +0 -188
  169. package/dist/Options-V6ag48Dv.js +0 -188
  170. package/dist/PrioritizedList-DkoCmqPk.js +0 -36
  171. package/dist/PrioritizedList-eKTii0tW.js +0 -36
  172. package/dist/Styles-De4BjKiV.js +0 -411
  173. package/dist/Styles-DgoiBrzf.js +0 -411
  174. package/dist/TeXAtom-DT2wCvcU.js +0 -2025
  175. package/dist/TeXAtom-JogI0lus.js +0 -2025
  176. package/dist/VideoExporter-Bdtz_pWv.js +0 -102
  177. package/dist/VideoExporter-Vjfsnv1h.js +0 -102
  178. package/dist/chunk-3e0lkp8x.js +0 -23
  179. package/dist/html-53__O8r2.js +0 -1587
  180. package/dist/html-DfHFh5II.js +0 -1587
  181. package/dist/lengths-3epoqRj7.js +0 -65
  182. package/dist/lengths-B-bX9Tfk.js +0 -65
  183. package/dist/liteAdaptor-BxFvlO-q.js +0 -828
  184. package/dist/liteAdaptor-CsOIKw2g.js +0 -828
  185. package/dist/mathjax-Bkrmftxh.js +0 -102
  186. package/dist/mathjax-DBrTNl9C.js +0 -102
  187. package/dist/mo-AzagC5AD.js +0 -3271
  188. package/dist/mo-I_6dyJsk.js +0 -3271
  189. package/dist/svg-CoGQ_sAt.js +0 -23880
  190. package/dist/svg-DiIG93Lr.js +0 -23880
  191. package/dist/tex-ChPKMfdv.js +0 -401
  192. package/dist/tex-hYZcjadW.js +0 -401
@@ -0,0 +1,4 @@
1
+ export type AxisName = 'x' | 'y' | 'z';
2
+ export declare function axisVector(axis: AxisName): [number, number, number];
3
+ export declare function axisVectorFromEulerKey(key: 'X' | 'Y' | 'Z'): [number, number, number];
4
+ //# sourceMappingURL=axis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axis.d.ts","sourceRoot":"","sources":["../../src/utils/axis.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEvC,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CASnE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAErF"}
@@ -3,12 +3,49 @@
3
3
  * Provides consistent logging interface for both browser and Node environments.
4
4
  * Includes log sanitization to redact sensitive data (tokens, keys, emails).
5
5
  */
6
+ /** Severity of a log message. */
7
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
6
8
  interface Logger {
7
9
  debug: (...args: unknown[]) => void;
8
10
  info: (...args: unknown[]) => void;
9
11
  warn: (...args: unknown[]) => void;
10
12
  error: (...args: unknown[]) => void;
11
13
  }
14
+ /**
15
+ * A single log event delivered to {@link onLog} listeners. Every field is a
16
+ * primitive, so an entry is always safe to `JSON.stringify`.
17
+ */
18
+ export interface LogEntry {
19
+ /** Severity of the log call. */
20
+ level: LogLevel;
21
+ /** Sanitized, human-readable message built from all log arguments. */
22
+ message: string;
23
+ /** Unix epoch milliseconds (`Date.now()`) when the log call happened. */
24
+ timestamp: number;
25
+ }
26
+ /** Callback invoked for every log message that passes the level filter. */
27
+ export type LogListener = (entry: LogEntry) => void;
28
+ /**
29
+ * Register a callback that receives every log message (at or above the active
30
+ * `LOG_LEVEL`). The forwarded {@link LogEntry} is sanitized, so secrets are
31
+ * never leaked to a remote endpoint.
32
+ *
33
+ * @returns An unsubscribe function that removes the listener.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * import { onLog } from 'manim-web';
38
+ *
39
+ * const stop = onLog((entry) =>
40
+ * fetch('/__log', { method: 'POST', body: JSON.stringify(entry) }),
41
+ * );
42
+ * // ...later
43
+ * stop();
44
+ * ```
45
+ */
46
+ export declare function onLog(listener: LogListener): () => void;
47
+ /** Remove all registered {@link onLog} listeners. */
48
+ export declare function clearLogListeners(): void;
12
49
  export declare const logger: Logger;
13
50
  export {};
14
51
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,UAAU,MAAM;IACd,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrC;AAwGD,eAAO,MAAM,MAAM,EAAE,MAapB,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,iCAAiC;AACjC,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,UAAU,MAAM;IACd,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,KAAK,EAAE,QAAQ,CAAC;IAChB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,2EAA2E;AAC3E,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AA4LpD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,IAAI,CAKvD;AAED,qDAAqD;AACrD,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAwCD,eAAO,MAAM,MAAM,EAAE,MAKpB,CAAC"}
@@ -1,5 +1,9 @@
1
1
  /**
2
2
  * Shared math utility functions used across the codebase.
3
+ *
4
+ * For low-level 3-vector ops (dot, cross, length, normalize, perpendicular,
5
+ * orthonormal frame, 2D orientation), prefer `src/utils/vectors.ts`. The
6
+ * helpers in this file build on top of that module.
3
7
  */
4
8
  /**
5
9
  * Linear interpolation between two numbers.
@@ -11,6 +15,13 @@ export declare function lerp(a: number, b: number, t: number): number;
11
15
  * Each point is represented as a number array [x, y, z].
12
16
  */
13
17
  export declare function lerpPoint(a: number[], b: number[], t: number): number[];
18
+ /**
19
+ * Compute signed 2D polygon area from points sampled with a fixed stride.
20
+ *
21
+ * Example: cubic Bezier control points use stride=3 to select anchors.
22
+ * Positive = counter-clockwise, negative = clockwise.
23
+ */
24
+ export declare function signedArea2DFromStride(points: number[][], stride?: number): number;
14
25
  /**
15
26
  * Hermite smoothstep interpolation.
16
27
  * Maps t in [0, 1] to a smooth S-curve: 3t^2 - 2t^3.
@@ -1 +1 @@
1
- {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/utils/math.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACrC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQ1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAC/B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACrC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,CAAC,MAAM,EAAE,MAAM,CAAC,CAQlB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,UAAU,GAAE,MAAM,EAAc,GAC/B,MAAM,EAAE,CAoBV;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,EACZ,CAAC,EAAE,MAAM,GACR,MAAM,EAAE,CAeV;AAMD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,CAuBlE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EAAE,EAAE,GACjB;IAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IAAC,EAAE,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAOvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EAAE,EAChB,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,GACX,CAAC,MAAM,EAAE,MAAM,CAAC,CAQlB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,GACX;IACD,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;CACd,CAsBA"}
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/utils/math.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,SAAI,GAAG,MAAM,CAe7E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACrC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQ1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAC/B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACrC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,CAAC,MAAM,EAAE,MAAM,CAAC,CAQlB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,UAAU,GAAE,MAAM,EAAc,GAC/B,MAAM,EAAE,CAoBV;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,EACZ,CAAC,EAAE,MAAM,GACR,MAAM,EAAE,CAeV;AAMD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,CAuBlE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EAAE,EAAE,GACjB;IAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IAAC,EAAE,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAOvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EAAE,EAChB,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,GACX,CAAC,MAAM,EAAE,MAAM,CAAC,CAOlB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,GACX;IACD,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;CACd,CA4BA"}
@@ -1,4 +1,4 @@
1
- import { Vector3Tuple } from '../core/Mobject';
1
+ import { Vector3Tuple } from '../core/MobjectTypes';
2
2
  /**
3
3
  * Scale a direction vector by a scalar.
4
4
  *
@@ -39,6 +39,59 @@ export declare function addVec(...vecs: Vector3Tuple[]): Vector3Tuple;
39
39
  * ```
40
40
  */
41
41
  export declare function subVec(a: Vector3Tuple, b: Vector3Tuple): Vector3Tuple;
42
+ /**
43
+ * 3D dot product (a · b). Accepts plain number arrays so callers that use
44
+ * `number[]` (e.g. internal helpers in `math.ts`) can share the same impl.
45
+ *
46
+ * Missing components default to `0` so 2D points (`[x, y]`) are handled.
47
+ */
48
+ export declare function dotVec(a: ArrayLike<number>, b: ArrayLike<number>): number;
49
+ /**
50
+ * 3D cross product (a × b). Right-handed:
51
+ * x = a.y*b.z − a.z*b.y, y = a.z*b.x − a.x*b.z, z = a.x*b.y − a.y*b.x.
52
+ */
53
+ export declare function crossVec(a: ArrayLike<number>, b: ArrayLike<number>): Vector3Tuple;
54
+ /**
55
+ * Euclidean length |v|. Missing components default to `0`.
56
+ */
57
+ export declare function lengthVec(v: ArrayLike<number>): number;
58
+ /**
59
+ * Return `v` normalised to unit length. If `|v|` is below `eps` the supplied
60
+ * `fallback` is returned (default `[0, 0, 0]`); the caller decides whether to
61
+ * treat that as an error.
62
+ */
63
+ export declare function normalizeVec(v: ArrayLike<number>, fallback?: Vector3Tuple, eps?: number): Vector3Tuple;
64
+ /**
65
+ * Return a unit vector perpendicular to `n`.
66
+ *
67
+ * Picked by Gram–Schmidt against whichever world basis vector has the
68
+ * smallest |dot(n, e_i)|, then normalized. This is coordinate-free in
69
+ * spirit — it never uses a hard "is the input close to Z?" branch — but it
70
+ * does pick from the world basis, so the result can change discontinuously
71
+ * very near a tie. Treat as "give me *some* perpendicular unit vector"
72
+ * rather than a temporally-stable frame.
73
+ */
74
+ export declare function unitPerpendicularTo(n: Vector3Tuple, eps?: number): Vector3Tuple;
75
+ /**
76
+ * Build a right-handed orthonormal frame `{u, v, n}` around the given
77
+ * normal. `n` is normalised; `u = unitPerpendicularTo(n)`; `v = n × u`.
78
+ *
79
+ * Use this instead of writing axis-equal-to-Z special cases in caller code.
80
+ */
81
+ export declare function orthonormalFrame(normal: Vector3Tuple): {
82
+ u: Vector3Tuple;
83
+ v: Vector3Tuple;
84
+ n: Vector3Tuple;
85
+ };
86
+ /**
87
+ * 2D orientation predicate (signed twice-area of triangle o-a-b).
88
+ * Positive: counter-clockwise. Negative: clockwise. Zero: collinear.
89
+ *
90
+ * Mathematically this is the z-component of the cross product of
91
+ * (a-o) and (b-o) — kept as its own helper because it is an orientation
92
+ * test, not a general vector operation.
93
+ */
94
+ export declare function orientation2D(o: ArrayLike<number>, a: ArrayLike<number>, b: ArrayLike<number>): number;
42
95
  /**
43
96
  * Create an array of evenly spaced values (NumPy linspace equivalent).
44
97
  *
@@ -1 +1 @@
1
- {"version":3,"file":"vectors.d.ts","sourceRoot":"","sources":["../../src/utils/vectors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,YAAY,CAExE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,GAAG,IAAI,EAAE,YAAY,EAAE,GAAG,YAAY,CAU5D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY,CAErE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAG3E"}
1
+ {"version":3,"file":"vectors.d.ts","sourceRoot":"","sources":["../../src/utils/vectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,YAAY,CAExE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,GAAG,IAAI,EAAE,YAAY,EAAE,GAAG,YAAY,CAU5D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAEzE;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,YAAY,CAQjF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAKtD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EACpB,QAAQ,GAAE,YAAwB,EAClC,GAAG,SAAQ,GACV,YAAY,CAId;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,SAAQ,GAAG,YAAY,CAiB9E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG;IACtD,CAAC,EAAE,YAAY,CAAC;IAChB,CAAC,EAAE,YAAY,CAAC;IAChB,CAAC,EAAE,YAAY,CAAC;CACjB,CAKA;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EACpB,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EACpB,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GACnB,MAAM,CAKR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAG3E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "manim-web",
3
- "version": "0.3.20",
3
+ "version": "0.3.22",
4
4
  "description": "Manim-like mathematical animation library for the web",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -44,8 +44,8 @@
44
44
  "lint": "eslint src/",
45
45
  "lint:fix": "eslint src/ --fix",
46
46
  "format": "prettier --write src/",
47
- "docs": "node scripts/generate-example-docs.mjs && cd docs && npm run build",
48
- "docs:dev": "node scripts/generate-example-docs.mjs && cd docs && npm start",
47
+ "docs": "npm run build && node scripts/generate-example-docs.mjs && cd docs && npm run build",
48
+ "docs:dev": "npm run build && node scripts/generate-example-docs.mjs && cd docs && npm start",
49
49
  "docs:examples": "node scripts/generate-example-docs.mjs",
50
50
  "lint:strict": "eslint src/ --max-warnings 106",
51
51
  "circular": "madge --circular --extensions ts src/",
@@ -65,12 +65,13 @@
65
65
  ]
66
66
  },
67
67
  "dependencies": {
68
+ "@mathjax/src": "^4.1.1",
68
69
  "earcut": "^3.0.2",
69
70
  "gif.js": "^0.2.0",
70
- "katex": "^0.16.28",
71
- "mathjax-full": "^3.2.1",
72
- "opentype.js": "^1.3.4",
71
+ "katex": "^0.17.0",
72
+ "opentype.js": "^2.0.0",
73
73
  "polygon-clipping": "^0.15.7",
74
+ "typia": "^12.1.1",
74
75
  "three": "^0.184.0"
75
76
  },
76
77
  "devDependencies": {
@@ -87,15 +88,16 @@
87
88
  "husky": "^9.1.7",
88
89
  "jscpd": "^4.0.8",
89
90
  "knip": "^6.1.0",
90
- "lint-staged": "^16.2.7",
91
+ "lint-staged": "^17.0.4",
91
92
  "madge": "^8.0.0",
92
93
  "prettier": "^3.8.1",
93
94
  "standard-version": "^9.5.0",
94
95
  "typedoc": "^0.28.16",
95
96
  "typescript": "^5.3.0",
96
97
  "typescript-eslint": "^8.54.0",
98
+ "@typia/unplugin": "^12.1.1",
97
99
  "vite": "^8.0.8",
98
- "vite-plugin-dts": "^4.5.4",
100
+ "vite-plugin-dts": "^5.0.0",
99
101
  "vitest": "^4.0.18",
100
102
  "vue": "^3.0.0"
101
103
  },