manim 0.18.0__py3-none-any.whl → 0.18.1__py3-none-any.whl

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.

Potentially problematic release.


This version of manim might be problematic. Click here for more details.

Files changed (115) hide show
  1. manim/__init__.py +3 -6
  2. manim/__main__.py +18 -10
  3. manim/_config/__init__.py +5 -2
  4. manim/_config/cli_colors.py +12 -8
  5. manim/_config/default.cfg +1 -1
  6. manim/_config/logger_utils.py +9 -8
  7. manim/_config/utils.py +637 -449
  8. manim/animation/animation.py +9 -2
  9. manim/animation/composition.py +78 -40
  10. manim/animation/creation.py +12 -6
  11. manim/animation/fading.py +0 -1
  12. manim/animation/indication.py +10 -21
  13. manim/animation/movement.py +1 -2
  14. manim/animation/rotation.py +1 -1
  15. manim/animation/specialized.py +1 -1
  16. manim/animation/speedmodifier.py +7 -2
  17. manim/animation/transform_matching_parts.py +1 -1
  18. manim/camera/camera.py +13 -4
  19. manim/cli/cfg/group.py +18 -8
  20. manim/cli/checkhealth/checks.py +2 -0
  21. manim/cli/checkhealth/commands.py +2 -0
  22. manim/cli/default_group.py +13 -5
  23. manim/cli/init/commands.py +4 -1
  24. manim/cli/plugins/commands.py +3 -0
  25. manim/cli/render/commands.py +27 -20
  26. manim/cli/render/ease_of_access_options.py +4 -3
  27. manim/cli/render/global_options.py +9 -7
  28. manim/cli/render/output_options.py +6 -5
  29. manim/cli/render/render_options.py +13 -13
  30. manim/constants.py +54 -15
  31. manim/gui/gui.py +2 -0
  32. manim/mobject/geometry/arc.py +4 -4
  33. manim/mobject/geometry/boolean_ops.py +13 -9
  34. manim/mobject/geometry/line.py +16 -8
  35. manim/mobject/geometry/polygram.py +17 -5
  36. manim/mobject/geometry/tips.py +2 -2
  37. manim/mobject/graph.py +379 -106
  38. manim/mobject/graphing/coordinate_systems.py +17 -20
  39. manim/mobject/graphing/functions.py +14 -10
  40. manim/mobject/graphing/number_line.py +1 -1
  41. manim/mobject/mobject.py +175 -72
  42. manim/mobject/opengl/opengl_compatibility.py +2 -0
  43. manim/mobject/opengl/opengl_geometry.py +26 -1
  44. manim/mobject/opengl/opengl_image_mobject.py +2 -0
  45. manim/mobject/opengl/opengl_mobject.py +3 -0
  46. manim/mobject/opengl/opengl_point_cloud_mobject.py +2 -0
  47. manim/mobject/opengl/opengl_surface.py +2 -0
  48. manim/mobject/opengl/opengl_three_dimensions.py +2 -0
  49. manim/mobject/opengl/opengl_vectorized_mobject.py +19 -14
  50. manim/mobject/svg/brace.py +2 -0
  51. manim/mobject/svg/svg_mobject.py +10 -12
  52. manim/mobject/table.py +0 -1
  53. manim/mobject/text/code_mobject.py +2 -0
  54. manim/mobject/text/numbers.py +2 -0
  55. manim/mobject/text/tex_mobject.py +1 -1
  56. manim/mobject/text/text_mobject.py +43 -6
  57. manim/mobject/three_d/three_d_utils.py +4 -4
  58. manim/mobject/three_d/three_dimensions.py +4 -4
  59. manim/mobject/types/image_mobject.py +5 -1
  60. manim/mobject/types/point_cloud_mobject.py +2 -0
  61. manim/mobject/types/vectorized_mobject.py +124 -29
  62. manim/mobject/value_tracker.py +3 -3
  63. manim/mobject/vector_field.py +3 -1
  64. manim/plugins/__init__.py +15 -1
  65. manim/plugins/plugins_flags.py +11 -5
  66. manim/renderer/cairo_renderer.py +12 -2
  67. manim/renderer/opengl_renderer.py +2 -3
  68. manim/renderer/opengl_renderer_window.py +2 -0
  69. manim/renderer/shader_wrapper.py +2 -0
  70. manim/renderer/vectorized_mobject_rendering.py +5 -0
  71. manim/scene/scene.py +22 -6
  72. manim/scene/scene_file_writer.py +3 -1
  73. manim/scene/section.py +2 -0
  74. manim/scene/three_d_scene.py +5 -6
  75. manim/scene/vector_space_scene.py +21 -5
  76. manim/typing.py +567 -67
  77. manim/utils/bezier.py +9 -18
  78. manim/utils/caching.py +2 -0
  79. manim/utils/color/BS381.py +1 -0
  80. manim/utils/color/XKCD.py +1 -0
  81. manim/utils/color/core.py +31 -13
  82. manim/utils/commands.py +8 -1
  83. manim/utils/debug.py +0 -1
  84. manim/utils/deprecation.py +3 -2
  85. manim/utils/docbuild/__init__.py +17 -0
  86. manim/utils/docbuild/autoaliasattr_directive.py +197 -0
  87. manim/utils/docbuild/autocolor_directive.py +9 -4
  88. manim/utils/docbuild/manim_directive.py +18 -9
  89. manim/utils/docbuild/module_parsing.py +198 -0
  90. manim/utils/exceptions.py +6 -0
  91. manim/utils/family.py +2 -0
  92. manim/utils/family_ops.py +5 -0
  93. manim/utils/file_ops.py +6 -2
  94. manim/utils/hashing.py +2 -0
  95. manim/utils/ipython_magic.py +2 -0
  96. manim/utils/module_ops.py +2 -0
  97. manim/utils/opengl.py +14 -0
  98. manim/utils/parameter_parsing.py +31 -0
  99. manim/utils/paths.py +12 -20
  100. manim/utils/rate_functions.py +6 -8
  101. manim/utils/space_ops.py +81 -36
  102. manim/utils/testing/__init__.py +17 -0
  103. manim/utils/testing/frames_comparison.py +7 -5
  104. manim/utils/tex.py +124 -196
  105. manim/utils/tex_file_writing.py +2 -0
  106. manim/utils/tex_templates.py +1 -0
  107. {manim-0.18.0.dist-info → manim-0.18.1.dist-info}/LICENSE.community +1 -1
  108. {manim-0.18.0.dist-info → manim-0.18.1.dist-info}/METADATA +29 -35
  109. {manim-0.18.0.dist-info → manim-0.18.1.dist-info}/RECORD +112 -112
  110. {manim-0.18.0.dist-info → manim-0.18.1.dist-info}/WHEEL +1 -1
  111. manim/cli/new/__init__.py +0 -0
  112. manim/cli/new/group.py +0 -189
  113. manim/plugins/import_plugins.py +0 -43
  114. {manim-0.18.0.dist-info → manim-0.18.1.dist-info}/LICENSE +0 -0
  115. {manim-0.18.0.dist-info → manim-0.18.1.dist-info}/entry_points.txt +0 -0
