Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Feature] `motion()`: configurable enter start state (scale about the centre, arc seeds for partitions)

Open
#214 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
typescript

Research direction

Read packages/charts-core/src/motion.ts around the enter-track and partition-seed logic, then compare the ChartMotionTiming types in packages/charts-core/src/types.ts and the sunburst lineage guidance in docs/reference/marks/sunburst.md. The issue proposes API changes for generic marks and partition marks; done means both can accept per-element enter or exit start states while retaining per-datum delays.

Written by the indexing model from the issue text.

Description

Version: @tanstack/charts 1.1.0 (57774e1). Split from #193 (comment section D) and #194 (section C) so it can be closed on its own.

A mark cannot choose how its elements enter: generic marks only fade, and sunburst sectors only take their start shape from an ancestor. Both asks are the same API, an enter start state per element.

Generic marks: the only enter is an opacity fade (from #193 D)

When a keyed rect, dot or text gets an enter track, addEnterMotionTrack ends in a single opacity attribute tween from 0 to the target (motion.ts:2596-2635). ChartMotionTiming carries only delay, transition and path (types.ts:872-877), so a mark cannot ask for another shape of enter.

Example: radial gauge notches (areaX/rect marks) that should grow from scale 0 about each notch's own centre, with a per-notch delay. With the built-in tracks the only options are a fade or nothing. The workaround is scoped CSS keyframes keyed on data-ts-key, which depend on renderer-owned DOM and have to be aligned with the motion clock by hand.

Partition marks: enter/exit seeds cannot be supplied (from #194 C)
Ask
  • Generic marks: an enter option on motion() (or on the mark's motion) with from: { opacity?, scale? } and origin: 'center' | 'start', applied per element with the existing per-datum delay. Or a documented per-element enter transform.
  • Partition marks: enter: { from(node) } and exit: { to(node) }, returning [startAngle, endAngle, innerRadius, outerRadius].

Read from source, not run.

Related: #193 (missing enter tracks), #194 (arc motion).

Dominant language
TypeScript
Stars
819
Forks
49
Avg merge
4h 58m
Merged PRs (30d)
15

Getting set up

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.

More from TanStack/charts

All issues in TanStack/charts

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.