UNPKG

lingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

32 lines 1.41 kB
import store, { createEffect } from "@lincode/reactivity"; import { getTimelineExpandedUUIDs } from "./useTimelineExpandedUUIDs"; import { keyframesPtr } from "../pointers/keyframesPtr"; import { timelineDataPtr } from "../pointers/timelineDataPtr"; import { getTimelineData } from "./useTimelineData"; export const [setTimelineKeyframeEntries, getTimelineKeyframeEntries] = store([]); createEffect(() => { const [timelineData] = timelineDataPtr; const [expandedUUIDs] = getTimelineExpandedUUIDs(); if (!timelineData) { setTimelineKeyframeEntries([]); return; } keyframesPtr[0] = {}; const [keyframes] = keyframesPtr; for (const [uuid, data] of Object.entries(timelineData)) { const frameRecord = (keyframes[uuid] = {}); for (const frames of Object.values(data)) for (const frame of Object.keys(frames)) frameRecord[frame] = true; if (!expandedUUIDs.has(uuid)) continue; for (const [property, frames] of Object.entries(data)) { const layerFrameList = (keyframes[uuid + " " + property] = {}); for (const frame of Object.keys(frames)) layerFrameList[frame] = true; } } //mark setTimelineKeyframeEntries(Object.entries(keyframes)); }, [getTimelineExpandedUUIDs, getTimelineData]); //# sourceMappingURL=useTimelineKeyframeEntries.js.map