@@ -1,116 +1,113 @@
1
- manim/__init__.py,sha256=WvvgOfvYKuHnWwlLQSnBHy_doBQJBclA854nGvZiTeY,3581
2
- manim/__main__.py,sha256=JeYi5XAOPAoPHJL5PNsjcTFr9h1GEXu5MKYmF43W05g,1471
3
- manim/_config/__init__.py,sha256=kzRkoQfCPmseG9lK_5H36IIwbHafFLS39H6SspkspjM,2597
4
- manim/_config/cli_colors.py,sha256=DZUQ9jB5DcMoQ6luMieQPUEJtYSAKhcbNeAeC_4mqyI,1660
5
- manim/_config/default.cfg,sha256=SwsaF5_KwQhE0BiINlPkSEHHt13BbRDWEuDlGiWIF2s,5388
6
- manim/_config/logger_utils.py,sha256=3JySxIzgvE5JhDmW1zbnAyA4YSxF0U_WbxXDLhUDvEk,5368
7
- manim/_config/utils.py,sha256=nrrHZC8SwWGXq-PgsqG5gdjoONnPw5bwwrTq5J6B-LA,57638
1
+ manim/__init__.py,sha256=n8Pi3wEcWmuot3Rfu13SxpDHcyWUAi0GX3ANitZiOT0,3568
2
+ manim/__main__.py,sha256=__emqXjiLVfQJPB8aABzve_4v-cxLL8r1osN4vY8A20,1739
3
+ manim/_config/__init__.py,sha256=Lm8-gfk4ESYqr-kJJlY6oNQXnam61xs7HZXZZ1V9RJo,2716
4
+ manim/_config/cli_colors.py,sha256=WJ7xnSalY3CSgUWqodxryuZPVCSji7L7BPYJM0T8Qaw,1819
5
+ manim/_config/default.cfg,sha256=KPJfyC7t8r9_2WMsRWBSk6dZX1qih3NQZQo9TuiJY2M,5394
6
+ manim/_config/logger_utils.py,sha256=LXO-SCuXVYbH67mrUKU6Mm4EqKQ6kIYhoucEF5H3au4,5388
7
+ manim/_config/utils.py,sha256=oeBkLrfrusNRnBuYRME4dixEYqq-9l_O27b0ih6R4TA,62440
8
8
  manim/animation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- manim/animation/animation.py,sha256=8RuPe0xI6R5jV8cv2RAnlr0DI2SnJo8xXE7eiUXHrP4,19973
9
+ manim/animation/animation.py,sha256=jkpOCOz5gXf1SGikjxBcxi5CCdkacuodoXBRzXYpV-Q,20285
10
10
  manim/animation/changing.py,sha256=GdksMFYiXcl_6X3Hnjfr-SNiHJ9W2hQOcuBFj1beuFk,5523
11
- manim/animation/composition.py,sha256=pVxeuCisd99AX_OU5Bz6l96RgYgyFyOtiHN2L648xoU,13345
12
- manim/animation/creation.py,sha256=1yf18wPiIerrB97l7bmkUFPKRihSQ-GD90rEFGsHvnU,20064
13
- manim/animation/fading.py,sha256=OJo3QKQdgMN2hqVdL0LNT3H_9xyg-Ont9vH5pjDCQW4,5824
11
+ manim/animation/composition.py,sha256=Lu0Eju9rx1kyt0pLvjKdjCMi6vcQHa-QoLw-6AMnLJs,15339
12
+ manim/animation/creation.py,sha256=dv_TveBjGPYSiwMcVWH7X8LU8oRjiyTYY9e5M7TANEs,20397
13
+ manim/animation/fading.py,sha256=KVaC83USQLg50eA1IbT08vstO3RfN2RNLSFQxxpCQ_U,5823
14
14
  manim/animation/growing.py,sha256=pEUwKG8UPFNpi1pFJBu6dpvIQr91kXos0oQfVgsLaOI,7154
15
- manim/animation/indication.py,sha256=BmIuyC9IRdKeGJB9eumvhIAms7HR1Ft5qrSAVuhjbns,21206
16
- manim/animation/movement.py,sha256=aMKTWFdOsNpBiSAuQyMhkYk4VogpCFqgOyxFsA7zjUQ,5086
15
+ manim/animation/indication.py,sha256=Nrqxq5kgclw8NipOsGqtBOheFIh4gpMiUoKmuhhrzms,20829
16
+ manim/animation/movement.py,sha256=_g6wBobHEsT7x2dux39IGAX5K6joM0NajxnNa6Ge8dU,5062
17
17
  manim/animation/numbers.py,sha256=FmpuRQZ6UB_IUJ8eUwHIpBz9dsZnGumIwjlLVc4wQsQ,1427
18
- manim/animation/rotation.py,sha256=nV-nxJlPDa1pkGIOE_lsdkEOL0nwbEgBBVmHPmo-xWw,3228
19
- manim/animation/specialized.py,sha256=ZFo0NkRAry9l87zHJIwFJXJBM6IpU25otvAtD6iRcQE,2923
20
- manim/animation/speedmodifier.py,sha256=WuGCCEUeJp3PAizs-hMo6NSmuO2cEd-FxpXzDNa9-UU,9788
18
+ manim/animation/rotation.py,sha256=XrS05Zmi1O1Ll18fR29dCax_OHhZ82TbNLgJpFDFqGo,3229
19
+ manim/animation/specialized.py,sha256=-OQS3Ue5Y2nYNt3SnRsMs-KBk9ym9QXos-8ts1vL0a8,2923
20
+ manim/animation/speedmodifier.py,sha256=aACo5cFfHr7lis0C2iNYl6ahnF8hB2Hyd5sLXWFjCIw,9882
21
21
  manim/animation/transform.py,sha256=HQW36dAwmx96zPRkEaT-uV3t7rK83IRSmME3FOY2I_M,30617
22
- manim/animation/transform_matching_parts.py,sha256=EX8qi5Ssyaa0Hs-LqkhEf3u5wbY2RSYA42MklKzZ6NA,10413
22
+ manim/animation/transform_matching_parts.py,sha256=XqmnjQxy1EdD5a8N_SCWiL9NfHNWY7ZdDxxRp_uq0Pc,10413
23
23
  manim/animation/updaters/__init__.py,sha256=jgKFveRzPwFLbVHkTfJrv3qDIrgD-yuFKYsMRkwpPJc,169
24
24
  manim/animation/updaters/mobject_update_utils.py,sha256=dJ2pNL0_1zYmA0FYiUC2rjaJyFsE6T5sjmTgzWpKn6k,6653
25
25
  manim/animation/updaters/update.py,sha256=FDiqMrQDU6BxXa4WXfOEahIUSE2haZ6vO4j_xL_XYbM,1719
26
26
  manim/camera/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- manim/camera/camera.py,sha256=CZVd2cChXwe311Q-zJwtFEjmv09c7sg7AtxAtXqx9DQ,45131
27
+ manim/camera/camera.py,sha256=nZTIFlXokh4tOQs9KtZs0ElZA3owSBag4HeXswo7Mfs,45478
28
28
  manim/camera/mapping_camera.py,sha256=x0xmSiSwEH2so8bAfxIUW_l6ZdfxYD1FFDktZhFCLP8,4995
29
29
  manim/camera/moving_camera.py,sha256=D1EIEqnHtWodqyZtO9AMiZ-IMQP2G4ZfMe9nm9kwy_A,8102
30
30
  manim/camera/multi_camera.py,sha256=IbD0O_-MQgbuXhsODB8VU-19w1ExSEVxJXMw2tRccBQ,3382
31
31
  manim/camera/three_d_camera.py,sha256=a8V1W7dqa-NuNoqiRdpWYlyE65rPxvoHKonKIPG-ggM,14744
32
32
  manim/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
33
  manim/cli/cfg/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- manim/cli/cfg/group.py,sha256=ddf__u5GzjT7vL0Ah8GA-6gJLHTXPsDkLhcXLk-fDZE,9688
34
+ manim/cli/cfg/group.py,sha256=BIlZQsTwiSHbFPVtcE2nhRu8kz2guPdp3Y1W-QAn9qY,9823
35
35
  manim/cli/checkhealth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
