add playback

This commit is contained in:
2023-05-25 21:28:11 +02:00
parent 60c8bb5877
commit b671f9ee47
16 changed files with 417 additions and 163 deletions

View File

@@ -9,6 +9,7 @@ interface EntitiesStore {
selectedEntity: number | undefined;
selectEntity: (index: number) => void;
deselectEntity: () => void;
setEntities: (entities: z.input<typeof AnimatedEntities>) => void;
updateEntity: (
index: number,
entity: Partial<z.input<typeof AnimatedEntity>>
@@ -24,6 +25,7 @@ const useEntitiesStore = create<EntitiesStore>((set) => ({
selectEntity: (index) => set(() => ({ selectedEntity: index })),
deselectEntity: () => set(() => ({ selectedEntity: undefined })),
selectedEntity: undefined,
setEntities: (entities) => set({ entities }),
updateEntityById: (id, entity) =>
set(({ entities }) => {
const nextEntities = produce(entities, (draft) => {

View File

@@ -4,6 +4,8 @@ import { create } from "zustand";
interface RenderStateStore {
renderState: z.infer<typeof RenderState>;
playing: boolean;
setPlaying: (playing: boolean) => void;
setCurrentFrame: (target: number) => void;
}
@@ -11,6 +13,8 @@ const useRenderStateStore = create<RenderStateStore>((set) => ({
renderState: {
curr_frame: 20,
},
playing: false,
setPlaying: (playing) => set({ playing }),
setCurrentFrame: (target) =>
set((store) => {
store.renderState = {

View File

@@ -7,8 +7,8 @@ interface TimelineStore {
}
const useTimelineStore = create<TimelineStore>((set) => ({
fps: 60,
size: [1920, 1080],
fps: 120,
size: [1280, 720],
duration: 10.0,
}));