feat(remotion): craft kit (stop-motion + paper-cut) + PaperCut block
The real visible quality leap — a handmade craft aesthetic code can't fake by being smooth: - craft.ts: useStopMotion (quantize the frame to "on twos/threes" + per-step jitter → choppy handmade motion), paperShadow (layered cast shadows for paper depth), PAPER_TEXTURE (procedural fibrous paper grain). - PaperCut block: a layered paper-cut landscape — sun + 4 brand-coloured paper hills with real cast shadows + paper grain, rising into place on stop-motion timing with an idle wobble, + paper-cut title/subtitle. Re-flows 16:9/1:1/9:16. Registry now has 13 blocks. Verified: warm Yalda render (fits the Persian/seasonal moat) + a stop-motion demo clip showing the on-threes choppy rise. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -11,6 +11,7 @@ import { BarChartBlock } from "./blocks/BarChart";
|
||||
import { StompBlock } from "./blocks/Stomp";
|
||||
import { DeviceMockupBlock } from "./blocks/DeviceMockup";
|
||||
import { ProductShowcaseBlock } from "./blocks/ProductShowcase";
|
||||
import { PaperCutBlock } from "./blocks/PaperCut";
|
||||
|
||||
/**
|
||||
* The scene-block registry. A FlexStory template is an ordered list of these
|
||||
@@ -30,6 +31,7 @@ export const SCENE_BLOCKS: Record<string, SceneBlock> = {
|
||||
[BarChartBlock.id]: BarChartBlock,
|
||||
[StompBlock.id]: StompBlock,
|
||||
[DeviceMockupBlock.id]: DeviceMockupBlock,
|
||||
[PaperCutBlock.id]: PaperCutBlock,
|
||||
};
|
||||
|
||||
export const BLOCK_LIST = Object.values(SCENE_BLOCKS);
|
||||
|
||||
Reference in New Issue
Block a user