@editframe/elements 0.31.1-beta.0 → 0.32.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/canvas/EFCanvas.d.ts +4 -4
  2. package/dist/canvas/EFCanvasItem.d.ts +4 -4
  3. package/dist/elements/EFAudio.d.ts +4 -4
  4. package/dist/elements/EFCaptions.d.ts +12 -12
  5. package/dist/elements/EFImage.d.ts +7 -7
  6. package/dist/elements/EFMedia.d.ts +4 -4
  7. package/dist/elements/EFPanZoom.d.ts +4 -4
  8. package/dist/elements/EFSurface.d.ts +6 -6
  9. package/dist/elements/EFText.d.ts +4 -4
  10. package/dist/elements/EFTextSegment.d.ts +4 -4
  11. package/dist/elements/EFThumbnailStrip.d.ts +6 -6
  12. package/dist/elements/EFTimegroup.d.ts +4 -4
  13. package/dist/elements/EFVideo.d.ts +6 -6
  14. package/dist/elements/EFWaveform.d.ts +4 -4
  15. package/dist/getRenderInfo.d.ts +4 -4
  16. package/dist/gui/EFActiveRootTemporal.d.ts +4 -4
  17. package/dist/gui/EFConfiguration.d.ts +4 -4
  18. package/dist/gui/EFControls.d.ts +2 -2
  19. package/dist/gui/EFDial.d.ts +4 -4
  20. package/dist/gui/EFFilmstrip.d.ts +4 -4
  21. package/dist/gui/EFFitScale.d.ts +3 -3
  22. package/dist/gui/EFFocusOverlay.d.ts +6 -6
  23. package/dist/gui/EFOverlayItem.d.ts +4 -4
  24. package/dist/gui/EFOverlayLayer.d.ts +4 -4
  25. package/dist/gui/EFPause.d.ts +4 -4
  26. package/dist/gui/EFPlay.d.ts +4 -4
  27. package/dist/gui/EFPreview.d.ts +4 -4
  28. package/dist/gui/EFResizableBox.d.ts +4 -4
  29. package/dist/gui/EFScrubber.d.ts +4 -4
  30. package/dist/gui/EFTimeDisplay.d.ts +4 -4
  31. package/dist/gui/EFTimelineRuler.d.ts +4 -4
  32. package/dist/gui/EFToggleLoop.d.ts +4 -4
  33. package/dist/gui/EFTogglePlay.d.ts +4 -4
  34. package/dist/gui/EFTransformHandles.d.ts +4 -4
  35. package/dist/gui/EFWorkbench.d.ts +6 -6
  36. package/dist/gui/hierarchy/EFHierarchy.d.ts +4 -4
  37. package/dist/gui/hierarchy/EFHierarchyItem.d.ts +2 -2
  38. package/dist/gui/timeline/EFTimeline.d.ts +2 -2
  39. package/dist/gui/timeline/TrimHandles.d.ts +4 -4
  40. package/dist/gui/tree/EFTree.d.ts +4 -4
  41. package/dist/gui/tree/EFTreeItem.d.ts +4 -4
  42. package/dist/index.d.ts +3 -1
  43. package/dist/index.js +3 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/preview/renderTimegroupToVideo.d.ts +2 -1
  46. package/dist/preview/renderTimegroupToVideo.js +15 -7
  47. package/dist/preview/renderTimegroupToVideo.js.map +1 -1
  48. package/dist/render/EFRenderAPI.js +67 -0
  49. package/dist/render/EFRenderAPI.js.map +1 -0
  50. package/dist/render/getRenderData.d.ts +31 -0
  51. package/dist/render/getRenderData.js +29 -0
  52. package/dist/render/getRenderData.js.map +1 -0
  53. package/package.json +2 -2
@@ -1,8 +1,8 @@
1
1
  import { PanZoomTransform } from "../elements/EFPanZoom.js";
2
2
  import { EFOverlayItem } from "./EFOverlayItem.js";
3
- import * as lit35 from "lit";
3
+ import * as lit19 from "lit";
4
4
  import { LitElement } from "lit";
5
- import * as lit_html34 from "lit-html";
5
+ import * as lit_html17 from "lit-html";
6
6
 
7
7
  //#region src/gui/EFOverlayLayer.d.ts
8
8
 
@@ -26,7 +26,7 @@ import * as lit_html34 from "lit-html";
26
26
  * 2. EFOverlayItem can use this rect for coordinate calculations
27
27
  */
28
28
  declare class EFOverlayLayer extends LitElement {
29
- static styles: lit35.CSSResult[];
29
+ static styles: lit19.CSSResult[];
30
30
  panZoomTransformFromContext?: PanZoomTransform;
31
31
  /**
32
32
  * Pan/zoom transform as fallback for when context or sibling PanZoom is not available.
@@ -58,7 +58,7 @@ declare class EFOverlayLayer extends LitElement {
58
58
  connectedCallback(): void;
59
59
  disconnectedCallback(): void;
60
60
  updated(): void;
61
- render(): lit_html34.TemplateResult<1>;
61
+ render(): lit_html17.TemplateResult<1>;
62
62
  }
63
63
  declare global {
64
64
  interface HTMLElementTagNameMap {
@@ -1,7 +1,7 @@
1
1
  import { ControllableInterface } from "./Controllable.js";
2
- import * as lit20 from "lit";
2
+ import * as lit4 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html20 from "lit-html";
4
+ import * as lit_html3 from "lit-html";
5
5
 
6
6
  //#region src/gui/EFPause.d.ts
7
7
  declare const EFPause_base: (new (...args: any[]) => {
@@ -10,13 +10,13 @@ declare const EFPause_base: (new (...args: any[]) => {
10
10
  effectiveContext: ControllableInterface | null;
11
11
  }) & typeof LitElement;
12
12
  declare class EFPause extends EFPause_base {
13
- static styles: lit20.CSSResult[];
13
+ static styles: lit4.CSSResult[];
14
14
  playing: boolean;
15
15
  get efContext(): ControllableInterface | null;
16
16
  connectedCallback(): void;
17
17
  disconnectedCallback(): void;
18
18
  updated(changedProperties: Map<string | number | symbol, unknown>): void;
19
- render(): lit_html20.TemplateResult<1>;
19
+ render(): lit_html3.TemplateResult<1>;
20
20
  handleClick: () => void;
21
21
  }
22
22
  declare global {
@@ -1,7 +1,7 @@
1
1
  import { ControllableInterface } from "./Controllable.js";
2
- import * as lit19 from "lit";
2
+ import * as lit3 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html19 from "lit-html";
4
+ import * as lit_html2 from "lit-html";
5
5
 
6
6
  //#region src/gui/EFPlay.d.ts
7
7
  declare const EFPlay_base: (new (...args: any[]) => {
@@ -10,13 +10,13 @@ declare const EFPlay_base: (new (...args: any[]) => {
10
10
  effectiveContext: ControllableInterface | null;
11
11
  }) & typeof LitElement;
12
12
  declare class EFPlay extends EFPlay_base {
13
- static styles: lit19.CSSResult[];
13
+ static styles: lit3.CSSResult[];
14
14
  playing: boolean;
15
15
  get efContext(): ControllableInterface | null;
16
16
  connectedCallback(): void;
17
17
  disconnectedCallback(): void;
18
18
  updated(changedProperties: Map<string | number | symbol, unknown>): void;
19
- render(): lit_html19.TemplateResult<1>;
19
+ render(): lit_html2.TemplateResult<1>;
20
20
  handleClick: () => void;
21
21
  }
22
22
  declare global {
@@ -1,19 +1,19 @@
1
1
  import { ContextMixinInterface } from "./ContextMixin.js";
2
- import * as lit13 from "lit";
2
+ import * as lit35 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html13 from "lit-html";
4
+ import * as lit_html32 from "lit-html";
5
5
 
6
6
  //#region src/gui/EFPreview.d.ts
7
7
  declare const EFPreview_base: (new (...args: any[]) => ContextMixinInterface) & typeof LitElement;
8
8
  declare class EFPreview extends EFPreview_base {
9
- static styles: lit13.CSSResult[];
9
+ static styles: lit35.CSSResult[];
10
10
  focusedElement?: HTMLElement;
11
11
  /**
12
12
  * Find the closest temporal element (timegroup, video, audio, etc.)
13
13
  */
14
14
  private findClosestTemporal;
15
15
  constructor();
16
- render(): lit_html13.TemplateResult<1>;
16
+ render(): lit_html32.TemplateResult<1>;
17
17
  }
