# Crash Zoom Punch

A wide shot crash-zooms to a target close-up in one beat (6f), landing either with a bounce overshoot (elastic) or a hard stop with screen shake (weighty).

- Category: camera · Tags: shotcraft, remotion, camera, effects
- Spec: 1920×1080 @ 30 fps · 4.05s (16:9)
- License: Apache-2.0 · Tier: free
- JSON: https://gimgs.net/motion/crash-zoom-punch.json
- Kind: remotion
- Source (TSX): https://gimgs.net/motion/crash-zoom-punch/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/crash-zoom-punch.html

## Params

_No params._

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

## Prompt

## When to use

A "calling out" shot for feature segments — snapping the viewer's eye onto a target card/module in one beat; use the hard-stop version for emphasis.

## Intention

A slow push-in (spotlight-hero-card) says "please look"; a crash zoom says "look at this!" — going from wide to close-up in a single beat leaves the eye no choice. The landing has two textures to pick from: a bounce-back is elastic ("look at this"), a hard stop with screen shake is weighty ("this is it") — choose by emphasis level.

## Duration & energy

- Duration: About 0.5s of motion plus hold before/after (motion 6–11f, pre-hold ≥30f to establish the wide shot, post-hold ≥45f to read the close-up).
- Energy: High (instantaneous impact, not sustained high energy).

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

## 意图
慢推近（spotlight-hero-card）是"请看"，急推是"看这个！"——一拍之内
从全景砸到特写，视线没有选择余地。落位质感分两款：回弹是弹性
（"看这个"），撞停震屏是重量（"就是它"），按强调级选。

## 动效核心
- zoom 6f ease-in 急加速（如 1→2.6），cx/cy 同步 ease-in 收敛到目标中心
- 回弹款：zoom 过冲后 5f 回收 3–6%（2.6→2.45）
- 撞停款：到位帧起机位高频抖 + 指数衰减（amp 14px、τ≈1.8f、6f 收干），
  不回弹
- `<CameraMotionBlur shutterAngle={200} samples={20}>` **只包急推段**
  （撞停震屏段保持清晰抖动）；采样按"回波间距 ≤ 字高"配（轮 A 判例）

## 参数表
| 参数 | 典型值 | 调节手感 |
|------|--------|----------|
| 急推时长 | 6f（4–8f） | >10f 读作普通推近，冲击感消失 |
| 目标 zoom | 2.4–2.8 | 终点构图以目标卡占画面 60–75% 为准 |
| 回弹幅度 | zoom 的 3–6% | 过大读作弹簧玩具 |
| 震屏包络 | 14px·e^(−t/1.8) | 幅度须过肉眼阈值（可感性判例），>20px 读作故障 |

## 已知坑
- 终点必须是高清纹理槽位（card4-hires 级）——急推后全程特写它，
  低倍截图糊字（Q2）；终点先按 Q2 的高分辨率栅格化技法处理
- 两款别混用：回弹后再震屏读作穿帮；一支片急推 ≤2 次（P4 手法去重精神）
- 参数经占位素材调校转正，非实战定稿，首次实战后回验

## 参考实现
demos/camera/crash-zoom-punch/
（CrashImpactReal.tsx / CrashZoomReal.tsx）

## Reference implementation (Remotion)

- demos/camera/crash-zoom-punch/CrashImpactReal.tsx — https://raw.githubusercontent.com/Vincentwei1021/video-shotcraft/main/demos/camera/crash-zoom-punch/CrashImpactReal.tsx
- demos/camera/crash-zoom-punch/CrashZoomReal.tsx — https://raw.githubusercontent.com/Vincentwei1021/video-shotcraft/main/demos/camera/crash-zoom-punch/CrashZoomReal.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/camera/crash-zoom-punch/CrashImpactReal.tsx, demos/camera/crash-zoom-punch/CrashZoomReal.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.
