# Edit hook moves

logo-sting-button end-hook — after the closing logo settles, a 12f easter egg suddenly cuts in before the final close, a trailer-style button ending.

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

## Params

_No params._

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

## Prompt

## When to use

For the closing wrap-up (≤1 per film).

## Intention

The library's audio-visual cards all manage "things on screen"; this style manages **the rhetoric of the timeline itself** — a reversal at the ending: fade to black → logo fades in and settles (the audience thinks it's over) → a 12f UI close-up easter egg suddenly hard-cuts in → cut back to the logo for the close, a trailer-style button ending that leaves one last hook. It plays a joke on the audience's expectation that "it's already over".

## Duration & energy

- Duration: ~5s
- Energy: Low → instant medium → low

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

## 意图
库内声画卡管的都是"画面上的事"；这一式管**时间线本身的修辞**——
终点的反悔：收黑→logo 淡入定住（观众以为结束）→突然 12f UI 特写
彩蛋硬切插入→切回 logo 收尾，预告片 button ending，留最后一个钩子。
拿观众的"已经结束了"的预期开玩笑。

## 单式选型
| 式 | 做法 | 适用 |
|----|------|------|
| B logo-sting-button | 收黑 6f→logo 入场 10f（opacity+scale 0.96→1）→定住 30f→彩蛋 12f 硬切插入→切回 logo 真静止 ≥60f | 片尾；正片收束后再给一记 |

## 参数表
| 参数 | 典型值 | 调节手感 |
|------|--------|----------|
| 彩蛋时长 | 12f 级，内含 tick 圆点只亮第 4–5f（2f，条件挂载） | 长于 20f 就不是"眨眼"是一个镜头 |
| 彩蛋构图 | 面板 translate+scale(2.4) 特写按钮行，平移量把 sidebar 完全推出画面 | 彩蛋里露出旧构图残边读作切错了 |
| 像素级一致 | logo 段 interpolate 全 clamp 到终值，彩蛋前后 logo 共用同一分支渲染 | 硬切回来 logo 跳 1px 都读作抖动 |
| 剪辑方式 | 全程硬切分支渲染（frame 区间 return 不同子树），无交叉溶解 | 节奏靠剪不靠淡；任何溶解都泄劲 |

## 已知坑
- demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿，
  首次实战须以真实素材回验
- 全片 ≤1 次且只在片尾——中段用 button ending 变成故障，
  观众以为片子坏了
- 彩蛋内容必须是全片未见的新特写——复用旧镜头读作剪辑失误
  不是钩子，命门

## 参考实现
demos/outro/edit-hook-moves/
（LogoStingButton.tsx）

## Reference implementation (Remotion)

- demos/outro/edit-hook-moves/LogoStingButton.tsx — https://raw.githubusercontent.com/Vincentwei1021/video-shotcraft/main/demos/outro/edit-hook-moves/LogoStingButton.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/outro/edit-hook-moves/LogoStingButton.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.