- manim/cli/checkhealth/checks.py,sha256=cBJu4zeBLayRgQCsdNq6Eq0uTe9cp34GXmblzBLaOaE,6080
37
- manim/cli/checkhealth/commands.py,sha256=9faFwrCgMwAU2nmf7xJM4YBExblMGMfl42u4AKHBukY,2767
38
- manim/cli/default_group.py,sha256=lUXuU8M0hH4UV0lPrb9DY8w0GZYJBD3XT_nnecFToH8,2184
36
+ manim/cli/checkhealth/checks.py,sha256=V6OCHZI8ITbWfkbs2D4oxciDtm_rlUDSRJyNRfs7Jfw,6109
37
+ manim/cli/checkhealth/commands.py,sha256=vCMIiwk-Fkur5cbai-d_e-sFZrcPCjbhEG63TBy0RKU,2794
38
+ manim/cli/default_group.py,sha256=3LbAIaV-2Yyiygvy1dyo2Pokzaia4ktz43WvHF8MeE0,2458
39
39
  manim/cli/init/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
- manim/cli/init/commands.py,sha256=5l9W3XEQcZK88cXL4GHIInn0PsyW7zVZtAbQQfEbf3k,5833
41
- manim/cli/new/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
- manim/cli/new/group.py,sha256=1AgP7JCMnElqsDToN1-0CHYYpsLOxDWksA12Q51zQrk,5676
40
+ manim/cli/init/commands.py,sha256=ydqtDujaP_XQJTX1Hd8JXSPSPkndTC3WOjURrufj5zs,5901
43
41
  manim/cli/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
- manim/cli/plugins/commands.py,sha256=jrYGeMpEwyvAJSiyqy9klSW_WsJhV5LTScHxcDA1X6c,686
42
+ manim/cli/plugins/commands.py,sha256=ERSZDMkyw_wtVzFya-_HAzbEm4FMVxlI6dW3XIOZZpo,710
45
43
  manim/cli/render/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
- manim/cli/render/commands.py,sha256=f6Dh3NCY5_3SrcfqsNhQjfdqATZlK54fWg1SJOCM9Qc,4856
47
- manim/cli/render/ease_of_access_options.py,sha256=hSECXc6AL__FqYq8XCKr-Ylvnp0aVPFWRKzMrdgPrgU,1019
48
- manim/cli/render/global_options.py,sha256=QTObSJiASYOVDVn1SjyiKRpieaR3KBu6iVRlNOUGIyY,3009
49
- manim/cli/render/output_options.py,sha256=-usXVN_f-BbtyVszJJh7Ns4i1MAIYtyKe5Q5NutH0Rk,1037
50
- manim/cli/render/render_options.py,sha256=ZcDFphG8DwrYWjGjeTK_f6E0QitnLkCvKJqXJEHJajs,3874
51
- manim/constants.py,sha256=QJgNKUaIGcmBN_9-RifNc9vMZ2U686CNrq3QEMP_DXU,7275
44
+ manim/cli/render/commands.py,sha256=gKLYcyG96iLBJ8q64Ty-6TeLhYeZPp9t6HAYEc3d9t4,4985
45
+ manim/cli/render/ease_of_access_options.py,sha256=rHc4hczj3PkC8ISSoFxqavCcdP1wcLLwg_CIGGLpWGs,1046
46
+ manim/cli/render/global_options.py,sha256=VkAJOpyYC6mSI0EAnv9-W5dXIjeXafF36JnI07aYAGs,3058
47
+ manim/cli/render/output_options.py,sha256=j4CtQmo62h3DDHW7G1IBPuwFAMuXa2DiRscWnZYEb3w,1052
48
+ manim/cli/render/render_options.py,sha256=oE8Slz7Bfq3sw0rmwWJg0FY4ROFVx6AIfdO0Ata0HCA,3840
49
+ manim/constants.py,sha256=Bjs04QSAj3JetqqsbXQDlCn0yXmVdt45r59mQnAKi7Y,8304
52
50
  manim/gui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
- manim/gui/gui.py,sha256=twZFJM9nNoGt59FLV6Y5EMsh-3TZ-8Du_Byqo8ES_KQ,2671
51
+ manim/gui/gui.py,sha256=VucH_fhq3KiR-hvSfSxTK609EJpJgHfJ_dIn2kCPsVU,2702
54
52
  manim/mobject/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
53
  manim/mobject/frame.py,sha256=zGFMMmMtgYwnXX47DLJs3qaCCE-NPFyAjfV0NTzHEb8,878
56
54
  manim/mobject/geometry/__init__.py,sha256=2coukoxKXDE6LmqDDcF_chBZPYYb6oe3y4T8duV8Lvk,191
57
- manim/mobject/geometry/arc.py,sha256=zQa8HiclV3ffcoHEcNElYz7IuJp345TOvluYtQgZcU8,42012
58
- manim/mobject/geometry/boolean_ops.py,sha256=oMuVA-7PVaZteHh5TU5xVG8VGMg3IEI0TgqatsX_jqA,10106
55
+ manim/mobject/geometry/arc.py,sha256=90-1x2MfPaFNGHeXY1BvReUvjAoNjF9BQ_RfOdLwn-8,42027
56
+ manim/mobject/geometry/boolean_ops.py,sha256=9kFNXfa2qfPZQcZSNW6a_CVyFF1aUBIGaKw8OdkXYZc,10164
59
57
  manim/mobject/geometry/labeled.py,sha256=TRB45DnYjekHF5WWPNa_yDtbE4YRDRp6-UnGhyjRS8U,5560
60
- manim/mobject/geometry/line.py,sha256=2Rum-NnccQVu2nnVD1w_5aIui6SYW1QbNHBsxiTyBo8,37142
61
- manim/mobject/geometry/polygram.py,sha256=t3t3_TtYH73CQThGX1oNMMWcDZVaQMb7ViRboahpSY8,23990
58
+ manim/mobject/geometry/line.py,sha256=qU0Ho-S54fS2OyXh5g64t4sEoU-8RLFr8uPptH7IyXw,37352
59
+ manim/mobject/geometry/polygram.py,sha256=SHuNJAiCmVJJDAqXtG5iEaulp8mEOc2VkYz4_6vLsb8,24317
62
60
  manim/mobject/geometry/shape_matchers.py,sha256=ATKg33IljjXMPwAGRH0XnbNxDM72tlL_aEMn-5yIKoU,6132
63
- manim/mobject/geometry/tips.py,sha256=1Wyk94WNdyh7J_LDpBGDzATcKB3-JhzrfXSP-QiF_xU,10033
64
- manim/mobject/graph.py,sha256=ZeAnFO_wjq6TMFZKLpbaRh24mNtlgQl_iI-tcxfIr0I,55148
61
+ manim/mobject/geometry/tips.py,sha256=3N2vfgCENlkWefnb9W2g7WGPpyR8pLk9awiXF3srpsw,10037
62
+ manim/mobject/graph.py,sha256=ZDpy0YItsXOmlu7hkz6CX63GQaVyVAnfsxbsadpSx-8,64657
65
63
  manim/mobject/graphing/__init__.py,sha256=Lf9tyLlxTBckPLMI7ZACu8YxRrsMExOoqpi-657OMQ8,213
66
- manim/mobject/graphing/coordinate_systems.py,sha256=uU1ETz4HA97arernzgLs59kOepKKDVFN75zyX7Yj1eM,116872
67
- manim/mobject/graphing/functions.py,sha256=0rMEORjZPOt6Nkoqll6lV8jN2ZrvcvI2DnwJTO6LYQU,10564
68
- manim/mobject/graphing/number_line.py,sha256=kRf-2YOhqijGXWzCI1I1hkajw717WSMkDEcc3wx9Rms,23740
64
+ manim/mobject/graphing/coordinate_systems.py,sha256=ZehppXoiYhlUXA0G6ZbJqNNKToUGUoKB4yos-u2wipI,116878
65
+ manim/mobject/graphing/functions.py,sha256=Uf1yPrMVeEvojCyk1uMuQADDLrhB7XRLloCr3MI2b6w,10652
66
+ manim/mobject/graphing/number_line.py,sha256=Slykv1TzOsSTCpu4X3ZmZATl2MCMejY2_7sr3YovZ2o,23734
69
67
  manim/mobject/graphing/probability.py,sha256=ugLpuW8Dya8mD5AIweB8Sfa_EVOeLEHTWa0ZxVFJEJM,17608
