* 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
* 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
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.
* Enable setting points to a null list, and adding one point at a time.
* Add refresh_locked_data
* Add presenter mode to scenes with -p option
* Allow for an embed by hitting e during interaction
* Add set_min_height, etc.
* Make sure null parametric curve has at least one point
* Account for edge case where \{ is used in Tex
* Allow for logging notes in wait calls, useful for presenter mode
* Simplify choose, and add gen_choose for fractional amounts
* Default to no top on axes
* Allow match_x, match_y, etc. to take in a point
* Allow wait calls to ignore presenter mode
* Just use math.combo, no caching with choose(n, r)
* Use generator instead of list in bezier
* Bubble init_colors should override
* Account for "px" values read in from an svg
* Stop displaying when writing is happening
* Update the way Bubble override SVG colors
When a scene is written to file, it will now do a preliminary run of a copy of the scene with skip_animations turned on to count the total frames, which has the added benefit of catching runtime errors early, and allowing an quicker preview of the last frame to be sure everything will render as expected.
The Progress display bars for individual animations are replaced with a more global progress display bar showing the full render time for the scene.
This has the downside that all the non-rendering computations in a scene are run twice, so any scene with slow computations unrelated to rendering will take longer. But those are rarer, so the benefits seem worth it.