Composed scene template inspired by the Remotion prompt “History”.
Source: Remotion Prompt Gallery<iframe
src="https://motioness.com/embed/prompt-history?scenePlan=%5B%7B%22sceneId%22%3A%22title-slide%22%2C%22durationInFrames%22%3A90%2C%22offset%22%3A0%2C%22props%22%3A%7B%22title%22%3A%22%7B%7Btitle%7D%7D%22%2C%22subtitle%22%3A%22%7B%7Bsubtitle%7D%7D%22%2C%22label%22%3A%22Prompt+Remix%22%2C%22layout%22%3A%22left-aligned%22%7D%7D%2C%7B%22sceneId%22%3A%22stat-counter%22%2C%22durationInFrames%22%3A120%2C%22offset%22%3A0%2C%22props%22%3A%7B%22stat1Value%22%3A8%2C%22stat1Label%22%3A%22Create+a+1920x1080+da%E2%80%A6%22%2C%22stat1Suffix%22%3A%22K%22%2C%22stat2Value%22%3A12%2C%22stat2Label%22%3A%22Tempo%22%2C%22stat2Suffix%22%3A%22K%22%2C%22stat3Value%22%3A15%2C%22stat3Label%22%3A%22Canvas%22%2C%22stat3Suffix%22%3A%22K%22%7D%7D%2C%7B%22sceneId%22%3A%22list-reveal%22%2C%22durationInFrames%22%3A105%2C%22offset%22%3A0%2C%22props%22%3A%7B%22title%22%3A%22Scene+beats%22%2C%22style%22%3A%22checkmarks%22%2C%22item1%22%3A%22Create+a+1920x1080+dark-themed+%28%231A1A2E%29+composition+called+%27BarLineChart%27+with+a+combi%E2%80%A6%22%2C%22item2%22%3A%22Pick+reusable+scene+primitives%22%2C%22item3%22%3A%22Compose+a+clearer+story+arc%22%2C%22item4%22%3A%22Preserve+the+motion+direction%22%2C%22item5%22%3A%22Ship+as+a+reusable+template%22%7D%7D%2C%7B%22sceneId%22%3A%22gradient-text%22%2C%22durationInFrames%22%3A90%2C%22offset%22%3A0%2C%22props%22%3A%7B%22text%22%3A%22%7B%7Btitle%7D%7D%22%2C%22subtitle%22%3A%22Prompted+by+%7B%7Bauthor%7D%7D+with+%60%60%60tsx+import+React+from+%5C%22react%5C%22%3B+import+%7B+AbsoluteFill%2C+useCurrentFrame%2C+useVideoConfig%2C+spring%2C+interpolate%2C+Sequence+%7D+from+%5C%22remotion%5C%22%3B+import+%7B+evolvePath+%7D+from+%5C%22%40remotion%2Fpaths%5C%22%3B+const+months+%3D+%5B%5C%22Jan%5C%22%2C+%5C%22Feb%5C%22%2C+%5C%22Mar%5C%22%2C+%5C%22Apr%5C%22%2C+%5C%22May%5C%22%2C+%5C%22Jun%5C%22%5D%3B+const+revenue+%3D+%5B8000%2C+12000%2C+15000%2C+11000%2C+18000%2C+22000%5D%3B+const+conversionRate+%3D+%5B2.1%2C+2.8%2C+3.2%2C+2.9%2C+3.8%2C+4.2%5D%3B+const+CHART_WIDTH+%3D+1400%3B+const+CHART_HEIGHT+%3D+600%3B+const+BAR_WIDTH+%3D+80%3B+const+MAX_REVENUE+%3D+25000%3B+const+CHART_LEFT+%3D+200%3B+const+CHART_BOTTOM+%3D+900%3B+export+const+BarLineChart%3A+React.FC+%3D+%28%29+%3D%3E+%7B+const+frame+%3D+useCurrentFrame%28%29%3B+const+%7B+fps+%7D+%3D+useVideoConfig%28%29%3B+%2F%2F+Spring+configuration+for+smooth+animation+const+springConfig+%3D+%7B+damping%3A+100%2C+stiffness%3A+100%2C+mass%3A+0.8%2C+%7D%3B+%2F%2F+Calculate+line+path+const+barSpacing+%3D+CHART_WIDTH+%2F+revenue.length%3B+const+linePoints+%3D+revenue.map%28%28_%2C+i%29+%3D%3E+%7B+const+x+%3D+CHART_LEFT+%2B+i+*+barSpacing+%2B+barSpacing+%2F+2%3B+const+y+%3D+CHART_BOTTOM+-+%28conversionRate%5Bi%5D+%2F+5%29+*+CHART_HEIGHT%3B+return+%7B+x%2C+y+%7D%3B+%7D%29%3B+%2F%2F+Create+SVG+path+const+linePath+%3D+linePoints+.map%28%28p%2C+i%29+%3D%3E+%60%24%7Bi+%3D%3D%3D+0+%3F+%5C%22M%5C%22+%3A+%5C%22L%5C%22%7D+%24%7Bp.x%7D+%24%7Bp.y%7D%60%29+.join%28%5C%22+%5C%22%29%3B+%2F%2F+Line+animation+progress+%28starts+after+bars+begin%2C+trails+behind%29+const+lineProgress+%3D+spring%28%7B+fps%2C+frame%3A+frame+-+20%2C+config%3A+%7B+...springConfig%2C+damping%3A+50+%7D%2C+%7D%29%3B+%2F%2F+Get+stroke-dasharray+and+offset+for+line+drawing+effect+const+lineEvolution+%3D+linePath+%3F+evolvePath%28Math.min%28lineProgress%2C+1%29%2C+linePath%29+%3A+%7B+strokeDasharray%3A+%5C%220%5C%22%2C+strokeDashoffset%3A+0+%7D%3B+%2F%2F+Pulse+animation+for+the+dot+marker+const+pulse+%3D+spring%28%7B+fps%2C+frame%3A+frame+-+100%2C+config%3A+%7B+damping%3A+5%2C+stiffness%3A+150%2C+mass%3A+0.5+%7D%2C+%7D%29%3B+const+dotScale+%3D+1+%2B+pulse+*+0.3%3B+%2F%2F+Get+current+tip+position+based+on+progress+const+getTipPosition+%3D+%28%29+%3D%3E+%7B+const+totalPoints+%3D+linePoints.length+-+1%3B+const+exactIndex+%3D+lineProgress+*+totalPoints%3B+const+index+%3D+Math.floor%28exactIndex%29%3B+const+nextIndex+%3D+Math.min%28index+%2B+1%2C+totalPoints%29%3B+const+localProgress+%3D+exactIndex+-+index%3B+if+%28index+%3E%3D+linePoints.length%29+return+linePoints%5BlinePoints.length+-+1%5D%3B+const+current+%3D+linePoints%5Bindex%5D%3B+const+next+%3D+linePoints%5BnextIndex%5D%3B+return+%7B+x%3A+interpolate%28localProgress%2C+%5B0%2C+1%5D%2C+%5Bcurrent.x%2C+next.x%5D%29%2C+y%3A+interpolate%28localProgress%2C+%5B0%2C+1%5D%2C+%5Bcurrent.y%2C+next.y%5D%29%2C+%7D%3B+%7D%3B+const+tipPosition+%3D+getTipPosition%28%29%3B+return+%28+%7B%2F*+Grid+lines+*%2F%7D+%7B%5B0%2C+0.25%2C+0.5%2C+0.75%2C+1%5D.map%28%28ratio%2C+i%29+%3D%3E+%28+%29%29%7D+%7B%2F*+Y-axis+labels+*%2F%7D+%7B%5B0%2C+6250%2C+12500%2C+18750%2C+25000%5D.map%28%28val%2C+i%29+%3D%3E+%28+%24%7Bval+%2F+1000%7DK+%29%29%7D+%7B%2F*+Conversion+rate+axis+labels+*%2F%7D+%7B%5B0%2C+1.25%2C+2.5%2C+3.75%2C+5%5D.map%28%28val%2C+i%29+%3D%3E+%28+%7Bval%7D%25+%29%29%7D+%7B%2F*+Bars+with+sequential+spring+animation+*%2F%7D+%7Brevenue.map%28%28rev%2C+i%29+%3D%3E+%7B+const+barStartFrame+%3D+i+*+12%3B+%2F%2F+Stagger+by+12+frames+with+overlap+const+barProgress+%3D+spring%28%7B+fps%2C+frame%3A+frame+-+barStartFrame%2C+config%3A+springConfig%2C+%7D%29%3B+const+barHeight+%3D+%28rev+%2F+MAX_REVENUE%29+*+CHART_HEIGHT+*+barProgress%3B+const+x+%3D+CHART_LEFT+%2B+i+*+barSpacing+%2B+%28barSpacing+-+BAR_WIDTH%29+%2F+2%3B+const+y+%3D+CHART_BOTTOM+-+barHeight%3B+return+%28+%7B%2F*+Revenue+label+*%2F%7D+%7BbarProgress+%3E+0.8+%26%26+%28+%24%7Brev+%2F+1000%7DK+%29%7D+%29%3B+%7D%29%7D+%7B%2F*+X-axis+labels+*%2F%7D+%7Bmonths.map%28%28month%2C+i%29+%3D%3E+%7B+const+x+%3D+CHART_LEFT+%2B+i+*+barSpacing+%2B+barSpacing+%2F+2%3B+return+%28+%7Bmonth%7D+%29%3B+%7D%29%7D+%7B%2F*+Conversion+rate+line+with+glow+effect+*%2F%7D+%7B%2F*+Pulsing+dot+marker+at+line+tip+*%2F%7D+%7BlineProgress+%3E+0+%26%26+%28+%29%7D+%29%3B+%7D%3B+%60%60%60+Register+in+your+%60Root.tsx%60%3A+%60%60%60tsx+%60%60%60+Opus+4.5%22%7D%7D%5D"
style="border:none;border-radius:12px;width:100%;aspect-ratio:1920/1080"
loading="lazy"
title="prompt-history animation"
></iframe>