70
68
  manim/mobject/graphing/scale.py,sha256=t7zw4RCJRqAzbYKagpfRXS_1AXhecPMnXrBjFGCPB1g,5145
71
69
  manim/mobject/logo.py,sha256=j7qxkyAXEN9LS4rhaXW0nOrNbZ7TMG1BkyS2El1-SYo,14232
72
70
  manim/mobject/matrix.py,sha256=V9ErLEwn8pD6oTh2AioDkPVBwKNINVcOEXJKIWv2dDM,19553
73
- manim/mobject/mobject.py,sha256=jwwGkQKsn5IFz3pMSNj2KlAMANJyiOOaj2I8o8R_hEM,97830
71
+ manim/mobject/mobject.py,sha256=pUBdd8gzLfvedQvMCSvV8tZ7oZLOrxK0allZcR0NPj4,101450
74
72
  manim/mobject/opengl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
73
  manim/mobject/opengl/dot_cloud.py,sha256=QrsRx_nbCn6-1TsYtKyCvkhHCgJ3PNs-bRz1EHDoNeE,1474
76
- manim/mobject/opengl/opengl_compatibility.py,sha256=mnjU4nZfnfr-E4TVJjHcyOBZXomW5--o3KcqIqzfWm8,1558
77
- manim/mobject/opengl/opengl_geometry.py,sha256=_jo7AX-KyILIM2ThxFlWmYNC_UxZsQdhYg4s9EU_kMQ,26714
78
- manim/mobject/opengl/opengl_image_mobject.py,sha256=lMf1vMXfVayXYt9KS9arDK86xsvfJDvQrJUulleqaNc,2459
79
- manim/mobject/opengl/opengl_mobject.py,sha256=F1Ljnf3yBtQgYEY_8o-qVsFcsDvS3cM88qhmOo3c30I,95164
80
- manim/mobject/opengl/opengl_point_cloud_mobject.py,sha256=QNFXzrK-Vhdar7hWlE63h2nWYXEOE4NTyD_Jo5zPD0A,6207
81
- manim/mobject/opengl/opengl_surface.py,sha256=96ZlnY09FcLOZM6qiMu15BopNHFT-wdtTN6m-SEoQZs,16140
82
- manim/mobject/opengl/opengl_three_dimensions.py,sha256=5ETQrgx_Y595TjSkjbIrgcE_gjVomyPXfnr_WwuZj54,1755
83
- manim/mobject/opengl/opengl_vectorized_mobject.py,sha256=kltL_fkITqZWksuTbJ57EMzmbWSnFkjtmAOWrgGU-tA,64514
74
+ manim/mobject/opengl/opengl_compatibility.py,sha256=y-BoiXutCuHugAnTNdv0fekL3-LTzjhoYJouB7JwpOk,1589
75
+ manim/mobject/opengl/opengl_geometry.py,sha256=09yASZ6EHnWpCK6E-Bmdw51bRDPN6BfqnXb3yMBawKo,27223
76
+ manim/mobject/opengl/opengl_image_mobject.py,sha256=Z50cZ5IzhjxMnFwfKHr67EHX8LtGEJchJXVcS2oIWbE,2493
77
+ manim/mobject/opengl/opengl_mobject.py,sha256=KfloxNJ8ZbH0Ihfypw8yB6toPNf4UObT4__NHSYwzEY,95245
78
+ manim/mobject/opengl/opengl_point_cloud_mobject.py,sha256=LsmoKmcWnosVBOPSx3RlAQ1BTlplqnoV_J2BbSggMD0,6270
79
+ manim/mobject/opengl/opengl_surface.py,sha256=f0epUDtCFECYJmrUZXQWEO0iGhRHgZSnO6GSKnxCBQo,16194
80
+ manim/mobject/opengl/opengl_three_dimensions.py,sha256=_MfDmxNGi6F5jgMTCwV9vHxaUAM_jnTaoELL1pv0pUU,1788
81
+ manim/mobject/opengl/opengl_vectorized_mobject.py,sha256=gOXyrXN9kRCDZfAq7VI40MaZq0eGPgMDcaDRuw2ZucU,64669
84
82
  manim/mobject/svg/__init__.py,sha256=j8-PFkUAsx4E-e7AHm3CoMjo22VlKzPORQAsyFWnSd4,130
85
- manim/mobject/svg/brace.py,sha256=7jSG0Olvj9gS-Uq2Favd19ICE3NA5Z7MGX9YFIBMAPA,12263
86
- manim/mobject/svg/svg_mobject.py,sha256=U2N0K8w2a1X-C1JN7iFbd4RGua_E8ESM59LdUyNNM-w,21110
87
- manim/mobject/table.py,sha256=5K_fTrCc1AlTspox666z85SQn7z05z1iIae6NtCqv5E,41881
83
+ manim/mobject/svg/brace.py,sha256=4e8kn6WAT3rDyjWUt1dJOsXRIe0CZQzl6iG3jFI4rLs,12332
84
+ manim/mobject/svg/svg_mobject.py,sha256=nxaltkOCOP5f-0XWpyNUN_M74hCIu3cmUAAVuIwvjpo,20937
85
+ manim/mobject/table.py,sha256=JwLe3QhrVlsAyjQdngZ2kiUy9TkDiI1_kttnjFgTv_I,41859
88
86
  manim/mobject/text/__init__.py,sha256=AwHG8zeX2Hycw8oG2HacdHmhpH24QQDnHXTlAmVdgU0,188
89
- manim/mobject/text/code_mobject.py,sha256=5L4HYgAEkSCYOt7Nkc9LOdIiuUctTM1paB6pgV_ipJ4,23649
90
- manim/mobject/text/numbers.py,sha256=ewWIjbnJnxNhn8jikRj_juAfgegUK44VNwKaeZmuJVg,16852
91
- manim/mobject/text/tex_mobject.py,sha256=E922HwXsaZohF5Wl40MxI8ELG6XRNHn43BNhBEUG7cM,17957
92
- manim/mobject/text/text_mobject.py,sha256=5LGsKIHIiaqN4YU052LEvAZo5EhCw0h1KNW-QyVYkqQ,57212
87
+ manim/mobject/text/code_mobject.py,sha256=vaIpgkkSfJ27ebVncbxQxD2dKASOPanTMhrRO77fUi4,23669
88
+ manim/mobject/text/numbers.py,sha256=5Y6q8_GABq7OCpHxJtaK2Wo3lkd6XwqyAxSGglta7Eg,16904
89
+ manim/mobject/text/tex_mobject.py,sha256=E3U0kqJnzFeUfrEnvBlmS52U_uomNTWwAIWEEQXzrow,17940
90
+ manim/mobject/text/text_mobject.py,sha256=k1rbHoVO_jTJzWnXmjSV9VObIKLV0rhKyrXD77K1JHo,58599
93
91
  manim/mobject/three_d/__init__.py,sha256=yiscdLu12eEoygyGp05V789zhouqEADin7owAkC9yU4,154
94
92
  manim/mobject/three_d/polyhedra.py,sha256=FJrx5Pp5K9d_L24SAHfLemucJ9c4D1PznILzw0PQ9fw,12493
