feat: add wallpaper types and animation metadata
AnimationType, WallpaperConfig, uniform definitions, and animation tier metadata (free/premium/pro).
This commit is contained in:
79
src/types/wallpaper.ts
Normal file
79
src/types/wallpaper.ts
Normal file
@@ -0,0 +1,79 @@
|
||||
export type AnimationType =
|
||||
| "ken-burns"
|
||||
| "color-shift"
|
||||
| "particles"
|
||||
| "vignette-pulse"
|
||||
| "glitch"
|
||||
| "depth-parallax";
|
||||
|
||||
export type ParticlePreset = "snow" | "rain" | "bokeh" | "dust" | "fireflies";
|
||||
|
||||
export interface AnimationUniforms {
|
||||
intensity: number;
|
||||
speed: number;
|
||||
direction: number; // 0-360 degrees
|
||||
scale: number;
|
||||
[key: string]: number;
|
||||
}
|
||||
|
||||
export interface WallpaperConfig {
|
||||
id: string;
|
||||
sourceUri: string;
|
||||
depthMapUri?: string;
|
||||
animation: AnimationType;
|
||||
uniforms: AnimationUniforms;
|
||||
particlePreset?: ParticlePreset;
|
||||
fps: number;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
export interface WallpaperPreview {
|
||||
id: string;
|
||||
thumbnailUri: string;
|
||||
animation: AnimationType;
|
||||
config: WallpaperConfig;
|
||||
}
|
||||
|
||||
export const DEFAULT_UNIFORMS: AnimationUniforms = {
|
||||
intensity: 0.5,
|
||||
speed: 0.3,
|
||||
direction: 0,
|
||||
scale: 1.0,
|
||||
};
|
||||
|
||||
export const ANIMATION_META: Record<
|
||||
AnimationType,
|
||||
{ label: string; description: string; tier: "free" | "premium" | "pro" }
|
||||
> = {
|
||||
"ken-burns": {
|
||||
label: "Ken Burns",
|
||||
description: "Zoom lent et panoramique doux",
|
||||
tier: "free",
|
||||
},
|
||||
"color-shift": {
|
||||
label: "Color Shift",
|
||||
description: "Variation cyclique teinte/saturation",
|
||||
tier: "free",
|
||||
},
|
||||
particles: {
|
||||
label: "Particules",
|
||||
description: "Overlay animé de particules",
|
||||
tier: "free",
|
||||
},
|
||||
"vignette-pulse": {
|
||||
label: "Vignette",
|
||||
description: "Vignette dynamique oscillante",
|
||||
tier: "premium",
|
||||
},
|
||||
glitch: {
|
||||
label: "Glitch",
|
||||
description: "Décalage RGB avec noise",
|
||||
tier: "premium",
|
||||
},
|
||||
"depth-parallax": {
|
||||
label: "Parallax 3D",
|
||||
description: "Effet de profondeur via depth map IA",
|
||||
tier: "pro",
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user