# Dataviz Landscape Open

A dark-scene opener of tributary flow-line terrain — many flow lines merge into a main stream, fictional ID labels float on the lines, and the camera flies slowly through with heavy depth of field.

- Category: intro · Tags: shotcraft, remotion, intro, opening, data, camera
- Spec: 1920×1080 @ 30 fps · 5.55s (16:9)
- License: Apache-2.0 · Tier: free
- JSON: https://gimgs.net/motion/dataviz-landscape-open.json
- Kind: remotion
- Source (TSX): https://gimgs.net/motion/dataviz-landscape-open/template.html
- Repo: https://github.com/Vincentwei1021/video-shotcraft
- Credits: video-shotcraft (Vincent Wei) — https://github.com/Vincentwei1021/video-shotcraft
- Page: https://gimgs.net/motion/dataviz-landscape-open.html

## Params

_No params._

Default params (base64url for `?p=`): `e30`

## Prompt

## When to use

A brand-level abstract opener (a "data universe" metaphor), leading into a bright product segment or wordmark; division of labor with glow-flyline-moves: that card is line-connection narrative between cards within a segment, this one is a full-frame landscape exclusive to the opening.

## Intention

The brand-level opener category attested in Linear Releases launch films: shoot the data world behind the product as a dark-scene landscape — bundles of flow lines merging from deep in the frame into one main stream (a metaphor for "countless workflows converging into one product"). The realism comes from three things: 1) fictional issue/task ID labels floating on the lines (viewers recognize "this is the kind of thing I see every day"); 2) heavy depth of field — a large soft-focus foreground flow, a legible mid-ground of labels, and a fading background — three depth layers make a flat SVG read as space; 3) a slow, steady camera flythrough — this is an atmosphere segment, not a showcase of speed, which is left to later shots. Hand-built-UI compliance basis: not a recreated real scene (this screen doesn't exist on any page), so it follows the quality-plus-expressive-clarity bar per Core Principle 1 (revised).

## Duration & energy

- Duration: 5–8s (an atmospheric opening segment, at most once per film).
- Energy: Low start, building slowly (a starting position, leaving room to climb in later shots).

## Shot recipe (original Chinese — timing, easing, parameter table, known pitfalls)

## 意图
Linear Releases 发布片开场实证的品牌级开场品类：把产品背后的数据世界
拍成一片**暗场地景**——支流线束从画面深处汇入一条主干（"无数工作流
汇成一个产品"的隐喻），真实感来自三样东西：①虚构 issue/任务 ID 标签
浮在线上（观众认出"这是我每天看到的那种东西"）；②重景深——近景大虚焦
流过、中景标签清晰可读、远景渐隐，三层纵深让平面 SVG 读作空间；
③相机低速匀稳飞越——这是氛围段不是炫技段，速度感交给后面的镜头。
手搓 UI 合规依据：非复刻场景（页面上不存在此画面），按核心理念 1
修订版走质量+表达明确性门槛。

## 动作阶段
| 阶段 | 帧段（@30fps 参考） | 内容 |
|------|------|------|
| 1 生长 | f0–45 | 流线自远端向汇点 draw-on 生长（out-cubic），主干先行、支流错峰跟进 |
| 2 飞越 | f30–150 | 相机沿主干方向低速推移（与生长期跨骑），标签非均匀错峰浮现 |
| 3 交棒 | 末 30–45f | 汇点方向留亮部引导视线，接 shot-transitions 藏切/B 式穿暗场，或减速停稳接字标 |

## 参数表
| 参数 | 典型值 | 调节手感 |
|------|--------|----------|
| 线束规模 | 支流 8–14 条汇入 1 条主干；分层 近 2–3 / 中 5–8 / 远 4–6 | 超过 ~16 条读作屏保/科技模板；主干必须唯一（单主角原则的地景版） |
| 汇流拓扑 | 支流以 bezier 切向汇入主干（切线连续），汇点偏画面一侧 1/3 处 | 垂直相交读作电路图不是水系；汇点居中构图死板 |
| 景深三层 | 近景 blur 10–16px + 线宽 6–10px + 亮度 0.15–0.25；中景清晰 2–3px 亮度 0.5–0.8;远景 1–1.5px 亮度 0.2–0.35 | 近景不虚焦则三层塌成一张平面图；远景过亮抢中景 |
| 相机飞越 | 世界画布 ≥2× 视口，横移速度 2–5px/f 匀稳 + 视差（近 1.4×/中 1×/远 0.6×），可叠极缓 zoom 1.0→1.06 | 快了变追逐镜头（那是 crash-zoom 的活）；无视差立刻穿帮为平面滚动 |
| 视差可见性 | 近/远层线条必须与运动方向成角（斜率明显）或带画内可见特征点（端点/交叉/节点标记穿过画面） | **平行于运动方向的线横移时沿自身滑动，视差机制再对也不可见**（L2 评估判例：0.6×/1×/1.4× 全写对，正常播放只有中景在动） |
| 流动感 | draw-on 完成后线条保持"活"：沿线明暗脉冲/虚线相位低速漂向汇点（速度 1–2px/f，透明度 ≤0.3 叠加） | 生长期结束后无流动元素，后半段退化成"路线图飞越"不是"数据流" |
| 标签 | 中景层 5–9 枚：方块图钉 + 等宽字 ID（如 APP-1843），错峰 6–10f 间隔淡入 + 沿线微漂 | ID 一律虚构（合规底线）；标签挂近景/远景层会因虚焦/过暗不可读；图钉方块要落在线上（钉线分离读作浮尘不是锚点） |
| 生长节奏 | 主干 30–40f out-cubic 先行，支流每条错峰 3–6f | 全部同帧生长读作 loading 动画 |
| 收尾 | 交棒帧前 ≥15f 标签停止新增、相机斜率连续（不急刹） | 氛围段急刹是一次可见的顿挫（glow-orb 收敛判例同源） |

## 已知坑
- 借鉴来源：Linear Releases 开场（进化轮 #3 breakdown #7），单例样本
  ——参数给区间不给教条，首次实战以真实素材回验
- 与 glow-flyline-moves 别混用在相邻段落：两卡都是"暗场发光线"，
  背靠背出现读作全片只会一招；同片都要用时中间隔 ≥2 个亮场镜头
- 暗场进出成本同 glow 卡：接亮场产品段用 shot-transitions 藏切族垫，
  别生切明暗
- 线条纯白全亮会糊成蛛网——亮度按层拉开（见参数表），中景才是主角层；
  主干/支流给 1–2px 微辉光（soft glow）压出"发光线"氛围，全无辉光读作线框图（Q4 单点光效许可内）
- 标签字号在目标画幅下 ≥18px 等效，否则"可读"沦为装饰噪点（Q6 同源）
- 声音：铺 riser/低频 pad 底噪，标签浮现不逐枚打点（批量不逐个发声，
  S2 同源）；交棒帧一次 whoosh/impact 交给下一镜头

## 参考实现
demos/opening/dataviz-landscape-open/
（DatavizLandscapeOpen.tsx）

## Reference implementation (Remotion)

- demos/opening/dataviz-landscape-open/DatavizLandscapeOpen.tsx — https://raw.githubusercontent.com/Vincentwei1021/video-shotcraft/main/demos/opening/dataviz-landscape-open/DatavizLandscapeOpen.tsx

The component imports shared fixtures from `demos/_fixtures` and helpers from `assets/lib` in the repo; SKILL.md there documents the render workflow.


## Flow

1. **Read the recipe**
   Prompt = when to use, intention, parameter table with typical values and how each one feels, known pitfalls. Treat values as calibrated starting points.
2. **Get the code** — tool: git
   `git clone https://github.com/Vincentwei1021/video-shotcraft && cd video-shotcraft && npm install`
3. **Register + render** — tool: remotion
   `npx remotion render <CompositionId> out.mp4   # component: demos/opening/dataviz-landscape-open/DatavizLandscapeOpen.tsx`
4. **Or re-implement**
   Port the timing/easing from the recipe to HTML + WAAPI (gimgs motion contract) or any engine; keep the same segment windows and easing.

## Render

Clone https://github.com/Vincentwei1021/video-shotcraft (npm install). The component lives under demos/{category}/{name}/ and imports shared fixtures from demos/_fixtures and helpers from assets/lib. Copy it (with those imports) into a Remotion project, register a <Composition> with the template's width/height/fps/duration in Root.tsx, then `npx remotion render <CompositionId> out.mp4`. SKILL.md in the repo documents the full Claude Code / Codex workflow. The prompt below is the shot recipe (timing, easing, parameter table, pitfalls) — enough to re-implement the shot in HTML/WAAPI or another engine if you prefer.

## Contract

React/Remotion composition (TSX) from the open-source video-shotcraft library (Apache-2.0). It is not a browser-playable template: clone the repo, register the component in a Remotion project and render with `npx remotion render`. The recipe (prompt) describes timing, easing and parameters so you can also re-implement the shot in any engine.