95
- manim/mobject/three_d/three_d_utils.py,sha256=yCxb0oIm62NHqaWxmxpHnLFXNxrICzEMpYPoIQqD2Mk,2091
96
- manim/mobject/three_d/three_dimensions.py,sha256=eQhPvJPs27bER_WvYIayC27t_a7Rgl8s8cVyNFLHl0Y,37956
93
+ manim/mobject/three_d/three_d_utils.py,sha256=l-z9K2i6-47_1InV1CUpkA1albzTTWKv5peHkceyDG4,2099
94
+ manim/mobject/three_d/three_dimensions.py,sha256=rCtzEMkmp0ZxoM7fbkRJr-XgECkYQVx9epMh856o1wg,37960
97
95
  manim/mobject/types/__init__.py,sha256=H-S04JNHysKk9Obs2tctXVoTyIzDL7JnZqqHt1GuWSY,172
98
- manim/mobject/types/image_mobject.py,sha256=S00Celq0wQAWEjHiBPRi9WjeOwZmUUly5Jn_l_-f7Tc,11512
99
- manim/mobject/types/point_cloud_mobject.py,sha256=6hv2l51ajRt4iAY8Pf_UVuRlOwL9oxHM4MPWejATMfY,12065
100
- manim/mobject/types/vectorized_mobject.py,sha256=i3g84J--5m1TJkfDDd0-oIuU6AG82ignwUC6uVkZMEA,89485
96
+ manim/mobject/types/image_mobject.py,sha256=BvBy1IC2UglphqSqdfF-RZ61bc2fRsQ3OIfZ8XTN5lA,11631
97
+ manim/mobject/types/point_cloud_mobject.py,sha256=DSu_BwChi8d8CIGax4rQpvUxU-_DUbZ5n83ztCPRHzI,12151
98
+ manim/mobject/types/vectorized_mobject.py,sha256=YWQEPvfCkiIZHK-4js6HZuzrqe0sKCM8KUC7ZROlbAE,92298
101
99
  manim/mobject/utils.py,sha256=jp5aKkECeRu_0lrIhFuW7QGP4vei3vMNolruK4ik5kQ,3273
102
- manim/mobject/value_tracker.py,sha256=Eg7wZoKu5S9HaTEOdaaQPhnAbsIBo1pXS2SWg1InCpU,6335
103
- manim/mobject/vector_field.py,sha256=7Ym85EjUkR5BEwvl2ayAkJYoq41h0VY51nFgQOqE4WY,39495
100
+ manim/mobject/value_tracker.py,sha256=pXKZlviqTimflVK8toNOcOiTfucD5Or2u9-d1duTJV0,6334
101
+ manim/mobject/vector_field.py,sha256=TRLo0EfIm5Tz7VZ7RvZbS2njVL20rrKDV8c9Qw0_Ah8,39581
104
102
  manim/opengl/__init__.py,sha256=0c5YcbaiITuYAmvvaBBM4Usye0fSLCyP4LtGuF5tq5M,560
105
- manim/plugins/__init__.py,sha256=B6a1oiidTwJLSk8-P9-uUjm2Icr0413IrlwQAKvv3ns,66
106
- manim/plugins/import_plugins.py,sha256=Rqg-I5bIenPGPzC6I7Rrz4UQhC7kra6sBqwE3Kr60Ew,1476
107
- manim/plugins/plugins_flags.py,sha256=A3xphQCj3MPlOjU4BgPc14zxC_6L_oDnVvRVU9rYvjw,515
103
+ manim/plugins/__init__.py,sha256=ZPUzM0gGNDUVAgQ4mYXVXKR7gIkpk25l_qk0s3PaJQY,376
104
+ manim/plugins/plugins_flags.py,sha256=ftQtgPFc3YH4cpDqxA3M3qlBfIianoeYU5lKUV4MV6A,691
108
105
  manim/renderer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
- manim/renderer/cairo_renderer.py,sha256=rjJYr6BgFtozuPgKujhTb0stmLYeVemtYo4HipL6W_k,8944
110
- manim/renderer/opengl_renderer.py,sha256=8Sr6pCTMQVep_l8NgdF39BU2FBzQbO64Kqi3Kvgd-EQ,20766
111
- manim/renderer/opengl_renderer_window.py,sha256=FtYirD5jn3xOnHNGQECTwxnjBSEtsshqBS3O4wxL2tg,4887
106
+ manim/renderer/cairo_renderer.py,sha256=2jpNVOCEKrH6l7efj4A_RhFR1ik9He2-fsawULwVdKs,9169
107
+ manim/renderer/opengl_renderer.py,sha256=IpUxoLqvjLLlB5MxIpZTx6Ucz8IBkWfybzT03ciB0-Q,20789
108
+ manim/renderer/opengl_renderer_window.py,sha256=HajngInbCVRh83Gv1HqPC6npDZGVktPRaaP2AfB12p0,4909
112
109
  manim/renderer/shader.py,sha256=tow0aGXq-ZMijmhJ8oaSNUQPa5aXerRe2FzXrVagZDc,14708
113
- manim/renderer/shader_wrapper.py,sha256=nyHbPYx2KvPaeoOMqoRatddBWgQ_9emiud6ds_By-nw,5886
110
+ manim/renderer/shader_wrapper.py,sha256=t8eK-14FvZeV9LghH5eznWhB7LEHhe6tm2qu0kDuSd8,5915
114
111
  manim/renderer/shaders/default/frag.glsl,sha256=FEQmM7RUwcZlxPu5lkDcEXoyR2EfKjNC9hpaPce_ZBE,98
115
112
  manim/renderer/shaders/default/vert.glsl,sha256=0thKIk9CzuSLGLh-6RyvFZDsnoSTpVC0v2WNjryMGIM,232
116
113
  manim/renderer/shaders/design.frag,sha256=drjgYTVETgocxxw1HqCK7Dc3WPS8kYMy4jmhwRy7EDY,216
@@ -152,66 +149,69 @@ manim/renderer/shaders/vectorized_mobject_stroke/frag.glsl,sha256=Rgbdwi-UVQyTmi
152
149
  manim/renderer/shaders/vectorized_mobject_stroke/vert.glsl,sha256=yOKnXHyDKJ805_RveoLLVJFUXRF0HKBBRfKkjjRaebY,4430
153
150
  manim/renderer/shaders/vertex_colors/frag.glsl,sha256=nGY9iyvoYy9pfjtiFDsZ1TFQsXHQ2kkz0S0Imgl2kO4,93
154
151
  manim/renderer/shaders/vertex_colors/vert.glsl,sha256=I1HQwwKS0pmnfVnLAMAXsUJY4ynXf7ha3CaZuSkPshI,281
155
- manim/renderer/vectorized_mobject_rendering.py,sha256=YLodUc5lRHqawL2kvugJuNvM7lQj6FVepeZuF4Oznsk,9284
152
+ manim/renderer/vectorized_mobject_rendering.py,sha256=5JwmZKGRQEZWYIkdejbJeeKhHDzdIXwRZPnND0MXnCw,9391
156
153
  manim/scene/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
157
154
  manim/scene/moving_camera_scene.py,sha256=Vg5I6Zd_kG27JNi14dphwkOXK8UU2E0cQ1l188FDQuw,3765
