* Bug fix for TransformMatchingStrings with incompatible lengths
* Change faded line in NumberPlane initialization to be more explicit, and lower opacity
* Add option hide_zero_components_on_complex to DecimalNumber
* Validate syntax before reloading
* Add remembered stroke_config to TracedPath
* Add CLAUDE.md to gitignore
* Move pre-calculated traced points to TracingTail
* Fix interplay between time_span and alpha in Animation
* Clearer init for points in TracingTail
* Fix CoordinateSystem.get_area_under_graph
* Allow ComplexPlane.n2p to take in array of complex numbers
* Add put_start_on and put_end_on
* Add Slider
* Add \minus option for Tex to give shorter negative sign
* Put interp_by_hsl option in various color interpretation functions
* Swap priority of matched_keys vs key_map is TransformMatchingStrings
* Have z-index apply recursively
* Set self.svg_string property for SVGMobject
* Fix num_decimal_places config in Tex.make_number_changeable
* Add Surface. color_by_uv_function
* Add VMobject. set_color_by_proportion
* Add \mathcal to tex_to_symbol_count
* Remove print("Reloading...")
* Change where exception mode is set, to be quieter
* Add default fallback monitor for when no monitors are detected
* Have StringMobject work with svg strings rather than necessarily writing to file
Change SVGMobject to allow taking in a string of svg code as an input
* Add caching functionality, and have Tex and Text both use it for saved svg strings
* Clean up tex_file_writing
* Get rid of get_tex_dir and get_text_dir
* Allow for a configurable cache location
* Make caching on disk a decorator, and update implementations for Tex and Text mobjects
* Remove stray prints
* 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.
* Make the default size for hash_string an option
* Remove utils/customization.py
* Remove stray prints
* Consolidate camera configuration
This is still not optimal, but at least makes clearer the way that importing from constants.py kicks off some of the configuration code.
* Factor out configuration to be passed into a scene vs. that used to run a scene
* Use newer extract_scene.main interface
* Add clarifying message to note what exactly is being reloaded
* Minor clean up
* Minor clean up
* If it's worth caching to disk, then might as well do so in memory too during development
* No longer any need for custom hash_seeds in Tex and Text
* Remove display_during_execution
* Get rid of (no longer used) mobject_data directory reference
* Remove get_downloads_dir reference from register_font
* Update where downloads go
* Easier use of subdirectories in configuration
* Add new pip requirements
One could argue that a pattern of "arg: dict | None = None" followed by "self.param = arg or dict()" is better, but that would make for an inconsistent pattern in cases where the default argument is not None.