# Magician card flourish

On pure black, a blue starburst flashes for 0.3s, then a card ejects from the flash point — spinning fast along an arc toward the camera, spin decaying as it nears, hard-freezing near full-frame, followed by a sheen sweep.

- Category: intro · Tags: shotcraft, remotion, intro, opening, ui-entrance, effects
- Spec: 1920×1080 @ 30 fps · 4.25s (16:9)
- License: Apache-2.0 · Tier: free
- JSON: https://gimgs.net/motion/magician-card-flourish.json
- Kind: remotion
- Source (TSX): https://gimgs.net/motion/magician-card-flourish/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/magician-card-flourish.html

## Params

_No params._

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

## Prompt

## When to use

A magic-trick entrance for a single card/poster/cover (a main-visual opener, a product-card reveal); pure dark scenes; a peak moment that needs "conjured out of nowhere" ritual.

## Intention

A magician's card flourish: a blue starburst flashes, and the card seems conjured out of the light — ejecting from an extremely distant point at frame center, spinning at high speed along an arc toward the camera, and hard-freezing into a near-full-frame display the instant it arrives. Three crux points for the magic feel: **flash comes first** (light is the ritual of "conjuring", a brisk 0.3s), **launch rhythm** (a slow wind-up takeoff → a hard-accelerating kick → a decelerating arc on approach), and **freeze means still** (no deceleration tail, no rebound; a full 13 spins guarantee the freeze lands exactly face-on).

## Duration & energy

- Duration: Flash 0.3s + flight ~1.7s + freeze display and sheen ~2s; whole segment 4.2s
- Energy: High (a one-time peak, still once it freezes)

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

## 意图
魔术师甩牌：一道蓝色星芒闪过，卡片仿佛从光里被变出来——从画面
中心极远处（视觉上一个小点）弹射而出，沿弧线极速自旋飞向镜头，
到达中心瞬间硬定格成近满幅展示。三个魔术感命门：**闪光先行**
（光是"变"的仪式，0.3s 短促干脆）、**弹射节奏**（起飞慢速蓄力→
急加速踢出→弧线段减速抵达，slow-in→burst→decelerating arc）、
**定格即静**（无减速尾巴无回弹，13 整圈自旋保证定格恰为正面）。

## 动效核心
- 开场星芒（用户参考图 IMG_2505 逐轮收敛的最终形态）：
  - X 形**对角**针状光束（-38°/52° 起始），闪光期间整体**动态旋转
    90°**（easeInOut）；长轴 840/短轴 420（比例 2:1）
  - 光束纯饱和蓝（#3f9bff→#2277f2 贯穿全长，白段只留根部 5%），
    每轴三层：宽糊辉光包层 + 明亮主束 + 过曝细芯
  - 中心**不是白球**：极小亮点（26px）+ 蓝辉光晕（140px）+ 一圈
    10 根长短相间放射短刺（随星芒反向缓转）
  - 节奏：渐亮 2.5f → 微闪 → 坍缩，9f（0.3s）完
- 弹射飞行：中心极远（scale≈0.06）出发，真透视 scale=F/(F+z)
  （z 14000→0）；行程曲线 slow-in（前 14% 时间走 6%）→斜率跳变
  弹射→easeOut(cubic) 减速；正弦单拱弧线荡出收回中心
- 自旋：沿卡片对角线轴 13 整圈；前 40% 行程近匀速极快，后 60%
  角速度 2.4 次幂衰减（越近镜头转越慢），整圈数保证定格正面
- 定格：f=TAKEOFF+50 全量冻结，卡高 ≈94% 画面高（贴上下界）
- 扫光：定格稳 8f 后 sheen 斜带左→右一次扫过（overlay+screen
  双层+整卡亮度微抬）

## 参数表
| 参数 | 典型值 | 调节手感 |
|------|--------|----------|
| 闪光时长 | 9f（0.3s，用户精确定值；曾 1.5s→0.8s→0.5s 逐轮压短） | 光是仪式不是主角；>15f 抢卡片的戏 |
| 星芒旋转 | 闪光期间动态转 90°（判例：静态摆角被裁"没看到旋转"） | 旋转要逐帧可见；>120° 读作螺旋桨 |
| 光束颜色 | 纯饱和蓝贯穿全长 | 白段过长/衰减过快被裁"不够还原"；青蓝偏灰被裁"要蓝色的" |
| 中心 | 小亮点+辉光+放射短刺 | **白色圆球被裁**——中心是光学辉光不是实体球 |
| 弹射曲线 | slow-in 14%→burst→减速弧线 | 直接匀速/纯 easeOut 没有"弹射"的蓄力感 |
| 自旋衰减 | 后 60% 行程 2.4 次幂减速 | 匀速到底被裁"靠近镜头时应随距离衰减"；整圈数=定格正面的保证 |
| 定格尺寸 | 卡高 94% 画面高 | 初版 1.0x 被裁"更近更大基本靠近上下界" |
| 硬定格 | 全量冻结零回弹 | 魔术感=瞬间静止；回弹读作物理玩具 |

## 已知坑
- demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿，
  首次实战须以真实素材回验
- **光效质感判例链**（本卡贡献的全局方法论）：几何色块被裁"5毛
  特效"→光学实感重做→游戏感+真实→用户给参考图一轮收敛。
  质感类意见文字损耗大，**主动请用户丢参考图**
- 工程坑：细针光束**不能放进 CameraMotionBlur**——旋转被模糊采样
  拆成条纹分身（"廉价感"的隐性来源）；闪光层独立于运动模糊渲染
- 工程坑：星芒 SVG viewBox 要 ≥ 光束长+旋转扫掠半径，否则端点
  被裁出直边
- 与 card-flip-reveal/deck-deal-flyin 分工：那两张是翻牌/发牌的
  多卡节奏戏；本卡是单卡"变出来"的魔术仪式，一次只变一张

## 参考实现
demos/opening/magician-card-flourish/
（MagicianCardFlourish.tsx）
原片出处：无（用户口述定制，多轮迭代收敛）

## Reference implementation (Remotion)

- demos/opening/magician-card-flourish/MagicianCardFlourish.tsx — https://raw.githubusercontent.com/Vincentwei1021/video-shotcraft/main/demos/opening/magician-card-flourish/MagicianCardFlourish.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/magician-card-flourish/MagicianCardFlourish.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.
