ManimCommunity / ManimCommunity/manim

Subclasses of `OpenGLMobject` override `pointwise_become_partial()` with extra parameters

Open
#3,805 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.