Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Experimental update #3357

Merged
merged 115 commits into from
Oct 25, 2023

Conversation

jsonvillanueva
Copy link
Member

Overview: What does this pull request change?

This PR brings the experimental changes up-to-date with v0.17.3 and attempts to separate the Renderer specific logic from Scene and Mobject.

Of particular interest is the Renderer ABC and the RendererData classes.

This PR is still a work in progress.

TODO:

  1. Remove OpenGLMobject/OpenGLVMobject
  2. Render a black screen
  3. Render a drawable with OpenGL/Cairo
  4. Interactivity
  5. ???

elyanah-aco and others added 30 commits January 20, 2023 12:13
…#3126)

* docs: change links redirecting to dead troubleshooting page

* Fix typo in FAQ link

Co-authored-by: elyanah <[email protected]>
…imCommunity#3105)

* Convert docstring param type to type-hint in three_dimensions.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: Tristan Schulz <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
updates:
- [github.com/pre-commit/pygrep-hooks: v1.9.0 → v1.10.0](pre-commit/pygrep-hooks@v1.9.0...v1.10.0)
- [github.com/asottile/blacken-docs: v1.12.1 → 1.13.0](adamchainz/blacken-docs@v1.12.1...1.13.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
)

* Add scene.replace() and use in ReplacementTransform

This replace method allows one mobject to take the place (that is,
the draw order) of another mobject.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Address Feedback

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update visual Replacement test and fix extract_frames.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* allow flake8 to be unhappy

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <[email protected]>
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/pycqa/isort: 5.11.4 → 5.12.0](PyCQA/isort@5.11.4...5.12.0)
- [github.com/psf/black: 22.12.0 → 23.1.0](psf/black@22.12.0...23.1.0)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…ity#3152)

* fixed behavior of stop_condition in Wait

* updated documentation to reflect actual behavior of wait_until etc

* added test for Wait with stop_condition and Scene.wait_until

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Bumps [markdown-it-py](https://github.com/executablebooks/markdown-it-py) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/executablebooks/markdown-it-py/releases)
- [Changelog](https://github.com/executablebooks/markdown-it-py/blob/master/CHANGELOG.md)
- [Commits](executablebooks/markdown-it-py@v2.1.0...v2.2.0)

---
updated-dependencies:
- dependency-name: markdown-it-py
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ipython](https://github.com/ipython/ipython) from 8.7.0 to 8.10.0.
- [Release notes](https://github.com/ipython/ipython/releases)
- [Commits](ipython/ipython@8.7.0...8.10.0)

---
updated-dependencies:
- dependency-name: ipython
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* typo(docs): Fix grammar

* fix typo in source code
Without this unpacking values returned from get_value_trackers could have one too many.
…nity#3149)

* Allow to use call_updater=True with a function without dt

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Benjamin Hackl <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
updates:
- [github.com/pre-commit/mirrors-mypy: v0.991 → v1.0.1](pre-commit/mirrors-mypy@v0.991...v1.0.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <[email protected]>
* fix: BraceLabel not passing **kwargs to Brace

* create an empty dict if brace_config is None

* added typehints and included comments made

* added missing type hints in BraceLabel.__init__

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed docstring indentation

* remove superfluous import

---------

Co-authored-by: Benjamin Hackl <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/pre-commit/mirrors-mypy: v1.0.1 → v1.1.1](pre-commit/mirrors-mypy@v1.0.1...v1.1.1)
- [github.com/codespell-project/codespell: v2.2.2 → v2.2.4](codespell-project/codespell@v2.2.2...v2.2.4)

* ignore poetry.lock when running codespell

* explicitly only spellcheck py/md/rst files

* try again, different syntax

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <[email protected]>
`win32` -> `windows` due to 64-bit binaries
)

Limit condition to interactive OpenGL mode

Co-authored-by: Benjamin Hackl <[email protected]>
…animCommunity#3189)

* Update space_ops.py

* Apply suggestions from code review

---------

Co-authored-by: Benjamin Hackl <[email protected]>
* Reduce memory allocations when building SVGMobject

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* split two quads

* fix shape

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* assign

* Fix lines

* Add some tests and fix extra lineto

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Appease assertion CQ check

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Speed up width/height/depth by reducing copying

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix test

* fix example and improve tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* imports

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* typo

* np.max/min is 2x slower than max/min

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…und_corners` (ManimCommunity#3155)

* feat(Polygram.round_corners): add support for individualized radius values

* Update manim/mobject/geometry/polygram.py

Remove type hints from the docstring of round_corners()

Co-authored-by: Benjamin Hackl <[email protected]>

* Update rounded_corners() so that integer values are accepted

---------

Co-authored-by: Benjamin Hackl <[email protected]>
…arts of Tex mobjects (ManimCommunity#3159)

* Added MathTex.set_opacity_by_tex and MathTex.fade_all_but_tex

* Completed unittests for set_opacity_by_tex and fade_all_but_tex

* Added control_data for `fade_all_but_tex` and `set_opacity_by_tex`

* Removed ade_all_but_tex and integrated functionality into set_opacity_by_tex. Included a second parameter 'remaining_opacity' to define the opacity value of the remaining tex

* Added type hints for `set_opacity_by_tex`. Removed type information in docstring. Improved logic of `set_opacity_by_tex` to reduce redundant calls for tex parts

---------

Co-authored-by: Benjamin Hackl <[email protected]>
@MrDiver
Copy link
Collaborator

MrDiver commented Sep 11, 2023

grafik
Basic rendering works now

Next steps:

  • Rendering Submobjects
  • Abstracting Rendering

@MrDiver
Copy link
Collaborator

MrDiver commented Sep 12, 2023

image

Newest state suports fully featured 3D rendering and transparency without z fighting or any other artifacts

@MrDiver
Copy link
Collaborator

MrDiver commented Sep 12, 2023

TransparencyWorking.mp4

@MrDiver
Copy link
Collaborator

MrDiver commented Sep 12, 2023

TODO: There is a bug when you create another circle and set the opacity with set_opacity then the green square will change opacity

@jsonvillanueva jsonvillanueva merged commit 4fb492c into ManimCommunity:experimental Oct 25, 2023
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.