ManimCommunity / ManimCommunity/manim
Subclasses of `OpenGLMobject` override `pointwise_become_partial()` with extra parameters
- Dominant language
- Python
- Stars
- 40.9k
- Forks
- 3.1k
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 25
Description
## Description of bug / unexpected behavior
In the OpenGL side, `OpenGLVMobject.pointwise_become_partial()`'s signature doesn't match its parents' signature, because it adds an extra parameter `remap`.
Similarly, `OpenGLSurface.pointwise_become_partial()`'s signature adds an extra parameter `axis`. Same with `OpenGLTexturedSurface`.
This makes CodeQL complain about the signature mismatches.
This doesn't happen in the Cairo side: all signatures match for this method.
## Expected behavior
The signatures should match. Either those subclasses should not need extra parameters (the preferred solution), CodeQL should be silenced in that specific case, or the parent class `OpenGLMobject` should have the option to accept more parameters (not ideal because that causes a divergence from `VMobject.pointwise_become_partial()`).
## How to reproduce the issue
Code for reproducing the problem
```py
Paste your code here.
```
## Additional media files
Images/GIFs
## Logs
Terminal output
```
PASTE HERE OR PROVIDE LINK TO https://pastebin.com/ OR SIMILAR
```
## System specifications
System Details
- OS (with version, e.g., Windows 10 v2004 or macOS 10.15 (Catalina)):
- RAM:
- Python version (`python/py/python3 --version`):
- Installed modules (provide output from `pip list`):
```
PASTE HERE
```
LaTeX details
+ LaTeX distribution (e.g. TeX Live 2020):
+ Installed LaTeX packages:
## Additional comments
Contributor guide
Research direction
Locate the OpenGLMobject, OpenGLSurface, and OpenGLTexturedSurface implementations of pointwise_become_partial(), then compare their signatures with the parent and Cairo-side methods. Determine the intended compatible signature and verify that the CodeQL signature-mismatch warnings are resolved without introducing divergence from VMobject.pointwise_become_partial().
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100