[Feature] `motion()`: configurable enter start state (scale about the centre, arc seeds for partitions)
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- typescript
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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)
- Seeds come only from the nearest related ancestor (
motion.ts:2745,motion.ts:2770); with none, the sector only fades. - The docs describe lineage as the only source (
sunburst.md:171-174).
Ask
- Generic marks: an
enteroption onmotion()(or on the mark'smotion) withfrom: { opacity?, scale? }andorigin: 'center' | 'start', applied per element with the existing per-datumdelay. Or a documented per-element enter transform. - Partition marks:
enter: { from(node) }andexit: { to(node) }, returning[startAngle, endAngle, innerRadius, outerRadius].
Read from source, not run.
Related: #193 (missing enter tracks), #194 (arc motion).
- 主要言語
- TypeScript
- スター
- 819
- フォーク
- 49
- 平均マージ
- 12時間 9分
- マージ済み PR(30日)
- 6
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
TanStack/charts のほかの issue
-
[Bug] Focus guides: `url(#id)` paints ignore `idPrefix`対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
Renderer treats a sub-pixel width difference as a resize, which cancels the `motion()` entranceオープン
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
TanStack/charts#182 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
brushX with `values` can shorten the selection range when it’s dragged to the plot edge対応中かも @andersk が 7 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 42/100
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 57/100
メンテナーはふだん 1 日以内に返信
TanStack/charts の issue をすべて見る
似ている issue
-
Contrib indemnité de départ à la retraite : faire le pont avec le simulateur sur la page génériqueオープンP1
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
SocialGouv/code-du-travail-numerique#7561 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
kubernetes-sigs/headlamp#7950 ·
メンテナーはふだん 3 日以内に返信
-
README for cli対応中かも @Janvi-kapoor が今日担当しました。 オープンOSCI'26
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
GauravKarakoti/SecureFlow#1308 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
vitest-dev/vitest#11577 ·
メンテナーはふだん 1 日以内に返信