add effects primitives

add blur effect
add default spring values
improve values ui
This commit is contained in:
2023-06-18 14:34:36 +02:00
parent fcd3afa3f2
commit c67e023b5c
7 changed files with 110 additions and 50 deletions

View File

@@ -0,0 +1,19 @@
import { z } from "zod";
export const EffectTypeOptions = ["Blur", "Erode", "Displace"] as const;
export const TileModeOptions = ["Clamp", "Decal", "Mirror", "Repeat"] as const;
export const EffectType = z.enum(EffectTypeOptions);
export const TileMode = z.enum(TileModeOptions);
export const EffectLayer = z.object({
entityId: z.string().uuid(),
});
export const BlurEffectLayer = EffectLayer.extend({
type: z.literal(EffectType.enum.Blur),
amountX: z.number().min(0),
amountY: z.number().min(0),
tileMode: TileMode,
});

View File

@@ -36,13 +36,13 @@ export const LinearInterpolation = z.object({
export const EasingFunctionInterpolation = z.object({
type: z.literal(InterpolationType.Enum.EasingFunction),
easing_function: EasingFunction,
easing_function: EasingFunction.default("CircOut"),
});
export const SpringInterpolation = z.object({
mass: z.number(),
damping: z.number(),
stiffness: z.number(),
mass: z.number().default(1),
damping: z.number().default(15),
stiffness: z.number().default(200),
type: z.literal(InterpolationType.Enum.Spring),
});