* Only use -no-pdf for xelatex rendering
* Instead of tracking du and dv points on surface, track points off the surface in the normal direction
This means that surface shading will not necessarily work well for arbitrary transformations of the surface. But the existing solution was flimsy anyway, and caused annoying issues with singularity points.
* Have density of anchor points on arcs depend on arc length
* Allow for specifying true normals and orientation of Sphere
* Change miter threshold on stroke shader
* Add get_start_and_end to DashedLine
* Add min_total_width option to DecimalNumber
* Have BackgroundRectangle.set_style absorb (and ignore) added configuration
Note, this feels suboptimal
* Add LineBrace
* Update font_size adjustment in Tex
* 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.
* 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
* Some small refactors
* Refactor MTex
* Implement TransformMatchingMTex
* Some refactors
* Some refactors
* Some small refactors
* Strip strings before matching
* Implement get_submob_tex
* Use RGB color mode
* Some small refactors
* Try refactoring SVGMobject with svglib
* Refactor SVGMobject using svgelements
* Refactor SVGMobject using svgelements
* Use functions instead of func names as dict values
* style: modify import order to conform to PEP8
* Set default values to None
* modify import order
* Remove unused import
Co-authored-by: TonyCrane <tonycrane@foxmail.com>