Files
hyperframes/packages/studio/src/utils/timelineCompositionDrop.ts
T
Miguel Ángel 2b65b4efce fix(studio): harden composition timeline reliability (#2615)
* fix(studio): preserve composition playback continuity

* feat(studio): drag compositions into the timeline

* fix(studio): collapse expanded composition move aliases

* fix(studio): make timeline cuts atomic

* fix(studio): group inspector gesture history

* test(studio): cover masked text selection

* fix(studio): harden composition timeline reliability

* fix(studio): satisfy CI source gates

* fix(studio): harden composition mutation requests
2026-07-17 14:15:30 -04:00

17 lines
562 B
TypeScript

export const TIMELINE_COMPOSITION_MIME = "application/x-hyperframes-composition";
export interface TimelineCompositionPayload {
sourcePath: string;
}
export function parseTimelineCompositionPayload(raw: string): TimelineCompositionPayload | null {
try {
const value: unknown = JSON.parse(raw);
if (typeof value !== "object" || value === null || !("sourcePath" in value)) return null;
const sourcePath = value.sourcePath;
return typeof sourcePath === "string" && sourcePath.trim() ? { sourcePath } : null;
} catch {
return null;
}
}