map.route-trace

地图路线描绘

Map Route Trace

仅本次打开有效
范围
效果
复杂度
进阶
建议时长
3.8s
画幅
16:9 · 9:16 · 1:1
01
Live preview

真实渲染预览

实机渲染 · HyperFrames
02
Purpose

这个动效用来做什么

本地地图轮廓提供空间上下文,一条路线连接起点、途经点和终点。

A local map outline supplies spatial context while one route connects origin, waypoints, and destination.

地图图形
解释演示
知识视频纪录片教程演示文稿
03
Inputs

可替换参数

origin_label必填 · string

Label at the route origin.

默认值
NORTH
destination_label必填 · string

Label at the route destination.

默认值
SOUTH
route_points必填 · string

Normalized route points encoded as x,y pairs separated by vertical bars.

默认值
0.16,0.72|0.28,0.54|0.46,0.58|0.62,0.34|0.82,0.43
headline必填 · string

Explanatory headline.

默认值
Route intelligence
04
Motion timeline

归一化动作时间线

所有事件都使用 0 到 1 的归一化进度:0 是镜头开始,1 是镜头结束;事件可以重叠,适配器再把相同比例映射到秒或帧。

map.fadeopacity.fade
0.06–0.22
route.drawpath.draw
0.18–0.72
markers.revealcollection.reveal
0.30–0.74
markers.staggercollection.stagger
0.30–0.74
destination.settlespring.settle
0.70–0.86
map.holdstate.hold
0.88–1.00
05
Copy to Agent

复制执行上下文

三个版本共享同一份可机器校验核心;引擎标签只追加已验证 Adapter 路由、能力与实现纪律。

<!-- motion-registry-context:{"format":"1.0.0","recipe_id":"map.route-trace","recipe_version":"0.2.0","recipe_source":"recipes/map/route-trace/recipe.yaml"} -->
# Motion Registry Context

<!-- motion-registry-section:recipe-identity:start -->
## Recipe identity
- Recipe ID: map.route-trace
- Schema version: 0.2.0
- Recipe source: recipes/map/route-trace/recipe.yaml
<!-- motion-registry-section:recipe-identity:end -->

<!-- motion-registry-section:motion-intent:start -->
## Motion intent and scope
- Purpose (zh): 本地地图轮廓提供空间上下文,一条路线连接起点、途经点和终点。
- Purpose (en): A local map outline supplies spatial context while one route connects origin, waypoints, and destination.
- Scope: effect
- Complexity: intermediate
- Subjects: map, shape
- Intents: explain, demonstrate
- Use cases: knowledge-video, documentary, tutorial, presentation
- Recipe capabilities: local-map-outline, route-path, waypoint-markers, endpoint-focus
<!-- motion-registry-section:motion-intent:end -->

<!-- motion-registry-section:inputs:start -->
## Inputs
- origin_label: string (required; default=NORTH) — Label at the route origin.
- destination_label: string (required; default=SOUTH) — Label at the route destination.
- route_points: string (required; default=0.16,0.72|0.28,0.54|0.46,0.58|0.62,0.34|0.82,0.43) — Normalized route points encoded as x,y pairs separated by vertical bars.
- headline: string (required; default=Route intelligence) — Explanatory headline.
<!-- motion-registry-section:inputs:end -->

<!-- motion-registry-section:normalized-timeline:start -->
## Normalized motion timeline (0 to 1)
- 0.06–0.22 · map.fade · opacity.fade → map · parameters={"from":0,"to":1}
- 0.18–0.72 · route.draw · path.draw → route · parameters={"from":0,"to":1}
- 0.30–0.74 · markers.reveal · collection.reveal → markers · parameters={"order":"source","opacity_from":0,"opacity_to":1}
- 0.30–0.74 · markers.stagger · collection.stagger → markers · parameters={"order":"source","fraction":0.16}
- 0.70–0.86 · destination.settle · spring.settle → destination · parameters={"from":0.78,"to":1,"strength":"normal"}
- 0.88–1.00 · map.hold · state.hold → map · 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 3s; preferred 3.8s; max 5s
<!-- motion-registry-section:output-envelope:end -->

<!-- motion-registry-section:acceptance:start -->
## Acceptance constraints
- local-context: The map outline is self-authored or locally licensed and never fetched during rendering.
- continuous-route: The route draws continuously from origin through waypoints to destination.
- endpoint-legible: Origin and destination labels remain visible without route or marker overlap.
- stable-hold: The final map, route, and markers remain still and readable.
<!-- 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 -->
06
Engine implementations

引擎实现

gsap-timeline

HyperFrames

已验证
Composition
map-route
入口文件
index.html
确定性
  • lint通过
  • validate通过
  • inspect通过
  • render通过
frame-based

Remotion

已验证
Composition
MapRouteTrace
入口文件
MapRouteTrace.tsx
确定性
  • typecheck通过
  • build通过
  • render通过
07
Source, reference & rights

来源与使用边界

再分发状态
original
来源说明
Self-authored G8 local-map and route design.
Recipe 文件
recipes/map/route-trace/recipe.yaml

参考

无外部参考;该 Recipe 与测试素材为项目原创。

08
Verification

验收标准

01
local-context

The map outline is self-authored or locally licensed and never fetched during rendering.

02
continuous-route

The route draws continuously from origin through waypoints to destination.

03
endpoint-legible

Origin and destination labels remain visible without route or marker overlap.

04
stable-hold

The final map, route, and markers remain still and readable.

2 个实现已通过真实渲染理解验证模型