18
18
  declare global {
19
19
  interface HTMLElementTagNameMap {
@@ -1,6 +1,6 @@
1
- import * as lit29 from "lit";
1
+ import * as lit13 from "lit";
2
2
  import { LitElement } from "lit";
3
- import * as lit_html28 from "lit-html";
3
+ import * as lit_html11 from "lit-html";
4
4
 
5
5
  //#region src/gui/EFResizableBox.d.ts
6
6
  interface BoxBounds {
@@ -21,7 +21,7 @@ declare class EFResizableBox extends LitElement {
21
21
  private resizeStartCorner;
22
22
  private resizeStartSize;
23
23
  private resizeStartPosition;
24
- static styles: lit29.CSSResult;
24
+ static styles: lit13.CSSResult;
25
25
  private resizeObserver?;
26
26
  connectedCallback(): void;
27
27
  disconnectedCallback(): void;
@@ -30,7 +30,7 @@ declare class EFResizableBox extends LitElement {
30
30
  private handlePointerUp;
31
31
  private cleanup;
32
32
  private dispatchBoundsChange;
33
- render(): lit_html28.TemplateResult<1>;
33
+ render(): lit_html11.TemplateResult<1>;
34
34
  }
35
35
  //#endregion
36
36
  export { BoxBounds, EFResizableBox };
@@ -1,7 +1,7 @@
1
1
  import { ControllableInterface } from "./Controllable.js";
2
- import * as lit22 from "lit";
2
+ import * as lit6 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html22 from "lit-html";
4
+ import * as lit_html5 from "lit-html";
5
5
 
6
6
  //#region src/gui/EFScrubber.d.ts
7
7
  declare const EFScrubber_base: (new (...args: any[]) => {
@@ -10,7 +10,7 @@ declare const EFScrubber_base: (new (...args: any[]) => {
10
10
  effectiveContext: ControllableInterface | null;
11
11
  }) & typeof LitElement;
12
12
  declare class EFScrubber extends EFScrubber_base {
13
- static styles: lit22.CSSResult[];
13
+ static styles: lit6.CSSResult[];
14
14
  playing: boolean;
15
15
  contextCurrentTimeMs: number;
16
16
  contextDurationMs: number;
@@ -50,7 +50,7 @@ declare class EFScrubber extends EFScrubber_base {
50
50
  private boundHandlePointerUp;
51
51
  private boundHandlePointerCancel;
52
52
  private boundHandleContextMenu;
53
- render(): lit_html22.TemplateResult<1>;
53
+ render(): lit_html5.TemplateResult<1>;
54
54
  connectedCallback(): void;
55
55
  disconnectedCallback(): void;
56
56
  }
@@ -1,7 +1,7 @@
1
1
  import { ControllableInterface } from "./Controllable.js";
2
- import * as lit23 from "lit";
2
+ import * as lit7 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html23 from "lit-html";
4
+ import * as lit_html6 from "lit-html";
5
5
 
6
6
  //#region src/gui/EFTimeDisplay.d.ts
7
7
  declare const EFTimeDisplay_base: (new (...args: any[]) => {
@@ -10,11 +10,11 @@ declare const EFTimeDisplay_base: (new (...args: any[]) => {
10
10
  effectiveContext: ControllableInterface | null;
11
11
  }) & typeof LitElement;
12
12
  declare class EFTimeDisplay extends EFTimeDisplay_base {
13
- static styles: lit23.CSSResult;
13
+ static styles: lit7.CSSResult;
14
14
  currentTimeMs: number;
15
15
  durationMs: number;
16
16
  private formatTime;
17
- render(): lit_html23.TemplateResult<1>;
17
+ render(): lit_html6.TemplateResult<1>;
18
18
  }
19
19
  declare global {
20
20
  interface HTMLElementTagNameMap {
@@ -1,7 +1,7 @@
1
1
  import { TimelineState } from "./timeline/timelineStateContext.js";
2
- import * as lit37 from "lit";
2
+ import * as lit21 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html36 from "lit-html";
4
+ import * as lit_html19 from "lit-html";
5
5
 
6
6
  //#region src/gui/EFTimelineRuler.d.ts
7
7
  /**
@@ -25,7 +25,7 @@ declare function calculatePixelsPerFrame(frameIntervalMs: number, pixelsPerMs: n
25
25
  */
26
26
  declare function shouldShowFrameMarkers(pixelsPerFrame: number, minSpacing?: number): boolean;
27
27
  declare class EFTimelineRuler extends LitElement {
28
- static styles: lit37.CSSResult[];
28
+ static styles: lit21.CSSResult[];
29
29
  durationMs: number;
30
30
  contextDurationMs: number;
31
31
  timelineState?: TimelineState;
@@ -59,7 +59,7 @@ declare class EFTimelineRuler extends LitElement {
59
59
  private calculateLabelInterval;
60
60
  private getVisibleLabels;
61
61
  private renderCanvas;
62
- render(): lit_html36.TemplateResult<1>;
62
+ render(): lit_html19.TemplateResult<1>;
63
63
  }
64
64
  declare global {
65
65
  interface HTMLElementTagNameMap {
@@ -1,7 +1,7 @@
1
1
  import { ControllableInterface } from "./Controllable.js";
2
- import * as lit21 from "lit";
2
+ import * as lit5 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html21 from "lit-html";
4
+ import * as lit_html4 from "lit-html";
5
5
 
6
6
  //#region src/gui/EFToggleLoop.d.ts
7
7
  declare const EFToggleLoop_base: (new (...args: any[]) => {
@@ -10,9 +10,9 @@ declare const EFToggleLoop_base: (new (...args: any[]) => {
10
10
  effectiveContext: ControllableInterface | null;
11
11
  }) & typeof LitElement;
12
12
  declare class EFToggleLoop extends EFToggleLoop_base {
13
- static styles: lit21.CSSResult[];
13
+ static styles: lit5.CSSResult[];
14
14
  get context(): ControllableInterface | null;
15
- render(): lit_html21.TemplateResult<1>;
15
+ render(): lit_html4.TemplateResult<1>;
16
16
  }
17
17
  declare global {
18
18
  interface HTMLElementTagNameMap {
@@ -1,7 +1,7 @@
1
1
  import { ControllableInterface } from "./Controllable.js";
2
- import * as lit18 from "lit";
2
+ import * as lit2 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html18 from "lit-html";
4
+ import * as lit_html1 from "lit-html";
5
5
 
6
6
  //#region src/gui/EFTogglePlay.d.ts
7
7
  declare const EFTogglePlay_base: (new (...args: any[]) => {
@@ -10,12 +10,12 @@ declare const EFTogglePlay_base: (new (...args: any[]) => {
10
10
  effectiveContext: ControllableInterface | null;
11
11
  }) & typeof LitElement;
12
12
  declare class EFTogglePlay extends EFTogglePlay_base {
13
- static styles: lit18.CSSResult[];
13
+ static styles: lit2.CSSResult[];
14
14
  playing: boolean;
15
15
  get efContext(): ControllableInterface | null;
16
16
  connectedCallback(): void;
17
17
  disconnectedCallback(): void;
18
- render(): lit_html18.TemplateResult<1>;
18
+ render(): lit_html1.TemplateResult<1>;
19
19
  togglePlay: () => void;
20
20
  private getPlaybackController;
21
21
  }
@@ -1,7 +1,7 @@
1
1
  import { PanZoomTransform } from "../elements/EFPanZoom.js";
2
- import * as lit28 from "lit";
2
+ import * as lit12 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html27 from "lit-html";
4
+ import * as lit_html10 from "lit-html";
5
5
 
6
6
  //#region src/gui/EFTransformHandles.d.ts
7
7
  interface TransformBounds {
@@ -49,7 +49,7 @@ declare class EFTransformHandles extends LitElement {
49
49
  * Note: Not a @state() property to avoid re-renders during interaction.
50
50
  */
51
51
  private initialBounds;
52
- static styles: lit28.CSSResult;
52
+ static styles: lit12.CSSResult;
53
53
  private resizeObserver?;
54
54
  /**
55
55
  * Single source of truth for zoom scale.
@@ -79,7 +79,7 @@ declare class EFTransformHandles extends LitElement {
79
79
  private handleMouseMove;
80
80
  private handleMouseUp;
81
81
  private cleanup;
82
- render(): lit_html27.TemplateResult<1>;
82
+ render(): lit_html10.TemplateResult<1>;
83
83
  }
84
84
  declare global {
85
85
  interface HTMLElementTagNameMap {
@@ -1,14 +1,14 @@
1
1
  import { ContextMixinInterface } from "./ContextMixin.js";
2
2
  import { RenderToVideoOptions } from "../preview/renderTimegroupToVideo.js";
3
- import * as lit12 from "lit";
3
+ import * as lit34 from "lit";
4
4
  import { LitElement, PropertyValueMap } from "lit";
5
- import * as lit_html12 from "lit-html";
6
- import * as lit_html_directives_ref_js2 from "lit-html/directives/ref.js";
5
+ import * as lit_html31 from "lit-html";
6
+ import * as lit_html_directives_ref_js0 from "lit-html/directives/ref.js";
7
7
 
8
8
  //#region src/gui/EFWorkbench.d.ts
9
9
  declare const EFWorkbench_base: (new (...args: any[]) => ContextMixinInterface) & typeof LitElement;
10
10
  declare class EFWorkbench extends EFWorkbench_base {
11
- static styles: lit12.CSSResult[];
11
+ static styles: lit34.CSSResult[];
12
12
  rendering: boolean;
13
13
  private panZoomTransform;
14
14
  private isExporting;
@@ -60,7 +60,7 @@ declare class EFWorkbench extends EFWorkbench_base {
60
60
  private canvasPreviewResult;
61
61
  private canvasAnimationFrame;
62
62
  private boundHandleTransformChanged;
63
- focusOverlay: lit_html_directives_ref_js2.Ref<HTMLDivElement>;
63
+ focusOverlay: lit_html_directives_ref_js0.Ref<HTMLDivElement>;
64
64
  handleStageWheel(event: WheelEvent): void;
65
65
  connectedCallback(): void;
66
66
  disconnectedCallback(): void;
@@ -193,7 +193,7 @@ declare class EFWorkbench extends EFWorkbench_base {
193
193
  updated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
194
194
  drawOverlays: () => void;
195
195
  private renderPlaybackStats;
196
- render(): lit_html12.TemplateResult<1>;
196
+ render(): lit_html31.TemplateResult<1>;
197
197
  }
198
198
  declare global {
199
199
  interface HTMLElementTagNameMap {
@@ -1,12 +1,12 @@
1
1
  import { SelectionContext } from "../../canvas/selection/selectionContext.js";
2
- import * as lit14 from "lit";
2
+ import * as lit36 from "lit";
3
3
  import { LitElement, PropertyValues } from "lit";
4
- import * as lit_html15 from "lit-html";
4
+ import * as lit_html34 from "lit-html";
5
5
 
6
6
  //#region src/gui/hierarchy/EFHierarchy.d.ts
7
7
  declare const EFHierarchy_base: typeof LitElement;
8
8
  declare class EFHierarchy extends EFHierarchy_base {
9
- static styles: lit14.CSSResult[];
9
+ static styles: lit36.CSSResult[];
10
10
  target: string;
11
11
  header: string;
12
12
  showHeader: boolean;
@@ -53,7 +53,7 @@ declare class EFHierarchy extends EFHierarchy_base {
53
53
  private autoSelectFirstRootTimegroup;
54
54
  private setupSelectionListener;
55
55
  private removeSelectionListener;
56
- render(): lit_html15.TemplateResult<1>;
56
+ render(): lit_html34.TemplateResult<1>;
57
57
  }
58
58
  declare global {
59
59
  interface HTMLElementTagNameMap {
@@ -4,13 +4,13 @@ import { EFAudio } from "../../elements/EFAudio.js";
4
4
  import { EFTimegroup } from "../../elements/EFTimegroup.js";
5
5
  import { EFImage } from "../../elements/EFImage.js";
6
6
  import { HierarchyContext } from "./hierarchyContext.js";
7
- import * as lit15 from "lit";
7
+ import * as lit0 from "lit";
8
8
  import { LitElement, PropertyValues, TemplateResult, nothing } from "lit";
9
9
 
10
10
  //#region src/gui/hierarchy/EFHierarchyItem.d.ts
11
11
  declare const EFHierarchyItem_base: typeof LitElement;
12
12
  declare class EFHierarchyItem<ElementType extends HTMLElement = HTMLElement> extends EFHierarchyItem_base {
13
- static styles: lit15.CSSResult[];
13
+ static styles: lit0.CSSResult[];
14
14
  hierarchyContext?: HierarchyContext;
15
15
  canvasSelectionContext?: SelectionContext;
16
16
  element: ElementType;
@@ -1,7 +1,7 @@
1
1
  import { TemporalMixinInterface } from "../../elements/EFTemporal.js";
2
2
  import { SelectionContext } from "../../canvas/selection/selectionContext.js";
3
3
  import { TimelineState } from "./timelineStateContext.js";
4
- import * as lit38 from "lit";
4
+ import * as lit22 from "lit";
5
5
  import { LitElement, PropertyValues, TemplateResult } from "lit";
6
6
 
7
7
  //#region src/gui/timeline/EFTimeline.d.ts
@@ -14,7 +14,7 @@ declare const EFTimeline_base: typeof LitElement;
14
14
  */
15
15
  declare class EFTimeline extends EFTimeline_base {
16
16
  #private;
17
- static styles: lit38.CSSResult[];
17
+ static styles: lit22.CSSResult[];
18
18
  /**
19
19
  * Target element ID or "selection" to derive from canvas selection.
20
20
  *
@@ -1,6 +1,6 @@
1
- import * as lit39 from "lit";
1
+ import * as lit23 from "lit";
2
2
  import { LitElement } from "lit";
3
- import * as lit_html37 from "lit-html";
3
+ import * as lit_html20 from "lit-html";
4
4
 
5
5
  //#region src/gui/timeline/TrimHandles.d.ts
6
6
  interface TrimChangeDetail {
@@ -11,7 +11,7 @@ interface TrimChangeDetail {
11
11
  }
12
12
  declare const EFTrimHandles_base: typeof LitElement;
13
13
  declare class EFTrimHandles extends EFTrimHandles_base {
14
- static styles: lit39.CSSResult[];
14
+ static styles: lit23.CSSResult[];
15
15
  elementId: string;
16
16
  pixelsPerMs: number;
17
17
  trimStartMs: number;
@@ -24,7 +24,7 @@ declare class EFTrimHandles extends EFTrimHandles_base {
24
24
  private handlePointerDown;
25
25
  private handlePointerMove;
26
26
  private handlePointerUp;
27
- render(): lit_html37.TemplateResult<1>;
27
+ render(): lit_html20.TemplateResult<1>;
28
28
  }
29
29
  declare global {
30
30
  interface HTMLElementTagNameMap {
@@ -1,7 +1,7 @@
1
1
  import { TreeItem } from "./treeContext.js";
2
- import * as lit16 from "lit";
2
+ import * as lit0 from "lit";
3
3
  import { LitElement, PropertyValues } from "lit";
4
- import * as lit_html16 from "lit-html";
4
+ import * as lit_html0 from "lit-html";
5
5
 
6
6
  //#region src/gui/tree/EFTree.d.ts
7
7
 
@@ -28,7 +28,7 @@ import * as lit_html16 from "lit-html";
28
28
  * ```
29
29
  */
30
30
  declare class EFTree extends LitElement {
31
- static styles: lit16.CSSResult;
31
+ static styles: lit0.CSSResult;
32
32
  /** Tree items to display */
33
33
  items: TreeItem[];
34
34
  /** Optional header text */
@@ -47,7 +47,7 @@ declare class EFTree extends LitElement {
47
47
  protected willUpdate(changedProperties: PropertyValues): void;
48
48
  protected updated(changedProperties: PropertyValues): void;
49
49
  connectedCallback(): void;
50
- render(): lit_html16.TemplateResult<1>;
50
+ render(): lit_html0.TemplateResult<1>;
51
51
  }
52
52
  declare global {
53
53
  interface HTMLElementTagNameMap {
@@ -1,7 +1,7 @@
1
1
  import { TreeContext, TreeItem } from "./treeContext.js";
2
- import * as lit17 from "lit";
2
+ import * as lit1 from "lit";
3
3
  import { LitElement, nothing } from "lit";
4
- import * as lit_html17 from "lit-html";
4
+ import * as lit_html0 from "lit-html";
5
5
 
6
6
  //#region src/gui/tree/EFTreeItem.d.ts
7
7
 
@@ -17,7 +17,7 @@ import * as lit_html17 from "lit-html";
17
17
  * @fires tree-item-click - When item is clicked (for selection)
18
18
  */
19
19
  declare class EFTreeItem extends LitElement {
20
- static styles: lit17.CSSResult;
20
+ static styles: lit1.CSSResult;
21
21
  treeContext?: TreeContext;
22
22
  item: TreeItem;
23
23
  private localExpanded;
@@ -26,7 +26,7 @@ declare class EFTreeItem extends LitElement {
26
26
  get hasChildren(): boolean;
27
27
  private handleClick;
28
28
  private handleExpandClick;
29
- render(): lit_html17.TemplateResult<1> | typeof nothing;
29
+ render(): lit_html0.TemplateResult<1> | typeof nothing;
30
30
  }
31
31
  declare global {
32
32
  interface HTMLElementTagNameMap {
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ import { TemporalMixinInterface, isEFTemporal } from "./elements/EFTemporal.js";
3
3
  import { EFMedia } from "./elements/EFMedia.js";
4
4
  import { ContainerInfo, getContainerInfoFromElement } from "./elements/ContainerInfo.js";
5
5
  import { ElementPositionInfo, PositionInfoMixin, getPositionInfoFromElement } from "./elements/ElementPositionInfo.js";
6
+ import { RenderProgress, RenderToVideoOptions } from "./preview/renderTimegroupToVideo.js";
6
7
  import { CanvasElementBounds, CanvasElementData, SelectionState } from "./canvas/api/types.js";
7
8
  import { EFPanZoom, PanZoomTransform } from "./elements/EFPanZoom.js";
8
9
  import { EFOverlayItem, OverlayItemPosition } from "./gui/EFOverlayItem.js";
@@ -50,4 +51,5 @@ import { EFCanvasItem } from "./canvas/EFCanvasItem.js";
50
51
  import { CanvasAPI } from "./canvas/api/CanvasAPI.js";
51
52
  import { SelectionModel } from "./canvas/selection/SelectionModel.js";
52
53
  import { RenderInfo, getRenderInfo } from "./getRenderInfo.js";
53
- export { type BoxBounds, CanvasAPI, type CanvasElementBounds, type CanvasElementData, type ContainerInfo, type DialChangeDetail, EFActiveRootTemporal, EFAudio, EFAudioHierarchyItem, EFCanvas, EFCanvasItem, EFCaptions, EFCaptionsActiveWord, EFCaptionsActiveWordHierarchyItem, EFCaptionsAfterActiveWord, EFCaptionsBeforeActiveWord, EFCaptionsHierarchyItem, EFCaptionsSegment, EFConfiguration, EFControls, EFDial, EFFilmstrip, EFFitScale, EFFocusOverlay, EFHTMLHierarchyItem, EFHierarchy, EFHierarchyItem, EFImage, EFImageHierarchyItem, type EFMedia, EFOverlayItem, EFOverlayLayer, EFPanZoom, EFPause, EFPlay, EFPreview, EFResizableBox, EFScrubber, EFSurface, EFText, EFTextHierarchyItem, EFTextSegment, EFTextSegmentHierarchyItem, EFThumbnailStrip, EFTimeDisplay, EFTimegroup, EFTimegroupHierarchyItem, EFTimeline, EFTimelineRuler, EFToggleLoop, EFTogglePlay, EFTransformHandles, EFTree, EFTreeItem, EFTrimHandles, EFVideo, EFVideoHierarchyItem, EFWaveform, EFWaveformHierarchyItem, EFWorkbench, type ElementPositionInfo, type HierarchyActions, type HierarchyContext, type HierarchyState, type OverlayItemPosition, type PanZoomTransform, PositionInfoMixin, RenderInfo, SelectionModel, type SelectionState, type TemporalMixinInterface, type TraceContext, type TransformBounds, type TreeActions, type TreeContext, type TreeItem, type TreeState, type TrimChangeDetail, calculateFrameIntervalMs, calculatePixelsPerFrame, collectAllIds, elementNeedsFitScale, getContainerInfoFromElement, getCornerPoint, getOppositeCorner, getPositionInfoFromElement, getRenderInfo, hierarchyContext, isEFTemporal, needsFitScale, quantizeToFrameTimeMs, rotatePoint, shouldShowFrameMarkers, treeContext };
54
+ import { getRenderData } from "./render/getRenderData.js";
55
+ export { type BoxBounds, CanvasAPI, type CanvasElementBounds, type CanvasElementData, type ContainerInfo, type DialChangeDetail, EFActiveRootTemporal, EFAudio, EFAudioHierarchyItem, EFCanvas, EFCanvasItem, EFCaptions, EFCaptionsActiveWord, EFCaptionsActiveWordHierarchyItem, EFCaptionsAfterActiveWord, EFCaptionsBeforeActiveWord, EFCaptionsHierarchyItem, EFCaptionsSegment, EFConfiguration, EFControls, EFDial, EFFilmstrip, EFFitScale, EFFocusOverlay, EFHTMLHierarchyItem, EFHierarchy, EFHierarchyItem, EFImage, EFImageHierarchyItem, type EFMedia, EFOverlayItem, EFOverlayLayer, EFPanZoom, EFPause, EFPlay, EFPreview, EFResizableBox, EFScrubber, EFSurface, EFText, EFTextHierarchyItem, EFTextSegment, EFTextSegmentHierarchyItem, EFThumbnailStrip, EFTimeDisplay, EFTimegroup, EFTimegroupHierarchyItem, EFTimeline, EFTimelineRuler, EFToggleLoop, EFTogglePlay, EFTransformHandles, EFTree, EFTreeItem, EFTrimHandles, EFVideo, EFVideoHierarchyItem, EFWaveform, EFWaveformHierarchyItem, EFWorkbench, type ElementPositionInfo, type HierarchyActions, type HierarchyContext, type HierarchyState, type OverlayItemPosition, type PanZoomTransform, PositionInfoMixin, RenderInfo, type RenderProgress, type RenderToVideoOptions, SelectionModel, type SelectionState, type TemporalMixinInterface, type TraceContext, type TransformBounds, type TreeActions, type TreeContext, type TreeItem, type TreeState, type TrimChangeDetail, calculateFrameIntervalMs, calculatePixelsPerFrame, collectAllIds, elementNeedsFitScale, getContainerInfoFromElement, getCornerPoint, getOppositeCorner, getPositionInfoFromElement, getRenderData, getRenderInfo, hierarchyContext, isEFTemporal, needsFitScale, quantizeToFrameTimeMs, rotatePoint, shouldShowFrameMarkers, treeContext };
package/dist/index.js CHANGED
@@ -50,10 +50,12 @@ import { EFCanvasItem } from "./canvas/EFCanvasItem.js";
50
50
  import { EFOverlayItem } from "./gui/EFOverlayItem.js";
51
51
  import "./EF_FRAMEGEN.js";
52
52
  import { RenderInfo, getRenderInfo } from "./getRenderInfo.js";
53
+ import "./render/EFRenderAPI.js";
54
+ import { getRenderData } from "./render/getRenderData.js";
53
55
 
54
56
  //#region src/index.ts
55
57
  if (typeof window !== "undefined") window.EF_REGISTERED = true;
56
58
 
57
59
  //#endregion
58
- export { CanvasAPI, EFActiveRootTemporal, EFAudio, EFAudioHierarchyItem, EFCanvas, EFCanvasItem, EFCaptions, EFCaptionsActiveWord, EFCaptionsActiveWordHierarchyItem, EFCaptionsAfterActiveWord, EFCaptionsBeforeActiveWord, EFCaptionsHierarchyItem, EFCaptionsSegment, EFConfiguration, EFControls, EFDial, EFFilmstrip, EFFitScale, EFFocusOverlay, EFHTMLHierarchyItem, EFHierarchy, EFHierarchyItem, EFImage, EFImageHierarchyItem, EFOverlayItem, EFOverlayLayer, EFPanZoom, EFPause, EFPlay, EFPreview, EFResizableBox, EFScrubber, EFSurface, EFText, EFTextHierarchyItem, EFTextSegment, EFTextSegmentHierarchyItem, EFThumbnailStrip, EFTimeDisplay, EFTimegroup, EFTimegroupHierarchyItem, EFTimeline, EFTimelineRuler, EFToggleLoop, EFTogglePlay, EFTransformHandles, EFTree, EFTreeItem, EFTrimHandles, EFVideo, EFVideoHierarchyItem, EFWaveform, EFWaveformHierarchyItem, EFWorkbench, PositionInfoMixin, RenderInfo, SelectionModel, calculateFrameIntervalMs, calculatePixelsPerFrame, collectAllIds, elementNeedsFitScale, getContainerInfoFromElement, getCornerPoint, getOppositeCorner, getPositionInfoFromElement, getRenderInfo, hierarchyContext, isEFTemporal, needsFitScale, quantizeToFrameTimeMs, rotatePoint, shouldShowFrameMarkers, treeContext };
60
+ export { CanvasAPI, EFActiveRootTemporal, EFAudio, EFAudioHierarchyItem, EFCanvas, EFCanvasItem, EFCaptions, EFCaptionsActiveWord, EFCaptionsActiveWordHierarchyItem, EFCaptionsAfterActiveWord, EFCaptionsBeforeActiveWord, EFCaptionsHierarchyItem, EFCaptionsSegment, EFConfiguration, EFControls, EFDial, EFFilmstrip, EFFitScale, EFFocusOverlay, EFHTMLHierarchyItem, EFHierarchy, EFHierarchyItem, EFImage, EFImageHierarchyItem, EFOverlayItem, EFOverlayLayer, EFPanZoom, EFPause, EFPlay, EFPreview, EFResizableBox, EFScrubber, EFSurface, EFText, EFTextHierarchyItem, EFTextSegment, EFTextSegmentHierarchyItem, EFThumbnailStrip, EFTimeDisplay, EFTimegroup, EFTimegroupHierarchyItem, EFTimeline, EFTimelineRuler, EFToggleLoop, EFTogglePlay, EFTransformHandles, EFTree, EFTreeItem, EFTrimHandles, EFVideo, EFVideoHierarchyItem, EFWaveform, EFWaveformHierarchyItem, EFWorkbench, PositionInfoMixin, RenderInfo, SelectionModel, calculateFrameIntervalMs, calculatePixelsPerFrame, collectAllIds, elementNeedsFitScale, getContainerInfoFromElement, getCornerPoint, getOppositeCorner, getPositionInfoFromElement, getRenderData, getRenderInfo, hierarchyContext, isEFTemporal, needsFitScale, quantizeToFrameTimeMs, rotatePoint, shouldShowFrameMarkers, treeContext };
59
61
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import \"./elements/EFTimegroup.js\";\nimport \"./sandbox/index.js\";\n\nexport { EFTimegroup } from \"./elements/EFTimegroup.js\";\nexport type { ContainerInfo } from \"./elements/ContainerInfo.js\";\nexport { getContainerInfoFromElement } from \"./elements/ContainerInfo.js\";\nexport type { ElementPositionInfo } from \"./elements/ElementPositionInfo.js\";\nexport {\n getPositionInfoFromElement,\n PositionInfoMixin,\n} from \"./elements/ElementPositionInfo.js\";\nexport { needsFitScale, elementNeedsFitScale } from \"./gui/FitScaleHelpers.js\";\n\nimport \"./elements/EFImage.js\";\n\nexport { EFImage } from \"./elements/EFImage.js\";\n\nimport \"./elements/EFMedia.js\";\n\nexport type { EFMedia } from \"./elements/EFMedia.js\";\n\nimport \"./elements/EFAudio.js\";\n\nexport { EFAudio } from \"./elements/EFAudio.js\";\n\nimport \"./elements/EFVideo.js\";\n\nexport { EFVideo } from \"./elements/EFVideo.js\";\n\nimport \"./elements/EFCaptions.js\";\n\nexport {\n EFCaptions,\n EFCaptionsActiveWord,\n EFCaptionsAfterActiveWord,\n EFCaptionsBeforeActiveWord,\n EFCaptionsSegment,\n} from \"./elements/EFCaptions.js\";\n\nimport \"./elements/EFText.js\";\nimport \"./elements/EFTextSegment.js\";\n\nexport { EFText } from \"./elements/EFText.js\";\nexport { EFTextSegment } from \"./elements/EFTextSegment.js\";\n\nimport \"./elements/EFWaveform.js\";\n\nexport { EFWaveform } from \"./elements/EFWaveform.js\";\n\nimport \"./elements/EFTemporal.js\";\n\nexport { isEFTemporal } from \"./elements/EFTemporal.js\";\nexport type { TemporalMixinInterface } from \"./elements/EFTemporal.js\";\n\nimport \"./gui/EFConfiguration.ts\";\n\nexport { EFConfiguration } from \"./gui/EFConfiguration.ts\";\n\nimport \"./gui/EFWorkbench.js\";\n\nexport { EFWorkbench } from \"./gui/EFWorkbench.js\";\n\nimport \"./gui/EFPreview.js\";\n\nexport { EFPreview } from \"./gui/EFPreview.js\";\n\nimport \"./gui/EFFilmstrip.js\";\n\nexport { EFFilmstrip } from \"./gui/EFFilmstrip.js\";\n\nimport \"./gui/hierarchy/EFHierarchy.js\";\nimport \"./gui/hierarchy/EFHierarchyItem.js\";\n\nexport { EFHierarchy } from \"./gui/hierarchy/EFHierarchy.js\";\nexport {\n EFHierarchyItem,\n EFTimegroupHierarchyItem,\n EFAudioHierarchyItem,\n EFVideoHierarchyItem,\n EFCaptionsHierarchyItem,\n EFCaptionsActiveWordHierarchyItem,\n EFTextHierarchyItem,\n EFTextSegmentHierarchyItem,\n EFWaveformHierarchyItem,\n EFImageHierarchyItem,\n EFHTMLHierarchyItem,\n} from \"./gui/hierarchy/EFHierarchyItem.js\";\nexport type {\n HierarchyState,\n HierarchyActions,\n HierarchyContext,\n} from \"./gui/hierarchy/hierarchyContext.js\";\nexport { hierarchyContext } from \"./gui/hierarchy/hierarchyContext.js\";\n\n// Generic tree component\nimport \"./gui/tree/EFTree.js\";\nimport \"./gui/tree/EFTreeItem.js\";\n\nexport { EFTree } from \"./gui/tree/EFTree.js\";\nexport { EFTreeItem } from \"./gui/tree/EFTreeItem.js\";\nexport type {\n TreeItem,\n TreeState,\n TreeActions,\n TreeContext,\n} from \"./gui/tree/treeContext.js\";\nexport { treeContext, collectAllIds } from \"./gui/tree/treeContext.js\";\n\nimport \"./gui/EFTogglePlay.js\";\n\nexport { EFTogglePlay } from \"./gui/EFTogglePlay.js\";\n\nimport \"./gui/EFPlay.js\";\n\nexport { EFPlay } from \"./gui/EFPlay.js\";\n\nimport \"./gui/EFPause.js\";\n\nexport { EFPause } from \"./gui/EFPause.js\";\n\nimport \"./gui/EFToggleLoop.js\";\n\nexport { EFToggleLoop } from \"./gui/EFToggleLoop.js\";\n\nimport \"./gui/EFScrubber.js\";\n\nexport { EFScrubber } from \"./gui/EFScrubber.js\";\n\nimport \"./gui/EFTimeDisplay.js\";\n\nexport { EFTimeDisplay } from \"./gui/EFTimeDisplay.js\";\n\nimport \"./gui/EFActiveRootTemporal.js\";\n\nexport { EFActiveRootTemporal } from \"./gui/EFActiveRootTemporal.js\";\n\nimport \"./gui/EFDial.js\";\n\nexport { type DialChangeDetail, EFDial } from \"./gui/EFDial.js\";\n\nimport \"./gui/EFControls.js\";\n\nexport { EFControls } from \"./gui/EFControls.js\";\n\nimport \"./gui/EFFocusOverlay.js\";\n\nexport { EFFocusOverlay } from \"./gui/EFFocusOverlay.js\";\n\nimport \"./gui/transformUtils.js\";\n\nexport {\n getCornerPoint,\n getOppositeCorner,\n rotatePoint,\n} from \"./gui/transformUtils.js\";\n\nimport \"./gui/EFTransformHandles.ts\";\n\nexport {\n type TransformBounds,\n EFTransformHandles,\n} from \"./gui/EFTransformHandles.ts\";\n\nimport \"./gui/EFResizableBox.ts\";\n\nexport { type BoxBounds, EFResizableBox } from \"./gui/EFResizableBox.ts\";\n\nimport \"./gui/EFFitScale.js\";\n\nexport { EFFitScale } from \"./gui/EFFitScale.js\";\n\nimport \"./elements/EFSurface.ts\";\n\nexport { EFSurface } from \"./elements/EFSurface.ts\";\n\nimport \"./elements/EFThumbnailStrip.ts\";\n\nexport { EFThumbnailStrip } from \"./elements/EFThumbnailStrip.ts\";\n\nimport \"./elements/EFPanZoom.js\";\n\nexport { EFPanZoom } from \"./elements/EFPanZoom.js\";\nexport type { PanZoomTransform } from \"./elements/EFPanZoom.js\";\n\nimport \"./canvas/EFCanvas.js\";\nimport \"./canvas/EFCanvasItem.js\";\n\nexport { EFCanvas } from \"./canvas/EFCanvas.js\";\nexport { EFCanvasItem } from \"./canvas/EFCanvasItem.js\";\nexport { CanvasAPI } from \"./canvas/api/CanvasAPI.js\";\nexport type {\n CanvasElementData,\n SelectionState,\n CanvasElementBounds,\n} from \"./canvas/api/types.js\";\nexport { SelectionModel } from \"./canvas/selection/SelectionModel.js\";\n\nimport \"./gui/EFOverlayLayer.ts\";\n\nexport { EFOverlayLayer } from \"./gui/EFOverlayLayer.ts\";\n\nimport \"./gui/EFOverlayItem.ts\";\n\nexport { EFOverlayItem } from \"./gui/EFOverlayItem.ts\";\nexport type { OverlayItemPosition } from \"./gui/EFOverlayItem.ts\";\n\nimport \"./gui/EFTimelineRuler.ts\";\n\nexport {\n EFTimelineRuler,\n quantizeToFrameTimeMs,\n calculateFrameIntervalMs,\n calculatePixelsPerFrame,\n shouldShowFrameMarkers,\n} from \"./gui/EFTimelineRuler.ts\";\n\nimport \"./gui/timeline/EFTimeline.js\";\nimport \"./gui/timeline/TrimHandles.js\";\n\nexport { EFTimeline } from \"./gui/timeline/EFTimeline.js\";\nexport {\n EFTrimHandles,\n type TrimChangeDetail,\n} from \"./gui/timeline/TrimHandles.js\";\n\nif (typeof window !== \"undefined\") {\n // @ts-expect-error\n window.EF_REGISTERED = true;\n}\n\nimport \"./EF_FRAMEGEN.js\";\n\nexport { getRenderInfo, RenderInfo } from \"./getRenderInfo.js\";\nexport type { TraceContext } from \"./otel/tracingHelpers.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiOA,IAAI,OAAO,WAAW,YAEpB,QAAO,gBAAgB"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import \"./elements/EFTimegroup.js\";\nimport \"./sandbox/index.js\";\n\nexport { EFTimegroup } from \"./elements/EFTimegroup.js\";\nexport type { ContainerInfo } from \"./elements/ContainerInfo.js\";\nexport { getContainerInfoFromElement } from \"./elements/ContainerInfo.js\";\nexport type { ElementPositionInfo } from \"./elements/ElementPositionInfo.js\";\nexport {\n getPositionInfoFromElement,\n PositionInfoMixin,\n} from \"./elements/ElementPositionInfo.js\";\nexport { needsFitScale, elementNeedsFitScale } from \"./gui/FitScaleHelpers.js\";\n\nimport \"./elements/EFImage.js\";\n\nexport { EFImage } from \"./elements/EFImage.js\";\n\nimport \"./elements/EFMedia.js\";\n\nexport type { EFMedia } from \"./elements/EFMedia.js\";\n\nimport \"./elements/EFAudio.js\";\n\nexport { EFAudio } from \"./elements/EFAudio.js\";\n\nimport \"./elements/EFVideo.js\";\n\nexport { EFVideo } from \"./elements/EFVideo.js\";\n\nimport \"./elements/EFCaptions.js\";\n\nexport {\n EFCaptions,\n EFCaptionsActiveWord,\n EFCaptionsAfterActiveWord,\n EFCaptionsBeforeActiveWord,\n EFCaptionsSegment,\n} from \"./elements/EFCaptions.js\";\n\nimport \"./elements/EFText.js\";\nimport \"./elements/EFTextSegment.js\";\n\nexport { EFText } from \"./elements/EFText.js\";\nexport { EFTextSegment } from \"./elements/EFTextSegment.js\";\n\nimport \"./elements/EFWaveform.js\";\n\nexport { EFWaveform } from \"./elements/EFWaveform.js\";\n\nimport \"./elements/EFTemporal.js\";\n\nexport { isEFTemporal } from \"./elements/EFTemporal.js\";\nexport type { TemporalMixinInterface } from \"./elements/EFTemporal.js\";\n\nimport \"./gui/EFConfiguration.ts\";\n\nexport { EFConfiguration } from \"./gui/EFConfiguration.ts\";\n\nimport \"./gui/EFWorkbench.js\";\n\nexport { EFWorkbench } from \"./gui/EFWorkbench.js\";\n\nimport \"./gui/EFPreview.js\";\n\nexport { EFPreview } from \"./gui/EFPreview.js\";\n\nimport \"./gui/EFFilmstrip.js\";\n\nexport { EFFilmstrip } from \"./gui/EFFilmstrip.js\";\n\nimport \"./gui/hierarchy/EFHierarchy.js\";\nimport \"./gui/hierarchy/EFHierarchyItem.js\";\n\nexport { EFHierarchy } from \"./gui/hierarchy/EFHierarchy.js\";\nexport {\n EFHierarchyItem,\n EFTimegroupHierarchyItem,\n EFAudioHierarchyItem,\n EFVideoHierarchyItem,\n EFCaptionsHierarchyItem,\n EFCaptionsActiveWordHierarchyItem,\n EFTextHierarchyItem,\n EFTextSegmentHierarchyItem,\n EFWaveformHierarchyItem,\n EFImageHierarchyItem,\n EFHTMLHierarchyItem,\n} from \"./gui/hierarchy/EFHierarchyItem.js\";\nexport type {\n HierarchyState,\n HierarchyActions,\n HierarchyContext,\n} from \"./gui/hierarchy/hierarchyContext.js\";\nexport { hierarchyContext } from \"./gui/hierarchy/hierarchyContext.js\";\n\n// Generic tree component\nimport \"./gui/tree/EFTree.js\";\nimport \"./gui/tree/EFTreeItem.js\";\n\nexport { EFTree } from \"./gui/tree/EFTree.js\";\nexport { EFTreeItem } from \"./gui/tree/EFTreeItem.js\";\nexport type {\n TreeItem,\n TreeState,\n TreeActions,\n TreeContext,\n} from \"./gui/tree/treeContext.js\";\nexport { treeContext, collectAllIds } from \"./gui/tree/treeContext.js\";\n\nimport \"./gui/EFTogglePlay.js\";\n\nexport { EFTogglePlay } from \"./gui/EFTogglePlay.js\";\n\nimport \"./gui/EFPlay.js\";\n\nexport { EFPlay } from \"./gui/EFPlay.js\";\n\nimport \"./gui/EFPause.js\";\n\nexport { EFPause } from \"./gui/EFPause.js\";\n\nimport \"./gui/EFToggleLoop.js\";\n\nexport { EFToggleLoop } from \"./gui/EFToggleLoop.js\";\n\nimport \"./gui/EFScrubber.js\";\n\nexport { EFScrubber } from \"./gui/EFScrubber.js\";\n\nimport \"./gui/EFTimeDisplay.js\";\n\nexport { EFTimeDisplay } from \"./gui/EFTimeDisplay.js\";\n\nimport \"./gui/EFActiveRootTemporal.js\";\n\nexport { EFActiveRootTemporal } from \"./gui/EFActiveRootTemporal.js\";\n\nimport \"./gui/EFDial.js\";\n\nexport { type DialChangeDetail, EFDial } from \"./gui/EFDial.js\";\n\nimport \"./gui/EFControls.js\";\n\nexport { EFControls } from \"./gui/EFControls.js\";\n\nimport \"./gui/EFFocusOverlay.js\";\n\nexport { EFFocusOverlay } from \"./gui/EFFocusOverlay.js\";\n\nimport \"./gui/transformUtils.js\";\n\nexport {\n getCornerPoint,\n getOppositeCorner,\n rotatePoint,\n} from \"./gui/transformUtils.js\";\n\nimport \"./gui/EFTransformHandles.ts\";\n\nexport {\n type TransformBounds,\n EFTransformHandles,\n} from \"./gui/EFTransformHandles.ts\";\n\nimport \"./gui/EFResizableBox.ts\";\n\nexport { type BoxBounds, EFResizableBox } from \"./gui/EFResizableBox.ts\";\n\nimport \"./gui/EFFitScale.js\";\n\nexport { EFFitScale } from \"./gui/EFFitScale.js\";\n\nimport \"./elements/EFSurface.ts\";\n\nexport { EFSurface } from \"./elements/EFSurface.ts\";\n\nimport \"./elements/EFThumbnailStrip.ts\";\n\nexport { EFThumbnailStrip } from \"./elements/EFThumbnailStrip.ts\";\n\nimport \"./elements/EFPanZoom.js\";\n\nexport { EFPanZoom } from \"./elements/EFPanZoom.js\";\nexport type { PanZoomTransform } from \"./elements/EFPanZoom.js\";\n\nimport \"./canvas/EFCanvas.js\";\nimport \"./canvas/EFCanvasItem.js\";\n\nexport { EFCanvas } from \"./canvas/EFCanvas.js\";\nexport { EFCanvasItem } from \"./canvas/EFCanvasItem.js\";\nexport { CanvasAPI } from \"./canvas/api/CanvasAPI.js\";\nexport type {\n CanvasElementData,\n SelectionState,\n CanvasElementBounds,\n} from \"./canvas/api/types.js\";\nexport { SelectionModel } from \"./canvas/selection/SelectionModel.js\";\n\nimport \"./gui/EFOverlayLayer.ts\";\n\nexport { EFOverlayLayer } from \"./gui/EFOverlayLayer.ts\";\n\nimport \"./gui/EFOverlayItem.ts\";\n\nexport { EFOverlayItem } from \"./gui/EFOverlayItem.ts\";\nexport type { OverlayItemPosition } from \"./gui/EFOverlayItem.ts\";\n\nimport \"./gui/EFTimelineRuler.ts\";\n\nexport {\n EFTimelineRuler,\n quantizeToFrameTimeMs,\n calculateFrameIntervalMs,\n calculatePixelsPerFrame,\n shouldShowFrameMarkers,\n} from \"./gui/EFTimelineRuler.ts\";\n\nimport \"./gui/timeline/EFTimeline.js\";\nimport \"./gui/timeline/TrimHandles.js\";\n\nexport { EFTimeline } from \"./gui/timeline/EFTimeline.js\";\nexport {\n EFTrimHandles,\n type TrimChangeDetail,\n} from \"./gui/timeline/TrimHandles.js\";\n\nif (typeof window !== \"undefined\") {\n // @ts-expect-error\n window.EF_REGISTERED = true;\n}\n\nimport \"./EF_FRAMEGEN.js\";\n\n// Initialize render API\nimport \"./render/EFRenderAPI.js\";\n\nexport { getRenderInfo, RenderInfo } from \"./getRenderInfo.js\";\nexport { getRenderData } from \"./render/getRenderData.js\";\nexport type {\n RenderToVideoOptions,\n RenderProgress,\n} from \"./preview/renderTimegroupToVideo.js\";\nexport type { TraceContext } from \"./otel/tracingHelpers.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiOA,IAAI,OAAO,WAAW,YAEpB,QAAO,gBAAgB"}
@@ -33,7 +33,8 @@ interface RenderToVideoOptions {
33
33
  returnBuffer?: boolean;
34
34
  preferredAudioCodecs?: AudioCodec[];
35
35
  benchmarkMode?: boolean;
36
+ customWritableStream?: WritableStream<Uint8Array>;
36
37
  }
37
38
  //#endregion
38
- export { RenderToVideoOptions };
39
+ export { RenderProgress, RenderToVideoOptions };
39
40
  //# sourceMappingURL=renderTimegroupToVideo.d.ts.map
@@ -140,17 +140,25 @@ async function renderTimegroupToVideo(timegroup, options = {}) {
140
140
  let encodingCanvas = null;
141
141
  let encodingCtx = null;
142
142
  if (!config.benchmarkMode) {
143
- if (config.streaming) {
144
- fileStream = await getFileWritableStream(config.filename);
145
- useStreaming = fileStream !== null;
146
- }
147
- if (useStreaming && fileStream) {
148
- target = new StreamTarget(fileStream.writable);
143
+ if (options.customWritableStream) {
144
+ target = new StreamTarget(options.customWritableStream);
149
145
  output = new Output({
150
146
  format: new Mp4OutputFormat({ fastStart: "fragmented" }),
151
147
  target
152
148
  });
153
- } else {
149
+ useStreaming = true;
150
+ } else if (config.streaming) {
151
+ fileStream = await getFileWritableStream(config.filename);
152
+ useStreaming = fileStream !== null;
153
+ if (useStreaming && fileStream) {
154
+ target = new StreamTarget(fileStream.writable);
155
+ output = new Output({
156
+ format: new Mp4OutputFormat({ fastStart: "fragmented" }),
157
+ target
158
+ });
159
+ }
160
+ }
161
+ if (!target) {
154
162
  target = new BufferTarget();
155
163
  output = new Output({
156
164
  format: new Mp4OutputFormat(),