Skip to content

Refactor TipableVMobject tip placement to avoid curve deformation and transform coupling #4608

@behackl

Description

@behackl

Overview

TipableVMobject tip handling currently conflates tip placement with geometry reshaping of the parent curve.

While working on #4503, two code TODOs highlighted behavior that should be tracked explicitly in an issue instead of comments in source.

Current behavior

  1. position_tip() directly shifts/rotates the tip mobject to place it at the anchor point.
    • This tightly couples the tip's local transform to parent-side placement logic.
    • It is awkward for custom tip implementations that expect stable local coordinates.
  2. reset_endpoints_based_on_tip() calls put_start_and_end_on(...) with tip base points.
    • For non-linear tipable mobjects (e.g. arcs), this can redefine/deform the underlying curve instead of only accounting for the tip attachment.

Desired direction

  • Tip placement should be representable as attachment/anchoring logic without mutating the conceptual shape of the underlying curve.
  • Endpoint adjustment should trim/extend along the curve direction (or equivalent local rule), not reparameterize the whole curve via put_start_and_end_on.
  • Keep tip local transforms as independent as possible from parent placement mechanics.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions