From 3e89d2998588f8e35c524e523ba2ee853f0f6475 Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Mon, 20 Apr 2026 11:31:17 +0200 Subject: refactor: restructure files to their domains, new preview overlay system, and dep graph --- apps/web/src/lib/animation/graph-channels.ts | 99 ---------------------------- 1 file changed, 99 deletions(-) delete mode 100644 apps/web/src/lib/animation/graph-channels.ts (limited to 'apps/web/src/lib/animation/graph-channels.ts') diff --git a/apps/web/src/lib/animation/graph-channels.ts b/apps/web/src/lib/animation/graph-channels.ts deleted file mode 100644 index 19d53e27..00000000 --- a/apps/web/src/lib/animation/graph-channels.ts +++ /dev/null @@ -1,99 +0,0 @@ -import type { - AnimationBindingInstance, - AnimationPath, - ElementAnimations, - ScalarAnimationChannel, - ScalarGraphChannel, - ScalarGraphKeyframeContext, -} from "@/lib/animation/types"; - -export interface EditableScalarChannels { - binding: AnimationBindingInstance; - channels: ScalarGraphChannel[]; -} - -function isScalarAnimationChannel( - channel: ElementAnimations["channels"][string], -): channel is ScalarAnimationChannel { - return channel?.kind === "scalar"; -} - -export function getEditableScalarChannels({ - animations, - propertyPath, -}: { - animations: ElementAnimations | undefined; - propertyPath: AnimationPath; -}): EditableScalarChannels | null { - const binding = animations?.bindings[propertyPath]; - if (!binding) { - return null; - } - - const channels = binding.components.flatMap((component) => { - const channel = animations?.channels[component.channelId]; - if (!isScalarAnimationChannel(channel)) { - return []; - } - - return [ - { - propertyPath, - componentKey: component.key, - channelId: component.channelId, - channel, - } satisfies ScalarGraphChannel, - ]; - }); - - return { binding, channels }; -} - -export function getEditableScalarChannel({ - animations, - propertyPath, - componentKey, -}: { - animations: ElementAnimations | undefined; - propertyPath: AnimationPath; - componentKey: string; -}): ScalarGraphChannel | null { - const result = getEditableScalarChannels({ animations, propertyPath }); - return result?.channels.find((channel) => channel.componentKey === componentKey) ?? null; -} - -export function getScalarKeyframeContext({ - animations, - propertyPath, - componentKey, - keyframeId, -}: { - animations: ElementAnimations | undefined; - propertyPath: AnimationPath; - componentKey: string; - keyframeId: string; -}): ScalarGraphKeyframeContext | null { - const scalarChannel = getEditableScalarChannel({ - animations, - propertyPath, - componentKey, - }); - if (!scalarChannel) { - return null; - } - - const keyframeIndex = scalarChannel.channel.keys.findIndex( - (keyframe) => keyframe.id === keyframeId, - ); - if (keyframeIndex < 0) { - return null; - } - - return { - ...scalarChannel, - keyframe: scalarChannel.channel.keys[keyframeIndex], - keyframeIndex, - previousKey: scalarChannel.channel.keys[keyframeIndex - 1] ?? null, - nextKey: scalarChannel.channel.keys[keyframeIndex + 1] ?? null, - }; -} -- cgit v1.3.1