158
- manim/scene/scene.py,sha256=SrSH8W8QSqFo2iipnh7J37LAk0PbNXZKBP-O-pSie3c,60454
159
- manim/scene/scene_file_writer.py,sha256=jWkn6m8qezfcw6iAOKnIEEmQ0ZzUj-nvZXEvIYeCZYs,26241
160
- manim/scene/section.py,sha256=VUmKsyGLU2MFWhSkSo3iSNYWoQ1HicXAO46eMorqeb4,3629
161
- manim/scene/three_d_scene.py,sha256=ET7miTR-d7wTuaYlc9ajEv1igST2wv-eV0zPuXfvtA4,19755
162
- manim/scene/vector_space_scene.py,sha256=nljeT-ERb25qX6nn7YTjlzq3Bv9brG_tC2K05608d18,37810
155
+ manim/scene/scene.py,sha256=ql_SpsmbhiHRhcZx2LAtYz1U8Cbg8wYHI_SSdZJU7Bc,60976
156
+ manim/scene/scene_file_writer.py,sha256=igLNh7bQ-UdZOkBiWleGMFzqsm1hy2s1eGerDdZGnoo,26306
157
+ manim/scene/section.py,sha256=qV-dj0rttQnR32clhAiHoMnnbRja0VbKI0-xd0Yi7KQ,3674
158
+ manim/scene/three_d_scene.py,sha256=OAuoZdhbZt__OMWaI-e0vtEzIa3llfJUFWWs8RXr0DA,19730
159
+ manim/scene/vector_space_scene.py,sha256=23moVIPdBswuhNxylXgOnsWdg2JL1ltrd3-whHFcD3Q,38322
163
160
  manim/scene/zoomed_scene.py,sha256=eC6WO8OYOT-V7REtUlhXdqTyI9HrdPWFOnlY90blEUA,6980
164
161
  manim/templates/Axes.mtp,sha256=gfMRnB0PjXF0m6u9IcbI_pm48eDqxCkylKICWdDAP-M,313
165
162
  manim/templates/Default.mtp,sha256=AHqIgMY-rjIHaeuFSgi4n2KXaLORmACjTdPhUnFgZdY,547
166
163
  manim/templates/MovingCamera.mtp,sha256=NLiT2ZPutKTzt8As2gDJDqXMBNB8d-7Y3PFXS0HhMas,327
167
164
  manim/templates/template.cfg,sha256=XKiKX2mMT7x_3-EiPKAhHUpuiW_K4_RU6Iu1ZYOzQzw,134
168
- manim/typing.py,sha256=WbS48KAFPOGGFGCjaVgoKouQ_oEZz42CETokTs_0ujU,5098
165
+ manim/typing.py,sha256=z94gtPKB4sL4c7ZFboRZXcETFM4mX3zBzpbj3ytedW8,15987
169
166
  manim/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
170
- manim/utils/bezier.py,sha256=8nvn9dpzlAn4IbEyfUCqBkh8wW-0GZ1xVZ0Kr-8FDfI,23912
171
- manim/utils/caching.py,sha256=0TkmV5GtZYKgskMI4XMV-kAh3_kamIu5-Pl4nN9D_ws,2709
167
+ manim/utils/bezier.py,sha256=XhuwdxXG8tAJEp4dTk-8eyr9hkQF2v9E_yM3i9A8z8E,23876
168
+ manim/utils/caching.py,sha256=4zyXKpOLk9noW7Ul6g74haXkqezuRwENIdf-kpKjgL0,2744
172
169
  manim/utils/color/AS2700.py,sha256=Not0hoeAELGcbS_kKCfbnrH3UQldZurciuhLi9MejX4,8707
173
- manim/utils/color/BS381.py,sha256=3paaueoY692GsDiL6NiuXpOKBF6J3gwHD9UGvcqlHV4,11013
170
+ manim/utils/color/BS381.py,sha256=QaMt6keXSWgXPuBrXNxfGqEpYojVE69db28BFV1Mj7U,11014
174
171
  manim/utils/color/X11.py,sha256=O9FDhHtFQo6jIqbSfzZBgRjNddrLVwSsJE8OyraefvU,17665
175
- manim/utils/color/XKCD.py,sha256=Id5iWcpHycObtKmQZ_MrUWYO7gCISgZmFC6Jjbw4gQ8,32613
172
+ manim/utils/color/XKCD.py,sha256=B9xNkRXRbcRN1imIupP-pq-iRhvfGE0G0-NPLEAkR_Y,32614
176
173
  manim/utils/color/__init__.py,sha256=PBlfF4pQp_jXogZlzWihcsimNWQ9qEubcuZvleMmHZg,1222
177
- manim/utils/color/core.py,sha256=BK0IljA-y4bXFap-Zyyx6t-UAsxPlygZe3POO8g-E_k,32399
174
+ manim/utils/color/core.py,sha256=77gQulGdzFY0mhMdMmmZvu_PpCzCESoKwwDOi_W4Zmo,32935
178
175
  manim/utils/color/manim_colors.py,sha256=5eo-KIpEZZw1-USS7ecgF1lyboR_okBtka9iUEIgbvE,6858
179
- manim/utils/commands.py,sha256=FcjAP3caIazSnq411xL0BJMQl6c6W9BRYapSU742zrg,1237
176
+ manim/utils/commands.py,sha256=_Vl_mAZ5COvlXtS6yvbJb9DBY39BEo5e6WMpMQcbjW4,1310
180
177
  manim/utils/config_ops.py,sha256=LeeZXTxEHqzbzML1kuBe9VxEDz9chPfRlMWFkUSDrOA,2101
181
- manim/utils/debug.py,sha256=6vQ9j-cFEDfk3tdhmLTywYjONyqDohyMVNhC5eg5cUY,2234
182
- manim/utils/deprecation.py,sha256=PFy2RaFm0RUew083onN6h90RNQ3KQi0OrupeoRP3nis,15062
183
- manim/utils/docbuild/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
- manim/utils/docbuild/autocolor_directive.py,sha256=9Z7B3hxE4Mvg7ozqO-ht_bx9Q2zpg4zmXZghQoiINQk,2941
185
- manim/utils/docbuild/manim_directive.py,sha256=8Ym3IeEC1S8-ztV6LRc1IQpQjFevu-aAavrhW7pM6lQ,13889
186
- manim/utils/exceptions.py,sha256=MvH8f1xcwY3hr8IayTfWMe6u_gNlIYfChlsRzFT_v-U,197
187
- manim/utils/family.py,sha256=s_aKqTIXTNMMnq_5rDYgZtx0AipTjjlymPmmdjO3qdw,1176
188
- manim/utils/family_ops.py,sha256=EHfHdhAkl8VdoVQxvTXrNvKhAp7t0DUSk_6gVaW3pG8,1446
189
- manim/utils/file_ops.py,sha256=fkmHGw-dA3BI1np7wZBtvAlvaY1TxnPtaE-QuAZgId4,7687
190
- manim/utils/hashing.py,sha256=SktvDRhmXZSIzdkX7diSaxS9JQT02gl824heStMfBec,13515
178
+ manim/utils/debug.py,sha256=vN7Nr6wJ2V2g-au82iQ-O_xk-0uId891t2wdLvJSdLM,2233
179
+ manim/utils/deprecation.py,sha256=xlvrOFXyzY65cdE5pE0nPanYfFdAfb9iy6y-dO4e_3Q,15072
180
+ manim/utils/docbuild/__init__.py,sha256=QPyVFDiH3EB9j2xLO1DB2ju5JB3cCY6R9ISQzrZFFJA,437
181
+ manim/utils/docbuild/autoaliasattr_directive.py,sha256=UsT-Zmjq1ZNlUafIh1H6m5u3plMtQ1W0_FAib66_tbs,7603
182
+ manim/utils/docbuild/autocolor_directive.py,sha256=pakIWLuUeHsQ3jA-Din01O_p9D9P833G4WJiQhJwYIY,3091
183
+ manim/utils/docbuild/manim_directive.py,sha256=LPMnxYLyHzLPjhIGAMOXxszunpxDY_2gbg-8d2S4r7E,14232
184
+ manim/utils/docbuild/module_parsing.py,sha256=HIYsb-nRMebdsZW5_IYGCJI59JmF1g0tPtb_vg7Pd1U,7674
185
+ manim/utils/exceptions.py,sha256=LDOIE6Vcai4Np6y83UuMWdiSITZ43Ac5BE_jPXKFr00,308
186
+ manim/utils/family.py,sha256=IfS-qVWgS7xsHafdBYrmXtFxQnXyWEV0rpEDgDe_kRg,1222
187
+ manim/utils/family_ops.py,sha256=6ld6gF2QLwNPrRILqeqtOwRIXBDm_hHIa6Nz-qq2SaI,1557
188
+ manim/utils/file_ops.py,sha256=1fzjrDKuEkk4gNMmzGfk8kt66KSTolaqNTxtOwqdoiI,7834
189
+ manim/utils/hashing.py,sha256=kG8Y1OU8sxcQhnvNK6CXbNvj-BjV-v2h5cS9EvwGC9U,13588
191
190
  manim/utils/images.py,sha256=BDuBDFWfugl-ibLNhtThOzIl3GvjfYckJlnUfckVWJ0,1664
