feat(remotion): premium 3D app-showcase template (AppShowcase3D)
CI/CD / CI · Web (tsc) (push) Successful in 1m19s
CI/CD / Deploy · full stack (push) Failing after 12s

- New @remotion/three template: titanium flagship phone (thin rim, glossy black
  glass, rounded-corner screen via ShapeGeometry, dynamic island, side buttons),
  light keynote studio (contact shadow + env reflections + DOF + soft bloom),
  film grain + entrance light-sweep. All 3 aspects re-flowed.
- Editable screenUrl (user app screenshot textured onto the screen via TextureLoader
  + delayRender), appName/tagline/cta, 4 colours (dark text on light bg).
- Add pick(wide,square,tall) helper to lib/aspect.ts (Tier-0 from the R&D).
- Seed: AppShowcase3D + per-template text colour; built with the flat-artist skill.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
soroush.asadi
2026-06-21 21:28:49 +03:30
parent f83d657844
commit 1795bc855b
8 changed files with 379 additions and 2 deletions
+19
View File
@@ -24,6 +24,7 @@ import { Hero3D, hero3DSchema } from "./compositions/Hero3D";
import { Nowruz3D, nowruz3DSchema } from "./compositions/Nowruz3D";
import { Birthday3D, birthday3DSchema } from "./compositions/Birthday3D";
import { Promo3D, promo3DSchema } from "./compositions/Promo3D";
import { AppShowcase3D, appShowcase3DSchema } from "./compositions/AppShowcase3D";
export interface TemplateDef {
/** Base id; the registered composition ids are `${id}-${aspect}`. */
@@ -232,4 +233,22 @@ export const TEMPLATES: TemplateDef[] = [
textColor: "#ffffff",
},
},
{
id: "AppShowcase3D",
name: "معرفی اپلیکیشن سه‌بعدی",
description: "نمایش سه‌بعدی و حرفه‌ای اپلیکیشن روی گوشی پرچم‌دار با نورپردازی استودیویی",
component: AppShowcase3D,
schema: appShowcase3DSchema,
durationSec: 6,
defaultProps: {
appName: "اپلیکیشن شما",
tagline: "تجربه‌ای روان، سریع و زیبا",
cta: "همین حالا دانلود کنید",
screenUrl: "",
accentColor: "#3b82f6",
secondaryColor: "#8b5cf6",
backgroundColor: "#f4f5f7",
textColor: "#0f172a",
},
},
];