chart.dot-plot-reveal
离散点图揭示
Dot Plot Reveal
- 范围
- 效果
- 复杂度
- 进阶
- 建议时长
- 3.4s
- 画幅
- 16:9 · 9:16 · 1:1
Live preview
真实渲染预览
实机渲染 · HyperFrames
Purpose
这个动效用来做什么
一组离散观测点依次落入坐标图,并以强调环聚焦一个样本。
A set of discrete observations lands into a coordinate plot, then an emphasis ring focuses one sample.
Inputs
可替换参数
series必填 · number-listOrdered discrete observation values placed across the plot.
- 默认值
[26,58,42,74,63,88]
label必填 · stringChart headline.
- 默认值
Sample signal
emphasis_index可选 · integerZero-based discrete observation to emphasize after all points land.
- 默认值
5
Motion timeline
归一化动作时间线
所有事件都使用 0 到 1 的归一化进度:0 是镜头开始,1 是镜头结束;事件可以重叠,适配器再把相同比例映射到秒或帧。
chart.fadeopacity.fade
0.06–0.24points.revealcollection.reveal
0.18–0.66points.staggercollection.stagger
0.18–0.66emphasis.settletransform.scale
0.64–0.82chart.holdstate.hold
0.84–1.00Copy to Agent
复制执行上下文
三个版本共享同一份可机器校验核心;引擎标签只追加已验证 Adapter 路由、能力与实现纪律。
<!-- motion-registry-context:{"format":"1.0.0","recipe_id":"chart.dot-plot-reveal","recipe_version":"0.2.0","recipe_source":"recipes/chart/dot-plot-reveal/recipe.yaml"} -->
# Motion Registry Context
<!-- motion-registry-section:recipe-identity:start -->
## Recipe identity
- Recipe ID: chart.dot-plot-reveal
- Schema version: 0.2.0
- Recipe source: recipes/chart/dot-plot-reveal/recipe.yaml
<!-- motion-registry-section:recipe-identity:end -->
<!-- motion-registry-section:motion-intent:start -->
## Motion intent and scope
- Purpose (zh): 一组离散观测点依次落入坐标图,并以强调环聚焦一个样本。
- Purpose (en): A set of discrete observations lands into a coordinate plot, then an emphasis ring focuses one sample.
- Scope: effect
- Complexity: intermediate
- Subjects: chart
- Intents: explain, emphasize
- Use cases: data-story, presentation, education
- Recipe capabilities: discrete-observations, unconnected-marks, point-emphasis
<!-- motion-registry-section:motion-intent:end -->
<!-- motion-registry-section:inputs:start -->
## Inputs
- series: number-list (required; default=[26,58,42,74,63,88]) — Ordered discrete observation values placed across the plot.
- label: string (required; default=Sample signal) — Chart headline.
- emphasis_index: integer (optional; default=5) — Zero-based discrete observation to emphasize after all points land.
<!-- motion-registry-section:inputs:end -->
<!-- motion-registry-section:normalized-timeline:start -->
## Normalized motion timeline (0 to 1)
- 0.06–0.24 · chart.fade · opacity.fade → chart · parameters={"from":0,"to":1}
- 0.18–0.66 · points.reveal · collection.reveal → points · parameters={"order":"source","opacity_from":0,"opacity_to":1}
- 0.18–0.66 · points.stagger · collection.stagger → points · parameters={"order":"source","fraction":0.12}
- 0.64–0.82 · emphasis.settle · transform.scale → emphasis · parameters={"from":0,"to":1}
- 0.84–1.00 · chart.hold · state.hold → chart · parameters={}
<!-- motion-registry-section:normalized-timeline:end -->
<!-- motion-registry-section:output-envelope:start -->
## Output envelope
- Aspect ratios: 16:9, 9:16, 1:1
- Duration: min 2.4s; preferred 3.4s; max 5s
<!-- motion-registry-section:output-envelope:end -->
<!-- motion-registry-section:acceptance:start -->
## Acceptance constraints
- discrete-observations: Every input value is represented by one unconnected point within the plot bounds.
- no-implied-line: No path or filled contour connects adjacent observations.
- point-emphasis: The selected observation receives a readable emphasis ring only after all points have landed.
- stable-hold: The final point plot, emphasis ring, and labels remain still and readable during the hold.
<!-- motion-registry-section:acceptance:end -->
<!-- motion-registry-section:handoff-invariants:start -->
## Handoff invariants
- Preserve the subject, input meaning, event order, overlaps, final state, and approximate normalized timing.
- Keep the implementation deterministic and retain a readable, stable final hold.
- Treat the Recipe document as the source of truth; do not infer engine APIs in this shared core.
<!-- motion-registry-section:handoff-invariants:end -->Engine implementations
双引擎实现
gsap-timeline
已验证HyperFrames
- Composition
dot-plot-reveal- 入口文件
index.html- 确定性
- 是
- lint通过
- validate通过
- inspect通过
- render通过
frame-based
已验证Remotion
- Composition
DotPlotReveal- 入口文件
DotPlotReveal.tsx- 确定性
- 是
- typecheck通过
- build通过
- render通过
Source, reference & rights
来源与使用边界
- 再分发状态
- original
- 来源说明
- Self-authored G4 discrete-observation dot-plot design.
- Recipe 文件
recipes/chart/dot-plot-reveal/recipe.yaml
参考
无外部参考;该 Recipe 与测试素材为项目原创。
Verification
验收标准
discrete-observationsEvery input value is represented by one unconnected point within the plot bounds.
no-implied-lineNo path or filled contour connects adjacent observations.
point-emphasisThe selected observation receives a readable emphasis ring only after all points have landed.
stable-holdThe final point plot, emphasis ring, and labels remain still and readable during the hold.
2 个实现已通过真实渲染理解验证模型