192
- manim/utils/ipython_magic.py,sha256=bQGuULr19o5IXFXm5HclONX2UV_0agsMLg-y_t8BQhc,7801
191
+ manim/utils/ipython_magic.py,sha256=JNdQ-MaBHPfxfWWNPVPNmJhi9CStk9YkQBIuKhdw3N8,7827
193
192
  manim/utils/iterables.py,sha256=K5235_xupuJJ-iVkhWSO8o0f4XsKKGx_LgUJoLuewAg,12298
194
- manim/utils/module_ops.py,sha256=arTMpCA6x6FUQDe98V8sKiidCK6tq_HpLo-MFcW7HRA,4514
195
- manim/utils/opengl.py,sha256=z-bMa0StytF3zxFXsJSwoQR4BV8jSK3FTWilUKZMYlo,3352
196
- manim/utils/paths.py,sha256=gm-tf7cOtboP0RwJ0vdp7oqSukvmEbAnGrwKBo_YT8U,11723
197
- manim/utils/rate_functions.py,sha256=Xd14BTetdeaYHeTgzCQU29RDJfIUpvGcbV3hAlLn91c,12745
193
+ manim/utils/module_ops.py,sha256=Xy1AYxwMN_pGshlFHqn51dJH_i23WQcqh2ZiWEcaAqs,4553
194
+ manim/utils/opengl.py,sha256=Wu6yyclYPP__H2CZm1w-rI1krEOH4D05FdokXHutxFw,3665
195
+ manim/utils/parameter_parsing.py,sha256=0OF7cuGdo2DL6rHDTdxFJKsh8wZXLi__vEWj2BQBbkY,751
196
+ manim/utils/paths.py,sha256=5KDAMcKGrai9h-IQYsta5UmSVvI7V3DwT0MdwE1HoLc,11222
197
+ manim/utils/rate_functions.py,sha256=y4_uSnVwzlJRftAGlzulICGQl5CPVFlo7XcIq1FMvlk,12752
198
198
  manim/utils/simple_functions.py,sha256=52ynDLAJgABN84OVEMLuvIuciPToW_KQ4WruOaNpHOQ,3389
199
199
  manim/utils/sounds.py,sha256=jzxC3C6sITuBnQabHIWQVQ5WEpA0RRw1JOik81UlHn0,475
200
- manim/utils/space_ops.py,sha256=rn7fX5oid-5mHB6j4j6xv3YsBG0ZhdhhgFA0SYsLwqA,21907
201
- manim/utils/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
200
+ manim/utils/space_ops.py,sha256=MT00KHCpALMk6OB5Tbq51-Ea2aLwSDjL5G0ydoro2RE,23326
201
+ manim/utils/testing/__init__.py,sha256=VGuOYWP08ZEot6AQeY9ZVcZF3G5SUO51WdD5mvG9wW4,418
202
202
  manim/utils/testing/_frames_testers.py,sha256=oRFls38xjqW1h-tv-MMFtIZNRxxT45zLYjQZiXlRat8,3808
203
203
  manim/utils/testing/_show_diff.py,sha256=qsY8VpBPAjOxaZetsFLr6Fz_xgJAGCBuucn6aretVDw,1723
204
204
  manim/utils/testing/_test_class_makers.py,sha256=QiBrFqfxoeFCgAsAFyIU4WvsKo807hxDx6K9jh-Q0ms,2074
205
205
  manim/utils/testing/config_graphical_tests_monoframe.cfg,sha256=FCf168PQDrTiwv-WurqRDyL4ndwtfBvTS9Bl23MEAyE,161
206
206
  manim/utils/testing/config_graphical_tests_multiframes.cfg,sha256=bzzl4TpReJ7E4JR0OazZnXp1JFvje9rbYP5p3sDF0ys,158
207
- manim/utils/testing/frames_comparison.py,sha256=6l_LvOX936WqkTdc8wxOAlb7C2tk5_Fnok-t_lfem9U,10098
208
- manim/utils/tex.py,sha256=GlmT-9wsxRq5jkrcO_RkXKlrRu6mnCsFeUFEYZHRmds,9315
209
- manim/utils/tex_file_writing.py,sha256=znXl4FeDGLMqgiHOt_-Gx-G9QpIAg6EjNWEyqY9Gdmc,11202
210
- manim/utils/tex_templates.py,sha256=2NBznl_0CVG1VC46ciDTjwfCCgqvhmq8_OfC6z6i1xo,28517
207
+ manim/utils/testing/frames_comparison.py,sha256=Dx3oWBU4Og3EY5WIy1061gITmVOT-_QRXdqJk2LqmrM,10158
208
+ manim/utils/tex.py,sha256=lg3_Zi7o8F_9fKSgYne3uUwTrkxlFIEXrWdw4UzaK7s,6712
209
+ manim/utils/tex_file_writing.py,sha256=pQcj8oO1j-um6URietXjsMG4O1mw8krPwJf7PHhfT1s,11233
210
+ manim/utils/tex_templates.py,sha256=IBEXOAPvyXWE5Ep8xBX8H9EuSynBQwP4_fCiv_hOPPw,28518
211
211
  manim/utils/unit.py,sha256=5xJOBYysVqSLIsb6xDviaRdG2U9SRAWHx-pLvtc4yVk,941
