map.route-trace
地图路线描绘
Map Route Trace
- 范围
- 效果
- 复杂度
- 进阶
- 建议时长
- 3.8s
- 画幅
- 16:9 · 9:16 · 1:1
Live preview
真实渲染预览
实机渲染 · HyperFrames
Purpose
这个动效用来做什么
本地地图轮廓提供空间上下文,一条路线连接起点、途经点和终点。
A local map outline supplies spatial context while one route connects origin, waypoints, and destination.
Inputs
可替换参数
origin_label必填 · stringLabel at the route origin.
- 默认值
NORTH
destination_label必填 · stringLabel at the route destination.
- 默认值
SOUTH
route_points必填 · stringNormalized 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必填 · stringExplanatory headline.
- 默认值
Route intelligence
Motion timeline
归一化动作时间线
所有事件都使用 0 到 1 的归一化进度:0 是镜头开始,1 是镜头结束;事件可以重叠,适配器再把相同比例映射到秒或帧。
map.fadeopacity.fade
0.06–0.22route.drawpath.draw
0.18–0.72markers.revealcollection.reveal
0.30–0.74markers.staggercollection.stagger
0.30–0.74destination.settlespring.settle
0.70–0.86map.holdstate.hold
0.88–1.00Copy 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 -->Engine implementations
引擎实现
gsap-timeline
已验证HyperFrames
- Composition
map-route- 入口文件
index.html- 确定性
- 是
- lint通过
- validate通过
- inspect通过
- render通过
frame-based
已验证Remotion
- Composition
MapRouteTrace- 入口文件
MapRouteTrace.tsx- 确定性
- 是
- typecheck通过
- build通过
- render通过
Source, reference & rights
来源与使用边界
- 再分发状态
- original
- 来源说明
- Self-authored G8 local-map and route design.
- Recipe 文件
recipes/map/route-trace/recipe.yaml
参考
无外部参考;该 Recipe 与测试素材为项目原创。
Verification
验收标准
local-contextThe map outline is self-authored or locally licensed and never fetched during rendering.
continuous-routeThe route draws continuously from origin through waypoints to destination.
endpoint-legibleOrigin and destination labels remain visible without route or marker overlap.
stable-holdThe final map, route, and markers remain still and readable.
2 个实现已通过真实渲染理解验证模型