ManimCommunity / ManimCommunity/manim

`GrowArrow` for `Arrow3D`

Open
#1,741 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement pr:bugfix
Dominant language
Python
Stars
40.9k
Forks
3.1k
Avg merge
3d 12h
Merged PRs (30d)
25

Description

Enhancement proposal

GrowArrow() only works for class Arrow, not for Arrow3D since it utilizes the own scale method of Arrow. This scale method relies on Arrow being a TipableVMobject, which Arrow3D is not. I have 3 suggestions:

  • Do nothing and state that GrowArrow is only meant for Arrow. Then I would implement an error when a class Arrow3D is passed.
  • Implement the changes I proposed in PR #1668, that is, if an Arrow3D is passed just use the normal scale. This still looks good.
  • Build an own scale method for Arrow3D. This seems quite time-consuming since one would have to think about implementing the tipable stuff for 3D Mobjects. This might be good in the future but would be too much for me to handle right now.

Thoughts are welcome!

Additional comments

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing how GrowArrow handles Arrow and why Arrow3D cannot use Arrow's scale method. Compare the three proposed approaches, including the behavior described for PR #1668, and establish which direction maintainers want before changing code; the issue names no files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-graphics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.