212
- manim-0.18.0.dist-info/LICENSE,sha256=xqki_Bz67XrA-Hqh3Hfr9aPI0czFqwHaMxU_DQE78Bk,1072
213
- manim-0.18.0.dist-info/LICENSE.community,sha256=cdbuve4GvO2BO9RxrV4gPYk3za34mHK6erh-vXJYw-c,1088
214
- manim-0.18.0.dist-info/METADATA,sha256=D_dO6Ou9w_QiFRRqLEu6_ZJniAA2p9VHLpQftBP4fZo,11445
215
- manim-0.18.0.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
216
- manim-0.18.0.dist-info/entry_points.txt,sha256=T_f5FcXeR4Hoz6Bf4reBBM8LzwalFtW4pXXyU7rsuo0,73
217
- manim-0.18.0.dist-info/RECORD,,
212
+ manim-0.18.1.dist-info/LICENSE,sha256=xqki_Bz67XrA-Hqh3Hfr9aPI0czFqwHaMxU_DQE78Bk,1072
213
+ manim-0.18.1.dist-info/LICENSE.community,sha256=eOh7tki98IyCfdOYoR4py990wyA5adNzjbo-sJ1cICI,1088
214
+ manim-0.18.1.dist-info/METADATA,sha256=iEporTdTq5M6Ncm7F8VIrJYQFrhG8s0445rbglPn9ik,10852
215
+ manim-0.18.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
216
+ manim-0.18.1.dist-info/entry_points.txt,sha256=T_f5FcXeR4Hoz6Bf4reBBM8LzwalFtW4pXXyU7rsuo0,73
217
+ manim-0.18.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.8.1
2
+ Generator: poetry-core 1.9.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
manim/cli/new/__init__.py DELETED
File without changes
manim/cli/new/group.py DELETED
@@ -1,189 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import configparser
4
- from pathlib import Path
5
-
6
- import click
7
- import cloup
8
-
9
- from ... import console
10
- from ...constants import CONTEXT_SETTINGS, EPILOG, QUALITIES
11
- from ...utils.file_ops import (
12
- add_import_statement,
13
- copy_template_files,
14
- get_template_names,
15
- get_template_path,
16
- )
17
-
18
- CFG_DEFAULTS = {
19
- "frame_rate": 30,
20
- "background_color": "BLACK",
21
- "background_opacity": 1,
22
- "scene_names": "Default",
23
- "resolution": (854, 480),
24
- }
25
-
26
-
27
- def select_resolution():
28
- """Prompts input of type click.Choice from user. Presents options from QUALITIES constant.
29
-
30
- Returns
31
- -------
32
- :class:`tuple`
33
- Tuple containing height and width.
34
- """
35
- resolution_options = []
36
- for quality in QUALITIES.items():
37
- resolution_options.append(
38
- (quality[1]["pixel_height"], quality[1]["pixel_width"]),
39
- )
40
- resolution_options.pop()
41
- choice = click.prompt(
42
- "\nSelect resolution:\n",
43
- type=click.Choice([f"{i[0]}p" for i in resolution_options]),
44
- show_default=False,
45
- default="480p",
46
- )
47
- return [res for res in resolution_options if f"{res[0]}p" == choice][0]
48
-
49
-
50
- def update_cfg(cfg_dict: dict, project_cfg_path: Path):
51
- """Updates the manim.cfg file after reading it from the project_cfg_path.
52
-
53
- Parameters
54
- ----------
55
- cfg_dict
56
- values used to update manim.cfg found project_cfg_path.
57
- project_cfg_path
58
- Path of manim.cfg file.
59
- """
60
- config = configparser.ConfigParser()
61
- config.read(project_cfg_path)
62
- cli_config = config["CLI"]
63
- for key, value in cfg_dict.items():
64
- if key == "resolution":
65
- cli_config["pixel_height"] = str(value[0])
66
- cli_config["pixel_width"] = str(value[1])
67
- else:
68
- cli_config[key] = str(value)
69
-
70
- with project_cfg_path.open("w") as conf:
71
- config.write(conf)
72
-
73
-
74
- @cloup.command(
75
- context_settings=CONTEXT_SETTINGS,
76
- epilog=EPILOG,
77
- )
78
- @cloup.argument("project_name", type=Path, required=False)
79
- @cloup.option(
80
- "-d",
81
- "--default",
82
- "default_settings",
83
- is_flag=True,
84
- help="Default settings for project creation.",
85
- nargs=1,
86
- )
87
- def project(default_settings, **args):
88
- """Creates a new project.
89
-
90
- PROJECT_NAME is the name of the folder in which the new project will be initialized.
91
- """
92
- if args["project_name"]:
93
- project_name = args["project_name"]
94
- else:
95
- project_name = click.prompt("Project Name", type=Path)
96
-
97
- # in the future when implementing a full template system. Choices are going to be saved in some sort of config file for templates
98
- template_name = click.prompt(
99
- "Template",
100
- type=click.Choice(get_template_names(), False),
101
- default="Default",
102
- )
103
-
104
- if project_name.is_dir():
105
- console.print(
106
- f"\nFolder [red]{project_name}[/red] exists. Please type another name\n",
107
- )
108
- else:
109
- project_name.mkdir()
110
- new_cfg = {}
111
- new_cfg_path = Path.resolve(project_name / "manim.cfg")
112
-
113
- if not default_settings:
114
- for key, value in CFG_DEFAULTS.items():
115
- if key == "scene_names":
116
- new_cfg[key] = template_name + "Template"
117
- elif key == "resolution":
118
- new_cfg[key] = select_resolution()
119
- else:
120
- new_cfg[key] = click.prompt(f"\n{key}", default=value)
121
-
122
- console.print("\n", new_cfg)
123
- if click.confirm("Do you want to continue?", default=True, abort=True):
124
- copy_template_files(project_name, template_name)
125
- update_cfg(new_cfg, new_cfg_path)
126
- else:
127
- copy_template_files(project_name, template_name)
128
- update_cfg(CFG_DEFAULTS, new_cfg_path)
129
-
130
-
131
- @cloup.command(
132
- context_settings=CONTEXT_SETTINGS,
133
- no_args_is_help=True,
134
- epilog=EPILOG,
135
- )
136
- @cloup.argument("scene_name", type=str, required=True)
137
- @cloup.argument("file_name", type=str, required=False)
138
- def scene(**args):
139
- """Inserts a SCENE to an existing FILE or creates a new FILE.
140
-
141
- SCENE is the name of the scene that will be inserted.
142
-
143
- FILE is the name of file in which the SCENE will be inserted.
144
- """
145
- if not Path("main.py").exists():
146
- raise FileNotFoundError(f"{Path('main.py')} : Not a valid project directory.")
147
-
148
- template_name = click.prompt(
149
- "template",
150
- type=click.Choice(get_template_names(), False),
151
- default="Default",
152
- )
153
- scene = (get_template_path() / f"{template_name}.mtp").resolve().read_text()
154
- scene = scene.replace(template_name + "Template", args["scene_name"], 1)
155
-
156
- if args["file_name"]:
157
- file_name = Path(args["file_name"] + ".py")
158
-
159
- if file_name.is_file():
160
- # file exists so we are going to append new scene to that file
161
- with file_name.open("a") as f:
162
- f.write("\n\n\n" + scene)
163
- else:
164
- # file does not exist so we create a new file, append the scene and prepend the import statement
165
- file_name.write_text("\n\n\n" + scene)
166
-
167
- add_import_statement(file_name)
168
- else:
169
- # file name is not provided so we assume it is main.py
170
- # if main.py does not exist we do not continue
171
- with Path("main.py").open("a") as f:
172
- f.write("\n\n\n" + scene)
173
-
174
-
175
- @cloup.group(
176
- context_settings=CONTEXT_SETTINGS,
177
- invoke_without_command=True,
178
- no_args_is_help=True,
179
- epilog=EPILOG,
180
- help="Create a new project or insert a new scene.",
181
- deprecated=True,
182
- )
183
- @cloup.pass_context
184
- def new(ctx):
185
- pass
186
-
187
-
188
- new.add_command(project)
189
- new.add_command(scene)
@@ -1,43 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import types
4
-
5
- import pkg_resources
6
-
7
- from .. import config, logger
8
-
9
- __all__ = []
10
-
11
-
12
- plugins_requested: list[str] = config["plugins"]
13
- if "" in plugins_requested:
14
- plugins_requested.remove("")
15
- for plugin in pkg_resources.iter_entry_points("manim.plugins"):
16
- if plugin.name not in plugins_requested:
17
- continue
18
- loaded_plugin = plugin.load()
19
- if isinstance(loaded_plugin, types.ModuleType):
20
- # it is a module so it can't be called
21
- # see if __all__ is defined
22
- # if it is defined use that to load all the modules necessary
23
- # essentially this would be similar to `from plugin import *``
24
- # if not just import the module with the plugin name
25
- if hasattr(loaded_plugin, "__all__"):
26
- for thing in loaded_plugin.__all__: # type: ignore
27
- exec(f"{thing}=loaded_plugin.{thing}")
28
- __all__.append(thing)
29
- else:
30
- exec(f"{plugin.name}=loaded_plugin")
31
- __all__.append(plugin.name)
32
- elif isinstance(loaded_plugin, types.FunctionType):
33
- # call the function first
34
- # it will return a list of modules to add globally
35
- # finally add it
36
- lists = loaded_plugin()
37
- for lst in lists:
38
- exec(f"{lst.__name__}=lst")
39
- __all__.append(lst.__name__)
40
- plugins_requested.remove(plugin.name)
41
-
42
- if plugins_requested != []:
43
- logger.warning("Missing Plugins: %s", plugins_requested)