diff --git a/studio-frontend/src/app/anim-editor.element.ts b/studio-frontend/src/app/anim-editor.element.ts index f622a1f..de8c9e2 100644 --- a/studio-frontend/src/app/anim-editor.element.ts +++ b/studio-frontend/src/app/anim-editor.element.ts @@ -50,7 +50,7 @@ export class AnimEditorElement extends LitElement { @state() keyframes : Record = {}; - @state() selected_track : { track: string } | {outside_entity: string } | false = false; + @state() selectedTrack?: { track: string } | { outsideEntity: string }; trackCount(): number { return Object.keys(this.tracks).length; @@ -253,8 +253,8 @@ export class AnimEditorElement extends LitElement { track_order_hashed[track] = index; } - const selected = typeof this.selected_track === "object" && "track" in this.selected_track ? this.selected_track.track : false; - const canAddSelected = typeof this.selected_track === "object" && "outside_entity" in this.selected_track ? this.selected_track.outside_entity : false; + const selected = !isOutsideEntity(this.selectedTrack) && this.selectedTrack?.track || false; + const canAddSelected = isOutsideEntity(this.selectedTrack) && this.selectedTrack.outsideEntity || false; let length = this.timelineEnd - this.timelineStart; let clip_start = (this.clipStart - this.timelineStart) / length; diff --git a/studio/src/anim/timeline_animation.rs b/studio/src/anim/timeline_animation.rs index c2b5000..e44ad7f 100644 --- a/studio/src/anim/timeline_animation.rs +++ b/studio/src/anim/timeline_animation.rs @@ -624,7 +624,7 @@ mod wasm { export interface UpdateKeyframes extends CustomEvent { type: "update-keyframes", - details: { + detail: { added: Record, removed: string[] }