42 Commits

Author SHA1 Message Date
f427fc67df A few bug fixes (#2277)
* Comment tweak

* Directly print traceback

Since the shell.showtraceback is giving some issues

* Make InteracrtiveSceneEmbed into a class

This way it can keep track of it's internal shell; use of get_ipython has a finicky relationship with reloading.

* Move remaining checkpoint_paste logic into scene_embed.py

This involved making a few context managers for Scene: temp_record, temp_skip, temp_progress_bar, which seem useful in and of themselves.

* Change null key to be the empty string

* Ensure temporary svg paths for Text are deleted

* Remove unused dict_ops.py functions

* Remove break_into_partial_movies from file_writer configuration

* Rewrite guarantee_existence using Path

* Clean up SceneFileWriter

It had a number of vestigial functions no longer used, and some setup that could be made more organized.

* Remove --save_pngs CLI arg (which did nothing)

* Add --subdivide CLI arg

* Remove add_extension_if_not_present

* Remove get_sorted_integer_files

* Have find_file return Path

* Minor clean up

* Clean up num_tex_symbols

* Fix find_file

* Minor cleanup for extract_scene.py

* Add preview_frame_while_skipping option to scene config

* Use shell.showtraceback function

* Move keybindings to config, instead of in-place constants

* Replace DEGREES -> DEG

* Add arg to clear the cache

* Separate out full_tex_to_svg from tex_to_svg

And only cache to disk the results of full_tex_to_svg.  Otherwise, making edits to the tex_templates would not show up without clearing the cache.

* Bug fix in handling BlankScene

* Make checkpoint_states an instance variable of CheckpointManager

As per https://github.com/3b1b/manim/issues/2272

* Move resizing out of Window.focus, and into Window.init_for_scene

* Make default output directory "." instead of ""

To address https://github.com/3b1b/manim/issues/2261

* Remove input_file_path arg from SceneFileWriter

* Use Dict syntax in place of dict for config more consistently across config.py

* Simplify get_output_directory

* Swap order of preamble and additional preamble
2024-12-12 18:45:34 -08:00
fce92347fa Replace get_global_config() with manim_config, and make it an addict Dict 2024-12-11 09:50:17 -06:00
8246d0da5d Fix bug with xelatex rendering 2024-12-11 08:23:17 -06:00
4d7f6093b4 Update how tex configuration default is passed in 2024-12-11 07:18:30 -06:00
85f8456228 If it's worth caching to disk, then might as well do so in memory too during development 2024-12-05 14:56:35 -06:00
34ad61d013 Clean up how configuration is handled
In principle, all we need here is that manim looks to the default_config.yaml file, and updates it based on any local configuration files, whether in the current working directory or as specified by a CLI argument.
2024-12-05 11:53:18 -06:00
43821ab2ba Make caching on disk a decorator, and update implementations for Tex and Text mobjects 2024-12-05 10:09:15 -06:00
0c385e820f Get rid of get_tex_dir and get_text_dir 2024-12-04 20:33:43 -06:00
ac01b144e8 Clean up tex_file_writing 2024-12-04 20:30:53 -06:00
129e512b0c Add caching functionality, and have Tex and Text both use it for saved svg strings 2024-12-04 19:51:01 -06:00
e0e7e24351 Move display_during_execturion call
Such that it only gets called when a new svg needs to be written
2022-12-19 17:01:06 -08:00
c2c8149627 Revert "Move display_during_exection associated with Latex rendering"
This reverts commit ab470c3ee598e335c4f2252a8802d71a8cc59e93.
2022-12-19 16:54:55 -08:00
5c0232a5e0 Have LatexError show line of error and the next line
This is where undefined control sequence errors will show up.
2022-12-19 16:20:19 -08:00
ab470c3ee5 Move display_during_exection associated with Latex rendering
Only have it display when a new SVG is being written
2022-12-19 16:19:43 -08:00
4dfe8aff86 refactor: refactor StringMobject 2022-08-22 21:52:48 +08:00
19c757ec90 refactor: refactor StringMobject 2022-08-20 13:01:59 +08:00
bc939fdd5b Rename font to template 2022-05-28 23:18:56 +08:00
3faa21cadd Add blank template 2022-05-28 22:44:30 +08:00
bf530db2ed Add ctex_basic template 2022-05-28 22:01:36 +08:00
f0447d7739 Small refactors on StringMobject and relevant classes 2022-05-28 21:43:37 +08:00
9386461d27 Add font attribute for Tex 2022-05-22 23:47:45 +08:00
f0984487ea Construct TexTemplate class to convert tex to svg 2022-05-21 15:56:03 +08:00
d24b8ff48f Merge branch 'master' into master 2022-04-20 22:40:11 -07:00
4f2e3456e2 Raise Specific exception type when running into latex errors 2022-04-20 21:53:05 -07:00
0406ef70bb Adjust typings for sounds.py and tex_file_writing.py 2022-04-16 14:37:28 +08:00
9ef9961d0e Sort imports 2022-04-12 19:19:59 +08:00
e879da32d5 Specify UTF-8 encoding for tex files (#1748) 2022-02-17 19:09:55 +08:00
8cac16b452 Update display_during_execution 2022-02-15 21:59:09 +08:00
3756605a45 Update display_during_execution 2022-02-15 20:55:44 +08:00
7425057d9f use rich to log 2021-10-07 17:37:10 +08:00
00fe33957c rename custom_defaults -> custom_config defaults -> default_config 2021-02-07 21:38:19 +08:00
42a3c56898 Limit how much is shown in display_during_execution 2021-01-07 16:37:01 -08:00
e5c79cbb90 Directly cache svg file instead of tex, and don't store superfluous files associated with tex rendering 2021-01-03 11:29:09 -08:00
7b3f4d08f5 Replace the progress bar with a simple display of what's being written which then gets deleted 2021-01-02 21:32:48 -08:00
592432611b Remove all configuration from constants.py, and clean up the many files affected by this move 2021-01-02 20:47:51 -08:00
e72390bfc4 Update tex_file_writing.py 2019-06-17 15:40:03 -04:00
2cbe19af7c Bug fix for the case when the media_dir has spaces 2019-06-13 16:15:43 -07:00
f81c275631 make media, tex, and video directories configurable via flags 2019-06-04 20:51:18 -07:00
dee8101991 Removed redundant import 2019-01-09 23:53:38 +01:00
f48eb6d94e Made sure to always encode written TeX files as UTF-8 2019-01-09 23:44:59 +01:00
47d8caa80e Use os.devnull instead of utils.tex_file_writing.get_null(); also small typos that cause SyntaxError (#382)
* Update tex_file_writing.py

* Change "/dev/null" to os.getnull in utils/sounds.py SoX "play" command

* Fix typo
2018-12-29 09:27:03 -08:00
3543a750ba move library code into manimlib, replace relative imports with absolute imports 2018-12-26 20:57:01 -08:00